← Back to team overview

openstack team mailing list archive

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

 

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/

Follow ups

References