[Openstack] nova.virt.xenapi.driver [-] Got exception: ['XENAPI_MISSING_PLUGIN', 'xenhost']

John Garbutt John.Garbutt at citrix.com
Tue Nov 20 16:43:40 UTC 2012


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 at lists.launchpad.net [mailto:openstack-bounces+john.garbutt=citrix.com at lists.launchpad.net] On Behalf Of Mohammed Naser
Sent: 18 November 2012 3:27 PM
To: Afef MDHAFFAR
Cc: openstack at lists.launchpad.net
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 at gmail.com<mailto:afef.mdhaffar at gmail.com>> 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 at gmail.com<mailto:afef.mdhaffar at gmail.com>>
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 at lists.launchpad.net<mailto:openstack at lists.launchpad.net>
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 at vexxhost.com<mailto:mnaser at vexxhost.com>
W. http://vexxhost.com<http://vexxhost.com/>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack/attachments/20121120/29ccbe78/attachment.html>


More information about the Openstack mailing list