<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
One more note I missed in the previous email.
<div class=""><br class="">
<div>
<blockquote type="cite" class="">
<div class="">On Jul 15, 2016, at 1:46 PM, Ben Nemec <<a href="mailto:openstack@nemebean.com" class="">openstack@nemebean.com</a>> wrote:</div>
<br class="Apple-interchange-newline">
<div class="">
<div class="">I think this probably makes sense, but some more thoughts inline.<br class="">
<br class="">
On 07/15/2016 03:13 PM, Stephane Miller wrote:<br class="">
<blockquote type="cite" class="">To better support diskimage-builder based IPA images going forward, we'd<br class="">
like to move the ironic-agent element into the ironic-python-agent<br class="">
repository. This will involve:<br class="">
<br class="">
- Improving support for having multiple copies of an element, so that we<br class="">
may deprecate the diskimage-builder repository copy of the element. See<br class="">
this change and related: <a href="https://review.openstack.org/#/c/334785" class="">
https://review.openstack.org/#/c/334785</a><br class="">
- Moving the element into the repository. This change has been proposed<br class="">
as <a href="https://review.openstack.org/#/c/335583/" class="">https://review.openstack.org/#/c/335583/</a><br class="">
- Deprecating the diskimage-builder copy of the element (TBD)<br class="">
- Adding tests to gate IPA changes on DIB builds (TBD)<br class="">
</blockquote>
<br class="">
We could potentially add tripleo-ci to the IPA repo, which would take<br class="">
care of this. As an added bonus, it could cover both the introspection<br class="">
and deployment use cases for IPA.<br class="">
<br class="">
On the other hand, if a separate Ironic job were added to cover this,<br class="">
tripleo could stop ever building new IPA images in CI except in the<br class="">
promote jobs when we bump our version of IPA. This would delay our<br class="">
finding problems with IPA element changes, but realistically I'm not<br class="">
sure how many of those are happening these days anyway. I'd expect that<br class="">
most changes are happening in IPA itself, which we don't currently CI.<br class="">
<br class="">
</div>
</div>
</blockquote>
<div><br class="">
</div>
We already have a well-established pattern for testing multiple ramdisks under IPA, and this "workflow" already basically works for DIB, however, is extremely awkward in terms of co-gating changes (such as needing to add dependencies to utilize new IPA features).
Here's a basic breakdown:</div>
<div><br class="">
</div>
<div>We set IRONIC_BUILD_DEPLOY_RAMDISK to true, which instructs the Ironic devstack plugin to build a new ramdisk instead of downloading and using a prebuilt ramdisk from
<a href="http://tarballs.openstack.org" class="">tarballs.openstack.org</a>. Which ramdisk gets built is determined by IRONIC_RAMDISK_TYPE. For DIB, we already have all the code for a job to run this way (in fact; it'd be interesting to go ahead and add a non-voting
version of this job). <a href="https://github.com/openstack/ironic/blob/master/devstack/lib/ironic#L1185" class="">https://github.com/openstack/ironic/blob/master/devstack/lib/ironic#L1185</a></div>
<div><br class="">
</div>
<div>There's no need for new approaches to how IPA does CI to test this; the desire to have the DIB element in-tree is simply to allow parallelism with the other build methods (which maintain their build and dependencies in-tree) and to prevent a situation
where IPA changes are blocked on DIB element changes merging into another repo. This is the same approach used for Ironic in devstack (plugins-in-tree) and that is being worked on for Ironic in tempest, and I don't want to repeat mistakes of CI past of having
us blocked on merging packages on another project's core team. (Regardless of how friendly or responsive you are :D).</div>
<div><br class="">
</div>
<div>Thanks,</div>
<div>Jay Faulkner</div>
<div>OSIC</div>
<div><br class="">
</div>
<div>
<blockquote type="cite" class="">
<div class="">
<div class="">
<blockquote type="cite" class="">- Add upload of DIB-built images to <a href="http://tarballs.openstack.org" class="">
tarballs.openstack.org</a><br class="">
<<a href="http://tarballs.openstack.org" class="">http://tarballs.openstack.org</a>> (TBD)<br class="">
</blockquote>
<br class="">
We would also need to resolve <a href="https://review.openstack.org/#/c/334042/" class="">
https://review.openstack.org/#/c/334042/</a><br class="">
<br class="">
I'm not clear why, but the ironic-agent element was given special<br class="">
treatment in disk-image-create (which is evil, but what's done is done)<br class="">
and we'd need to figure out why and a solution that wouldn't require<br class="">
referencing an out-of-tree element in diskimage-builder.<br class="">
<br class="">
<blockquote type="cite" class=""><br class="">
Many IPA deployers currently use DIB based IPA images using the<br class="">
ironic-agent element. However, IPA does not officially support DIB - IPA<br class="">
changes are not tested against DIB, nor are DIB-built images published.<br class="">
</blockquote>
<br class="">
tripleo-ci actually does publish images, but they aren't well publicized<br class="">
at this point, and it only does so when we promote a repo.<br class="">
<br class="">
<blockquote type="cite" class=""><br class="">
This has the following disadvantages:<br class="">
<br class="">
- The DIB element is not versioned along with IPA, resulting in<br class="">
potential version mismatch and breakage<br class="">
- ironic-agent element changes are not tested with DIB prior to merge<br class="">
</blockquote>
<br class="">
This isn't true today. tripleo-ci runs against all diskimage-builder<br class="">
changes and uses an IPA ramdisk. The version mismatch is a legit<br class="">
problem with the current setup, although I'm not aware of any actual<br class="">
breakages that have happened (which doesn't necessarily mean they<br class="">
haven't :-).<br class="">
<br class="">
<blockquote type="cite" class=""><br class="">
Understandably, tripleo and other projects may have concerns with regard<br class="">
to this change. I hope to start a discussion here so that those concerns<br class="">
can be addressed. Further in-depth discussion of this issue can be found<br class="">
in the relevant launchpad bug:<br class="">
<a href="https://bugs.launchpad.net/ironic-python-agent/+bug/1590935" class="">https://bugs.launchpad.net/ironic-python-agent/+bug/1590935</a><br class="">
<br class="">
Thanks,<br class="">
Stephane<br class="">
<br class="">
<br class="">
__________________________________________________________________________<br class="">
OpenStack Development Mailing List (not for usage questions)<br class="">
Unsubscribe: OpenStack-dev-request@lists.openstack.org?subject:unsubscribe<br class="">
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev<br class="">
<br class="">
</blockquote>
<br class="">
<br class="">
__________________________________________________________________________<br class="">
OpenStack Development Mailing List (not for usage questions)<br class="">
Unsubscribe: <a href="mailto:OpenStack-dev-request@lists.openstack.org" class="">
OpenStack-dev-request@lists.openstack.org</a>?subject:unsubscribe<br class="">
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" class="">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br class="">
</div>
</div>
</blockquote>
</div>
<br class="">
</div>
</body>
</html>