diff --git a/library/ec2_vol b/library/ec2_vol index 5e92cc86a38..9f1154d1246 100644 --- a/library/ec2_vol +++ b/library/ec2_vol @@ -149,12 +149,16 @@ def main(): # 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 ;) - + + # Use password data attribute to tell whether the instance is Windows or Linux if device_name is None and instance: try: - if inst.root_device_type != 'ebs': + if inst.get_password_data == '': device_name = '/dev/sdf' attach = volume.attach(inst.id, device_name) + while volume.attachment_state() != 'attached': + time.sleep(3) + volume.update() else: device_name = '/dev/sdb' attach = volume.attach(inst.id, device_name) @@ -162,7 +166,7 @@ def main(): time.sleep(3) volume.update() 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({ "volume_id": volume.id,