manageiq.manageiq_vmdb
manageiq.manageiq_vmdb
https://galaxy.ansible.com/manageiq/manageiq_vmdb
El rol manageiq_vmdb
permite a los usuarios de ManageIQ modificar y/o cambiar objetos de VMDB a través de un Playbook de Ansible. El rol incluye un módulo manageiq_vmdb
que realiza todo el trabajo pesado necesario para modificar o cambiar objetos en la base de datos.
Requisitos
ManageIQ debe ser Gaprindashvili (G Release) o superior.
El ejemplo de playbook utiliza el módulo manageiq_vmdb
, que también está incluido como parte de este rol.
Si necesitas incluir este rol en Ansible Tower o Embedded Ansible, simplemente añade un directorio vacío roles
en la raíz de tu playbook y incluye un archivo requirements.yml
con el siguiente contenido dentro de ese directorio:
---
- source: manageiq.manageiq_vmdb
Variables de Rol
Validar Certificados:
manageiq_validate_certs
tiene un valor por defecto de True
. Si se establece en False
en el diccionario manageiq_connection
, entonces la búsqueda permitirá el uso de certificados autofirmados al usar URLs de conexión SSL REST API.
ManageIQ:
manageiq_connection
es un diccionario con las claves de conexión por defecto. El uso de esta información de conexión SÓLO es necesario si el rol se utiliza fuera de un appliance de ManageIQ. Un appliance de ManageIQ pasa manageiq_connection
a través de extra_vars
, por lo que la información de conexión se incluye automáticamente. Recuerda usar Ansible Vault para las contraseñas.
manageiq_connection:
url: 'http://localhost:3000'
username: 'admin'
password: 'password'
manageiq_validate_certs: false
Dependencias
Ninguna
Ejemplo de Playbook
Un ejemplo que aprovisiona una VM en EC2. El playbook enlaza esa VM a un servicio en el VMDB de ManageIQ usando el módulo manageiq_vmdb
. El ejemplo muestra dos formas de pasar el objeto VMDB al módulo, ya sea a través de un slug href o mediante una variable.
- name: Vincular servicio a VMs existentes
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
# Solo necesario si este playbook NO se ejecuta en un Appliance de ManageIQ
- manageiq_connection:
url: 'https://localhost.ssl:3000'
username: 'admin'
password: 'smartvm'
manageiq_validate_certs: false
roles:
- manageiq.manageiq_vmdb
tasks:
- name: Obtener un objeto vmdb
manageiq_vmdb:
href: "services/80"
register: vmdb_object
- name: Crear instancia 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: Vincular servicio mediante un slug href
manageiq_vmdb:
href: "href_slug::services/80"
action: add_provider_vms
data:
uid_ems:
- "{{ ec2.instances[0].id }}"
provider:
id: 24
- name: Vincular servicio mediante un objeto
manageiq_vmdb:
vmdb: "{{ vmdb_object }}"
action: add_provider_vms
data:
uid_ems:
- "asdf234"
provider:
id: 24
Licencia
Apache
Ansible role to query and modify ManageIQ vmdb objects
ansible-galaxy install manageiq.manageiq_vmdb