<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p><br>
    </p>
    <br>
    <div class="moz-cite-prefix">On 12/04/18 00:58, Wesley Hayutin
      wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:CAOHJT4JhQP5J71nNEJT+eMtJ7gYigKcGg5k8eoH8cZ1fRskUSQ@mail.gmail.com">
      <div dir="ltr"><br>
        <br>
        <div class="gmail_quote">
          <div dir="ltr">On Tue, 10 Apr 2018 at 20:51 Emilien Macchi
            <<a href="mailto:emilien@redhat.com"
              moz-do-not-send="true">emilien@redhat.com</a>> wrote:<br>
          </div>
          <blockquote class="gmail_quote" style="margin:0 0 0
            .8ex;border-left:1px #ccc solid;padding-left:1ex">
            <div dir="ltr">
              <div>Greetings,</div>
              <div><br>
              </div>
              <div>Steve Baker and I had a quick chat today about the
                work that is being done around containers workflow in
                Rocky cycle.</div>
              <div><br>
              </div>
              <div>If you're not familiar with the topic, I suggest to
                first read the blueprint to understand the context here:</div>
              <div><a
href="https://blueprints.launchpad.net/tripleo/+spec/container-prepare-workflow"
                  target="_blank" moz-do-not-send="true">https://blueprints.launchpad.net/tripleo/+spec/container-prepare-workflow</a></div>
              <div><br>
              </div>
              <div>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.</div>
              <div> </div>
              <div>But today our discussion extended on 2 uses-cases
                that we're going to explore and find how we can address
                them:</div>
              <div>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]).</div>
              <div>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).</div>
              <div><br>
              </div>
              <div>Both cases would require additional things:</div>
              <div>- The container registry needs to be deployed
                *before* actually installing the undercloud.</div>
              <div>- 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.</div>
              <div><br>
              </div>
              <div>Next steps:</div>
              <div>- Agree that we need to deploy the container-registry
                before the undercloud.</div>
              <div>- 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.</div>
              <div>- Drive the playbook runtime from tripleoclient to
                bootstrap the container registry (which of course could
                be disabled in undercloud.conf).</div>
              <div>- 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.</div>
            </div>
          </blockquote>
          <div><br>
          </div>
          <div>This all looks really good Emilien, thanks for sending it
            out.</div>
          <div>Regarding the update of containers, we would just want to
            be 100% sure that we can control which yum repositories are
            in play for the update.  Maybe it will be done by the user
            prior to running the command, or maybe with some flags to
            what ever command Steve is working on.</div>
        </div>
      </div>
    </blockquote>
    <br>
    Is it enough to retain the existing <a
      href="https://github.com/imain/container-check" target="_blank">container-check</a>
    behavior of just mounting in the undercloud's /etc/yum.repos.d?<br>
    <br>
    <blockquote type="cite"
cite="mid:CAOHJT4JhQP5J71nNEJT+eMtJ7gYigKcGg5k8eoH8cZ1fRskUSQ@mail.gmail.com">
      <div dir="ltr">
        <div class="gmail_quote">
          <div>FYI.. we've noticed in CI that when the base os updates (
            not baseos) are included you tend to fail on at least on
            package download on one of the 50+ containers due to
            infra/network.  In CI we only enable baseos, dlrn updates
            and the dependency change [1]</div>
          <div><br>
          </div>
        </div>
      </div>
    </blockquote>
    It would be interesting to see what speed/reliability change there
    would be if the concurrency of <a
      href="https://github.com/imain/container-check" target="_blank">container-check</a>
    was disabled and the undercloud's /var/cache/yum was mounted in to
    each container to avoid duplicate package download.<br>
    <br>
    <blockquote type="cite"
cite="mid:CAOHJT4JhQP5J71nNEJT+eMtJ7gYigKcGg5k8eoH8cZ1fRskUSQ@mail.gmail.com">
      <div dir="ltr">
        <div class="gmail_quote">
          <div>Thanks</div>
          <div><br>
          </div>
          <div>[1] <a
href="https://github.com/openstack/tripleo-quickstart-extras/blob/master/roles/overcloud-prep-containers/templates/overcloud-prep-containers.sh.j2#L104-L109"
              moz-do-not-send="true">https://github.com/openstack/tripleo-quickstart-extras/blob/master/roles/overcloud-prep-containers/templates/overcloud-prep-containers.sh.j2#L104-L109</a></div>
          <div> </div>
          <blockquote class="gmail_quote" style="margin:0 0 0
            .8ex;border-left:1px #ccc solid;padding-left:1ex">
            <div dir="ltr">
              <div><br>
              </div>
              <div>Feedback is welcome, thanks.</div>
              <div><br>
              </div>
              <div>[1] All-In-One thread: <a
href="http://lists.openstack.org/pipermail/openstack-dev/2018-March/128900.html"
                  target="_blank" moz-do-not-send="true">http://lists.openstack.org/pipermail/openstack-dev/2018-March/128900.html</a><br>
              </div>
              <div>[2] Bug report when undercloud is containeirzed <a
                  href="https://bugs.launchpad.net/tripleo/+bug/1762422"
                  target="_blank" moz-do-not-send="true">https://bugs.launchpad.net/tripleo/+bug/1762422</a></div>
              <div>[3] Tool to update containers if needed: <a
                  href="https://github.com/imain/container-check"
                  target="_blank" moz-do-not-send="true">https://github.com/imain/container-check</a></div>
              <div>[4] Container-check running in TripleO CI: <a
                  href="https://review.openstack.org/#/c/558885/"
                  target="_blank" moz-do-not-send="true">https://review.openstack.org/#/c/558885/</a>
                and <a href="https://review.openstack.org/#/c/529399/"
                  target="_blank" moz-do-not-send="true">https://review.openstack.org/#/c/529399/</a></div>
              -- <br>
              <div class="m_3142544306312324338gmail_signature">
                <div dir="ltr">Emilien Macchi<br>
                </div>
              </div>
            </div>
__________________________________________________________________________<br>
            OpenStack Development Mailing List (not for usage questions)<br>
            Unsubscribe: <a
href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe"
              rel="noreferrer" target="_blank" moz-do-not-send="true">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
            <a
              href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev"
              rel="noreferrer" target="_blank" moz-do-not-send="true">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
          </blockquote>
        </div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: <a class="moz-txt-link-abbreviated" href="mailto:OpenStack-dev-request@lists.openstack.org?subject:unsubscribe">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a>
<a class="moz-txt-link-freetext" href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>