Commit e2805e5a by lwade

add better OS detection for BDM

parent 2e797a51
...@@ -149,12 +149,16 @@ def main(): ...@@ -149,12 +149,16 @@ 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/sdb'
attach = volume.attach(inst.id, device_name) attach = volume.attach(inst.id, device_name)
...@@ -162,7 +166,7 @@ def main(): ...@@ -162,7 +166,7 @@ def main():
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,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment