0

我正在尝试使用 Boto 创建新的 EBS 卷并将其附加到现有实例。Boto 脚本在实例本身上运行。

问题是状态在很多时候不断返回“正在创造”。(令人沮丧的是,并非总是如此!)代码片段是:

volume = conn.create_volume(args.ebs_volume_size, instance.placement)

status = ''
while status != 'available':
    status = conn.get_all_volumes([volume.id])[0].status
    print "Volume status: %s" % status
    time.sleep(4)

大多数情况下,它会挂在“创建”状态,即使该卷已创建且可用(可以在管理控制台中看到它已准备就绪)。有时,它工作正常。我一定遗漏了一些明显的东西……但是什么?

4

1 回答 1

1

运行 create_volume 方法后,立即在新创建的卷上调用更新。

volume = conn.create_volume(args.ebs_volume_size, instance.placement)

while volume.status != 'available':
    time.sleep(5)
    volume.update()
    print volume.status
于 2014-08-06T21:14:10.473 回答