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-template
、ovirt.image-template
、ovirt-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 | チェックサムが定義されている場合、ダウンロード後に宛先ファイルのダイジェストが計算され、整合性が確認されます。形式: |
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の値が設定されます。
|
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
ライセンス
Apache License 2.0