diff --git a/library/ec2_vol b/library/ec2_vol index b0b875e9d0..e6f29e6ba0 100644 --- a/library/ec2_vol +++ b/library/ec2_vol @@ -149,20 +149,25 @@ 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' + device_name = '/dev/xvdf' attach = volume.attach(inst.id, device_name) while volume.attachment_state() != 'attached': 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,