openstack team mailing list archive
-
openstack team
-
Mailing list archive
-
Message #18747
Re: nova.virt.xenapi.driver [-] Got exception: ['XENAPI_MISSING_PLUGIN', 'xenhost']
DevStack is able to automate this whole process for you, if you follow the XenServer Readme:
https://github.com/openstack-dev/devstack/blob/master/tools/xen/README.md
It basically installs all the plugins, and creates the VM that runs the nova services for you. Understanding the networking can be a little tricky (because of some assumptions the scripts make) if you don’t follow the example networking exactly; but I am willing to help you through that.
If you are going more manually, the docs have some more info on the issues you might be hitting (and some info on possible networking options):
http://docs.openstack.org/folsom/openstack-compute/admin/content/introduction-to-xen.html#xenapi-install
The above will point you towards the readme about the required XenAPI plugins:
https://github.com/openstack/nova/blob/master/plugins/xenserver/xenapi/README
I hope that helps.
John
From: openstack-bounces+john.garbutt=citrix.com@xxxxxxxxxxxxxxxxxxx [mailto:openstack-bounces+john.garbutt=citrix.com@xxxxxxxxxxxxxxxxxxx] On Behalf Of Mohammed Naser
Sent: 18 November 2012 3:27 PM
To: Afef MDHAFFAR
Cc: openstack@xxxxxxxxxxxxxxxxxxx
Subject: Re: [Openstack] nova.virt.xenapi.driver [-] Got exception: ['XENAPI_MISSING_PLUGIN', 'xenhost']
Hi there,
2012-11-15 19:57:05 DEBUG nova.virt.xenapi.driver [-] Got exception: ['XENAPI_MISSING_PLUGIN', 'xenhost'] from (pid=25140) _unwrap_plugin_exceptions /opt/stack/nova/nova/virt/xenapi/driver.py:754
Please login to your main XenServer dom0 and make sure you have the plugins installed from the source
https://github.com/openstack/nova/tree/master/plugins/xenserver/xenapi
Good luck
On Thu, Nov 15, 2012 at 3:22 PM, Afef MDHAFFAR <afef.mdhaffar@xxxxxxxxx<mailto:afef.mdhaffar@xxxxxxxxx>> wrote:
The first problem has been solved by synchronizing the 2 nodes.
But, I could not find a solution to the second one -- nova-compute does not want to start
2012/11/15 Afef MDHAFFAR <afef.mdhaffar@xxxxxxxxx<mailto:afef.mdhaffar@xxxxxxxxx>>
Hi all,
I tried to add a third compute node to a running openstack platform (composed of a head node and a compute node).
I use Ubuntu 12.04 + XCP + folsom (stable release). And, I use devstack to install the compute node.
The first problem is that the 2nd (new) compute node is not able to see that the head node nova services are enabled, however it is still able to detect that nova services of the first compute node are running and available.
nova-manage service list
2012-11-15 20:02:46 DEBUG nova.utils [req-44c68f9f-b9f4-498b-a081-c0273e23e05f None None] backend <module 'nova.db.sqlalchemy.api' from '/opt/stack/nova/nova/db/sqlalchemy/api.pyc'> from (pid=25406) __get_backend /opt/stack/nova/nova/utils.py:502
Binary Host Zone Status State Updated_At
nova-consoleauth DevStackOSDomU nova enabled XXX 2012-11-15 20:01:37
nova-cert computeDomU01 nova enabled :-) 2012-11-15 20:02:30
nova-network computeDomU01 nova enabled :-) 2012-11-15 20:02:33
nova-scheduler computeDomU01 nova enabled :-) 2012-11-15 20:02:33
nova-compute computeDomU01 nova enabled :-) 2012-11-15 20:02:30
nova-network DevStackOSDomU nova enabled XXX 2012-11-15 20:01:40
nova-scheduler DevStackOSDomU nova enabled XXX 2012-11-15 20:01:40
nova-cert DevStackOSDomU nova enabled XXX 2012-11-15 20:01:35
nova-compute DevStackOSDomU nova enabled XXX 2012-11-15 20:01:40
nova-network computeDomU02 nova enabled :-) 2012-11-15 20:02:43
nova-compute computeDomU02 nova enabled XXX None
nova-scheduler computeDomU02 nova enabled :-) 2012-11-15 20:02:43
nova-cert computeDomU02 nova enabled :-) 2012-11-15 20:02:43
The nova-services are of course running on the head node. Actually, launching "nova-manage service list" on the head node or the first compute node returns the following output:
nova-manage service list
2012-11-15 20:05:08 DEBUG nova.utils [req-47839159-dc05-4947-a070-66b9f0db36e7 None None] backend <module 'nova.db.sqlalchemy.api' from '/opt/stack/nova/nova/db/sqlalchemy/api.pyc'> from (pid=6912) __get_backend /opt/stack/nova/nova/utils.py:502
Binary Host Zone Status State Updated_At
nova-consoleauth DevStackOSDomU nova enabled :-) 2012-11-15 20:04:10
nova-cert computeDomU01 nova enabled :-) 2012-11-15 20:05:03
nova-network computeDomU01 nova enabled :-) 2012-11-15 20:05:07
nova-scheduler computeDomU01 nova enabled :-) 2012-11-15 20:05:07
nova-compute computeDomU01 nova enabled :-) 2012-11-15 20:05:03
nova-network DevStackOSDomU nova enabled :-) 2012-11-15 20:04:15
nova-scheduler DevStackOSDomU nova enabled :-) 2012-11-15 20:04:15
nova-cert DevStackOSDomU nova enabled :-) 2012-11-15 20:04:09
nova-compute DevStackOSDomU nova enabled :-) 2012-11-15 20:04:15
nova-network computeDomU02 nova enabled :-) 2012-11-15 20:05:16
nova-compute computeDomU02 nova enabled XXX None
nova-scheduler computeDomU02 nova enabled :-) 2012-11-15 20:05:16
nova-cert computeDomU02 nova enabled :-) 2012-11-15 20:05:16
And the 2nd problem is the fact that nova-compute does not start on the new compute node, and returns this error:
2012-11-15 19:57:05 DEBUG nova.virt.xenapi.driver [-] Got exception: ['XENAPI_MISSING_PLUGIN', 'xenhost'] from (pid=25140) _unwrap_plugin_exceptions /opt/stack/nova/nova/virt/xenapi/driver.py:754
2012-11-15 19:57:05 ERROR nova.virt.xenapi.host [-] The call to host_data returned an error: ['XENAPI_MISSING_PLUGIN', 'xenhost'].
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/eventlet/hubs/poll.py", line 97, in wait
readers.get(fileno, noop).cb(fileno)
File "/usr/local/lib/python2.7/dist-packages/eventlet/greenthread.py", line 192, in main
result = function(*args, **kwargs)
File "/opt/stack/nova/nova/service.py", line 132, in run_server
server.start()
File "/opt/stack/nova/nova/service.py", line 410, in start
self.manager.update_available_resource(ctxt)
File "/opt/stack/nova/nova/compute/manager.py", line 2785, in update_available_resource
self.resource_tracker.update_available_resource(context)
File "/opt/stack/nova/nova/utils.py", line 760, in inner
retval = f(*args, **kwargs)
File "/opt/stack/nova/nova/compute/resource_tracker.py", line 366, in update_available_resource
resources = self.driver.get_available_resource()
File "/opt/stack/nova/nova/virt/xenapi/driver.py", line 411, in get_available_resource
host_stats = self.get_host_stats(refresh=True)
File "/opt/stack/nova/nova/virt/xenapi/driver.py", line 573, in get_host_stats
return self.host_state.get_host_stats(refresh=refresh)
File "/opt/stack/nova/nova/virt/xenapi/driver.py", line 159, in host_state
self._host_state = host.HostState(self._session)
File "/opt/stack/nova/nova/virt/xenapi/host.py", line 134, in __init__
self.update_status()
File "/opt/stack/nova/nova/virt/xenapi/host.py", line 162, in update_status
data["disk_total"] = total
TypeError: 'str' object does not support item assignment
Removing descriptor: 5
2012-11-15 19:57:05 CRITICAL nova [-] 'str' object does not support item assignment
2012-11-15 19:57:05 TRACE nova Traceback (most recent call last):
2012-11-15 19:57:05 TRACE nova File "/usr/local/bin/nova-compute", line 7, in <module>
2012-11-15 19:57:05 TRACE nova execfile(__file__)
2012-11-15 19:57:05 TRACE nova File "/opt/stack/nova/bin/nova-compute", line 48, in <module>
2012-11-15 19:57:05 TRACE nova service.wait()
2012-11-15 19:57:05 TRACE nova File "/opt/stack/nova/nova/service.py", line 659, in wait
2012-11-15 19:57:05 TRACE nova _launcher.wait()
2012-11-15 19:57:05 TRACE nova File "/opt/stack/nova/nova/service.py", line 192, in wait
2012-11-15 19:57:05 TRACE nova super(ServiceLauncher, self).wait()
2012-11-15 19:57:05 TRACE nova File "/opt/stack/nova/nova/service.py", line 162, in wait
2012-11-15 19:57:05 TRACE nova service.wait()
2012-11-15 19:57:05 TRACE nova File "/usr/local/lib/python2.7/dist-packages/eventlet/greenthread.py", line 166, in wait
2012-11-15 19:57:05 TRACE nova return self._exit_event.wait()
2012-11-15 19:57:05 TRACE nova File "/usr/local/lib/python2.7/dist-packages/eventlet/event.py", line 116, in wait
2012-11-15 19:57:05 TRACE nova return hubs.get_hub().switch()
2012-11-15 19:57:05 TRACE nova File "/usr/local/lib/python2.7/dist-packages/eventlet/hubs/hub.py", line 177, in switch
2012-11-15 19:57:05 TRACE nova return self.greenlet.switch()
2012-11-15 19:57:05 TRACE nova File "/usr/local/lib/python2.7/dist-packages/eventlet/greenthread.py", line 192, in main
2012-11-15 19:57:05 TRACE nova result = function(*args, **kwargs)
2012-11-15 19:57:05 TRACE nova File "/opt/stack/nova/nova/service.py", line 132, in run_server
2012-11-15 19:57:05 TRACE nova server.start()
2012-11-15 19:57:05 TRACE nova File "/opt/stack/nova/nova/service.py", line 410, in start
2012-11-15 19:57:05 TRACE nova self.manager.update_available_resource(ctxt)
2012-11-15 19:57:05 TRACE nova File "/opt/stack/nova/nova/compute/manager.py", line 2785, in update_available_resource
2012-11-15 19:57:05 TRACE nova self.resource_tracker.update_available_resource(context)
2012-11-15 19:57:05 TRACE nova File "/opt/stack/nova/nova/utils.py", line 760, in inner
2012-11-15 19:57:05 TRACE nova retval = f(*args, **kwargs)
2012-11-15 19:57:05 TRACE nova File "/opt/stack/nova/nova/compute/resource_tracker.py", line 366, in update_available_resource
2012-11-15 19:57:05 TRACE nova resources = self.driver.get_available_resource()
2012-11-15 19:57:05 TRACE nova File "/opt/stack/nova/nova/virt/xenapi/driver.py", line 411, in get_available_resource
2012-11-15 19:57:05 TRACE nova host_stats = self.get_host_stats(refresh=True)
2012-11-15 19:57:05 TRACE nova File "/opt/stack/nova/nova/virt/xenapi/driver.py", line 573, in get_host_stats
2012-11-15 19:57:05 TRACE nova return self.host_state.get_host_stats(refresh=refresh)
2012-11-15 19:57:05 TRACE nova File "/opt/stack/nova/nova/virt/xenapi/driver.py", line 159, in host_state
2012-11-15 19:57:05 TRACE nova self._host_state = host.HostState(self._session)
2012-11-15 19:57:05 TRACE nova File "/opt/stack/nova/nova/virt/xenapi/host.py", line 134, in __init__
2012-11-15 19:57:05 TRACE nova self.update_status()
2012-11-15 19:57:05 TRACE nova File "/opt/stack/nova/nova/virt/xenapi/host.py", line 162, in update_status
2012-11-15 19:57:05 TRACE nova data["disk_total"] = total
2012-11-15 19:57:05 TRACE nova TypeError: 'str' object does not support item assignment
2012-11-15 19:57:05 TRACE nova
Any ideas how to solve this problem??
Thank you,
Afef
--
Afef MDHAFFAR
http://www.redcad.org/members/mdhaffar/
_______________________________________________
Mailing list: https://launchpad.net/~openstack
Post to : openstack@xxxxxxxxxxxxxxxxxxx<mailto:openstack@xxxxxxxxxxxxxxxxxxx>
Unsubscribe : https://launchpad.net/~openstack
More help : https://help.launchpad.net/ListHelp
--
Mohammed Naser — vexxhost
-----------------------------------------------------
D. 514-316-8872
D. 800-910-1726 ext. 200
E. mnaser@xxxxxxxxxxxx<mailto:mnaser@xxxxxxxxxxxx>
W. http://vexxhost.com<http://vexxhost.com/>
References