X-Git-Url: https://git.realraum.at/?a=blobdiff_plain;f=ansible%2Froles%2Fvm%2Finstall%2Ftasks%2Fmain.yml;fp=ansible%2Froles%2Fvm%2Finstall%2Ftasks%2Fmain.yml;h=505ec1d0342eb718f25e309e8b90a199da1a634c;hb=782d606069d9dbeebe85a2a797a077c0c177de4b;hp=16034838f193af2a4dd4ea7031a2940218e64358;hpb=6bb47a9c4945173b60b3bc4d337a59d7cbdc141d;p=noc.git diff --git a/ansible/roles/vm/install/tasks/main.yml b/ansible/roles/vm/install/tasks/main.yml index 1603483..505ec1d 100644 --- a/ansible/roles/vm/install/tasks/main.yml +++ b/ansible/roles/vm/install/tasks/main.yml @@ -1,8 +1,36 @@ --- -- name: generate preseed file - template: - src: "preseed_{{ vmdistro }}-{{ vmdistcodename }}.cfg.j2" - dest: "{{ vm_host.installer.preseed_path }}/vm-{{ vmname }}-{{ vmdistro }}-{{ vmdistcodename }}.cfg" +- block: + - name: Make a temporary directory + command: mktemp -d + register: tmpdir + + - set_fact: + tmpdir: "{{ tmpdir.stdout }}" + initramfs: "{{ vm_host.installer.preseed_path }}/vm-{{ vmname }}-{{ vmdistro }}-{{ vmdistcodename }}.initrd.gz" + + - name: Copy initramfs into position + copy: + remote_src: yes + src: "{{ vm_host.installer.path }}/{{ vmdistro }}-{{ vmdistcodename }}/{{ hostvars[vmname].vm_install_cooked.arch | default('amd64') }}/initrd.gz" + dest: "{{ initramfs }}" + + - name: generate preseed file + template: + src: "preseed_{{ vmdistro }}-{{ vmdistcodename }}.cfg.j2" + dest: "{{ tmpdir }}/preseed.cfg" + + - name: Inject files into initramfs + shell: cpio -H newc -o | gzip -9 >> {{ initramfs }} + args: + chdir: "{{ tmpdir }}" + stdin: | + preseed.cfg + + always: + - name: Delete temporary directory + file: + path: "{{ tmpdir }}" + state: absent - name: create disks for vm with_dict: "{{ hostvars[vmname].vm_install_cooked.disks.virtio | default({}) | combine(hostvars[vmname].vm_install_cooked.disks.scsi | default({})) }}"