Xenserver API - создание виртуальных машин с локальным хранилищем?

Я работаю с API, чтобы создать утилиту для клонирования шаблона vm. Я заимствовал много кода из install.py примера.

В нашем развертывании мы используем локальный жесткий диск для хранения VM изображений. В примере кода выполняется поиск репозитория хранилища по умолчанию, которого не существует, если локальное хранилище используется исключительно. Я просмотрел ссылку XAPI и не могу найти способ перечислить локальное хранилище - это необходимо, потому что мне нужен UUID репозитория хранилища для сохранения VM образа.


person Matt F    schedule 28.01.2014    source источник
comment
вы должны четко указать свой вопрос. Что ты хочешь узнать?   -  person Olimpiu POP    schedule 28.01.2014
comment
Я спрашиваю, как указать локальное хранилище, а не общий репозиторий, в качестве места назначения для клонирования виртуальной машины с помощью API XenServer.   -  person Matt F    schedule 28.01.2014


Ответы (1)


Сначала получите объект SR

sr_ref = self.session.xenapi.SR.get_by_uuid(local_storage_uuid)

Затем получите объект template, который хотите клонировать.

template = self.session.xenapi.VM.get_by_uuid(template_uuid)

Предложите имя виртуальной машины, которая будет клонирована

vm_id = "Test_Cone_VM"

Теперь, если ваш template repo и cloned VM repo одинаковы, используйте Async.VM.clone. И если репозитории разные, используйте Async.VM.copy

self.session.xenapi.Async.VM.copy(template, vm_id, sr_ref)

or

self.session.xenapi.Async.VM.clone(template, vm_id)

Взгляните на Xenserver API для получения дополнительной информации.

person Reuben    schedule 28.01.2014