[ https://issues.apache.org/jira/browse/AURORA-1014?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15648988#comment-15648988 ]
Stephan Erb edited comment on AURORA-1014 at 11/8/16 10:31 PM: --------------------------------------------------------------- Patch for Docker Containerizer has landed. Thanks! The one for Mesos is still blocked by the referenced bug. {code} commit 793711f56d83d532240cc5ca39404ff504b14430 Author: Santhosh Kumar Shanmugham <santhoshkuma...@gmail.com> Date: Tue Nov 8 23:27:05 2016 +0100 Resolve docker tags to concrete identifiers for DockerContainerizer Docker tags are mutable and can point to different different images at different points in time. This makes a job launched with a Docker image to be mutable across restarts of the job. This breaks Aurora's guarantee of job immutability (except via job updates). This change introduces a binding helper, that resolves docker name:tag to a concrete registry/name@digest identifier. Identifying docker images via a content-addressable digest is available via the Docker Registry v2, that is a prerequisite for this feature. Bugs closed: AURORA-1014 Reviewed at https://reviews.apache.org/r/52479/ 3rdparty/python/requirements.txt | 1 + RELEASE-NOTES.md | 5 + Vagrantfile | 2 +- build-support/packer/build.sh | 1 + docs/features/containers.md | 26 +++- docs/reference/client-cluster-configuration.md | 6 + examples/jobs/hello_docker_engine.aurora | 8 + .../aurora/client/binding_helpers/__init__.py | 13 ++ .../aurora/client/binding_helpers/docker_helper.py | 43 ++++++ src/main/python/apache/aurora/client/cli/client.py | 19 +++ .../python/apache/aurora/client/docker/__init__.py | 13 ++ .../apache/aurora/client/docker/docker_client.py | 137 +++++++++++++++++ .../aurora/client/binding_helpers/__init__.py | 13 ++ .../client/binding_helpers/test_docker_helper.py | 84 +++++++++++ src/test/python/apache/aurora/client/docker/BUILD | 24 +++ .../python/apache/aurora/client/docker/__init__.py | 13 ++ .../aurora/client/docker/test_docker_client.py | 163 +++++++++++++++++++++ src/test/python/apache/aurora/config/BUILD | 2 + .../org/apache/aurora/e2e/http/http_example.aurora | 2 +- .../e2e/http/http_example_bad_healthcheck.aurora | 2 +- .../aurora/e2e/http/http_example_updated.aurora | 2 +- .../sh/org/apache/aurora/e2e/test_end_to_end.sh | 19 ++- 22 files changed, 589 insertions(+), 9 deletions(-) {code} was (Author: stephanerb): Patch has landed. Thanks! {code} commit 793711f56d83d532240cc5ca39404ff504b14430 Author: Santhosh Kumar Shanmugham <santhoshkuma...@gmail.com> Date: Tue Nov 8 23:27:05 2016 +0100 Resolve docker tags to concrete identifiers for DockerContainerizer Docker tags are mutable and can point to different different images at different points in time. This makes a job launched with a Docker image to be mutable across restarts of the job. This breaks Aurora's guarantee of job immutability (except via job updates). This change introduces a binding helper, that resolves docker name:tag to a concrete registry/name@digest identifier. Identifying docker images via a content-addressable digest is available via the Docker Registry v2, that is a prerequisite for this feature. Bugs closed: AURORA-1014 Reviewed at https://reviews.apache.org/r/52479/ 3rdparty/python/requirements.txt | 1 + RELEASE-NOTES.md | 5 + Vagrantfile | 2 +- build-support/packer/build.sh | 1 + docs/features/containers.md | 26 +++- docs/reference/client-cluster-configuration.md | 6 + examples/jobs/hello_docker_engine.aurora | 8 + .../aurora/client/binding_helpers/__init__.py | 13 ++ .../aurora/client/binding_helpers/docker_helper.py | 43 ++++++ src/main/python/apache/aurora/client/cli/client.py | 19 +++ .../python/apache/aurora/client/docker/__init__.py | 13 ++ .../apache/aurora/client/docker/docker_client.py | 137 +++++++++++++++++ .../aurora/client/binding_helpers/__init__.py | 13 ++ .../client/binding_helpers/test_docker_helper.py | 84 +++++++++++ src/test/python/apache/aurora/client/docker/BUILD | 24 +++ .../python/apache/aurora/client/docker/__init__.py | 13 ++ .../aurora/client/docker/test_docker_client.py | 163 +++++++++++++++++++++ src/test/python/apache/aurora/config/BUILD | 2 + .../org/apache/aurora/e2e/http/http_example.aurora | 2 +- .../e2e/http/http_example_bad_healthcheck.aurora | 2 +- .../aurora/e2e/http/http_example_updated.aurora | 2 +- .../sh/org/apache/aurora/e2e/test_end_to_end.sh | 19 ++- 22 files changed, 589 insertions(+), 9 deletions(-) {code} > Client binding_helper to resolve docker label to a stable ID at create > ---------------------------------------------------------------------- > > Key: AURORA-1014 > URL: https://issues.apache.org/jira/browse/AURORA-1014 > Project: Aurora > Issue Type: Story > Components: Client, Packaging > Reporter: Kevin Sweeney > Assignee: Santhosh Kumar Shanmugham > Fix For: 0.17.0 > > > Follow-up from discussion on IRC: > Some docker labels are mutable, meaning the image a task runs in could change > from restart to restart even if the rest of the task config doesn't change. > This breaks assumptions that make rolling updates the safe and preferred way > to deploy a new Aurora job > Add a binding helper that resolves a docker label to an immutable image > identifier at create time and make it the default for the Docker helper > introduced in https://reviews.apache.org/r/28920/ -- This message was sent by Atlassian JIRA (v6.3.4#6332)