--- # ============================================================================= # Cloud-Init Tasks - Generate Cloud-Init Configuration # ============================================================================= - name: Create cloud-init directory file: path: /tmp/cloud-init-{{ deploy_linux_vm_name }} state: directory mode: '0755' tags: [cloud-init] - name: Create cloud-init meta-data template: src: meta-data.j2 dest: /tmp/cloud-init-{{ deploy_linux_vm_name }}/meta-data mode: '0644' tags: [cloud-init] - name: Create cloud-init user-data for Debian/Ubuntu template: src: user-data-debian.j2 dest: /tmp/cloud-init-{{ deploy_linux_vm_name }}/user-data mode: '0644' when: deploy_linux_vm_distro_config.family == "debian" no_log: true tags: [cloud-init] - name: Create cloud-init user-data for RHEL/CentOS/Rocky/Alma template: src: user-data-rhel.j2 dest: /tmp/cloud-init-{{ deploy_linux_vm_name }}/user-data mode: '0644' when: deploy_linux_vm_distro_config.family == "rhel" no_log: true tags: [cloud-init] - name: Create cloud-init user-data for SUSE/openSUSE template: src: user-data-suse.j2 dest: /tmp/cloud-init-{{ deploy_linux_vm_name }}/user-data mode: '0644' when: deploy_linux_vm_distro_config.family == "suse" no_log: true tags: [cloud-init] - name: Create cloud-init ISO command: > genisoimage -output {{ deploy_linux_vm_cloud_init_iso_path }} -volid cidata -joliet -rock /tmp/cloud-init-{{ deploy_linux_vm_name }}/user-data /tmp/cloud-init-{{ deploy_linux_vm_name }}/meta-data args: creates: "{{ deploy_linux_vm_cloud_init_iso_path }}" tags: [cloud-init] - name: Set proper permissions on cloud-init ISO (Debian/Ubuntu) file: path: "{{ deploy_linux_vm_cloud_init_iso_path }}" owner: libvirt-qemu group: kvm mode: '0644' when: ansible_os_family == "Debian" tags: [cloud-init] - name: Set proper permissions on cloud-init ISO (RHEL) file: path: "{{ deploy_linux_vm_cloud_init_iso_path }}" owner: qemu group: qemu mode: '0644' when: ansible_os_family == "RedHat" tags: [cloud-init]