[openstack-dev] [Ironic] Status of the agent driver

Devananda van der Veen devananda.vdv at gmail.com
Wed Apr 23 19:19:33 UTC 2014


On Apr 22, 2014 11:51 AM, "Jim Rollenhagen" <jim at jimrollenhagen.com> wrote:

> 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.
>
> First off, we’ve taken all of the agent driver patches we had and squashed
> them into the main agent patch here:
> https://review.openstack.org/#/c/84795/
>
> That patch still depends on two other patches:
> * https://review.openstack.org/#/c/81391/
> * https://review.openstack.org/#/c/81919/
>
> which should be close to landing.
>
> 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.
>
> What we know is not ready today (I’d like to land these in later patches,
> but feedback welcome on that):
> * tear_down() is not fully implemented.
> * Networking things are not fully implemented.
> * More hardware info coming from the agent should be stored in the
> database (IMO).
> * The agent and PXE drivers should have similar driver_info and
> instance_info - this is not true today.
> * 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.
> * 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.
>
> We would appreciate it if folks could start reviewing this patch, in case
> there are things I missed in this list.
>
> 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.
>

Thanks for the excellent summary of our discussion, Jim!

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.

Things that are on my mind as I review these patches:

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

A few specific points that you mention, which I'd like to expand on...

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.

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.

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).

I'm fine with landing the driver while there are still optimization
#TODO's, partial (or missing) implementations of optional features, etc.

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.


Cheers,
Devananda
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20140423/586ae0cd/attachment.html>


More information about the OpenStack-dev mailing list