manageiq.manageiq_vmdb

manageiq.manageiq_vmdb

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

Le rôle manageiq_vmdb permet aux utilisateurs de ManageIQ de modifier et/ou de changer des objets VMDB via un Playbook Ansible. Ce rôle inclut un module manageiq_vmdb qui effectue tout le travail nécessaire pour modifier ou changer des objets dans la base de données.

Exigences

ManageIQ doit être Gaprindashvili (version G) ou supérieure.

L'exemple de playbook utilise le module manageiq_vmdb, qui est également inclus dans ce rôle.

Si vous souhaitez inclure ce rôle dans Ansible Tower ou Embedded Ansible, ajoutez simplement un répertoire roles vide à la racine de votre playbook et incluez un fichier requirements.yml avec le contenu suivant dans ce répertoire :

---
- source: manageiq.manageiq_vmdb

Variables de rôle

Validation des certificats : manageiq_validate_certs est défini par défaut sur True. S'il est réglé sur False dans le dictionnaire manageiq_connection, la recherche permettra l'utilisation de certificats auto-signés lors de l'utilisation d'URL de connexion API REST SSL.

ManageIQ : manageiq_connection est un dictionnaire avec des clés par défaut de connexion. L'utilisation de ces informations de connexion n'est NÉCESSAIRE que si le rôle est utilisé en dehors d'un appareil ManageIQ. Un appareil ManageIQ transmet manageiq_connection via extra_vars, donc les informations de connexion sont incluses automatiquement. N'oubliez pas d'utiliser Ansible Vault pour les mots de passe.

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

Dépendances

Aucune

Exemple de Playbook

Un exemple qui provisionne une VM sur EC2. Le playbook lien cette VM à un service dans le VMDB de ManageIQ en utilisant le module manageiq_vmdb. L'exemple montre deux façons de passer l'objet VMDB au module, soit via un slug href ou via une variable.

- name: Lier des VM à un service existant
  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
  # Nécessaire seulement si ce playbook N'EST PAS exécuté sur un appareil ManageIQ
  - manageiq_connection:
      url: 'https://localhost.ssl:3000'
      username: 'admin'
      password: 'smartvm'
      manageiq_validate_certs: false

  roles:
  - manageiq.manageiq_vmdb

  tasks:
  - name: Obtenir un objet vmdb
    manageiq_vmdb:
      href: "services/80"
    register: vmdb_object

  - name: Créer une instance 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: Liaison de service via 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: Liaison de service via un objet
    manageiq_vmdb:
      vmdb: "{{ vmdb_object }}"
      action: add_provider_vms
      data:
        uid_ems:
          - "asdf234"
        provider:
          id: 24

Licence

Apache

À propos du projet

Ansible role to query and modify ManageIQ vmdb objects

Installer
ansible-galaxy install manageiq.manageiq_vmdb
Licence
apache-2.0
Téléchargements
3.5k
Propriétaire
ManageIQ Open-Source Management Platform