Hello once more!

It turned out that proper "body" arg will be generated if you add another --block-device param with source=image like this:

nova boot qwe --flavor vm1 --image cent-os7-vm --block-device id=0af1f5a8-8172-4936-a958-90486759d598,source=volume,dest=volume,device=sdb,bootindex=1 --block-device id=1b6fd7a7-16b6-4053-91d1-41a625d6b185,source=image,device=sda,bootindex=0

Can you clarify please if API was changed since Juno release. Is it redundant since we specify --image param?

On 03/16/2015 06:55 PM, aburluka wrote:
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


__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: [email protected]?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to