Merge pull request #2442 from lwade/vol_os_detection
add better OS detection for BDM
This commit is contained in:
commit
b7384a0a93
1 changed files with 9 additions and 4 deletions
13
ec2_vol
13
ec2_vol
|
@ -149,20 +149,25 @@ def main():
|
||||||
|
|
||||||
# In future this needs to be more dynamic but combining block device mapping best practices
|
# In future this needs to be more dynamic but combining block device mapping best practices
|
||||||
# (bounds for devices, as above) with instance.block_device_mapping data would be tricky. For me ;)
|
# (bounds for devices, as above) with instance.block_device_mapping data would be tricky. For me ;)
|
||||||
|
|
||||||
|
# Use password data attribute to tell whether the instance is Windows or Linux
|
||||||
|
|
||||||
if device_name is None and instance:
|
if device_name is None and instance:
|
||||||
try:
|
try:
|
||||||
if inst.root_device_type != 'ebs':
|
if inst.get_password_data == '':
|
||||||
device_name = '/dev/sdf'
|
device_name = '/dev/sdf'
|
||||||
attach = volume.attach(inst.id, device_name)
|
attach = volume.attach(inst.id, device_name)
|
||||||
|
while volume.attachment_state() != 'attached':
|
||||||
|
time.sleep(3)
|
||||||
|
volume.update()
|
||||||
else:
|
else:
|
||||||
device_name = '/dev/sdb'
|
device_name = '/dev/xvdf'
|
||||||
attach = volume.attach(inst.id, device_name)
|
attach = volume.attach(inst.id, device_name)
|
||||||
while volume.attachment_state() != 'attached':
|
while volume.attachment_state() != 'attached':
|
||||||
time.sleep(3)
|
time.sleep(3)
|
||||||
volume.update()
|
volume.update()
|
||||||
except boto.exception.BotoServerError, e:
|
except boto.exception.BotoServerError, e:
|
||||||
module.fail_json(msg = "%s: %s" % (e.error_code, e.error_message))
|
module.fail_json(msg = "%s: %s" % (e.error_code, e.error_message))
|
||||||
|
|
||||||
print json.dumps({
|
print json.dumps({
|
||||||
"volume_id": volume.id,
|
"volume_id": volume.id,
|
||||||
|
|
Loading…
Reference in a new issue