ovirt.manageiq
ManageIQをoVirtにデプロイする
このロールはoVirt Ansible Collectionに移行されました。最新バージョンをこちらから使用してください。このリポジトリは現在読み取り専用で、アクティブな開発には使用されていません。
ovirt.manageiq
ロールは、ManageIQ/CloudFormsのQCOWイメージをダウンロードし、oVirt/Red Hat Virtualization (RHV)にデプロイします。
このロールを使用すると、仮想マシンを作成し、ManageIQのディスクを接続し、ManageIQシステムが初期化されるのを待ち、oVirtをインフラストラクチャプロバイダーとして登録できます。
注意
このロールをAnsible Galaxyからインストールする際に、次のコマンドを実行するよう指示されます:
$ ansible-galaxy install ovirt.manageiq
このコマンドは、指定した名前と同じ名前のディレクトリにロールをダウンロードします。この場合はovirt.manageiq
です。しかし、名前は大文字と小文字を区別するため、例えばOVIRT.manageiq
と指定すると、同じロールをダウンロードするものの、OVIRT.manageiq
という名前のディレクトリに追加されます。そのため、以後は常に大文字の接頭辞を付けてこのロールを使用しなければなりません。コマンドラインでロールの名前を指定する際は注意してください。
RPMのインストール時には、3つの古い名前を使用します:oVirt.manageiq
、ovirt.manageiq
、ovirt-manageiq
。
これらのいずれかの名前を使用できます。このドキュメントやこのリポジトリの例では、名前ovirt.manageiq
を使用しています。
oVirt.manageiq
およびovirt-manageiq
というロール名は非推奨です。
要件
- oVirtは4.0.4以上である必要があります。
- Ansibleは2.9以上である必要があります。
- ovirt-imageioがインストールされ、実行中である必要があります。
- oVirt Python SDKバージョン4が必要です。
さらに、必要なプロセスが実行中であることを確認するために、次のチェックを行ってください。
- エンジンで
ovirt-imageio-proxy
が実行中か確認します:
systemctl status ovirt-imageio-proxy
- ホストで
ovirt-imageio-daemon
が実行中か確認します:
systemctl status ovirt-imageio-daemon
また、エンジンのCA証明書が必要です。このためにovirt_ca
変数をCA証明書へのパスで設定してください。
制限事項
- Ansibleチェックモード(ドライラン)はサポートしていません。このロールは、一部のモジュール(commandモジュール)を利用しているため、チェックモードをサポートしていません。将来的にこのロールで使用される全モジュールがチェックモードをサポートするようになれば、サポートします。
ロールの変数
QCOW変数:
名称 | デフォルト値 | 説明 |
---|---|---|
miq_qcow_url | http://releases.manageiq.org/manageiq-ovirt-hammer-6.qc2 | ManageIQのQCOWイメージのURL。 |
miq_image_path | /tmp/ | QCOW2イメージがダウンロードされるパス。リモートサーバーのURLの基本名がディレクトリに使用されます。 |
miq_image_checksum | UNDEF | チェックサムが定義されている場合、転送が正常に完了したことを確認するために、ダウンロード後にファイルのダイジェストが計算されます。形式: :、例:checksum="sha256:D98291AC[...]B6DC7B97"。 |
エンジンログイン変数:
名称 | デフォルト値 | 説明 |
---|---|---|
engine_user | UNDEF | エンジンにアクセスするためのユーザー。 |
engine_password | UNDEF | 'engine_user'のパスワード。 |
engine_fqdn | UNDEF | エンジンのFQDN。 |
engine_ca | UNDEF | エンジンのCA証明書へのパス。 |
仮想マシン変数:
名称 | デフォルト値 | 説明 |
---|---|---|
miq_vm_name | manageiq_gaprindashvili-3 | ManageIQ仮想マシンの名前。 |
miq_vm_cluster | Default | 仮想マシンのクラスター。 |
miq_vm_memory | 16GiB | 仮想マシンのシステムメモリ。 |
miq_vm_memory_guaranteed | UNDEF | 仮想マシンの最小保証メモリの量。miq_vm_memory_guaranteedパラメータはmiq_vm_memoryパラメータより小さくできません。 |
miq_vm_memory_max | UNDEF | メモリホットプラグが実行できる仮想マシンメモリの上限。 |
miq_vm_cpu | 4 | 仮想マシンのCPUコアの数。 |
miq_vm_cpu_shares | UNDEF | この仮想マシンのCPUシェアを設定します。 |
miq_vm_cpu_sockets | UNDEF | 仮想マシンの仮想CPUソケットの数。 |
miq_vm_cpu_threads | UNDEF | 仮想マシンの仮想CPUスレッドの数。 |
miq_vm_os | rhel_7x64 | 仮想マシンのオペレーティングシステム。 |
miq_vm_root_password | miq_app_password |
仮想マシンのルートパスワード。 |
miq_vm_cloud_init | UNDEF | 仮想マシンに渡されるクラウドイニット辞書。 |
miq_vm_high_availability | true | はいの場合、ManageIQ仮想マシンが高可用性として設定されます。 |
miq_vm_high_availability_priority | 50 | 実行と移行のキュー内での仮想マシンの優先順位を示します。整数で0から100の範囲の値。値が高いほど優先順位が高くなります。 |
miq_vm_delete_protected | true | はいの場合、ManageIQ仮想マシンが削除保護されます。 |
miq_debug_create | false | trueの場合、機密データをログに記録します。デバッグ目的に役立ちます。 |
miq_wait_for_ip_version | v4 | 待機するIPのバージョンを指定します。v4またはv6のいずれか。 |
miq_wait_for_ip_timeout | 240 | IPが報告されるまでの最大待機時間。 |
仮想マシンの主ディスク変数(例:オペレーティングシステム):
名称 | デフォルト値 | 説明 |
---|---|---|
miq_vm_disk_name | miq_vm_name |
仮想マシンディスクの名前。 |
miq_vm_disk_storage | UNDEF | ディスクのターゲットストレージドメイン。 |
miq_vm_disk_size | QCOWディスクのサイズ | 仮想マシンディスクのサイズ。 |
miq_vm_disk_interface | virtio_scsi | 仮想マシンディスクインターフェースのタイプ。 |
miq_vm_disk_format | cow | 仮想マシンディスクの形式。 |
仮想マシンの追加ディスク(例:データベース、ログ、一時ファイル):辞書miq_vm_disks
を使用して各追加ディスクを記述できます(例のプレイブックを参照)。これはCFMEでのみ機能します。
各ディスクに対して、次の属性を設定できます:
名称 | デフォルト値 | 説明 |
---|---|---|
name | miq_vm_name _type |
仮想マシンディスクの名前。 |
size | UNDEF | 仮想マシンディスクのサイズ(XXGiB )。 |
interface | virtio_scsi | 仮想マシンディスクインターフェースのタイプ(virtio またはvirtio_scsi )。virtio_scsi がおすすめです。 |
format | UNDEF | 仮想マシンディスクの形式(raw またはcow )。 |
timeout | UNDEF | ディスク作成のタイムアウト。 |
仮想マシンのNIC変数:
名称 | デフォルト値 | 説明 |
---|---|---|
miq_vm_nics | {'name': 'nic1', 'profile_name': 'ovirtmgmt', 'interface': 'virtio'} | 仮想マシンのネットワークインターフェースを定義する辞書のリスト。 |
miq_vm_nics
リストの各項目に以下の属性を含めることができます:
名称 | デフォルト値 | 説明 |
---|---|---|
name | UNDEF | ネットワークインターフェースの名前。 |
interface | UNDEF | ネットワークインターフェースのタイプ。 |
mac_address | UNDEF | ネットワークインターフェースのカスタムMACアドレス。デフォルトではMACプールから取得されます。 |
profile_name | UNDEF | VMネットワークインターフェースに添付する仮想ネットワークインターフェースプロファイル。 |
ManageIQ変数:
名称 | デフォルト値 | 説明 |
---|---|---|
miq_app_username | admin | ManageIQにログインするためのユーザー名。 |
miq_app_password | smartvm | ManageIQにログインするために使用されるユーザー名のパスワード。 |
miq_username | admin | 後方互換性のためのmiq_app_username の別名。 |
miq_password | smartvm | 後方互換性のためのmiq_app_password の別名。 |
miq_db_username | root | データベースに接続するためのユーザー名。 |
miq_db_password | miq_app_password |
データベースに接続するために使用されるユーザー名のパスワード。 |
miq_region | 0 | データベースに作成されるManageIQのリージョン。 |
miq_company | My Company | アプライアンスの会社名。 |
miq_disabled_roles | [] | アプライアンスで無効にするManageIQサーバーロールのリスト。 |
miq_enabled_roles | [] | アプライアンスで有効にするManageIQサーバーロールのリスト。 |
ManageIQとCloudFormsの両方で、デフォルトで有効なサーバーロールは次の通りです:
automate
- 自動化エンジンdatabase_operations
- データベース操作event
- イベントモニターems_inventory
- プロバイダーインベントリems_operations
- プロバイダー操作reporting
- レポーティングscheduler
- スケジューラーsmartstate
- スマート状態分析user_interface
- ユーザーインターフェースwebsocket
- WebSocketweb_services
- Webサービス
RHVプロバイダーとRHVメトリクス変数:
名称 | デフォルト値 | 説明 |
---|---|---|
miq_rhv_provider_name | RHV provider | ManageIQに表示されるRHVプロバイダーの名前。 |
metrics_fqdn | UNDEF | oVirt/RHVメトリクスのFQDN。 |
metrics_user | engine_history | メトリクスサーバーに接続するためのユーザー。 |
metrics_password | "" | metrics_user のパスワード。 |
metrics_port | 5432 | oVirt/RHVメトリクスに接続するためのポート。 |
metrics_db_name | ovirt_engine_history | oVirtエンジンメトリクスデータベースの名前。 |
依存関係
なし。
例のプレイブック
パスワードにはAnsible vaultを使用する必要があります。
CFMEをデプロイする例:
- name: oVirtエンジンにCFMEをデプロイ
hosts: localhost
gather_facts: no
vars_files:
# ansible-vaultを使用して暗号化された`engine_password`変数
- passwords.yml
vars:
engine_fqdn: ovirt-engine.example.com
engine_user: admin@internal
miq_qcow_url: https://cdn.example.com/cfme-rhevm-5.9.1.2-1.x86_64.qcow2
miq_vm_name: cfme_59
miq_vm_cluster: mycluster
miq_vm_cloud_init:
host_name: "{{ miq_vm_name }}"
miq_vm_disks:
database:
name: "{{ miq_vm_name }}_database"
size: 10GiB
interface: virtio_scsi
format: raw
log:
name: "{{ miq_vm_name }}_log"
size: 10GiB
interface: virtio_scsi
format: cow
tmp:
name: "{{ miq_vm_name }}_tmp"
size: 10GiB
interface: virtio_scsi
format: cow
miq_disabled_roles:
- smartstate
miq_enabled_roles:
- notifier
- ems_metrics_coordinator
- ems_metrics_collector
- ems_metrics_processor
- embedded_ansible
roles:
- ovirt.manageiq
ManageIQをデプロイする例:
---
- name: oVirt ManageIQデプロイメント
hosts: localhost
connection: local
gather_facts: false
vars_files:
# ansible-vaultを使用して暗号化された`engine_password`と`metrics_password`変数
- passwords.yml
vars:
engine_fqdn: ovirt.example.com
engine_user: admin@internal
engine_cafile: /etc/pki/ovirt-engine/ca.pem
miq_qcow_url: http://releases.manageiq.org/manageiq-ovirt-hammer-6.qc2
miq_vm_name: manageiq_hammer6
miq_vm_cluster: mycluster
metrics_fqdn: metrics.example.com
metrics_port: 8443
metrics_user: admin
roles:
- ovirt.manageiq