gwerlas.libvirt
Libvirt
libvirtリソースのインストール、設定、およびプロビジョニングを行います。
GitLabプロジェクト : yoanncolin/ansible/roles/libvirt
要件
以下のように設定されたLinux基本システムが必要です:
- SSH
- Python(Ansible用)
- Sudo
- 使用可能なパッケージマネージャ
- EL7ディストリビューションにはEPELがインストールされている
gwerlas.system
ロールは以下のようにインストールできます:
ansible-galaxy install gwerlas.system
- name: 私のプレイブック
hosts: all
roles:
- role: gwerlas.system
- role: gwerlas.libvirt
ファクト
このロールによって定義されたファクト:
libvirt_packages
ノードに変更を加えずにファクトを取得することもできます:
- name: 私のプレイブック
hosts: all
tasks:
- name: ファクトを取得する
ansible.builtin.import_role:
name: gwerlas.libvirt
tasks_from: facts
- name: 表示
ansible.builtin.debug:
var: libvirt_packages
タグ
特定のタスクをこのタグでフィルタリングできます:
provision
: リソースのみをプロビジョニング
ロール変数
使用可能な変数は以下にリストされています(デフォルト値の確認はdefaults/main/*.yml
を参照):
依存関係
システムにcommunity.libvirt
がインストールされていることを確認するか、requirements.yml
に含めてください。
例プレイブック
ノードにlibvirtをインストールして設定する方法の例:
- name: Libvirt
hosts: all
roles:
- name: gwerlas.libvirt
リソースのプロビジョニング:
- name: Libvirt
hosts: all
tasks:
- name: リソースをプロビジョニングする
ansible.builtin.import_role:
name: gwerlas.libvirt
tasks_from: provision
vars:
libvirt_networks:
- name: my-bridge
forward:
mode: bridge
bridge:
name: br0
- name: my-nat
bridge:
name: br1
ip:
address: 192.168.0.1
netmask: 255.255.255.0
dhcp:
start: 192.168.0.2
end: 192.168.0.254
libvirt_pools:
- name: local-dir
path: /data/images
- name: from-nfs
type: netfs
path: /data/images
source:
host: hostname
dir: /server-export
libvirt_domains:
- name: my-node
autostart: false
cpu:
mode: host-passthrough
model:
fallback: allow
memory: 4G
networks:
- name: my-bridge
- name: my-nat
vcpu:
placement: static
quantity: 2
volumes:
- name: os
- name: data
size: 200G
device: vdb
pool: data-dir