[openstack-dev] [ironic] IPA example hardware managers

Jay Faulkner jay at jvf.cc
Sat Jun 11 00:08:11 UTC 2016


Hi all,

I've been promising to do more knowledge sharing on IPA Hardware 
Managers, specifically in the form of a presentation. However, I wanted 
to go a different route that would be more likely to stand the test of 
time and be more self-service.

To that end, I've created a couple of well-commented example hardware 
managers here: 
https://github.com/jayofdoom/ipa-example-hardware-managers. If you've 
been wanting to know about how to write additional IPA Hardware 
Managers, between this and the already-existing inline documentation in 
IPA itself there should be more than enough information to get started. 
PRs and feedback accepted.

As a note, my hope is that we can find a reasonable place for this to 
live in the openstack namespace. I only created this in github so I 
could spend my time this afternoon writing the examples rather than 
getting repositories created.

While working on this, however, I came to a realization -- despite our 
documentation telling folks to subclass *either* 
hardware.HardwareManager or hardware.GenericHardwareManager 
(http://docs.openstack.org/developer/ironic-python-agent/#how-can-i-build-a-custom-hardwaremanager), 
after a lot of thought (and some time spent trying to drum up a use case 
for an example where it's useful), I think we should change this, and 
only encourage subclassing HardwareManager for out of tree hardware 
managers. I don't believe there's a technical way to prevent it, so it 
shouldn't technically be an API break, but I wanted to get a consensus 
before moving forward and making that change.

I hope the information is useful!

Thanks,
Jay Faulkner
OSIC




More information about the OpenStack-dev mailing list