Как синхронизировать / обновить локальные (объемные) данные с сервера OpenStack?
Я хочу создать сервер в OpenStack nova. Первый шаг - создать том из изображения:
volume = cinder.volumes.create(5, name="test", imageRef=some_id, ...)
Объем будет некоторое время находиться в состоянии "создание". призвание nova.servers.create
с объемом в creating
государство терпит неудачу:
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()
1 ответ
Нашел ответ в документе под названием "Python APIs: самый большой секрет OpenStack":
Необходимо обновить / получить весь том снова:
while volume.status != 'available':
print("Volume status [%s]" % volume.status)
time.sleep(1.0)
volume = cinder.volumes.get(volume.id)