nova-compute fails when one of ESXi hosts in vCenter cluster to not has attached datastore

Bug #1423460 reported by Igor Zinovik
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Fuel for OpenStack
Invalid
Medium
Alexander Arzhanov

Bug Description

Nova-compute (with VCDriver compute driver) cannot to create a virtual machine when one ESXi
in vCenter cluster do no has datastore that are matched by `datastore_regex' in /etc/nova/nova/.conf
file.

Expected result:
Nova-compute schedules VM on ESXi that

Actual result:
VM is not scheduled.

Workaround:
Attach a datastore to ESXi host that is matched by `datastore_regex'.

Revision history for this message
Davanum Srinivas (DIMS) (dims-v) wrote :

Igor, can you please get me logs from nova compute for this bug?

Revision history for this message
Sergey Vasilenko (xenolog) wrote :

please provide diagnostic snapshot

Changed in fuel:
status: New → Incomplete
tags: added: partner pi-board
Changed in fuel:
assignee: Fuel Partner Integration Team (fuel-partner) → Igor Zinovik (izinovik)
Changed in fuel:
assignee: Igor Zinovik (izinovik) → Alexander Arzhanov (aarzhanov)
Changed in fuel:
status: Incomplete → Confirmed
Changed in fuel:
status: Confirmed → In Progress
Changed in fuel:
milestone: 6.1 → 7.0
Revision history for this message
Alexander Arzhanov (aarzhanov) wrote :

I reproduce this bug. I attached diagnostic snapshot.

    VERSION:
      api: '1.0'
      astute_sha: 6ec818b6f1be7edc4ef5254964f2e2310bbaa113
      build_id: 2015-05-09_03-42-27
      build_number: '398'
      feature_groups:
      - mirantis
      fuel-library_sha: f6b0382880d0563de87a42dd16c6459c07bccb56
      fuel-ostf_sha: 740ded337bb2a8a9b3d505026652512257375c01
      fuelmain_sha: 51b86bb24b27742a22b23e2ae3dfc850c47e5fbf
      nailgun_sha: 42bf34ddb144194f054422241b1373fae4fe1539
      openstack_version: 2014.2.2-6.1
      production: docker
      python-fuelclient_sha: af6c9c3799b9ec107bcdc6dbf035cafc034526ce
      release: '6.1'

Revision history for this message
Alexander Arzhanov (aarzhanov) wrote :

Davanum Srinivas, please, look diagnostic snapshot.

Changed in fuel:
assignee: Alexander Arzhanov (aarzhanov) → Davanum Srinivas (DIMS) (dims-v)
Revision history for this message
Davanum Srinivas (DIMS) (dims-v) wrote :

Alexander,

I looked at the traceback:

505 2015-05-14 16:00:15.784 28037 TRACE nova.compute.manager [instance: 0d5d870a-1839-489d-a2db-c3c1ba0afc0d] Traceback (most recent call last):
506 2015-05-14 16:00:15.784 28037 TRACE nova.compute.manager [instance: 0d5d870a-1839-489d-a2db-c3c1ba0afc0d] File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 2297, in _build_resources
507 2015-05-14 16:00:15.784 28037 TRACE nova.compute.manager [instance: 0d5d870a-1839-489d-a2db-c3c1ba0afc0d] yield resources
508 2015-05-14 16:00:15.784 28037 TRACE nova.compute.manager [instance: 0d5d870a-1839-489d-a2db-c3c1ba0afc0d] File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 2167, in _build_and_run_instance
509 2015-05-14 16:00:15.784 28037 TRACE nova.compute.manager [instance: 0d5d870a-1839-489d-a2db-c3c1ba0afc0d] block_device_info=block_device_info)
510 2015-05-14 16:00:15.784 28037 TRACE nova.compute.manager [instance: 0d5d870a-1839-489d-a2db-c3c1ba0afc0d] File "/usr/lib/python2.7/dist-packages/nova/virt/vmwareapi/driver.py", line 442, in spawn
511 2015-05-14 16:00:15.784 28037 TRACE nova.compute.manager [instance: 0d5d870a-1839-489d-a2db-c3c1ba0afc0d] admin_password, network_info, block_device_info)
512 2015-05-14 16:00:15.784 28037 TRACE nova.compute.manager [instance: 0d5d870a-1839-489d-a2db-c3c1ba0afc0d] File "/usr/lib/python2.7/dist-packages/nova/virt/vmwareapi/vmops.py", line 437, in spawn
513 2015-05-14 16:00:15.784 28037 TRACE nova.compute.manager [instance: 0d5d870a-1839-489d-a2db-c3c1ba0afc0d] vi = self._get_vm_config_info(instance, image_info, instance_name)
514 2015-05-14 16:00:15.784 28037 TRACE nova.compute.manager [instance: 0d5d870a-1839-489d-a2db-c3c1ba0afc0d] File "/usr/lib/python2.7/dist-packages/nova/virt/vmwareapi/vmops.py", line 380, in _get_vm_config_info
515 2015-05-14 16:00:15.784 28037 TRACE nova.compute.manager [instance: 0d5d870a-1839-489d-a2db-c3c1ba0afc0d] self._session, self._cluster, self._datastore_regex)
516 2015-05-14 16:00:15.784 28037 TRACE nova.compute.manager [instance: 0d5d870a-1839-489d-a2db-c3c1ba0afc0d] File "/usr/lib/python2.7/dist-packages/nova/virt/vmwareapi/ds_util.py", line 280, in get_datastore
517 2015-05-14 16:00:15.784 28037 TRACE nova.compute.manager [instance: 0d5d870a-1839-489d-a2db-c3c1ba0afc0d] % datastore_regex.pattern)
518 2015-05-14 16:00:15.784 28037 TRACE nova.compute.manager [instance: 0d5d870a-1839-489d-a2db-c3c1ba0afc0d] DatastoreNotFound: Datastore regex fake-datastore-regex did not match any datastores

this is by design, we look through what is returned to us by VMware API and check if it is usable:
https://github.com/openstack/nova/blame/stable/juno/nova/virt/vmwareapi/ds_util.py#L280
https://github.com/openstack/nova/blame/stable/juno/nova/virt/vmwareapi/ds_util.py#L237

The design has not changed in latest trunk either. So you need to make sure that every ESXi attached to the vCenter should have at least one usable disk with enough empty space.

thanks,
dims

Revision history for this message
Alexander Arzhanov (aarzhanov) wrote :

Davanum Srinivas, thanks,i'm making this bug a Invalid.

Changed in fuel:
assignee: Davanum Srinivas (DIMS) (dims-v) → Alexander Arzhanov (aarzhanov)
status: In Progress → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.