Назад | Перейти на главную страницу

OpenNebula: создание экземпляра шаблона службы с указанием имени службы Curl

В OpenNebula 5.4 я могу создать экземпляр службы из шаблона службы с помощью Curl, но я не знаю, как указать имя службы. В пример сайта работает как положено:

curl http://127.0.0.1:2474/service_template/4/action -u 'oneadmin:opennebula' -v -X POST --data '{
  "action": {
    "perform":"instantiate"
  }
}'

Создает службу с тем же именем, что и шаблон службы. Но если я запустил то же самое, пытаясь добавить параметр для этого экземпляра action (как сделано, когда выполнение действия с данной услугой), например:

curl http://127.0.0.1:2474/service_template/4/action -u 'oneadmin:opennebula' -v -X POST --data '{
  "action": {
    "perform":"instantiate", 
    "params" : { 
       "name" : "new_name" 
     }
  }
}'

Он игнорирует этот параметр, что приводит к тому же результату, что и при запуске ранее упомянутого примера веб-сайта ... Я пробовал с 'name', 'service-name', 'service_name', но тот же результат ... Вы знаете, как это сделать , пожалуйста? Думаю, наверное, поддерживается (как в их Java API), но не документированы (как и многие другие функции).

Заранее большое спасибо и ура

В офисе мы нашли обходной путь:

похоже, что еще не поддерживается отправка параметра, поэтому необходимо выполнить последующее действие, чтобы обновить вновь созданную службу, используя новый идентификатор службы (полный JSON службы возвращается в теле предыдущего запроса): Например: если новый экземпляр службы имеет идентификатор 85, это будет:

curl http://127.0.0.1:2474/service/85/action -u 'oneadmin:opennebula' -v -X POST --data '{
"action": {
  "perform": "rename",
  "params": {
    "name": "some-service-name"
  }
 }
}'