--- - name: "Create temp dir /tmp/{{ test_name }} for CI files" file: path: "/tmp/{{ test_name }}" state: directory mode: "0755" - name: Template vm files for CI job set_fact: vms_files: "{{ vms_files + [lookup('ansible.builtin.template', 'vm.yml.j2') | from_yaml] }}" vars: vms_files: [] loop: "{{ range(1, vm_count | int + 1, 1) | list }}" loop_control: index_var: vm_id - name: Start vms for CI job kubernetes.core.k8s: definition: "{{ item }}" changed_when: false loop: "{{ vms_files }}" - name: Wait for vms to have IP addresses kubernetes.core.k8s_info: api_version: kubevirt.io/v1 kind: VirtualMachineInstance label_selectors: - "ci_job_id={{ ci_job_id }}" namespace: "{{ pod_namespace }}" register: vmis until: vmis.resources | map(attribute='status.interfaces.0') | rejectattr('ipAddress', 'defined') == [] retries: 30 delay: 10 - name: "Create inventory for CI test in file /tmp/{{ test_name }}/inventory" template: src: "inventory.j2" dest: "{{ inventory_path }}" mode: "0644" vars: vms: "{{ vm_ips }}"