manageiq_vmdb

manageiq.manageiq_vmdb

https://galaxy.ansible.com/manageiq/manageiq_vmdb

Роль manageiq_vmdb позволяет пользователям ManageIQ изменять и/или редактировать объекты VMDB с помощью Ansible Playbook. В эту роль входит модуль manageiq_vmdb, который выполняет все сложные операции, необходимые для изменения объектов в базе данных.

Требования

ManageIQ должен быть версии Gaprindashvili (G Release) или выше.

Пример playbook использует модуль manageiq_vmdb, который также включен в эту роль.

Если вам нужно включить эту роль в Ansible Tower или Embedded Ansible, просто добавьте пустую директорию roles в корень вашего playbook и создайте файл requirements.yml со следующим содержимым в этой директории:

---
- source: manageiq.manageiq_vmdb

Переменные роли

Проверка сертификатов: manageiq_validate_certs по умолчанию равен True. Если установить его в False в словаре manageiq_connection, то будет разрешено использовать самоподписанные сертификаты при использовании URL-адресов соединения SSL REST API.

ManageIQ: manageiq_connection – это словарь с ключами по умолчанию для соединения. Эти данные о соединении нужны ТОЛЬКО в том случае, если роль используется вне устройства ManageIQ. Устройство ManageIQ передает manageiq_connection через extra_vars, чтобы информация о соединении включалась автоматически. Не забудьте использовать Ansible Vault для паролей.

    manageiq_connection:
        url: 'http://localhost:3000'
        username: 'admin'
        password: 'password'
        manageiq_validate_certs: false

Зависимости

Нет

Пример Playbook

Пример, который разворачивает ВМ в EC2. Playbook связывает эту ВМ с сервисом в VMDB ManageIQ с помощью модуля manageiq_vmdb. В примере показаны два способа передачи объекта VMDB в модуль – либо через href-слаг, либо через переменную.

- name: Связывание ВМ с существующим сервисом
  hosts: localhost
  connection: local
  gather_facts: False

  vars:
  - key: db
  - name: db-test-provision-1
  - instance_type: t2.nano
  - security_group: sg-sdf234
  - image: ami-234234lkj
  - region: us-east-1
  - subnet: subnet-adsf098
  # Нужен только если этот playbook НЕ выполняется на устройстве ManageIQ
  - manageiq_connection:
      url: 'https://localhost.ssl:3000'
      username: 'admin'
      password: 'smartvm'
      manageiq_validate_certs: false

  roles:
  - manageiq.manageiq_vmdb

  tasks:
  - name: Получить объект vmdb
    manageiq_vmdb:
      href: "services/80"
    register: vmdb_object

  - name: Создать экземпляр Ec2
    ec2:
      key_name: "{{ key }}"
      instance_tags: {Name: "{{ name }}"}
      group_id: "{{ security_group }}"
      instance_type: "{{ instance_type }}"
      region: "{{ region }}"
      image: "{{ image }}"
      wait: yes
      count: 1
      vpc_subnet_id: "{{ subnet }}"
      assign_public_ip: yes
    register: ec2

  - name: Связывание сервиса через href-слаг
    manageiq_vmdb:
      href: "href_slug::services/80"
      action: add_provider_vms
      data:
        uid_ems:
          - "{{ ec2.instances[0].id }}"
        provider:
          id: 24

  - name: Связывание сервиса через объект
    manageiq_vmdb:
      vmdb: "{{ vmdb_object }}"
      action: add_provider_vms
      data:
        uid_ems:
          - "asdf234"
        provider:
          id: 24

Лицензия

Apache

О проекте

Ansible role to query and modify ManageIQ vmdb objects

Установить
ansible-galaxy install ManageIQ/ansible-manageiq-vmdb
Лицензия
apache-2.0
Загрузки
1736
Владелец
ManageIQ Open-Source Management Platform