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.manageiqovirt.manageiqovirt-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 - WebSocket
  • web_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
プロジェクトについて

Role to deploy ManageIQ/CloudForms into oVirt/RHV.

インストール
ansible-galaxy install ovirt.manageiq
ライセンス
apache-2.0
ダウンロード
15.2k
所有者
Open Virtual Datacenter