openstack team mailing list archive
-
openstack team
-
Mailing list archive
-
Message #18637
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