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

Acerca del proyecto

Ansible role to query and modify ManageIQ vmdb objects

Instalar
ansible-galaxy install manageiq.manageiq_vmdb
Licencia
apache-2.0
Descargas
3.5k
Propietario
ManageIQ Open-Source Management Platform