<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Mar 22, 2019 at 3:36 AM Javier Pena <<a href="mailto:jpena@redhat.com">jpena@redhat.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
<br>
----- Original Message -----<br>
> I've been working with mjturek and baha on this a bit. I've responded inline<br>
> below, but also want to clarify on the desired workflow.<br>
> <br>
> TL;DR: The desired workflow is to have ppc64le and x86_64 seamlessly<br>
> integrated and uploaded. This can be done with docker manifest list images.<br>
> <br>
> The following link explains in greater detail:<br>
> <a href="https://docs.docker.com/registry/spec/manifest-v2-2/" rel="noreferrer" target="_blank">https://docs.docker.com/registry/spec/manifest-v2-2/</a><br>
> <br>
> The process boils down to the following steps:<br>
> <br>
> 1) Upload an image of the first architecture (ex: image1:x86_64_01012019)<br>
> 2) Upload an image of the second architecture (ex: image1:ppc64le_01012019)<br>
> 3) Upload manifest list image of the image (ex: image1:01012019)<br>
> <br>
<br>
This is one of the details where I had my doubts. Currently, the images uploaded to the registry use the following naming convention:<br>
<br>
tripleomaster/centos-binary-neutron-l3-agent:42a882962919b867c91a182b83acca6d8004096e_ee467b40<br>
<br>
<br>
Where:<br>
<br>
- tripleomaster is associated to the release (we have tripleomaster, tripleostein, tripleorocky...)<br>
- centos is associated to the OS (we have centos and fedora)<br>
- 42a882962919b867c91a182b83acca6d8004096e_ee467b40 refers to the repository in <a href="http://trunk.rdoproject.org" rel="noreferrer" target="_blank">trunk.rdoproject.org</a> used to build the image (commit hash and short distro hash)<br>
<br>
If we want to go multi-arch, we need to change that tag to include the architecture, is this correct? Otherwise, we could have conflicts between the x86_64 and ppc64le pipelines trying to upload the same image.<br>
<br>
Regards,<br>
Javier<br></blockquote><div><br></div><div>Right.. I'm agreeing w/ you..</div><div><br></div><div>I'm recommending the following change</div><div>tripleomaster -> tripleomaster_x86_64</div><div>and add</div><div>tripleomaster_ppc64le</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
<br>
> Step 3 is essentially just pushing a JSON body that has descriptors and<br>
> references to the other two images, such that when someone does a pull<br>
> request of the manifest list image, it will gather the appropriate<br>
> architecture for that image based on the host's architecture.<br>
> <br>
> -Trevor<br>
> <br>
> PS. If I've missed something important with the overall concerns here I<br>
> apologize, but thought it necessary to spell out the goal as I understand<br>
> it.<br>
> <br>
> > On Mar 21, 2019, at 12:28 PM, Javier Pena <<a href="mailto:jpena@redhat.com" target="_blank">jpena@redhat.com</a>> wrote:<br>
> > <br>
> > <br>
> > ----- Original Message -----<br>
> >> Hi all,<br>
> >> <br>
> >> Over the last few weeks, mjturek and baha have been busy working on a set<br>
> >> of<br>
> >> periodic jobs to build TripleO images for the ppc64le arch [1].<br>
> >> <br>
> >> The current missing step is publishing those images, and they are<br>
> >> proposing<br>
> >> to push those to the RDO Registry instance at <a href="http://registry.rdoproject.org" rel="noreferrer" target="_blank">registry.rdoproject.org</a>,<br>
> >> just<br>
> >> like we do with our TripleO images. I have tried to understand the<br>
> >> requirements, and would like to get input on the following topics:<br>
> >> <br>
> >> - Which namespace would these images use? Based on some logs [2] it looks<br>
> >> like they use tripleomaster-ppc64le, will they also push the images to<br>
> >> that<br>
> >> namespace?<br>
> <br>
> I have no experience in namespaces inside of a registry or how that<br>
> differentiates images from one another, but the images should be pushed (in<br>
> my opinion) to the same location in which the x86 images reside.<br>
> <br>
> >> - Could this create any conflicts with our current promotion pipeline?<br>
> <br>
> This should not cause conflicts in current promotion pipeline, as the process<br>
> should be an extension to existing functionality.<br>
> <br>
> >> - Is registry.rdo the right place for those images? I'm not familiar with<br>
> >> the<br>
> >> next steps for ppc64le images after that (will it then go through a<br>
> >> promotion pipeline?), so that might affect.<br>
> <br>
> If the x86 images exist in registry.rdo, then the ppc64le (and any other<br>
> architecture image) should exist there as well. I can't think of a reason<br>
> to differentiate between architectures when the desired result is parity and<br>
> support of more architectures.<br>
> <br>
> >> <br>
> >> If we decide to upload the images to images.rdo, we'll need to do the<br>
> > <br>
> > Correction: this should read "registry.rdo"<br>
> > <br>
> >> following:<br>
> >> <br>
> >> - Create the tripleomaster-ppc64le namespace in registry.rdo, following a<br>
> >> similar pattern to [3].<br>
> >> - Schedule a short registry downtime to increase its disk space, since it<br>
> >> is<br>
> >> currently near its limit.<br>
> <br>
> This is definitely necessary, given the capacity requirement will double,<br>
> give or take, to support the additional architecture.<br>
> <br>
> >> - Update the job at ci.centos to include the REGISTRY_PASSWORD environment<br>
> >> variable with the right token (see [4]). This is missing today, and<br>
> >> causing<br>
> >> the job failure.<br>
> >> <br>
> >> Once we get input from all interested parties, we will decide on the next<br>
> >> steps.<br>
> >> <br>
> >> Thanks,<br>
> >> Javier<br>
> >> <br>
> >> <br>
> >> [1] -<br>
> >> <a href="https://ci.centos.org/job/tripleo-upstream-containers-build-master-ppc64le/" rel="noreferrer" target="_blank">https://ci.centos.org/job/tripleo-upstream-containers-build-master-ppc64le/</a><br>
> >> [2] -<br>
> >> <a href="https://centos.logs.rdoproject.org/tripleo-upstream-containers-build-master-ppc64le/422/logs/logs/000_FAILED_tripleoclient.log" rel="noreferrer" target="_blank">https://centos.logs.rdoproject.org/tripleo-upstream-containers-build-master-ppc64le/422/logs/logs/000_FAILED_tripleoclient.log</a><br>
> >> [3] - <a href="https://review.rdoproject.org/r/19063" rel="noreferrer" target="_blank">https://review.rdoproject.org/r/19063</a><br>
> >> [4] -<br>
> >> <a href="https://github.com/rdo-infra/review.rdoproject.org-config/blob/master/playbooks/tripleo-ci-periodic-base/containers-build.yaml#L12-L20" rel="noreferrer" target="_blank">https://github.com/rdo-infra/review.rdoproject.org-config/blob/master/playbooks/tripleo-ci-periodic-base/containers-build.yaml#L12-L20</a><br>
> >> _______________________________________________<br>
> >> dev mailing list<br>
> >> <a href="mailto:dev@lists.rdoproject.org" target="_blank">dev@lists.rdoproject.org</a><br>
> >> <a href="http://lists.rdoproject.org/mailman/listinfo/dev" rel="noreferrer" target="_blank">http://lists.rdoproject.org/mailman/listinfo/dev</a><br>
> >> <br>
> >> To unsubscribe: <a href="mailto:dev-unsubscribe@lists.rdoproject.org" target="_blank">dev-unsubscribe@lists.rdoproject.org</a><br>
> >> <br>
> > _______________________________________________<br>
> > dev mailing list<br>
> > <a href="mailto:dev@lists.rdoproject.org" target="_blank">dev@lists.rdoproject.org</a><br>
> > <a href="http://lists.rdoproject.org/mailman/listinfo/dev" rel="noreferrer" target="_blank">http://lists.rdoproject.org/mailman/listinfo/dev</a><br>
> > <br>
> > To unsubscribe: <a href="mailto:dev-unsubscribe@lists.rdoproject.org" target="_blank">dev-unsubscribe@lists.rdoproject.org</a><br>
> <br>
> _______________________________________________<br>
> dev mailing list<br>
> <a href="mailto:dev@lists.rdoproject.org" target="_blank">dev@lists.rdoproject.org</a><br>
> <a href="http://lists.rdoproject.org/mailman/listinfo/dev" rel="noreferrer" target="_blank">http://lists.rdoproject.org/mailman/listinfo/dev</a><br>
> <br>
> To unsubscribe: <a href="mailto:dev-unsubscribe@lists.rdoproject.org" target="_blank">dev-unsubscribe@lists.rdoproject.org</a><br>
> <br>
_______________________________________________<br>
dev mailing list<br>
<a href="mailto:dev@lists.rdoproject.org" target="_blank">dev@lists.rdoproject.org</a><br>
<a href="http://lists.rdoproject.org/mailman/listinfo/dev" rel="noreferrer" target="_blank">http://lists.rdoproject.org/mailman/listinfo/dev</a><br>
<br>
To unsubscribe: <a href="mailto:dev-unsubscribe@lists.rdoproject.org" target="_blank">dev-unsubscribe@lists.rdoproject.org</a><br>
</blockquote></div></div>