You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aurora.apache.org by jc...@apache.org on 2016/09/08 22:22:03 UTC
aurora git commit: Update e2e tests to verify running a docker image
via the unified containerizer.
Repository: aurora
Updated Branches:
refs/heads/master 8fca74501 -> 87ae96802
Update e2e tests to verify running a docker image via the unified containerizer.
Reviewed at https://reviews.apache.org/r/51746/
Project: http://git-wip-us.apache.org/repos/asf/aurora/repo
Commit: http://git-wip-us.apache.org/repos/asf/aurora/commit/87ae9680
Tree: http://git-wip-us.apache.org/repos/asf/aurora/tree/87ae9680
Diff: http://git-wip-us.apache.org/repos/asf/aurora/diff/87ae9680
Branch: refs/heads/master
Commit: 87ae968029c37d35381507d85b8a236b1c030a6d
Parents: 8fca745
Author: Joshua Cohen <jc...@apache.org>
Authored: Thu Sep 8 17:21:40 2016 -0500
Committer: Joshua Cohen <jc...@apache.org>
Committed: Thu Sep 8 17:21:40 2016 -0500
----------------------------------------------------------------------
.../etc_mesos-slave/docker_registry | 1 +
.../etc_mesos-slave/image_providers | 2 +-
.../mesos_config/etc_mesos-slave/isolation | 2 +-
.../apache/aurora/e2e/http/http_example.aurora | 7 +++-
.../http/http_example_bad_healthcheck.aurora | 7 +++-
.../aurora/e2e/http/http_example_updated.aurora | 7 +++-
.../sh/org/apache/aurora/e2e/test_end_to_end.sh | 35 ++++++++++++++++----
7 files changed, 50 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/aurora/blob/87ae9680/examples/vagrant/mesos_config/etc_mesos-slave/docker_registry
----------------------------------------------------------------------
diff --git a/examples/vagrant/mesos_config/etc_mesos-slave/docker_registry b/examples/vagrant/mesos_config/etc_mesos-slave/docker_registry
new file mode 100644
index 0000000..964ba30
--- /dev/null
+++ b/examples/vagrant/mesos_config/etc_mesos-slave/docker_registry
@@ -0,0 +1 @@
+/tmp/mesos/images/docker
http://git-wip-us.apache.org/repos/asf/aurora/blob/87ae9680/examples/vagrant/mesos_config/etc_mesos-slave/image_providers
----------------------------------------------------------------------
diff --git a/examples/vagrant/mesos_config/etc_mesos-slave/image_providers b/examples/vagrant/mesos_config/etc_mesos-slave/image_providers
index 7168c0c..4da2f0d 100644
--- a/examples/vagrant/mesos_config/etc_mesos-slave/image_providers
+++ b/examples/vagrant/mesos_config/etc_mesos-slave/image_providers
@@ -1 +1 @@
-appc
+appc,docker
http://git-wip-us.apache.org/repos/asf/aurora/blob/87ae9680/examples/vagrant/mesos_config/etc_mesos-slave/isolation
----------------------------------------------------------------------
diff --git a/examples/vagrant/mesos_config/etc_mesos-slave/isolation b/examples/vagrant/mesos_config/etc_mesos-slave/isolation
index c362230..1a7028f 100644
--- a/examples/vagrant/mesos_config/etc_mesos-slave/isolation
+++ b/examples/vagrant/mesos_config/etc_mesos-slave/isolation
@@ -1 +1 @@
-filesystem/linux
+filesystem/linux,docker/runtime
http://git-wip-us.apache.org/repos/asf/aurora/blob/87ae9680/src/test/sh/org/apache/aurora/e2e/http/http_example.aurora
----------------------------------------------------------------------
diff --git a/src/test/sh/org/apache/aurora/e2e/http/http_example.aurora b/src/test/sh/org/apache/aurora/e2e/http/http_example.aurora
index 042424d..290627f 100644
--- a/src/test/sh/org/apache/aurora/e2e/http/http_example.aurora
+++ b/src/test/sh/org/apache/aurora/e2e/http/http_example.aurora
@@ -104,8 +104,13 @@ jobs = [
name = 'http_example_gpu'
).bind(profile=GpuProfile),
job(
- name = 'http_example_appc',
+ name = 'http_example_unified_appc',
container = Mesos(image=AppcImage(name='http_example_netcat', image_id='{{appc_image_id}}')),
task = no_python_task
+ ).bind(profile=DefaultProfile()),
+ job(
+ name = 'http_example_unified_docker',
+ container = Mesos(image=DockerImage(name='http_example_netcat', tag='latest')),
+ task = no_python_task
).bind(profile=DefaultProfile())
]
http://git-wip-us.apache.org/repos/asf/aurora/blob/87ae9680/src/test/sh/org/apache/aurora/e2e/http/http_example_bad_healthcheck.aurora
----------------------------------------------------------------------
diff --git a/src/test/sh/org/apache/aurora/e2e/http/http_example_bad_healthcheck.aurora b/src/test/sh/org/apache/aurora/e2e/http/http_example_bad_healthcheck.aurora
index f80f2b1..4fa387d 100644
--- a/src/test/sh/org/apache/aurora/e2e/http/http_example_bad_healthcheck.aurora
+++ b/src/test/sh/org/apache/aurora/e2e/http/http_example_bad_healthcheck.aurora
@@ -92,8 +92,13 @@ jobs = [
name = 'http_example_gpu'
).bind(profile=GpuProfile),
job(
- name = 'http_example_appc',
+ name = 'http_example_unified_appc',
container = Mesos(image=AppcImage(name='http_example_netcat', image_id='{{appc_image_id}}')),
task = no_python_task
+ ).bind(profile=DefaultProfile()),
+ job(
+ name = 'http_example_unified_docker',
+ container = Mesos(image=DockerImage(name='http_example_netcat', tag='latest')),
+ task = no_python_task
).bind(profile=DefaultProfile())
]
http://git-wip-us.apache.org/repos/asf/aurora/blob/87ae9680/src/test/sh/org/apache/aurora/e2e/http/http_example_updated.aurora
----------------------------------------------------------------------
diff --git a/src/test/sh/org/apache/aurora/e2e/http/http_example_updated.aurora b/src/test/sh/org/apache/aurora/e2e/http/http_example_updated.aurora
index 4a95bc3..b279b4f 100644
--- a/src/test/sh/org/apache/aurora/e2e/http/http_example_updated.aurora
+++ b/src/test/sh/org/apache/aurora/e2e/http/http_example_updated.aurora
@@ -78,8 +78,13 @@ jobs = [
name = 'http_example_gpu'
).bind(profile=GpuProfile),
job(
- name = 'http_example_appc',
+ name = 'http_example_unified_appc',
container = Mesos(image=AppcImage(name='http_example_netcat', image_id='{{appc_image_id}}')),
task = no_python_task
+ ).bind(profile=DefaultProfile()),
+ job(
+ name = 'http_example_unified_docker',
+ container = Mesos(image=DockerImage(name='http_example_netcat', tag='latest')),
+ task = no_python_task
).bind(profile=DefaultProfile())
]
http://git-wip-us.apache.org/repos/asf/aurora/blob/87ae9680/src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh
----------------------------------------------------------------------
diff --git a/src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh b/src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh
index d81abe1..97677f2 100755
--- a/src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh
+++ b/src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh
@@ -33,7 +33,7 @@ _curl() { curl --silent --fail --retry 4 --retry-delay 10 "$@" ; }
tear_down() {
set +x # Disable command echo, as this makes it more difficult see which command failed.
- for job in http_example http_example_revocable http_example_docker; do
+ for job in http_example http_example_revocable http_example_docker http_example_unified_appc http_example_unified_docker; do
aurora update abort devcluster/vagrant/test/$job || true >/dev/null 2>&1
aurora job killall --no-batching devcluster/vagrant/test/$job >/dev/null 2>&1
done
@@ -408,16 +408,23 @@ test_basic_auth_unauthenticated() {
restore_netrc
}
-test_appc() {
+setup_image_stores() {
TEMP_PATH=$(mktemp -d)
pushd "$TEMP_PATH"
- # build the appc image from the docker image
+ # build the docker image and save it as a tarball.
sudo docker build -t http_example_netcat -f "${TEST_ROOT}/Dockerfile.netcat" ${TEST_ROOT}
docker save -o http_example_netcat-latest.tar http_example_netcat
+
+ DOCKER_IMAGE_DIRECTORY="/tmp/mesos/images/docker"
+ sudo mkdir -p "$DOCKER_IMAGE_DIRECTORY"
+ sudo cp http_example_netcat-latest.tar "$DOCKER_IMAGE_DIRECTORY/http_example_netcat:latest.tar"
+
+ # build the appc image from the docker image
docker2aci http_example_netcat-latest.tar
APPC_IMAGE_ID="sha512-$(sha512sum http_example_netcat-latest.aci | awk '{print $1}')"
+ export APPC_IMAGE_ID
APPC_IMAGE_DIRECTORY="/tmp/mesos/images/appc/images/$APPC_IMAGE_ID"
sudo mkdir -p "$APPC_IMAGE_DIRECTORY"
@@ -427,10 +434,12 @@ test_appc() {
popd
rm -rf "$TEMP_PATH"
+}
+test_appc_unified() {
num_mounts_before=$(mount |wc -l |tr -d '\n')
- TEST_JOB_APPC_ARGS=("${BASE_ARGS[@]}" "$TEST_JOB_APPC" "--bind appc_image_id=$APPC_IMAGE_ID")
+ TEST_JOB_APPC_ARGS=("${BASE_ARGS[@]}" "$TEST_JOB_UNIFIED_APPC" "--bind appc_image_id=$APPC_IMAGE_ID")
test_http_example "${TEST_JOB_APPC_ARGS[@]}"
num_mounts_after=$(mount |wc -l |tr -d '\n')
@@ -438,6 +447,17 @@ test_appc() {
[[ "$num_mounts_before" = "$num_mounts_after" ]]
}
+test_docker_unified() {
+ num_mounts_before=$(mount |wc -l |tr -d '\n')
+
+ TEST_JOB_DOCKER_ARGS=("${BASE_ARGS[@]}" "$TEST_JOB_UNIFIED_DOCKER")
+ test_http_example "${TEST_JOB_DOCKER_ARGS[@]}"
+
+ num_mounts_after=$(mount |wc -l |tr -d '\n')
+ # We want to be sure that running the isolated task did not leak any mounts.
+ [[ "$num_mounts_before" = "$num_mounts_after" ]]
+}
+
RETCODE=1
# Set up shorthands for test
export TEST_ROOT=/vagrant/src/test/sh/org/apache/aurora/e2e
@@ -450,7 +470,8 @@ TEST_JOB=http_example
TEST_JOB_REVOCABLE=http_example_revocable
TEST_JOB_GPU=http_example_gpu
TEST_JOB_DOCKER=http_example_docker
-TEST_JOB_APPC=http_example_appc
+TEST_JOB_UNIFIED_APPC=http_example_unified_appc
+TEST_JOB_UNIFIED_DOCKER=http_example_unified_docker
TEST_CONFIG_FILE=$EXAMPLE_DIR/http_example.aurora
TEST_CONFIG_UPDATED_FILE=$EXAMPLE_DIR/http_example_updated.aurora
TEST_BAD_HEALTHCHECK_CONFIG_UPDATED_FILE=$EXAMPLE_DIR/http_example_bad_healthcheck.aurora
@@ -501,7 +522,9 @@ test_http_example_basic "${TEST_JOB_GPU_ARGS[@]}"
sudo docker build -t http_example -f "${TEST_ROOT}/Dockerfile.python" ${TEST_ROOT}
test_http_example "${TEST_JOB_DOCKER_ARGS[@]}"
-test_appc
+setup_image_stores
+test_appc_unified
+test_docker_unified
test_admin "${TEST_ADMIN_ARGS[@]}"
test_basic_auth_unauthenticated "${TEST_JOB_ARGS[@]}"