diff options
| author | spmfox <spmfox@foxwd.com> | 2023-06-13 14:55:11 -0400 |
|---|---|---|
| committer | spmfox <spmfox@foxwd.com> | 2023-06-13 14:55:11 -0400 |
| commit | 6377f9b1f95f83dde750d18a29e0b5587720fb62 (patch) | |
| tree | 50ff7af3accc06b44c7b6a56fb79d97fea2f0875 /roles/libvirt | |
| parent | 45b5f70c97ae4c0180c13564c82a38d2bd96a1e9 (diff) | |
adding default variables, removing need for kickstart, paving the way for non-kickstart installations
Diffstat (limited to 'roles/libvirt')
| -rw-r--r-- | roles/libvirt/tasks/vm-install.yml | 13 | ||||
| -rw-r--r-- | roles/libvirt/vars/main.yml | 20 |
2 files changed, 20 insertions, 13 deletions
diff --git a/roles/libvirt/tasks/vm-install.yml b/roles/libvirt/tasks/vm-install.yml index b1d9de8..c0611e5 100644 --- a/roles/libvirt/tasks/vm-install.yml +++ b/roles/libvirt/tasks/vm-install.yml @@ -1,12 +1,19 @@ -- name: Copy kickstart file to destination filesystem +- name: Copy kickstart file to destination filesystem (if defined) ansible.builtin.template: src: "kickstart/{{ libvirt_vm_kickstart_file }}" dest: "/{{ libvirt_vm_destination }}/{{ libvirt_vm_kickstart_file }}" + when: libvirt_vm_kickstart_file|length > 0 -- name: Create VM in destination filesystem +- name: Create VM from kickstart in destination filesystem ansible.builtin.command: 'virt-install --name {{ libvirt_vm_name }} --memory {{ libvirt_vm_memory }} --vcpus {{ libvirt_vm_vcpus }} --network {{ libvirt_vm_network }} --disk size={{ libvirt_vm_disk_size }},path=/{{ libvirt_vm_destination }}/{{ libvirt_vm_name }}.img,format={{ libvirt_vm_disk_format }} --location {{ libvirt_vm_location_path }}{{ libvirt_vm_location_arguments }} --os-variant {{ libvirt_vm_os }} --initrd-inject=/{{ libvirt_vm_destination }}/{{ libvirt_vm_kickstart_file }} --extra-args="inst.ks=file:/{{ libvirt_vm_kickstart_file }}"' + when: libvirt_vm_kickstart_file|length > 0 -- name: Remove kickstart file from destination filesystem +- name: Create VM without kickstart in destination filesystem + ansible.builtin.command: 'virt-install --name {{ libvirt_vm_name }} --memory {{ libvirt_vm_memory }} --vcpus {{ libvirt_vm_vcpus }} --network {{ libvirt_vm_network }} --disk size={{ libvirt_vm_disk_size }},path=/{{ libvirt_vm_destination }}/{{ libvirt_vm_name }}.img,format={{ libvirt_vm_disk_format }} --location {{ libvirt_vm_location_path }}{{ libvirt_vm_location_arguments }} --os-variant {{ libvirt_vm_os }}' + when: libvirt_vm_kickstart_file|length == 0 + +- name: Remove kickstart file from destination filesystem (if defined) ansible.builtin.file: path: "/{{ libvirt_vm_destination }}/{{ libvirt_vm_kickstart_file }}" state: absent + when: libvirt_vm_kickstart_file|length > 0 diff --git a/roles/libvirt/vars/main.yml b/roles/libvirt/vars/main.yml index 54fd9e7..1c26e68 100644 --- a/roles/libvirt/vars/main.yml +++ b/roles/libvirt/vars/main.yml @@ -1,15 +1,15 @@ libvirt_vm_name: "{{ inventory_hostname }}" -libvirt_vm_memory: "{{ memory_mb }}" -libvirt_vm_vcpus: "{{ cpus }}" -libvirt_vm_disk_size: "{{ disk_gb }}" -libvirt_vm_disk_format: "{{ disk_format }}" -libvirt_vm_os: "{{ os }}" -libvirt_vm_kickstart_file: "{{ kickstart }}" +libvirt_vm_memory: "{{ memory_mb if memory_mb is defined else '1024' }}" +libvirt_vm_vcpus: "{{ cpus if cpus is defined else '1' }}" +libvirt_vm_disk_size: "{{ disk_gb if disk_gb is defined else '20' }}" +libvirt_vm_disk_format: "{{ disk_format if disk_format is defined else 'qcow2' }}" +libvirt_vm_os: "{{ os if os is defined else 'rhel8-unknown' }}" +libvirt_vm_kickstart_file: "{{ kickstart if kickstart is defined }}" libvirt_vm_location_path: "{{ iso_path }}" libvirt_vm_destination: "{{ parent_dataset }}/{{ inventory_hostname }}" -libvirt_vm_network: "{{ network }}" +libvirt_vm_network: "{{ network if network is defined else 'default' }}" libvirt_kickstart_hostname: "{{ inventory_hostname }}" -libvirt_kickstart_timezone: "{{ timezone }}" -libvirt_kickstart_root_ssh_key: "{{ ssh_key }}" -libvirt_kickstart_root_password: "{{ root_password }}" +libvirt_kickstart_timezone: "{{ timezone if timezone is defined else 'Etc/GMT' }}" +libvirt_kickstart_root_ssh_key: "{{ ssh_key if ssh_key is defined }}" +libvirt_kickstart_root_password: "{{ root_password if root_password is defined else lookup('password', '/dev/null length=32 chars=ascii_letters,digits') }}" |
