首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用libcloud自动删除磁盘

使用libcloud自动删除磁盘
EN

Stack Overflow用户
提问于 2015-11-26 02:03:05
回答 1查看 70关注 0票数 0

我正在尝试使用具有自动删除功能的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'

但磁盘已创建,已连接,并且在我的虚拟机上正常工作。

根据文档(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,有什么线索吗?

EN

回答 1

Stack Overflow用户

发布于 2015-12-03 02:06:30

看起来attach_volume可能有个bug。我会做一些测试,如果是的话,我会把它修好。

关于使用ex_set_volume_auto_delete,您需要传入一个StorageVolume对象。看起来您只是传入了一个字符串(磁盘的名称)。

你可以试一试

代码语言:javascript
复制
disk_obj = driver.ex_get_volume('string-name-of-disk')
driver.ex_set_volume_auto_delete(node_obj, disk_obj, ex_auto_delete=True)

当我更深入地研究第一个问题时,我会跟进它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33923468

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档