[openstack-dev] [Nova][Neutron]What's the problem if there is no port status 'up' notification sent from neutron, while creating VM

kangjingting at sina.com kangjingting at sina.com
Wed Jun 29 01:59:46 UTC 2016

 Hi guys:
As we know, nova will interacts with neutron for port creating and configuration while creating VM.
In the method /nova/virt/libvirt/driver.py:_create_domain_and_network, here nova ultilizes event mechanism(sqlalchemy) to monitor port status in neutron DB. After having subscribed event from neutron DB for port status update, it will wait for the event sent from neutron. Finally nova revceive port status update event sent from neutron server, which means port is ready and the creating of VM will almost complete. But it seems like the creating of VM will fail if nova not receive event after the timeout period(default 300s).
What the problem I have encountered is that the VM have been created successfully without the notification event send from neutron. Using command "nova show VM-ID" shows all states of VM are correct(vm_state: active and power state: running). Let's assume a scenario where we replace neutron agent with controller, as in the case of OVN, dragonflow, ODL,etc.
There is an example to support port 'up' or 'down ' notification in project OVN. Please refer to this link:  https://review.openstack.org/#/c/178826/
So, anyone can give an explanation what's the purpose of the event? Dose the event have any impact on creating of VM? Any comment will be appreciated, thanks!
Best Regard!Jingting
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20160629/d302be50/attachment.html>

More information about the OpenStack-dev mailing list