ovirt.image-template

oVirtイメージテンプレート

このロールはoVirt Ansible Collectionに移行されましたので、最新のバージョンはそこから使用してください。このリポジトリは現在読み取り専用で、アクティブな開発には使用されていません。

ovirt.image-templateロールは、外部画像からテンプレートを作成します。現在、ディスクはGlance外部プロバイダーの画像またはQCOW2画像である必要があります。

注意

Ansible Galaxyからこのロールをインストールする際に、次のコマンドを実行するよう指示されます。

$ ansible-galaxy install ovirt.image-template

これにより、コマンドラインで指定した名前と同じ名前のディレクトリにロールがダウンロードされます。この場合はovirt.image-templateです。ただし、大文字と小文字を区別するため、例えばOVIRT.image-templateと指定すると、同じロールがダウンロードされますが、OVIRT.image-templateという名前のディレクトリに追加されるため、以降は必ずその大文字のプレフィックスを使ってこのロールを使用する必要があります。コマンドラインでのロール名の指定には注意が必要です。

RPMインストールでは、3つの古い名前oVirt.image-templateovirt.image-templateovirt-image-templateがインストールされます。したがって、これらのいずれかの名前を使用することができます。このドキュメントとこのリポジトリ内の例では、名前ovirt.image-templateを使用しています。 oVirt.image-templateおよびovirt-image-templateのロール名は非推奨です。

要件

  • Ansibleバージョン2.9以上。
  • Python SDKバージョン4.3以上。
  • oVirtは4.1以上で、ovirt-imageioがインストールされて実行中でなければなりません。
  • oVirtエンジンのCA証明書。CA証明書へのパスはovirt_ca変数で指定する必要があります。
  • ファイル

制限事項

  • Ansibleチェックモード(ドライラン)はサポートしていません。このロールはいくつかのモジュール(コマンドモジュール)を使用しており、それらはサポートしていません。すべてのモジュールがサポートするようになると、サポートします。

ロール変数

名前 デフォルト値
qcow_url UNDEF(glanceを使用しない場合は必須) QCOW2画像のURL。ローカルファイルは'file://'プレフィックスで指定可能。
qcow_url_client_cert UNDEF 認証されたサイトからQCOWを取得する際に必要な場合のクライアント証明書のパス。
qcow_url_client_key UNDEF 認証されたサイトからQCOWを取得する際に必要な場合のクライアントキーのパス。
image_path /tmp/ QCOW2画像がダウンロードされるパス。ディレクトリの場合、リモートサーバー上のURLのベース名が使用されます。
image_checksum UNDEF チェックサムが定義されている場合、ダウンロード後に宛先ファイルのダイジェストが計算され、整合性が確認されます。形式: :、例: checksum="sha256:D98291AC[...]B6DC7B97"
image_cache_download true 偽に設定すると、実行開始時と終了時にimage_pathが削除されます。
template_cluster デフォルト テンプレートを作成するクラスターの名前。
template_io_threads UNDEF テンプレートで使用されるIOスレッドの数。0はIOスレッドが無効であることを意味します(ansible 2.7で追加)。
template_name mytemplate テンプレートの名前。
template_memory 2GiB テンプレートに割り当てられるメモリの量。
template_memory_guaranteed UNDEF 仮想マシンの最小保証メモリの量。
template_memory_max UNDEF メモリホットプラグが実行できる仮想マシンメモリの上限。
template_cpu 1 テンプレートに割り当てられるCPUの数。
template_disk_storage UNDEF ディスクが作成されるデータストレージドメインの名前。指定しなければ、データストレージドメインが自動的に選択されます。
template_disks [] 追加のテンプレートディスクを指定する辞書のリスト。詳細については下記。
template_disk_size 10GiB テンプレートディスクのサイズ。
template_disk_name UNDEF テンプレートディスクの名前。
template_disk_format UNDEF テンプレートディスクの形式。
template_disk_interface virtio テンプレートディスクのインターフェース(選択肢: virtio、ide、virtio_scsi)。
template_seal true 'シーリング'はファイルシステムからすべての機械固有の設定を消去します。Windowsではサポートされていません。Windowsの場合はこれを'false'に設定してください。
template_timeout 600 テンプレートの作成/インポートの待機時間。
template_type UNDEF テンプレートのタイプ: desktop、server、またはhigh_performance(qcow2ベースのテンプレートのみ)。
template_nics {name: nic1, profile_name: ovirtmgmt, interface: virtio} テンプレートのNICを指定する辞書のリスト。
template_operating_system UNDEF テンプレートのオペレーティングシステム: other、rhel_7x64、debian_7など、ovirt_templateモジュールの他の選択肢を参照。
glance_image_provider UNDEF(qcow_urlを使用しない場合は必須) glanceイメージプロバイダーの名前。
glance_image UNDEF(qcow_urlを使用しない場合は必須) このパラメータは、テンプレートとしてインポートするglanceプロバイダー内のディスクの名前を指定します。
template_prerequisites_tasks UNDEF QCOWイメージでのみ機能します。テンプレートを作成する前に仮想マシンで実行されるAnsibleタスクファイルのパスを指定します。QCOWイメージにはIPアドレスを報告するゲストエージェントが含まれている必要があります。

template_disks辞書のリストには、以下の属性を含むことができます:

名前 デフォルト値
name UNDEF(必須) 追加のディスクの名前。
size UNDEF(必須) 追加のディスクのサイズ。
storage_domain UNDEF ディスクが作成されるストレージドメインの名前。値が渡されていない場合、template_disk_storageの値が設定されます。
interface UNDEF ディスクのインターフェース。値が渡されていない場合、template_disk_interfaceの値が設定されます。
format UNDEF ディスクの形式を指定します。値が渡されていない場合、template_disk_formatの値が設定されます。
  • cow - 設定した場合、ディスクはスパースディスクとして作成され、ボリュームに必要に応じて空間が割り当てられます。この形式はスリムプロビジョニングディスクとも呼ばれます。
  • raw - 設定した場合、ディスク容量はすぐに割り当てられます。この形式はプレアロケートされたディスクとも呼ばれる。
bootable UNDEF ディスクがブート可能である場合はTrue。

依存関係

いいえ。

例プレイブック

---
- name: QCOWからテンプレートを作成
  hosts: localhost
  connection: local
  gather_facts: false

  vars:
    engine_fqdn: ovirt-engine.example.com
    engine_user: admin@internal
    engine_password: 123456
    engine_cafile: /etc/pki/ovirt-engine/ca.pem

    qcow_url: https://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud.qcow2
    # qcow_url: file:///tmp/CentOS-7-x86_64-GenericCloud.qcow2
    template_cluster: production
    template_name: centos7_template
    template_memory: 4GiB
    template_cpu: 2
    template_disk_size: 10GiB
    template_disk_storage: mydata

  roles:
    - ovirt.image-template


- name: glanceに保存されたディスクからテンプレートを作成
  hosts: localhost
  connection: local
  gather_facts: false

  vars:
    engine_fqdn: ovirt-engine.example.com
    engine_user: admin@internal
    engine_password: 123456
    engine_cafile: /etc/pki/ovirt-engine/ca.pem

    glance_image_provider: qe-infra-glance
    glance_image: rhel7.4_ovirt4.2_guest_disk
    template_cluster: production
    template_name: centos7_template
    template_memory: 4GiB
    template_cpu: 2
    template_disk_size: 10GiB
    template_disk_storage: mydata

  roles:
    - ovirt-image-template

- name: qcow2.xzからテンプレートを作成
  hosts: localhost
  connection: local
  gather_facts: false
  pre_tasks:
    - name: qcow2.xzファイルをダウンロード
      get_url:
        url: "https://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud.qcow2.xz"
        dest: /tmp
      register: downloaded_file

    - name: ダウンロードしたQCOW画像を抽出
      command: "unxz --keep --force {{ downloaded_file.dest }}"

    - name: 抽出されたファイルにqcow_urlを設定
      set_fact:
        qcow_url: "file://{{ (downloaded_file.dest | splitext)[0] }}"
  vars:
    engine_fqdn: ovirt-engine.example.com
    engine_user: admin@internal
    engine_password: 123456
    engine_cafile: /etc/pki/ovirt-engine/ca.pem

    template_cluster: production
    template_name: centos7_template
    template_memory: 4GiB
    template_cpu: 2
    template_disk_size: 10GiB
    template_disk_storage: mydata

  roles:
    - ovirt.image-template

asciicast

ライセンス

Apache License 2.0

プロジェクトについて

Role to create template from external image.

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