Spec-Zone.ru › Ansible 2.11

Получение информации о конкретной виртуальной машине

  • Введение
  • Требования к сценарию
  • Как собрать информацию о виртуальной машине

    • Список ВМ
    • Результат
    • Сбор подробной информации о конкретной ВМ
    • Результат
    • Получение версии аппаратного обеспечения конкретной ВМ
    • Результат
    • Список адаптеров SCSI конкретной ВМ
    • Результат
    • Список дисководов CDROM конкретной ВМ
    • Результат
    • Получение информации о памяти ВМ
    • Результат

      • Получение политики хранения для ВМ
    • Результат

      • Получение информации о дисках ВМ
    • Результат

Введение

Этот раздел демонстрирует, как использовать Ansible для получения информации о конкретной виртуальной машине.

Требования к сценарию

Вы уже выполнили Создание виртуальной машины и создали новую ВМ под названием test_vm1.

Как собрать информацию о виртуальной машине

Список ВМ

В этом примере мы используем модуль vcenter_vm_info для сбора информации о нашей новой ВМ.

В этом примере мы начинаем с запроса списка ВМ. Мы используем фильтр, чтобы ограничить результаты только ВМ под названием test_vm1. Таким образом, мы работаем со списком с одной записью в ключе value.

- name: Look up the VM called test_vm1 in the inventory
  register: search_result
  vmware.vmware_rest.vcenter_vm_info:
    filter_names:
    - test_vm1

Результат

Как ожидалось, мы получаем список. И благодаря нашему фильтру, у нас только одна запись.

{
    "value": [
        {
            "memory_size_MiB": 1024,
            "vm": "vm-1650",
            "name": "test_vm1",
            "power_state": "POWERED_OFF",
            "cpu_count": 1
        }
    ],
    "changed": false
}

Сбор подробной информации о конкретной ВМ

Для следующих шагов мы передаём идентификатор ВМ через параметр vm. Это позволяет нам собрать больше подробностей об этой конкретной ВМ.

- name: Collect information about a specific VM
  vmware.vmware_rest.vcenter_vm_info:
    vm: '{{ search_result.value[0].vm }}'
  register: test_vm1_info

Результат

Результат — структура со всей информацией о нашей ВМ. Вы заметите, что это фактически та же информация, которую мы получаем при создании ВМ.

{
    "value": {
        "instant_clone_frozen": false,
        "cdroms": [],
        "memory": {
            "size_MiB": 1024,
            "hot_add_enabled": true
        },
        "disks": [
            {
                "value": {
                    "scsi": {
                        "bus": 0,
                        "unit": 0
                    },
                    "backing": {
                        "vmdk_file": "[local] test_vm1_8/test_vm1.vmdk",
                        "type": "VMDK_FILE"
                    },
                    "label": "Hard disk 1",
                    "type": "SCSI",
                    "capacity": 17179869184
                },
                "key": "2000"
            }
        ],
        "parallel_ports": [],
        "sata_adapters": [],
        "cpu": {
            "hot_remove_enabled": false,
            "count": 1,
            "hot_add_enabled": false,
            "cores_per_socket": 1
        },
        "scsi_adapters": [
            {
                "value": {
                    "scsi": {
                        "bus": 0,
                        "unit": 7
                    },
                    "label": "SCSI controller 0",
                    "sharing": "NONE",
                    "type": "PVSCSI"
                },
                "key": "1000"
            }
        ],
        "power_state": "POWERED_OFF",
        "floppies": [],
        "identity": {
            "name": "test_vm1",
            "instance_uuid": "5033c296-6954-64df-faca-d001de53763d",
            "bios_uuid": "42330d17-e603-d925-fa4b-18827dbc1409"
        },
        "nvme_adapters": [],
        "name": "test_vm1",
        "nics": [],
        "boot": {
            "delay": 0,
            "retry_delay": 10000,
            "enter_setup_mode": false,
            "type": "BIOS",
            "retry": false
        },
        "serial_ports": [],
        "boot_devices": [],
        "guest_OS": "DEBIAN_8_64",
        "hardware": {
            "upgrade_policy": "NEVER",
            "upgrade_status": "NONE",
            "version": "VMX_11"
        }
    },
    "id": "vm-1650",
    "changed": false
}

Получение версии аппаратного обеспечения конкретной ВМ

Мы также можем использовать все модули vcenter_vm_*_info для получения меньшего объёма информации. Здесь мы используем vcenter_vm_hardware_info для получения версии аппаратного обеспечения ВМ.

- name: Collect the hardware information
  vmware.vmware_rest.vcenter_vm_hardware_info:
    vm: '{{ search_result.value[0].vm }}'
  register: my_vm1_hardware_info

Результат

{
    "value": {
        "upgrade_policy": "NEVER",
        "upgrade_status": "NONE",
        "version": "VMX_11"
    },
    "changed": false
}

Список адаптеров SCSI конкретной ВМ

Например, здесь мы выводим список адаптеров SCSI ВМ:

- name: List the SCSI adapter of a given VM
  vmware.vmware_rest.vcenter_vm_hardware_adapter_scsi_info:
    vm: '{{ test_vm1_info.id }}'
  register: _result

Вы можете сделать то же самое для контроллеров SATA с помощью vcenter_vm_adapter_sata_info.

Результат

{
    "value": [
        {
            "scsi": {
                "bus": 0,
                "unit": 7
            },
            "label": "SCSI controller 0",
            "type": "PVSCSI",
            "sharing": "NONE"
        }
    ],
    "changed": false
}

Список дисководов CDROM конкретной ВМ

И мы отображаем список её дисководов CDROM.

- name: List the cdrom devices on the guest
  vmware.vmware_rest.vcenter_vm_hardware_cdrom_info:
    vm: '{{ test_vm1_info.id }}'
  register: _result

Результат

{
    "value": [],
    "changed": false
}

Получение информации о памяти ВМ

Здесь мы собираем информацию о памяти ВМ:

- name: Retrieve the memory information from the VM
  vmware.vmware_rest.vcenter_vm_hardware_memory_info:
    vm: '{{ test_vm1_info.id }}'
  register: _result

Результат

{
    "value": {
        "size_MiB": 1024,
        "hot_add_enabled": true
    },
    "changed": false
}

Получение политики хранения для ВМ

Для этого мы используем модуль vcenter_vm_storage_policy_info.

- name: Get VM storage policy
  vmware.vmware_rest.vcenter_vm_storage_policy_info:
    vm: '{{ test_vm1_info.id }}'
  register: _result

Результат

{
    "value": {
        "disks": []
    },
    "changed": false
}

Получение информации о дисках ВМ

Для этой операции мы используем vcenter_vm_hardware_disk_info.

- name: Retrieve the disk information from the VM
  vmware.vmware_rest.vcenter_vm_hardware_disk_info:
    vm: '{{ test_vm1_info.id }}'
  register: _result

Результат

{
    "value": [
        {
            "scsi": {
                "bus": 0,
                "unit": 0
            },
            "backing": {
                "vmdk_file": "[local] test_vm1_8/test_vm1.vmdk",
                "type": "VMDK_FILE"
            },
            "label": "Hard disk 1",
            "type": "SCSI",
            "capacity": 17179869184
        }
    ],
    "changed": false
}

© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/scenario_guides/vmware_rest_scenarios/vm_info.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API