> On Oct. 3, 2016, 11:22 a.m., Joshua Cohen wrote:
> > I don't think that the registry to resolve against should be an argument to 
> > the docker helper, as this should likely be controlled by Aurora operators, 
> > not by Aurora users. When we originally discussed this, we talked about 
> > having the docker registry to use by a trait of the cluster, was that not 
> > feasible?
> 
> Santhosh Kumar Shanmugham wrote:
>     I totally agree. Unfortunately I could not find a way to make pystachio 
> work that way. There are two stages in the parsing of a pystachio config. The 
> first one is where all the context is built and the second stage where the 
> context is used to bind any Ref to concrete values. Due to the restrictions 
> pystachio puts on the names for Ref address (alphanumeric only), resolving 
> tags during the binding stage, limits the values that can be used for 'name' 
> and 'tag'. (For example: 'name' cannot have '/' in them and 'tag' cannot have 
> '.' in them, which is obviously a serious shortcoming). 
>     
>     The side-effect, however is that at this stage we are unaware of the 
> 'cluster' value to look up any details from 'CLUSTERS'. Hence I have opted to 
> do the resolution in the first stage by explicitly passing in the registry 
> address. The only way I see around this problem involves modifying pystachio 
> to allow more values for Ref objects. Please share your thoughts.
>     
>     See 
> https://github.com/wickman/pystachio/blob/master/pystachio/naming.py#L60
> 
> Santhosh Kumar Shanmugham wrote:
>     Another solution is to encode these special characters using the only 
> special character that is allowed '-'. Hence the mapping would look like,
>     \ => -pys-slash-
>     . => -pys-dot-
>     and so on. 
>     
>     I vote for expanding the character limit for Ref.

Can you elaborate on what you mean by unware of the 'cluster' value? I don't 
understand why you can't do from apache.aurora.common.clusters import CLUSTERS 
and get the registry from that. That way we don't need to specify the registry 
value in the helper.

I think expanding Ref would be nice but it doesn't seem feasible because the 
structured binding of pystachio invovles `.`.

I think we should tread carefully here and consider a better solution.


- Zameer


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/52479/#review151205
-----------------------------------------------------------


On Oct. 3, 2016, 6:22 p.m., Santhosh Kumar Shanmugham wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/52479/
> -----------------------------------------------------------
> 
> (Updated Oct. 3, 2016, 6:22 p.m.)
> 
> 
> Review request for Aurora, George Sirois, Joshua Cohen, and Brian Wickman.
> 
> 
> Bugs: AURORA-1014
>     https://issues.apache.org/jira/browse/AURORA-1014
> 
> 
> Repository: aurora
> 
> 
> Description
> -------
> 
> 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.
> 
> 
> Diffs
> -----
> 
>   3rdparty/python/requirements.txt 398338966ba715fae523ee4d12afbba4c0eb6bbb 
>   RELEASE-NOTES.md 49c03e85ae4c2e3ebc8af89e9ce41df9fd52d6cd 
>   docs/features/containers.md 8af38e3af989351925a4130da1ce7a0f5853f0bf 
>   examples/jobs/hello_docker_engine.aurora 
> 3c830e8f99f07732ae985b0aad114c3346888765 
>   examples/vagrant/provision-dev-cluster.sh 
> 66b99cfbd55ab7becfa9534213cc5ea9bdbb3a74 
>   src/main/python/apache/aurora/config/schema/base.py 
> baea660a6ea9f3f7213f98f8bfdb95d912083ac0 
>   src/test/python/apache/aurora/config/BUILD 
> 52b60409e1de2f69f181a83720ebe1c649b49166 
>   src/test/python/apache/aurora/config/test_base.py 
> b354f0804ce70682e8ecb9fb3a3d8fe736fd1cc5 
>   src/test/sh/org/apache/aurora/e2e/http/http_example.aurora 
> c71fb81490863b44827bf090f6e5a6b28da94b93 
>   src/test/sh/org/apache/aurora/e2e/http/http_example_bad_healthcheck.aurora 
> 4fa387d5184968e456bf4c8388496f0514454cb1 
>   src/test/sh/org/apache/aurora/e2e/http/http_example_updated.aurora 
> b279b4f679cc6843e99806bcbf57350ba1c9a6e0 
>   src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh 
> c93be9b4b4c76186445ae13eb9424bbf9de9b202 
> 
> Diff: https://reviews.apache.org/r/52479/diff/
> 
> 
> Testing
> -------
> 
> build-support/jenkins/build.sh
> src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh
> 
> 
> Thanks,
> 
> Santhosh Kumar Shanmugham
> 
>

Reply via email to