Nova no longer reconnects if libvirt is restarted
Bug #1154473 reported by
Rafi Khardalian
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Fix Released
|
High
|
Russell Bryant |
Bug Description
Nova used to recover gracefully if libvirt was restarted out from under it, this is no longer the case. Steps to reproduce:
1. Start libvirtd (I am using version 1.0.2)
2. Start nova-compute (tested using master branch as of 3/13/2013)
3. Observe that everything functions normally
4. Restart libvirtd
5. nova-compute will now throw exceptions for every subsequent operation (nova.manager libvirtError: internal error client socket is closed)
This is a serious issue, as nova-compute will not recover on its own without being restarted.
tags: | added: grizzly-rc-potential |
Changed in nova: | |
assignee: | nobody → Russell Bryant (russellb) |
tags: |
added: folsom-backport-potential removed: grizzly-rc-potential |
Changed in nova: | |
status: | Fix Committed → Fix Released |
Changed in nova: | |
milestone: | grizzly-rc1 → 2013.1 |
To post a comment you must log in.
2013-03-13 09:41:40.865 DEBUG nova.virt. libvirt. driver [-] Updating host stats from (pid=25201) update_status /opt/stack/ nova/nova/ virt/libvirt/ driver. py:3681 libvirt. driver [-] Connecting to libvirt: qemu:///system from (pid=25201) _get_connection /opt/stack/ nova/nova/ virt/libvirt/ driver. py:553 libvirt/ libvirt- sock': No such file or directory libvirt. driver [-] Connection to libvirt failed: Failed to connect socket to '/var/run/ libvirt/ libvirt- sock': No such file or directory libvirt. driver Traceback (most recent call last): libvirt. driver File "/opt/stack/ nova/nova/ virt/libvirt/ driver. py", line 626, in _connect libvirt. driver return libvirt. openAuth( uri, auth, 0) libvirt. driver File "/usr/lib/ python2. 7/dist- packages/ libvirt. py", line 102, in openAuth libvirt. driver if ret is None:raise libvirtError( 'virConnectOpen Auth() failed') libvirt. driver libvirtError: Failed to connect socket to '/var/run/ libvirt/ libvirt- sock': No such file or directory libvirt. driver libvirt. driver [-] Registering for lifecycle events <nova.virt. libvirt. driver. LibvirtDriver object at 0x2a2b910> from (pid=25201) _get_connection /opt/stack/ nova/nova/ virt/libvirt/ driver. py:563 libvirt. driver [-] URI qemu:///system does not support events _report_ driver_ status: 'NoneType' object has no attribute 'getInfo' nova/nova/ manager. py", line 241, in periodic_tasks nova/nova/ compute/ manager. py", line 3597, in _report_ driver_ status get_host_ stats(refresh= True) nova/nova/ virt/libvirt/ driver. py", line 3381, in get_host_stats state.get_ host_stats( refresh= refresh) nova/nova/ virt/libvirt/ driver. py", line 3676, in get_host_stats status( ) nova/nova/ virt/libvirt/ driver. py", line 3683, in update_status get_vcpu_ total() nova/nova/ virt/libvirt/ driver. py", line 2514, in get_vcpu_total
2013-03-13 09:41:40.865 DEBUG nova.virt.
libvir: XML-RPC error : Failed to connect socket to '/var/run/
2013-03-13 09:41:40.866 ERROR nova.virt.
2013-03-13 09:41:40.866 TRACE nova.virt.
2013-03-13 09:41:40.866 TRACE nova.virt.
2013-03-13 09:41:40.866 TRACE nova.virt.
2013-03-13 09:41:40.866 TRACE nova.virt.
2013-03-13 09:41:40.866 TRACE nova.virt.
2013-03-13 09:41:40.866 TRACE nova.virt.
2013-03-13 09:41:40.866 TRACE nova.virt.
2013-03-13 09:41:40.868 DEBUG nova.virt.
2013-03-13 09:41:40.868 WARNING nova.virt.
2013-03-13 09:41:40.868 ERROR nova.manager [-] Error during ComputeManager.
2013-03-13 09:41:40.868 TRACE nova.manager Traceback (most recent call last):
2013-03-13 09:41:40.868 TRACE nova.manager File "/opt/stack/
2013-03-13 09:41:40.868 TRACE nova.manager task(self, context)
2013-03-13 09:41:40.868 TRACE nova.manager File "/opt/stack/
2013-03-13 09:41:40.868 TRACE nova.manager capabilities = self.driver.
2013-03-13 09:41:40.868 TRACE nova.manager File "/opt/stack/
2013-03-13 09:41:40.868 TRACE nova.manager return self.host_
2013-03-13 09:41:40.868 TRACE nova.manager File "/opt/stack/
2013-03-13 09:41:40.868 TRACE nova.manager self.update_
2013-03-13 09:41:40.868 TRACE nova.manager File "/opt/stack/
2013-03-13 09:41:40.868 TRACE nova.manager data["vcpus"] = self.driver.
2013-03-13 09:41:40.868 TRACE nova.manager File "/opt/stack/
2013-03-13 09:41:40.868 TRACE nova.manager return s...