def blk_dev_map(opts, conf, itype, snapshots):
if not int(conf.get('NO_EBS', '0')):
bdm = boto.ec2.blockdevicemapping.BlockDeviceMapping()
snap = project_ebs_snapshot(conf)
snap_id = translate_snapshot_name(conf, snap, snapshots)
snap_description = []
if snap_id:
dev = utils.blkdev(0)
bdm[dev] = boto.ec2.blockdevicemapping.EBSBlockDeviceType(snapshot_id=snap_id, delete_on_termination=True)
snap_description.append((snap, snap_id, dev))
i = 0
for k in additional_ebs_iterator(conf):
i += 1
snap = parse_ebs_url(conf[k].split(',')[0])
snap_id = translate_snapshot_name(conf, snap, snapshots)
if snap_id:
dev = utils.blkdev(i)
bdm[dev] = boto.ec2.blockdevicemapping.EBSBlockDeviceType(snapshot_id=snap_id, delete_on_termination=True)
snap_description.append((snap, snap_id, dev))
istore_dev = add_instance_store(opts, conf, bdm, itype)
return bdm, snap_description, istore_dev
else:
return None, None, None
评论列表
文章目录