Files
fedora-infra_ansible/tasks/virt_instance_create.yml
Kevin Fenzi 6524d745d2 virt_instance_create: drop python3 handling
We don't have any python2 using virthosts left (except one)
so lets try dropping this special handling here and just let ansible
sort out that it should use python3.

Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2024-10-02 10:50:20 -07:00

71 lines
2.3 KiB
YAML

#
# This task is the thing that creates a vm for later use
#
- include_vars: dir=/srv/web/infra/ansible/vars/all/ ignore_files=README
- name: get vm list
delegate_to: "{{ vmhost }}"
virt: command=list_vms
register: result
check_mode: no
- name: ensure no old facts exist
delegate_to: localhost
file: path=/root/.ansible_facts_cache/{{ inventory_hostname }} state=absent
when: inventory_hostname not in result.list_vms
- name: ensure the lv for the guest is made
lvol: lv={{ inventory_hostname }} vg={{ volgroup }} size={{ lvm_size }} state=present
delegate_to: "{{ vmhost }}"
when: inventory_hostname not in result.list_vms
- name: run the virt-install
shell: "{{ virt_install_command }}"
delegate_to: "{{ vmhost }}"
when: inventory_hostname not in result.list_vms
- name: wait for the install to finish -> {{ inventory_hostname }}
virt: command=status name={{ inventory_hostname }}
register: vmstatus
until: vmstatus.status == 'shutdown'
delegate_to: "{{ vmhost }}"
retries: 1500
delay: 20
when: inventory_hostname not in result.list_vms
- name: start the vm up and set it to autostart
virt: state=running name={{ inventory_hostname }} autostart=True
delegate_to: "{{ vmhost }}"
when: inventory_hostname not in result.list_vms
- name: make sure there is no old ssh host key for the host still around
local_action: known_hosts path={{item}} host={{ inventory_hostname }} state=absent
ignore_errors: True
with_items:
- /root/.ssh/known_hosts
when: inventory_hostname not in result.list_vms
- name: wait for ssh on the vm to start back
local_action: wait_for delay=10 host={{ inventory_hostname }} port=22 state=started timeout=1200
when: inventory_hostname not in result.list_vms
- name: gather ssh host key from new instance
local_action: command ssh-keyscan -t rsa {{ inventory_hostname }}
ignore_errors: True
register: hostkey
when: inventory_hostname not in result.list_vms
- name: add new ssh host key (until we can sign it)
local_action: known_hosts path={{item}} key="{{ hostkey.stdout }}" host={{ inventory_hostname }} state=present
ignore_errors: True
with_items:
- /root/.ssh/known_hosts
when: inventory_hostname not in result.list_vms
- name: gather facts
setup:
check_mode: no
ignore_errors: True
register: facts
when: inventory_hostname not in result.list_vms