manageiq.manageiq_vmdb

manageiq.manageiq_vmdb

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

manageiq_vmdb 角色允许 ManageIQ 的用户通过 Ansible Playbook 修改和/或更改 VMDB 对象。此角色包含一个模块 manageiq_vmdb,用于执行数据库中修改或更改对象所需的所有重型工作。

要求

ManageIQ 必须是 Gaprindashvili(G 版本)或更高版本。

示例 Playbook 使用了此角色中包含的 manageiq_vmdb 模块。

如果您需要在 Ansible Tower 或 Embedded Ansible 中包含此角色,只需在 Playbook 根目录下添加一个空的 roles 目录,并在该目录中包含一个 requirements.yml 文件,内容如下:

---
- source: manageiq.manageiq_vmdb

角色变量

验证证书: manageiq_validate_certs 默认设置为 True。如果在 manageiq_connection 字典中设置为 False,则查找将允许使用自签名证书来连接 SSL REST API。

ManageIQ: manageiq_connection 是一个包含连接默认键的字典。仅当角色在 ManageIQ 设备之外使用时,才需要使用此连接信息。ManageIQ 设备通过 extra_vars 传递 manageiq_connection,因此连接信息会自动包含。 请记得使用 Ansible Vault 来存储密码。

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

依赖关系

示例 Playbook

一个示例,展示了如何在 EC2 中配置一个 VM。该 Playbook 使用 manageiq_vmdb 模块将该 VM 链接到 ManageIQ VMDB 中的服务。 示例展示了两种方式传递 VMDB 对象给模块,可以通过 href slug 或变量。

- name: 服务链接 VM 到现有服务
  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 Appliance 上运行时需要
  - 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 slug 服务链接
    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.manageiq_vmdb
许可证
apache-2.0
下载
3.5k
拥有者
ManageIQ Open-Source Management Platform