【问题标题】:How to sync / update local (volume) data with OpenStack server?如何与 OpenStack 服务器同步/更新本地(卷)数据?
【发布时间】:2016-01-21 10:29:30
【问题描述】:

我想在 OpenStack nova 中创建一个服务器。 第一步是从图像创建卷:

volume = cinder.volumes.create(5, name="test", imageRef=some_id, ...)

卷将在一段时间内处于“正在创建”状态。使用处于 creating 状态的卷调用 nova.servers.create 失败:

novaclient.exceptions.BadRequest: Block Device f2fe64ee-f049-4a6f-8edd-52579d82fc23 is not bootable. (HTTP 400) (Request-ID: req-f036d084-e9c8-4bdf-b266-73fbbe993796)

我的想法是等到音量得到available:

while volume.status != 'available':
    print("Volume status [%s]" % volume.status)
    time.sleep(1.0)                                             

但看起来卷数据本身已在本地缓存并且永远不会更新 - 即使 GUI 和 CLI 显示该卷已经可用。

是否有一种(简单的)方法可以将本地数据与远程状态同步?喜欢:

volume.sync()

【问题讨论】:

    标签: openstack openstack-cinder openstack-python-api


    【解决方案1】:

    在名为'Python APIs: The best-kept secret of OpenStack'的文档中找到了答案:

    需要再次更新/获取整卷:

    while volume.status != 'available':
        print("Volume status [%s]" % volume.status)
        time.sleep(1.0)
        volume = cinder.volumes.get(volume.id)
    

    【讨论】:

      猜你喜欢
      • 2012-10-11
      • 1970-01-01
      • 2017-02-08
      • 1970-01-01
      • 2016-04-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多