Unable to spawn instance from volume if the compute node is in different availability zone than cinder.

Solution Verified - Updated -

Issue

  • Unable to spawn instance from volume if the compute node is in different availability zone than cinder.
+-----------------------+----------------------------------------+
| Name                  | Status                                 |
+-----------------------+----------------------------------------+
| internal              | available                              |
| |- rhos8.pbandark.com |                                        |
| | |- nova-conductor   | enabled :-) 2016-08-22T08:08:28.000000 |
| | |- nova-consoleauth | enabled :-) 2016-08-22T08:08:29.000000 |
| | |- nova-scheduler   | enabled :-) 2016-08-22T08:08:29.000000 |
| | |- nova-cert        | enabled :-) 2016-08-22T08:08:29.000000 |
| | |- nova-network     | enabled XXX 2016-08-22T07:17:40.000000 |
| test-az               | available                              |  <==
| |- rhos8.pbandark.com |                                        |
| | |- nova-compute     | enabled :-) 2016-08-22T08:08:20.000000 |
+-----------------------+----------------------------------------+

# nova show test
[...]
| fault                                | {"message": "Build of instance d6828f09-fbb7-4097-817b-7e1ab3778b24 aborted: Block Device Mapping is Invalid.", "code": 500, "details": "  File \"/usr/lib/python2.7/site-packages/nova/compute/manager.py\", line 1905, in _do_build_and_run_instance |
|                                      |     filter_properties)                                                                                                                                                                                                                                 |
|                                      |   File \"/usr/lib/python2.7/site-packages/nova/compute/manager.py\", line 2049, in _build_and_run_instance                                                                                                                                             |
|                                      |     'create.error', fault=e)                                                                                                                                                                                                                           |
|                                      |   File \"/usr/lib/python2.7/site-packages/oslo_utils/excutils.py\", line 204, in __exit__                                                                                                                                                              |
|                                      |     six.reraise(self.type_, self.value, self.tb)                                                                                                                                                                                                       |
|                                      |   File \"/usr/lib/python2.7/site-packages/nova/compute/manager.py\", line 2020, in _build_and_run_instance                                                                                                                                             |
|                                      |     block_device_mapping) as resources:                                                                                                                                                                                                                |
|                                      |   File \"/usr/lib64/python2.7/contextlib.py\", line 17, in __enter__                                                                                                                                                                                   |
|                                      |     return self.gen.next()                                                                                                                                                                                                                             |
|                                      |   File \"/usr/lib/python2.7/site-packages/nova/compute/manager.py\", line 2168, in _build_resources                                                                                                                                                    |
|                                      |     reason=e.format_message())                                                                                                                                                                                                                         |
|                                      | ", "created": "2016-08-22T07:55:13Z"}                              
[...]


/var/log/nova/nova-compute.log

2016-08-22 03:55:13.188 29597 ERROR nova.compute.manager [req-dd021f90-dbfa-4dce-9246-f35dd96cbffb 6903ca0737ac404d919d70cb8e270b80 ea39022238084e03a02441451dbb0466 - - -] [instance: d6828f09-fbb7-4097-817b-7e1a
b3778b24] Instance failed block device setup
2016-08-22 03:55:13.188 29597 ERROR nova.compute.manager [instance: d6828f09-fbb7-4097-817b-7e1ab3778b24] Traceback (most recent call last):
2016-08-22 03:55:13.188 29597 ERROR nova.compute.manager [instance: d6828f09-fbb7-4097-817b-7e1ab3778b24]   File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 1738, in _prep_block_device
2016-08-22 03:55:13.188 29597 ERROR nova.compute.manager [instance: d6828f09-fbb7-4097-817b-7e1ab3778b24]     wait_func=self._await_block_device_map_created)
2016-08-22 03:55:13.188 29597 ERROR nova.compute.manager [instance: d6828f09-fbb7-4097-817b-7e1ab3778b24]   File "/usr/lib/python2.7/site-packages/nova/virt/block_device.py", line 495, in attach_block_devices
2016-08-22 03:55:13.188 29597 ERROR nova.compute.manager [instance: d6828f09-fbb7-4097-817b-7e1ab3778b24]     map(_log_and_attach, block_device_mapping)
2016-08-22 03:55:13.188 29597 ERROR nova.compute.manager [instance: d6828f09-fbb7-4097-817b-7e1ab3778b24]   File "/usr/lib/python2.7/site-packages/nova/virt/block_device.py", line 493, in _log_and_attach
2016-08-22 03:55:13.188 29597 ERROR nova.compute.manager [instance: d6828f09-fbb7-4097-817b-7e1ab3778b24]     bdm.attach(*attach_args, **attach_kwargs)
2016-08-22 03:55:13.188 29597 ERROR nova.compute.manager [instance: d6828f09-fbb7-4097-817b-7e1ab3778b24]   File "/usr/lib/python2.7/site-packages/nova/virt/block_device.py", line 383, in attach
2016-08-22 03:55:13.188 29597 ERROR nova.compute.manager [instance: d6828f09-fbb7-4097-817b-7e1ab3778b24]     availability_zone=av_zone)
2016-08-22 03:55:13.188 29597 ERROR nova.compute.manager [instance: d6828f09-fbb7-4097-817b-7e1ab3778b24]   File "/usr/lib/python2.7/site-packages/nova/volume/cinder.py", line 414, in create
2016-08-22 03:55:13.188 29597 ERROR nova.compute.manager [instance: d6828f09-fbb7-4097-817b-7e1ab3778b24]     raise exception.InvalidInput(reason=e)
2016-08-22 03:55:13.188 29597 ERROR nova.compute.manager [instance: d6828f09-fbb7-4097-817b-7e1ab3778b24] InvalidInput: Invalid input received: Invalid input received: Availability zone 'test-az' is invalid. (HT
TP 400) (Request-ID: req-0a4504e1-4792-471c-9beb-b863ca2d51eb)

Environment

  • Red Hat Open Stack 7
  • Red Hat Open Stack 8

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content