我尝试使用具有自动删除功能的libcloud创建VM。问题是它只适用于启动盘。
示例:
new_node = driver.create_node("my_node_str", size, get_root_snapshot(driver), location,ex_service_accounts=sa_scopes, ex_disk_auto_delete=True, ...
然后我附上一张磁盘:
driver.attach_volume(my_node,...,ex_boot=False, ex_auto_delete=True)
所以我转到GCE并关闭此音量自动删除
所以,我试着改变它"手动"使用libcloud:
conn.ex_set_volume_auto_delete(vol, node)
我收到错误:
libcloud.common.google.GoogleBaseError: u"Invalid value for field 'disk': 'myvolume1-worker-disk'
但是磁盘已创建,已连接,并且正在我的VM上运行。
根据文档(https://cloud.google.com/compute/docs/reference/latest/instances/setDiskAutoDelete)调试libloud所有内容似乎都没问题:
它叫:
u'/zones/us-central1-b/instances/myinstancename/setDiskAutoDelete'
带参数:
'deviceName': volume.name, 'autoDelete': auto_delete,
任何线索?
答案 0 :(得分:1)
看起来Transferred By
可能存在错误。我会做一些测试,然后解决这个问题。
关于使用attach_volume
,您需要传入ex_set_volume_auto_delete
个对象。看起来你只是传入一个字符串(磁盘的名称)。
你可以试试,
StorageVolume
当我更多地研究它时,我会跟进第一个问题。