yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #24884
[Bug 1396664] [NEW] nova raises InvalidBDMBootSequence when boot index 0
Public bug reported:
I tried to boot server from volume using API. The following 'block_device_mapping_v2' argument
{
"boot_index": "0",
"uuid": image_obj,
"source_type": "image",
"volume_size": flavor_obj.disk,
"destination_type": "volume",
"delete_on_termination": False
}
Nova raised InvalidBDMBootSequence exception. I checked nova sources and found that _subsequent_list returns None,
when I use boot index 0:
"""
def _validate_bdm(self, context, instance, instance_type, all_mappings):
def _subsequent_list(l):
return all(el + 1 == l[i + 1] for i, el in enumerate(l[:-1]))
# Make sure that the boot indexes make sense
boot_indexes = sorted([bdm['boot_index']
for bdm in all_mappings
if bdm.get('boot_index') is not None
and bdm.get('boot_index') >= 0])
if 0 not in boot_indexes or not _subsequent_list(boot_indexes):
raise exception.InvalidBDMBootSequence()
"""
Maybe I don't know use case, but when I use boot_index 1, server boots,
but two block devices attached instead of one: /dev/vda and /dev/vdb.
Both point to the same device.
P.S. I use OpenStack Juno and cinder with LVM.
** Affects: nova
Importance: Undecided
Status: New
** Description changed:
- I tried to boot server with using API. The following 'block_device_mapping_v2' argument
+ I tried to boot server from volume using API. The following 'block_device_mapping_v2' argument
{
- "boot_index": "0",
- "uuid": image_obj,
- "source_type": "image",
- "volume_size": flavor_obj.disk,
- "destination_type": "volume",
- "delete_on_termination": False
+ "boot_index": "0",
+ "uuid": image_obj,
+ "source_type": "image",
+ "volume_size": flavor_obj.disk,
+ "destination_type": "volume",
+ "delete_on_termination": False
}
Nova raised InvalidBDMBootSequence exception. I checked nova sources and found that _subsequent_list returns None,
when I use boot index 0:
"""
- def _validate_bdm(self, context, instance, instance_type, all_mappings):
- def _subsequent_list(l):
- return all(el + 1 == l[i + 1] for i, el in enumerate(l[:-1]))
-
- # Make sure that the boot indexes make sense
- boot_indexes = sorted([bdm['boot_index']
- for bdm in all_mappings
- if bdm.get('boot_index') is not None
- and bdm.get('boot_index') >= 0])
-
- if 0 not in boot_indexes or not _subsequent_list(boot_indexes):
- raise exception.InvalidBDMBootSequence()
+ def _validate_bdm(self, context, instance, instance_type, all_mappings):
+ def _subsequent_list(l):
+ return all(el + 1 == l[i + 1] for i, el in enumerate(l[:-1]))
+
+ # Make sure that the boot indexes make sense
+ boot_indexes = sorted([bdm['boot_index']
+ for bdm in all_mappings
+ if bdm.get('boot_index') is not None
+ and bdm.get('boot_index') >= 0])
+
+ if 0 not in boot_indexes or not _subsequent_list(boot_indexes):
+ raise exception.InvalidBDMBootSequence()
"""
Maybe I don't know use case, but when I use boot_index 1, server boots,
but two block devices attached instead of one: /dev/vda and /dev/vdb.
Both point to the same device.
+
+
+ P.S. I use OpenStack Juno and cinder with LVM.
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1396664
Title:
nova raises InvalidBDMBootSequence when boot index 0
Status in OpenStack Compute (Nova):
New
Bug description:
I tried to boot server from volume using API. The following 'block_device_mapping_v2' argument
{
"boot_index": "0",
"uuid": image_obj,
"source_type": "image",
"volume_size": flavor_obj.disk,
"destination_type": "volume",
"delete_on_termination": False
}
Nova raised InvalidBDMBootSequence exception. I checked nova sources and found that _subsequent_list returns None,
when I use boot index 0:
"""
def _validate_bdm(self, context, instance, instance_type, all_mappings):
def _subsequent_list(l):
return all(el + 1 == l[i + 1] for i, el in enumerate(l[:-1]))
# Make sure that the boot indexes make sense
boot_indexes = sorted([bdm['boot_index']
for bdm in all_mappings
if bdm.get('boot_index') is not None
and bdm.get('boot_index') >= 0])
if 0 not in boot_indexes or not _subsequent_list(boot_indexes):
raise exception.InvalidBDMBootSequence()
"""
Maybe I don't know use case, but when I use boot_index 1, server
boots, but two block devices attached instead of one: /dev/vda and
/dev/vdb. Both point to the same device.
P.S. I use OpenStack Juno and cinder with LVM.
To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1396664/+subscriptions
Follow ups
References