[openstack-dev] [nova] Block Device Mapping is Invalid error
aburluka
aburluka at parallels.com
Mon Mar 16 15:55:04 UTC 2015
Hello Nova!
I'd like to ask community to help me with some unclear things. I'm
currently working on adding persistent storage support into a parallels
driver.
I'm trying to start VM.
nova boot test-vm --flavor m1.medium --image centos-vm-32 --nic
net-id=c3f40e33-d535-4217-916b-1450b8cd3987 --block-device
id=26b7b917-2794-452a-95e5-2efb2ca6e32d,bus=sata,source=volume,bootindex=1
Got an error:
ERROR (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-454a512c-c9c0-4f01-a4c8-dd0df0c2e052)
nova/api/openstack/compute/servers.py
def create(self, req, body)
Has such "body" arg:
{u'server':
{u'name': u'test-vm',
u'imageRef': u'b9349d54-6fd3-4c09-94f5-8d1d5c5ada5c',
u'block_device_mapping_v2': [{u'disk_bus': u'sata',
u'source_type': u'volume',
u'boot_index': u'1',
u'uuid':
u'26b7b917-2794-452a-95e5-2efb2ca6e32d'}],
u'flavorRef': u'3',
u'max_count': 1,
u'min_count': 1,
u'networks': [{u'uuid': u'c3f40e33-d535-4217-916b-1450b8cd3987'}],
'scheduler_hints': {}
}
}
Such block device mapping leads to bad boot indexes list.
I've tried to watch this argument while executing similiar command with
kvm hypervisor on Juno RDO and get something like in "body":
{u'server': {u'name': u'test-vm',
u'imageRef': u'78ad3d84-a165-42bb-93c0-a4ad1f1ddefc',
u'block_device_mapping_v2': [{u'source_type': u'image',
u'destination_type': u'local',
u'boot_index': 0,
u'delete_on_termination': True,
u'uuid':
u'78ad3d84-a165-42bb-93c0-a4ad1f1ddefc'},
{u'disk_bus': u'sata',
u'source_type': u'volume',
u'boot_index': u'1',
u'uuid':
u'57a27723-65a6-472d-a67d-a551d7dc8405'}],
u'flavorRef': u'3',
u'max_count': 1,
u'min_count': 1,
'scheduler_hints': {}}}
Can you answer next questions please:
1) Does the first version miss an 'source_type': 'image' arg?
2) Where should and image block_device be added to this arg? Does it
come from novaclient or is it added by some callback or decorator?
Looking forward for your help!
--
Regards,
Alexander Burluka
More information about the OpenStack-dev
mailing list