Heat stack fails because "Block Device Mapping is Invalid"

asked 2015-02-18 15:18:45 -0500

Don Nalezyty gravatar image

updated 2015-04-10 16:51:44 -0500

zaneb gravatar image

We've got several Icehouse openstack environments and have been using Heat for orchestration. We're running on Oracle Linux.

Our latest environment was built just like the others, but I'm having some problems with Heat and specifically launching orchestrations that have instances which boot on a volume.

I created a very simple template, which works on all of the sites except the latest.

heat_template_version: 2013-05-23

    type: OS::Nova::Server
      name: boot_from_vol
      flavor: 16GB_4CPU_COMMON
      block_device_mapping: [{"device_name": xvda, "snapshot_id": 5f3059a0-03a8-45c1-8e31-92a35ea47452 }]
         - network: 7cac222f-e8e6-47c8-bf8d-e87fcc07be82

The stack always transitions to CREATE_FAILED status.

| stack_status_reason  | Resource CREATE failed: BadRequest: Block Device
|                      | Mapping is Invalid: Boot sequence for the instance and
|                      | image/block device mapping combination is not valid.
|                      | (HTTP 400) (Request-ID: req-2c6048cd-81f8-415d-86df-
|                      | efdf0c202dcb)

I've tailed the logs and looked for any additional errors, but this is the only one. It appears in both the nova api.log and the heat heat-engine.log.

I've checked that the config files appear to have all the same settings and the services across the sites have the same patches, but I've obviously missed something... anyone know what is causing this error?

edit retag flag offensive close merge delete


Could it be that you are using a different version of Cinder API? Maybe you can check if this patch is relevant to your case: https://review.openstack.org/#/c/153454

Qiming gravatar imageQiming ( 2015-03-23 00:54:16 -0500 )edit

Are those volumes accessed through NFS?

lnxslck gravatar imagelnxslck ( 2015-04-13 08:38:53 -0500 )edit

The problem turned out that the compute node the server was being launched on was missing a patch to enable xen, so it was expecting a block device of vda, rather than the xvda that was passed.

Don Nalezyty gravatar imageDon Nalezyty ( 2015-04-17 08:48:26 -0500 )edit