← Back to team overview

openstack team mailing list archive

Re: 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>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>
>
>> 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
> 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
W. http://vexxhost.com

Follow ups

References