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接続URLを使用できるようになります。

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オブジェクトをモジュールに渡す2つの方法を示しています。1つはhrefスラグを通して、もう1つは変数を通してです。

- 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アプライアンスで実行されていない場合のみ必要
  - 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.manageiq_vmdb
ライセンス
apache-2.0
ダウンロード
3.5k
所有者
ManageIQ Open-Source Management Platform