Bug 857256
| Summary: | nova-compute regularly disconnects from qpidd | ||
|---|---|---|---|
| Product: | Red Hat OpenStack | Reporter: | Russell Bryant <rbryant> |
| Component: | openstack-nova | Assignee: | Alan Pevec <apevec> |
| Status: | CLOSED CURRENTRELEASE | QA Contact: | Nir Magnezi <nmagnezi> |
| Severity: | high | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 1.0 (Essex) | CC: | jkt, kchamart, pbrady, sclewis |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | openstack-nova-2012.1.3-1.el6 | Doc Type: | Bug Fix |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2013-10-31 17:03:22 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
|
Description
Russell Bryant
2012-09-13 23:19:02 UTC
VERIFIED on Folsom.
Version:
python-nova-2012.2.3-4.el6ost.noarch
1/ Ensure the default value for qpid_heartbeat is 60
=============
# grep -i -A2 qpid_heartbeat /usr/lib/python2.6/site-packages/nova/openstack/common/rpc/impl_qpid.py
cfg.IntOpt('qpid_heartbeat',
default=60,
help='Seconds between connection keepalive heartbeats'),
--
self.connection.heartbeat = self.conf.qpid_heartbeat
self.connection.protocol = self.conf.qpid_protocol
self.connection.tcp_nodelay = self.conf.qpid_tcp_nodelay
=============
2/ Yield to other threads during time consuming periodic tasks change:
=============
# grep eventlet.sleep /usr/lib/python2.6/site-packages/nova/manager.py
eventlet.sleep(0)
=============
# grep greenthread /usr/lib/python2.6/site-packages/nova/virt/libvirt/*.py
/usr/lib/python2.6/site-packages/nova/virt/libvirt/driver.py:from eventlet import greenthread
/usr/lib/python2.6/site-packages/nova/virt/libvirt/driver.py: greenthread.sleep(1)
/usr/lib/python2.6/site-packages/nova/virt/libvirt/driver.py: greenthread.sleep(0)
/usr/lib/python2.6/site-packages/nova/virt/libvirt/driver.py: time_module = greenthread
/usr/lib/python2.6/site-packages/nova/virt/libvirt/driver.py: greenthread.spawn(self._live_migration, ctxt, instance_ref, dest,
/usr/lib/python2.6/site-packages/nova/virt/libvirt/driver.py: greenthread.sleep(1)
/usr/lib/python2.6/site-packages/nova/virt/libvirt/driver.py: greenthread.sleep(0)
/usr/lib/python2.6/site-packages/nova/virt/libvirt/firewall.py: # execute in a native thread and block current greenthread until done
=============
Sanity: All nova services running just fine, with the above fix, on Folsom:
=============
# for j in `for i in $(ls -1 /etc/init.d/openstack-nova-*) ; do $i status | grep running ; done | awk '{print $1}'` ; do service $j status ; done
openstack-nova-cert (pid 29558) is running...
openstack-nova-compute (pid 29580) is running...
openstack-nova-console (pid 29621) is running...
openstack-nova-consoleauth (pid 29656) is running...
openstack-nova-network (pid 29698) is running...
openstack-nova-novncproxy (pid 29714) is running...
=============
|