[openstack-dev] Booting multiple instances with block device mapping
Karajgi, Rohit
Rohit.Karajgi at nttdata.com
Fri Dec 21 07:34:19 UTC 2012
>> -----Original Message-----
>> From: Vishvananda Ishaya [mailto:vishvananda at gmail.com<http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev>]
>> Sent: Tuesday, December 18, 2012 6:46 AM
>> To: OpenStack Development Mailing List
>> Subject: Re: [openstack-dev] Booting multiple instances with block device
>> mapping
>>
On Dec 18, 2012, at 8:41 AM, "Karajgi, Rohit" <Rohit.Karajgi at nttdata.com<http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev>> wrote:
>
> Currently I don't think there is any logic to map a list of block device mappings to multiple instances if the count is > 1.
> For eg: If a user requests to create 3 instances and passes 3 volumes to be booted from, should there be a 1:1 mapping
> between the instance list and the volume list?
>
>> I don't think we should support multiple boot from volumes. If someone needs to specify a different volume for each instance they should launch each request
>> separately. If you are referring to booting from a snapshot, I believe the code in manager updates the block device mapping for each instance when it creates
>> the volume.
>> Vish
[Rohit Karajgi] Thanks Vish for your responses. I think the way block device mappings should be used in Nova is slightly ambiguous, and there needs to be some validation in Nova API to remove this ambiguity.
If we won't support multiple boot from volumes, i.e multiple instances and multiple bdms, then the API should reject requests if it finds invalid user input.
For example, I think validations need to be added for the following use cases (OSAPI):
1. Boot multiple instances using a single BDM volume: Now, just one instance boots with the volume attached to it. The rest of the instances land up in ERROR state, and user has to clean them up.
2. Boot multiple instances using a list of BDM volumes (on the same or different mount points): Now, just one instance boots up with the all the volumes attached to it. The rest of the instances are in ERROR and need to be cleaned up. Such a request should get rejected.
Questions:
1. What should happen when user passes both a bootable volume_id and a snapshot_id in the same block device mapping? Is this allowed?
2. In AWS EC2 API, volume ID's are ignored/rejected in block device mapping. Instances can only be booted from snapshot (in which case a volume is created). Is the Openstack EC2 API a deviation from the AWS EC2 implementation? Our cloud.py seems to not ignore volume id's and use them to boot instances. What is the correct behavior here?
I would like to submit patches to have these validations in place if you deem them necessary. Thoughts?
Regards,
Rohit
______________________________________________________________________
Disclaimer:This email and any attachments are sent in strictest confidence for the sole use of the addressee and may contain legally privileged, confidential, and proprietary data. If you are not the intended recipient, please advise the sender by replying promptly to this email and then delete and destroy this email and any attachments without any further use, copying or forwarding
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20121221/eeb91d50/attachment.html>
More information about the OpenStack-dev
mailing list