|
|
|
@ -1,24 +1,22 @@ |
|
|
|
|
--- |
|
|
|
|
- name: setup mirror vm |
|
|
|
|
hosts: 127.0.0.1 |
|
|
|
|
gather_facts: false |
|
|
|
|
tasks: |
|
|
|
|
- name: mirbr0 network exists |
|
|
|
|
command: "virsh net-dumpxml mirbr0 > /dev/null 2>&1" |
|
|
|
|
check_mode: yes |
|
|
|
|
command: "virsh net-dumpxml mirbr0" |
|
|
|
|
changed_when: false |
|
|
|
|
ignore_errors: true |
|
|
|
|
register: net_exists |
|
|
|
|
|
|
|
|
|
- name: storage pool exists |
|
|
|
|
command: "virsh pool-dumpxml mirror > /dev/null 2>&1" |
|
|
|
|
check_mode: yes |
|
|
|
|
command: "virsh pool-dumpxml mirror" |
|
|
|
|
changed_when: false |
|
|
|
|
ignore_errors: true |
|
|
|
|
register: pool_exists |
|
|
|
|
|
|
|
|
|
- name: mirror vm exists |
|
|
|
|
command: "virsh dumpxml mirror > /dev/null 2>&1" |
|
|
|
|
check_mode: yes |
|
|
|
|
command: "virsh dumpxml mirror" |
|
|
|
|
changed_when: false |
|
|
|
|
ignore_errors: true |
|
|
|
|
register: vm_exists |
|
|
|
@ -51,7 +49,7 @@ |
|
|
|
|
- net-define {{ playbook_dir }}/templates/network.xml |
|
|
|
|
- net-autostart mirbr0 |
|
|
|
|
- net-start mirbr0 |
|
|
|
|
when: not net_exists.rc == 0 |
|
|
|
|
when: net_exists.rc != 0 |
|
|
|
|
|
|
|
|
|
- name: create storage pool |
|
|
|
|
command: "virsh {{ item }}" |
|
|
|
@ -60,7 +58,7 @@ |
|
|
|
|
- pool-build mirror |
|
|
|
|
- pool-autostart mirror |
|
|
|
|
- pool-start mirror |
|
|
|
|
when: not pool_exists.rc == 0 |
|
|
|
|
when: pool_exists.rc != 0 |
|
|
|
|
|
|
|
|
|
# hardcoded to 10G since modification would require change to user-data |
|
|
|
|
- name: create virtual disks |
|
|
|
@ -75,6 +73,8 @@ |
|
|
|
|
- { name: mirror_disk3.qcow2, size: 10G } |
|
|
|
|
- { name: mirror_disk4.qcow2, size: 10G } |
|
|
|
|
|
|
|
|
|
# does not exist yet |
|
|
|
|
# --os-variant ubuntu20.04 |
|
|
|
|
- name: create vm |
|
|
|
|
command: > |
|
|
|
|
virt-install |
|
|
|
@ -82,7 +82,7 @@ |
|
|
|
|
--memory=2048 |
|
|
|
|
--vcpus=1 |
|
|
|
|
--boot uefi |
|
|
|
|
--os-type linux --os-variant ubuntu20.04 |
|
|
|
|
--os-type linux |
|
|
|
|
--disk path={{ playbook_dir }}/vm/seed.qcow2,device=cdrom |
|
|
|
|
--disk vol=mirror/mirror_root1.qcow2 |
|
|
|
|
--disk vol=mirror/mirror_root2.qcow2 |
|
|
|
@ -93,7 +93,7 @@ |
|
|
|
|
--network bridge=mirbr0 |
|
|
|
|
--graphics vnc,port=5911,listen=127.0.0.1 |
|
|
|
|
--noautoconsole |
|
|
|
|
when: not vm_exists.rc == 0 |
|
|
|
|
when: vm_exists.rc != 0 |
|
|
|
|
# get user to set net.ipv4.ip_forward = 1 ? |
|
|
|
|
|
|
|
|
|
# in the vm to disable cloud-init run |
|
|
|
@ -103,6 +103,18 @@ |
|
|
|
|
# copy over pub key into /root/.ssh/authorized_keys |
|
|
|
|
# add line to ssh config that allows ssh as root |
|
|
|
|
|
|
|
|
|
# modprobe kvm_intel |
|
|
|
|
|
|
|
|
|
# depending on where you are installing may need to edit |
|
|
|
|
# /etc/libvirt/qemu.conf |
|
|
|
|
# user = "root" |
|
|
|
|
# group = "root" |
|
|
|
|
|
|
|
|
|
# then service libvirtd restart |
|
|
|
|
|
|
|
|
|
# adduser <youruser> libvirt |
|
|
|
|
# adduser -aG <youruser> libvirt |
|
|
|
|
|
|
|
|
|
# this should execute in order right? |
|
|
|
|
- name: setup mirror vm |
|
|
|
|
hosts: 192.168.123.2 |
|
|
|
|