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