← Back to team overview

openstack team mailing list archive

Re: [Openstack-devel] XENAPI_PLUGIN_FAILURE with kronos

 

Your stacktrace:

['XENAPI_PLUGIN_FAILURE', 'non-zero exit', '', '']
2012-03-13 05:41:32 ERROR nova.virt.xenapi.host [-] The call to
host_data returned an error: ['XENAPI_PLUGIN_FAILURE', 'non-zero
exit', '', ''].
2012-03-13 05:41:32 CRITICAL nova [-] 'str' object does not support
item assignment
(nova): TRACE: Traceback (most recent call last):
(nova): TRACE:   File "/usr/bin/nova-compute", line 49, in <module>
(nova): TRACE:     service.wait()
(nova): TRACE:   File
"/usr/lib/python2.7/dist-packages/nova/service.py", line 413, in wait
(nova): TRACE:     _launcher.wait()
(nova): TRACE:   File
"/usr/lib/python2.7/dist-packages/nova/service.py", line 131, in wait
(nova): TRACE:     service.wait()
(nova): TRACE:   File
"/usr/lib/python2.7/dist-packages/eventlet/greenthread.py", line 166,
in wait
(nova): TRACE:     return self._exit_event.wait()
(nova): TRACE:   File
"/usr/lib/python2.7/dist-packages/eventlet/event.py", line 116, in
wait
(nova): TRACE:     return hubs.get_hub().switch()
(nova): TRACE:   File
"/usr/lib/python2.7/dist-packages/eventlet/hubs/hub.py", line 177, in
switch
(nova): TRACE:     return self.greenlet.switch()
(nova): TRACE:   File
"/usr/lib/python2.7/dist-packages/eventlet/greenthread.py", line 192,
in main
(nova): TRACE:     result = function(*args, **kwargs)
(nova): TRACE:   File
"/usr/lib/python2.7/dist-packages/nova/service.py", line 101, in
run_server
(nova): TRACE:     server.start()
(nova): TRACE:   File
"/usr/lib/python2.7/dist-packages/nova/service.py", line 174, in start
(nova): TRACE:     self.manager.update_available_resource(ctxt)
(nova): TRACE:   File
"/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 2293,
in update_available_resource
(nova): TRACE:     self.driver.update_available_resource(context, self.host)
(nova): TRACE:   File
"/usr/lib/python2.7/dist-packages/nova/virt/xenapi_conn.py", line 398,
in update_available_resource
(nova): TRACE:     host_stats = self.get_host_stats(refresh=True)
(nova): TRACE:   File
"/usr/lib/python2.7/dist-packages/nova/virt/xenapi_conn.py", line 472,
in get_host_stats
(nova): TRACE:     return self.host_state.get_host_stats(refresh=refresh)
(nova): TRACE:   File
"/usr/lib/python2.7/dist-packages/nova/virt/xenapi_conn.py", line 187,
in host_state
(nova): TRACE:     self._host_state = host.HostState(self._session)
(nova): TRACE:   File
"/usr/lib/python2.7/dist-packages/nova/virt/xenapi/host.py", line 110,
in __init__
(nova): TRACE:     self.update_status()
(nova): TRACE:   File
"/usr/lib/python2.7/dist-packages/nova/virt/xenapi/host.py", line 137,
in update_status
(nova): TRACE:     data["disk_total"] = total
(nova): TRACE: TypeError: 'str' object does not support item assignment
(nova): TRACE:

Says that what it's been returned from the plugin function 'host_data'
(located in /etc/xapi.d/plugins/xenhost) is not what it is expected by
nova-compute. Nova-compute expects a dictionary and it's gets a str,
probably an error message.

Try to trace what's going on in the plugin code or log the content of
'data' available in host.py. Perhaps your nova and xenserver plugins
are not in sync?

On Tue, Mar 13, 2012 at 9:17 AM, Thomas Goirand <thomas@xxxxxxxxxx> wrote:
> On 03/13/2012 02:32 PM, Renuka Apte wrote:
>> You need to install the xenapi plugins:
>>
>> If you are using devstack (https://github.com/openstack-dev/devstack), the
>> code below from build_domU.sh does this for you.
>
> I'm part of the debian Openstack packaging team, and I worked with Mike
> on packaging XCP in Debian (project Kronos). I do not wish to try
> devstack, I wish to fix the Debian packaging!
>
>> # Checkout nova
>> if [ ! -d $TOP_DIR/nova ]; then
>>     env GIT_SSL_NO_VERIFY=true git clone $NOVA_REPO
>>     cd $TOP_DIR/nova
>>     git checkout $NOVA_BRANCH
>> fi
>>
>> # Install plugins
>> cp -pr $TOP_DIR/nova/plugins/xenserver/xenapi/etc/xapi.d /etc/
>> chmod a+x /etc/xapi.d/plugins/*
>> yum --enablerepo=base install -y parted
>> mkdir -p /boot/guest
>
> I'm not using CentOS, but Debian (project Kronos). And in there, you
> just need to do:
>
> apt-get install nova-xcp-plugins nova-xcp-network
>
> which installs the above in the correct folders (which are *NOT*
> the same as for CentOS). I'd love to have a bit of help from Citrix to
> test all this by the way.
>
> Thomas
>
> _______________________________________________
> Mailing list: https://launchpad.net/~openstack
> Post to     : openstack@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~openstack
> More help   : https://help.launchpad.net/ListHelp


Follow ups

References