[openstack-dev] [ironic][neutron][nova] Sync port state changes.

Vasyl Saienko vsaienko at mirantis.com
Tue Jul 12 11:07:45 UTC 2016


Hello Community,

I'm working to make Ironic be aware about  Neutron port state changes [0].
The issue consists of two parts:

   - Neutron ports for baremetal instances remain in DOWN state [1]. The
   issue occurs because there is no mechanism driver that binds ports. To
   solve it we need to create port with  vnic_type='baremetal' in Nova [2],
   and bind in Neutron. New mechanism driver that supports baremetal vnic_type
   is needed [3].

   - Sync Neutron events with Ironic. According to Neutron architecture [4]
   mechanism drivers work synchronously. When the port is bound by ml2
   mechanism driver it becomes ACTIVE. While updating dhcp information Neutron
   uses dhcp agent, which is asynchronous call. I'm confused here, since
   ACTIVE port status doesn't mean that it operates (dhcp agent may fail to
   setup port). The issue was solved by [5]. So starting from [5] when ML2
   uses new port status update flow, port update is always asynchronous
   operation. And the most efficient way is to implement callback mechanism
   between Neutron and Ironic is like it's done for Neutron/Nova.


Neutron/Nova/Ironic teams let me know your thoughts on this.

Reference:
[0] https://bugs.launchpad.net/ironic/+bug/1304673
[1] https://bugs.launchpad.net/neutron/+bug/1599836
[2] https://review.openstack.org/339143
[3] https://review.openstack.org/#/c/339129/
[4]
https://www.packtpub.com/sites/default/files/Article-Images/B04751_01.png
[5]
https://github.com/openstack/neutron/commit/b672c26cb42ad3d9a17ed049b506b5622601e891
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20160712/42ec64d6/attachment.html>


More information about the OpenStack-dev mailing list