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