nova 配置 XCP Dom0时可能遇到的问题
whitebear
-
安装Dom0插件时在XCP的Dom0中找不到 /etc/xen.d/plugins 目录。这是因为 XCP 的插件是放在 /usr/lib/xcp/plugins 下的。来源在这里的“Key differences from XenServer and XCP ISO”一节。
-
插件安装完毕后,nova-compute 无法启动,traceback中有找不到 /usr/etc/xenhost.conf 的提示。解决方法是在 Dom0 的插件中修改 xenhost 文件,将第46行改为:
config_file_path = “/etc/xcp/xenhost.conf”
来源在这里。
-
nova-compute 依然无法启动,报错信息如下
sudo nova-compute
2014-03-01 14:11:20.348 5959 INFO nova.openstack.common.periodic_task [-] Skipping periodic task _periodic_update_dns because its interval is negative
2014-03-01 14:11:20.368 5959 INFO nova.virt.driver [-] Loading compute driver ‘xenapi.XenAPIDriver’
2014-03-01 14:11:20.525 5959 INFO nova.openstack.common.rpc.common [req-90c2354c-49ad-43d4-be9e-47d93e08c480 None None] Connected to AMQP server on 10.2.0.51:5672
2014-03-01 14:11:20.531 5959 INFO nova.openstack.common.rpc.common [req-90c2354c-49ad-43d4-be9e-47d93e08c480 None None] Connected to AMQP server on 10.2.0.51:5672
2014-03-01 14:11:20.545 5959 AUDIT nova.service [-] Starting compute node (version 2013.2.1)
Traceback (most recent call last):
File “/usr/lib/python2.7/dist-packages/eventlet/hubs/poll.py”, line 97, in wait
readers.get(fileno, noop).cb(fileno)
File “/usr/lib/python2.7/dist-packages/eventlet/greenthread.py”, line 194, in main
result = function(*args, **kwargs)
File “/usr/lib/python2.7/dist-packages/nova/openstack/common/service.py”, line 65, in run_service
service.start()
File “/usr/lib/python2.7/dist-packages/nova/service.py”, line 164, in start
self.manager.pre_start_hook()
File “/usr/lib/python2.7/dist-packages/nova/compute/manager.py”, line 796, in pre_start_hook
self.update_available_resource(nova.context.get_admin_context())
File “/usr/lib/python2.7/dist-packages/nova/compute/manager.py”, line 4871, in update_available_resource
nodenames = set(self.driver.get_available_nodes())
File “/usr/lib/python2.7/dist-packages/nova/virt/driver.py”, line 956, in get_available_nodes
stats = self.get_host_stats(refresh=refresh)
File “/usr/lib/python2.7/dist-packages/nova/virt/xenapi/driver.py”, line 596, in get_host_stats
return self.host_state.get_host_stats(refresh=refresh)
File “/usr/lib/python2.7/dist-packages/nova/virt/xenapi/driver.py”, line 154, in host_state
self._host_state = host.HostState(self._session)
File “/usr/lib/python2.7/dist-packages/nova/virt/xenapi/host.py”, line 153, in __init__
self.update_status()
File “/usr/lib/python2.7/dist-packages/nova/virt/xenapi/host.py”, line 170, in update_status
sr_ref = vm_utils.scan_default_sr(self._session)
File “/usr/lib/python2.7/dist-packages/nova/virt/xenapi/vm_utils.py”, line 1662, in scan_default_sr
_scan_sr(session, sr_ref)
File “/usr/lib/python2.7/dist-packages/nova/virt/xenapi/vm_utils.py”, line 1656, in _scan_sr
do_scan(sr_ref)
File “/usr/lib/python2.7/dist-packages/nova/openstack/common/lockutils.py”, line 246, in inner
return f(*args, **kwargs)
File “/usr/lib/python2.7/dist-packages/nova/virt/xenapi/vm_utils.py”, line 1655, in do_scan
attempt += 1
File “/usr/lib/python2.7/dist-packages/nova/virt/xenapi/vm_utils.py”, line 1646, in do_scan
return session.call_xenapi(‘SR.scan’, sr_ref)
File “/usr/lib/python2.7/dist-packages/nova/virt/xenapi/driver.py”, line 779, in call_xenapi
return session.xenapi_request(method, args)
File “/usr/lib/python2.7/dist-packages/XenAPI.py”, line 139, in xenapi_request
result = _parse_result(getattr(self, methodname)(*full_params))
File “/usr/lib/python2.7/dist-packages/XenAPI.py”, line 209, in _parse_result
raise Failure(result[‘ErrorDescription’])
Failure: [‘HANDLE_INVALID’, ‘SR’, ‘OpaqueRef:NULL’]
Removing descriptor: 5
2014-03-01 14:11:21.410 5959 ERROR nova.openstack.common.threadgroup [-] [‘HANDLE_INVALID’, ‘SR’, ‘OpaqueRef:NULL’]
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup Traceback (most recent call last):
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup File “/usr/lib/python2.7/dist-packages/nova/openstack/common/threadgroup.py”, line 117, in wait
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup x.wait()
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup File “/usr/lib/python2.7/dist-packages/nova/openstack/common/threadgroup.py”, line 49, in wait
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup return self.thread.wait()
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup File “/usr/lib/python2.7/dist-packages/eventlet/greenthread.py”, line 168, in wait
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup return self._exit_event.wait()
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup File “/usr/lib/python2.7/dist-packages/eventlet/event.py”, line 116, in wait
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup return hubs.get_hub().switch()
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup File “/usr/lib/python2.7/dist-packages/eventlet/hubs/hub.py”, line 187, in switch
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup return self.greenlet.switch()
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup File “/usr/lib/python2.7/dist-packages/eventlet/greenthread.py”, line 194, in main
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup result = function(*args, **kwargs)
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup File “/usr/lib/python2.7/dist-packages/nova/openstack/common/service.py”, line 65, in run_service
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup service.start()
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup File “/usr/lib/python2.7/dist-packages/nova/service.py”, line 164, in start
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup self.manager.pre_start_hook()
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup File “/usr/lib/python2.7/dist-packages/nova/compute/manager.py”, line 796, in pre_start_hook
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup self.update_available_resource(nova.context.get_admin_context())
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup File “/usr/lib/python2.7/dist-packages/nova/compute/manager.py”, line 4871, in update_available_resource
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup nodenames = set(self.driver.get_available_nodes())
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup File “/usr/lib/python2.7/dist-packages/nova/virt/driver.py”, line 956, in get_available_nodes
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup stats = self.get_host_stats(refresh=refresh)
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup File “/usr/lib/python2.7/dist-packages/nova/virt/xenapi/driver.py”, line 596, in get_host_stats
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup return self.host_state.get_host_stats(refresh=refresh)
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup File “/usr/lib/python2.7/dist-packages/nova/virt/xenapi/driver.py”, line 154, in host_state
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup self._host_state = host.HostState(self._session)
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup File “/usr/lib/python2.7/dist-packages/nova/virt/xenapi/host.py”, line 153, in __init__
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup self.update_status()
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup File “/usr/lib/python2.7/dist-packages/nova/virt/xenapi/host.py”, line 170, in update_status
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup sr_ref = vm_utils.scan_default_sr(self._session)
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup File “/usr/lib/python2.7/dist-packages/nova/virt/xenapi/vm_utils.py”, line 1662, in scan_default_sr
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup _scan_sr(session, sr_ref)
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup File “/usr/lib/python2.7/dist-packages/nova/virt/xenapi/vm_utils.py”, line 1656, in _scan_sr
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup do_scan(sr_ref)
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup File “/usr/lib/python2.7/dist-packages/nova/openstack/common/lockutils.py”, line 246, in inner
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup return f(*args, **kwargs)
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup File “/usr/lib/python2.7/dist-packages/nova/virt/xenapi/vm_utils.py”, line 1655, in do_scan
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup attempt += 1
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup File “/usr/lib/python2.7/dist-packages/nova/virt/xenapi/vm_utils.py”, line 1646, in do_scan
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup return session.call_xenapi(‘SR.scan’, sr_ref)
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup File “/usr/lib/python2.7/dist-packages/nova/virt/xenapi/driver.py”, line 779, in call_xenapi
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup return session.xenapi_request(method, args)
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup File “/usr/lib/python2.7/dist-packages/XenAPI.py”, line 139, in xenapi_request
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup result = _parse_result(getattr(self, methodname)(*full_params))
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup File “/usr/lib/python2.7/dist-packages/XenAPI.py”, line 209, in _parse_result
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup raise Failure(result[‘ErrorDescription’])
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup Failure: [‘HANDLE_INVALID’, ‘SR’, ‘OpaqueRef:NULL’]
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup这是因为没有设定默认SR。 在XenCenter中找到任意一个SR(比如 Local Storage),右击, Set as Default SR。来源在这里。