[openstack-dev] [tripleo] roadmap on containers workflow
Steve Baker
sbaker at redhat.com
Wed Apr 11 22:38:02 UTC 2018
On 11/04/18 12:50, Emilien Macchi wrote:
> Greetings,
>
> Steve Baker and I had a quick chat today about the work that is being
> done around containers workflow in Rocky cycle.
>
> If you're not familiar with the topic, I suggest to first read the
> blueprint to understand the context here:
> https://blueprints.launchpad.net/tripleo/+spec/container-prepare-workflow
>
> One of the great outcomes of this blueprint is that in Rocky, the
> operator won't have to run all the "openstack overcloud container"
> commands to prepare the container registry and upload the containers.
> Indeed, it'll be driven by Heat and Mistral mostly.
> But today our discussion extended on 2 uses-cases that we're going to
> explore and find how we can address them:
> 1) I'm a developer and want to deploy a containerized undercloud with
> customized containers (more or less related to the all-in-one
> discussions on another thread [1]).
> 2) I'm submitting a patch in tripleo-common (let's say a workflow) and
> need my patch to be tested when the undercloud is containerized (see
> [2] for an excellent example).
I'm fairly sure the only use cases for this will be developer or CI
based. I think we need to be strongly encouraging image modifications
for production deployments to go through some kind of image building
pipeline. See Next Steps below for the implications of this.
> Both cases would require additional things:
> - The container registry needs to be deployed *before* actually
> installing the undercloud.
> - We need a tool to update containers from this registry and *before*
> deploying them. We already have this tool in place in our CI for the
> overcloud (see [3] and [4]). Now we need a similar thing for the
> undercloud.
One problem I see is that we use roles and environment files to filter
the images to be pulled/modified/uploaded. Now we would need to assemble
a list of undercloud *and* overcloud environments, and build some kind
of aggregate role data for both. This would need to happen before the
undercloud is even deployed, which is quite a different order from what
quickstart does currently.
Either that or we do no image filtering and just process every image
regardless of whether it will be used.
> Next steps:
> - Agree that we need to deploy the container-registry before the
> undercloud.
> - If agreed, we'll create a new Ansible role called
> ansible-role-container-registry that for now will deploy exactly what
> we have in TripleO, without extra feature.
+1
> - Drive the playbook runtime from tripleoclient to bootstrap the
> container registry (which of course could be disabled in undercloud.conf).
tripleoclient could switch to using this role instead of puppet-tripleo
to install the registry, however since the only use-cases we have are
dev/CI driven I wonder if quickstart/infrared can just invoke the role
when required, before tripleoclient is involved.
> - Create another Ansible role that would re-use container-check tool
> but the idea is to provide a role to modify containers when needed,
> and we could also control it from tripleoclient. The role would be
> using the ContainerImagePrepare parameter, which Steve is working on
> right now.
>
Since the use cases are all upstream CI/dev I do wonder if we should
just have a dedicated container-check
<https://github.com/imain/container-check> role inside
tripleo-quickstart-extras which can continue to use the script[3] or
whatever. Keeping the logic in quickstart will remove the temptation to
use it instead of a proper image build pipeline for production deployments.
Alternatively it could still be a standalone role which quickstart
invokes, just to accommodate development workflows which don't use
quickstart.
> Feedback is welcome, thanks.
>
> [1] All-In-One thread:
> http://lists.openstack.org/pipermail/openstack-dev/2018-March/128900.html
> [2] Bug report when undercloud is containeirzed
> https://bugs.launchpad.net/tripleo/+bug/1762422
> [3] Tool to update containers if needed:
> https://github.com/imain/container-check
> [4] Container-check running in TripleO CI:
> https://review.openstack.org/#/c/558885/ and
> https://review.openstack.org/#/c/529399/
> --
> Emilien Macchi
>
>
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20180412/264b8bac/attachment.html>
More information about the OpenStack-dev
mailing list