Hi all,

I proposed https://review.openstack.org/#/c/143193 to ironic-python-agent, in 
an attempt to make Hardware Manager loading more sane. As it works today, the 
most specific hardware manager is the only one chosen. This means in order to 
use a mix of hardware managers, you have to compose a custom interface. This is 
not the way I originally thought it worked, and not the way Josh and I 
presented it at the summit[1].

This change makes it so we will try each method, in priority order (from most 
specific to least specific hardware manager). If the method exists and doesn’t 
throw NotImplementedError, it will be allowed to complete and errors bubble up. 
If an AttributeError or NotImplementedError is thrown, the next most generic 
method is called until all methods have been attempted (in which case we fail) 
or a method does not raise the exceptions above.

The downside to this is that it will change behavior for anyone using hardware 
managers downstream. As of today, the only hardware manager that I know of 
external to Ironic is the one we use at Rackspace for OnMetal[2]. I’m sending 
this email to check and see if anyone has objection to this interface changing 
in this way, and generally asking for comment.

Thanks,
Jay Faulkner

1: https://www.youtube.com/watch?v=2Oi2T2pSGDU
2: https://github.com/rackerlabs/onmetal-ironic-hardware-manager
_______________________________________________
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to