Повторно создавать артефакты openstack из предыдущего вывода команды?

#openstack

#openstack

Вопрос:

Есть ли простой способ преобразовать выходные данные команды Openstack show в команды openstack? Цель состоит в том, чтобы перестроить среду openstack после полной очистки.

(например: сеть openstack показывает myNet > out.txt , затем каким-то образом сгенерируйте команду Openstack CLI с соответствующими полями, чтобы воссоздать точно такую же сеть на основе out.txt ?)

Спасибо!

Ответ №1:

Вы можете записать выходные данные команд show в виде строки в формате json в файл, чтобы вы могли легко прочитать информацию выходных данных с помощью python-script для создания и выполнения желаемых команд.

Чтобы распечатать вывод openstack-команды в формате json, добавьте -f json в конце вашей команды.

Пример:

 openstack server show cirros -f json
{
  "OS-DCF:diskConfig": "MANUAL",
  "OS-EXT-AZ:availability_zone": "nova",
  "OS-EXT-SRV-ATTR:host": "test-system",
  "OS-EXT-SRV-ATTR:hypervisor_hostname": "test-system",
  "OS-EXT-SRV-ATTR:instance_name": "instance-00000001",
  "OS-EXT-STS:power_state": "Shutdown",
  "OS-EXT-STS:task_state": null,
  "OS-EXT-STS:vm_state": "stopped",
  "OS-SRV-USG:launched_at": "2020-07-22T08:41:06.000000",
  "OS-SRV-USG:terminated_at": null,
  "accessIPv4": "",
  "accessIPv6": "",
  "addresses": "test-network=192.168.62.207",
  "config_drive": "",
  "created": "2020-07-22T08:40:46Z",
  "flavor": "f1 (273a2179-ac85-4c54-a40a-2c0121b338ff)",
  "id": "6d302fcf-4de3-45a5-93c0-eb95650e5952",
  "image": "cirros (86dded1f-8e0f-4342-906e-8ff9fbd854e2)",
  "name": "cirros",
  "project_id": "cbba4b1f3cb4460ca63e8ddb87c9b5fb",
  "properties": "",
  "security_groups": "name='default'",
  "status": "SHUTOFF",
  "updated": "2020-08-17T13:26:55Z",
  "user_id": "b6505d6801e84fb98d77d2461f9719c2",
  "volumes_attached": ""
}