<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Apr 23, 2014 at 12:19 PM, Devananda van der Veen <span dir="ltr"><<a href="mailto:devananda.vdv@gmail.com" target="_blank">devananda.vdv@gmail.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div class="h5"><p dir="ltr">On Apr 22, 2014 11:51 AM, "Jim Rollenhagen" <<a href="mailto:jim@jimrollenhagen.com" target="_blank">jim@jimrollenhagen.com</a>> wrote:<br>

</p></div></div><div class="gmail_quote"><div><div class="h5"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">



<div style="word-wrap:break-word"><div style="font-size:13px;margin:0px;font-family:Helvetica,Arial">Hi folks! Deva and I talked a bit more about the agent driver last night, and I wanted to give everyone a quick status update on where we stand with merging the agent driver into Ironic itself.</div>



<div style="font-size:13px;margin:0px;font-family:Helvetica,Arial"><br></div><div style="font-size:13px;margin:0px;font-family:Helvetica,Arial">
First off, we’ve taken all of the agent driver patches we had and squashed them into the main agent patch here: <a href="https://review.openstack.org/#/c/84795/" target="_blank">https://review.openstack.org/#/c/84795/</a></div>



<div style="font-size:13px;margin:0px;font-family:Helvetica,Arial"><br></div><div style="font-size:13px;margin:0px;font-family:Helvetica,Arial">
That patch still depends on two other patches:</div><div style="font-size:13px;margin:0px;font-family:Helvetica,Arial">* <a href="https://review.openstack.org/#/c/81391/" target="_blank">https://review.openstack.org/#/c/81391/</a></div>



<div style="font-size:13px;margin:0px;font-family:Helvetica,Arial">* <a href="https://review.openstack.org/#/c/81919/" target="_blank">https://review.openstack.org/#/c/81919/</a></div>
<div style="font-size:13px;margin:0px;font-family:Helvetica,Arial"><br></div><div style="font-size:13px;margin:0px;font-family:Helvetica,Arial">
which should be close to landing.</div><div style="font-size:13px;margin:0px;font-family:Helvetica,Arial"><br></div><div style="font-size:13px;margin:0px;font-family:Helvetica,Arial">
The plan going forward is to continue to iterate on 84795 until it lands. Not everything is complete yet, but I would prefer it to land it and file bugs, etc. for missing features or things that are broken. The patch is already pretty large and getting a bit unwieldy.</div>



<div style="font-size:13px;margin:0px;font-family:Helvetica,Arial"><br></div><div style="font-size:13px;margin:0px;font-family:Helvetica,Arial">
What we know is not ready today (I’d like to land these in later patches, but feedback welcome on that):</div><div style="font-size:13px;margin:0px;font-family:Helvetica,Arial">* tear_down() is not fully implemented.</div>



<div style="font-size:13px;margin:0px;font-family:Helvetica,Arial">* Networking things are not fully implemented.</div><div style="font-size:13px;margin:0px;font-family:Helvetica,Arial">

* More hardware info coming from the agent should be stored in the database (IMO).</div><div style="font-size:13px;margin:0px;font-family:Helvetica,Arial">* The agent and PXE drivers should have similar driver_info and instance_info - this is not true today.</div>



<div style="font-size:13px;margin:0px;font-family:Helvetica,Arial">* The agent currently relies on a static DHCP configuration rather than the Neutron support the PXE driver uses - which means the agent cannot be used side-by-side with other drivers today. This should be fixes but may take a fair amount of work.</div>



<div style="font-size:13px;margin:0px;font-family:Helvetica,Arial">* There are quite a few TODOs littered around - some are functional things, others are optimizations. If there are some that should be implemented before landing this, we’re happy to do so.</div>



<div style="font-size:13px;margin:0px;font-family:Helvetica,Arial"><br></div><div style="font-size:13px;margin:0px;font-family:Helvetica,Arial">
We would appreciate it if folks could start reviewing this patch, in case there are things I missed in this list.</div><div style="font-size:13px;margin:0px;font-family:Helvetica,Arial">
<br></div><div style="font-size:13px;margin:0px;font-family:Helvetica,Arial">One last thing: testing. We plan to add tempest tests for this driver sooner than later. I think having similar or identical driver_info, and using Neutron for DHCP, etc, will simplify these tests, and possibly converge them to one test. That said, I’d like to start writing the tempest tests now and converge as we go.</div>


</div></blockquote><div><br></div></div></div><p dir="ltr">Thanks for the excellent summary of our discussion, Jim!</p><p dir="ltr">I would appreciate it if a few more people could take some time to review the agent driver and associated patches, and really think about the architecture and implications here. We've discussed the need for a more capable agent even before the Hong Kong summit. Now we need reviewers to step up and help make it happen.</p>


<p dir="ltr">Things that are on my mind as I review these patches:<br></p><p>* What are the operational and external requirements to use this? Are they documented somewhere? Do they expand the project's scope or increase operational complexity?<br>


* How can I test the agent driver today? I hesitate to land this much code without the ability to test it locally.<br>* What is the plan for automated testing?<br>* Given the above, what needs to be done before landing the agent driver, and what can be iterated upon after landing it?</p>


<p>A few specific points that you mention, which I'd like to expand on... <br><br>the dependency on a static external DHCP server seems like a blocker to me. This prevents co-operation of the current PXE class of drivers, and would require many changes to devstack/lib/ironic to prepare the environment appropriately for the agent. Our reference implementation -- what we test in the gate -- should be integrated with other OpenStack components, so I don't feel that we should even add that support to devstack temporarily.<br>


<br>The lack of tear_down() is another blocker, in my opinion. That is a required part of a core driver interface; the driver is incomplete without that.<br><br>On the other hand, I think that moving all the instance-specific bits from driver_info to instance_info could be done after landing the driver. That'll require staging and coordinating changes to several projects (at a minimum, ironic and tempest). We should also do it in a way that is compatible with the Icehouse-stable branch (I don't think that will be hard).<br>


<br>I'm fine with landing the driver while there are still optimization #TODO's, partial (or missing) implementations of optional features, etc.</p><p>I would like to start discussing the status of the agent and agent driver during every weekly meeting, and have added it to the agenda. I realize we have only one more meeting before the summit, and I'd like to use a portion of that time to go over the plan for the summit session devoted to the agent.</p>


<p><br></p></div></div></blockquote><div>Apparently I can't read my own calendar today...  we have *two* more meetings before the summit.</div><div><br></div><div>-D</div></div></div></div>