Я играю с Маасом в vSphere среде, таким образом, я могу моделировать большие кластеры. Я закончил свою автонастройку сценарий PowerShell, где я могу настроить набор виртуальных машин, которые будут добавлены к контроллеру Мааса. Я могу добавить эти узлы вручную в Контроллере GUI, и я смог уполномочить их соответственно. Я в настоящее время пытаюсь выяснить, как добавить машины через CLI Мааса, и я застреваю на power_parameters
параметр. Базирующийся от документации API Мааса, я должен добавить все как a key=value
ввести.
То, где я застреваю, идет, как добавить что параметр в CLI. Если я не передаю power_parameters
, Я получаю эту ошибку:
400 BAD REQUEST
Content-Type: application/json; charset=utf-8
Date: Mon, 25 Mar 2019 21:01:03 GMT
Server: TwistedWeb/16.0.0
Status: 400
Transfer-Encoding: chunked
Vary: Cookie
X-Frame-Options: SAMEORIGIN
{"power_parameters": ["This field is required."]}
Но я не могу выяснить форматирование соответствующей строки для параметра. Я попробовал несколько комбинаций:
# tried adding it as a string as the docs say
maas <user> machines create -d \
... \
power_parameters="power_vm_name=<vmname> power_uuid=<vmuuid>"
# tried query string separating
maas <user> machines create -d \
... \
power_parameters="power_vm_name=<vmname>&power_uuid=<vmuuid>"
# tried comma separating
maas <user> machines create -d \
... \
power_parameters=power_vm_name=<vmname>,power_uuid=<vmuuid>
# tried individual parameters
maas <user> machines create -d \
... \
power_vm_name=<vmname> power_uuid=<vmuuid>
Я получаю эту ошибку с каждой перестановкой, которую я попробовал:
400 BAD REQUEST
Content-Type: text/plain; charset=utf-8
Date: Mon, 25 Mar 2019 20:54:24 GMT
Server: TwistedWeb/16.0.0
Status: 400
Transfer-Encoding: chunked
Vary: Cookie
X-Frame-Options: SAMEORIGIN
Failed to parse JSON power_parameters
Я знаю, что могу отправить необработанную полезную нагрузку JSON через REST, но я действительно не хочу реализовывать клиент REST в PowerShell для Мааса.
Что соответствующая строка форматирует для добавления power_parameters
в CLI Мааса?
Так, я разорвал кодовую базу CLI Мааса, и я видел много ссылок на power_parameters_<param>
в кодовой базе, которая привела меня полагать, что она ищет определенное ключевое форматирование.
Это - то, что закончило тем, что работало на меня:
maas <user> machines create -d \\
architecture=amd64 \
mac_addresses=<mac> \
domain=<domain> \
hostname=<name> \
power_type=vmware \
power_parameters_power_vm_name=<vm_name> \
power_parameters_power_uuid=<vm_uuid> \
power_parameters_power_address=<vcenter_host_name> \
power_parameters_power_user='<maas_user_in_quotes>' \
power_parameters_power_pass='<password_in_quotes>' \
power_parameters_power_port=443 \
power_parameters_power_protocol=https+unverified
Я затем смог видеть машину в Контроллере UI.