ansible/tasks/virt_instance_create.yml
Ryan Lerch 3c41882bb0 ansiblelint fixes - fqcn[action-core] - shell to ansible.builtin.shell
Replaces references to shell: with ansible.builtin.shell

Signed-off-by: Ryan Lerch <rlerch@redhat.com>
2025-01-15 11:29:10 +10:00

71 lines
2.4 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
ansible.builtin.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
ansible.builtin.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