ESXi and nova-compute

Asked by Kamil Gardziejczyk on 2012-02-01

I`m tring to set up Openstack + ESXi 4.1 system...

Form the begining. I`ve prepated server system with Openstack Controller and Compute (KVM) and everything works fine. Now, I want to replace Openstack Compute KVM node with ESXi 4.1 Hypervisor. I `ve already installed ESXi and prepared Openstack Controller, but i can`t find way how to install/find/etc nova modules at ESXi system. So, my quastion is: How to get access to nova modules at ESXi and put there nova.conf file?

Question information

Language:
English Edit question
Status:
Answered
For:
OpenStack Compute (nova) Edit question
Assignee:
No assignee Edit question
Last query:
2012-02-01
Last reply:
2012-08-14
Sateesh (sateesh-chodapuneedi) said : #1

Deployment of OpenStack on ESX/ESXi slightly differs from that on KVM. The nova modules won't be installed on ESX/ESXi host directly, but on a VM over the same host (recommended) or external server.

For flags, you can refer to readme at http://nova.openstack.org/vmwareapi_readme.html

For example, I install nova inside my ubuntu VM that runs on the same ESX host.
Here is a snippet from nova.conf from the ubuntu VM, where 10.0.120.11 is IP of my ESX host.

---snip---nova.conf file:

 --connection_type=vmwareapi
 --vmwareapi_host_ip=10.0.120.11
 --vmwareapi_host_username=root
 --vmwareapi_host_password=password
 --vmwareapi_wsdl_loc=http://10.0.120.9:8080/vimService.wsdl

---snip---nova.conf file

Hope that helps

Hi Sateesh,

The flags above were all needed for a smooth integration on Nova with ESXi. Thanks for the reply. But right now i'm facing an issue where my compute(configured with ESXi) is not able to poll the scheduler with its usage information. This eventually is not allowing "compute_nodes" DB to be populated. The "nova-manage service describe_resource" function is heavily affected and i'm not able to check the usage details of my compute host. It seems that vmwareapi is not yet built to send the usage data to the scheduler. Have you faced/worked on similar prob?

Regards,
Hemanth D

John Garbutt (johngarbutt) said : #3

Not seen that error.

What version of OpenStack are you working with? Folsom or Essex?

Any chance you can post the stack trace. Sounds like it might be a bug that has crept in, but it should be clearer from the stack trace.

Following is the stack trace:

root@openstack-secondary:~# nova-manage service describe_resource openstack-secondary
2012-08-14 12:50:04 DEBUG nova.rpc.common [req-990062e8-1a10-43f8-84bd-68f3ebfeb065 None None] Making asynchronous call on scheduler ... from (pid=12241) multicall /usr/lib/python2.7/dist-packages/nova/rpc/amqp.py:319
2012-08-14 12:50:04 DEBUG nova.rpc.common [req-990062e8-1a10-43f8-84bd-68f3ebfeb065 None None] MSG_ID is 3fc554e4da964cab9d6145cec70ef81b from (pid=12241) multicall /usr/lib/python2.7/dist-packages/nova/rpc/amqp.py:322
2012-08-14 12:50:04 DEBUG nova.rpc.common [req-990062e8-1a10-43f8-84bd-68f3ebfeb065 None None] Pool creating new connection from (pid=12241) create /usr/lib/python2.7/dist-packages/nova/rpc/amqp.py:57
2012-08-14 12:50:04 INFO nova.rpc.common [req-990062e8-1a10-43f8-84bd-68f3ebfeb065 None None] Connected to AMQP server on xx.xx.xx.xx:5672
2012-08-14 12:50:04 CRITICAL nova [req-990062e8-1a10-43f8-84bd-68f3ebfeb065 None None] Remote error: IndexError list index out of range
[u'Traceback (most recent call last):\n', u' File "/usr/lib/python2.7/dist-packages/nova/rpc/amqp.py", line 250, in _process_data\n rval = node_func(context=ctxt, **node_args)\n', u' File "/usr/lib/python2.7/dist-packages/nova/scheduler/manager.py", line 154, in show_host_resources\n compute_ref = compute_ref[\'compute_node\'][0]\n', u'IndexError: list index out of range\n'].
(nova): TRACE: Traceback (most recent call last):
(nova): TRACE: File "/usr/bin/nova-manage", line 2459, in <module>
(nova): TRACE: main()
(nova): TRACE: File "/usr/bin/nova-manage", line 2446, in main
(nova): TRACE: fn(*fn_args, **fn_kwargs)
(nova): TRACE: File "/usr/bin/nova-manage", line 1126, in describe_resource
(nova): TRACE: "args": {"host": host}})
(nova): TRACE: File "/usr/lib/python2.7/dist-packages/nova/rpc/__init__.py", line 69, in call
(nova): TRACE: return _get_impl().call(context, topic, msg, timeout)
(nova): TRACE: File "/usr/lib/python2.7/dist-packages/nova/rpc/impl_kombu.py", line 624, in call
(nova): TRACE: return rpc_amqp.call(context, topic, msg, timeout, Connection.pool)
(nova): TRACE: File "/usr/lib/python2.7/dist-packages/nova/rpc/amqp.py", line 336, in call
(nova): TRACE: rv = list(rv)
(nova): TRACE: File "/usr/lib/python2.7/dist-packages/nova/rpc/amqp.py", line 304, in __iter__
(nova): TRACE: raise result
(nova): TRACE: RemoteError: Remote error: IndexError list index out of range
(nova): TRACE: [u'Traceback (most recent call last):\n', u' File "/usr/lib/python2.7/dist-packages/nova/rpc/amqp.py", line 250, in _process_data\n rval = node_func(context=ctxt, **node_args)\n', u' File "/usr/lib/python2.7/dist-packages/nova/scheduler/manager.py", line 154, in show_host_resources\n compute_ref = compute_ref[\'compute_node\'][0]\n', u'IndexError: list index out of range\n'].
(nova): TRACE:

Also I’m getting an error while compute is trying to update its status to the scheduler. The error in compute’s log is as show below:

2012-08-14 12:54:22 INFO nova.compute.manager [-] Updating host status
2012-08-14 12:54:22 ERROR nova.manager [-] Error during ComputeManager._report_driver_status:
(nova.manager): TRACE: Traceback (most recent call last):
(nova.manager): TRACE: File "/usr/lib/python2.7/dist-packages/nova/manager.py", line 155, in periodic_tasks
(nova.manager): TRACE: task(self, context)
(nova.manager): TRACE: File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 2217, in _report_driver_status
(nova.manager): TRACE: self.driver.get_host_stats(refresh=True))
(nova.manager): TRACE: File "/usr/lib/python2.7/dist-packages/nova/virt/driver.py", line 572, in get_host_stats
(nova.manager): TRACE: raise NotImplementedError()
(nova.manager): TRACE: NotImplementedError
(nova.manager): TRACE:

The vmwareapi is not able to update the scheduler with its resource utilization data. Tha is what I think is creating the problem. Any clue on this?

And i'm working with essex. 2012.1-dev (2012.1-LOCALBRANCH:LOCALREVISION).

Can you help with this problem?

Provide an answer of your own, or ask Kamil Gardziejczyk for more information if necessary.

To post a message you must log in.