seperate directory for every host

This commit is contained in:
Alexander Gabriel 2022-07-21 21:47:20 +02:00
parent 4ae019a512
commit 1987344d15
2 changed files with 37 additions and 27 deletions

View File

@ -1,4 +1,14 @@
--- ---
- name: check if iso exists
stat:
path: "{{ playbook_dir }}/debian-11.4.0-amd64-netinst-unattended-{{ inventory_hostname }}.iso"
delegate_to: localhost
register: iso_exists
- name: stop when facts not set to download Packages
meta: end_play
when: iso_exists.stat.exists
- name: install stuff - name: install stuff
apt: apt:
name: name:
@ -10,51 +20,51 @@
- name: create project directory - name: create project directory
file: file:
dest: /opt/ansiblepackages/debianunattended dest: "/opt/ansiblepackages/debianunattended/{{ inventory_hostname }}"
state: directory state: directory
delegate_to: localhost delegate_to: localhost
- name: Download ISO Image - name: Download ISO Image
get_url: get_url:
url: "https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-11.3.0-amd64-netinst.iso" url: "https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-11.4.0-amd64-netinst.iso"
dest: "/opt/ansiblepackages/debianunattended/debian-11.3.0-amd64-netinst.iso" dest: "/opt/ansiblepackages/debianunattended/debian-11.4.0-amd64-netinst.iso"
delegate_to: localhost delegate_to: localhost
- name: delete old stuff - name: delete old stuff
file: file:
path: /opt/ansiblepackages/debianunattended/isofiles/ path: "/opt/ansiblepackages/debianunattended/{{ inventory_hostname }}/isofiles/"
state: absent state: absent
delegate_to: localhost delegate_to: localhost
- name: extract ISO Image - name: extract ISO Image
command: xorriso -osirrox on -indev /opt/ansiblepackages/debianunattended/debian-11.3.0-amd64-netinst.iso -extract / /opt/ansiblepackages/debianunattended/isofiles/ command: "xorriso -osirrox on -indev /opt/ansiblepackages/debianunattended/debian-11.4.0-amd64-netinst.iso -extract / /opt/ansiblepackages/debianunattended/{{ inventory_hostname }}/isofiles/"
args: args:
creates: /opt/ansiblepackages/debianunattended/isofiles/install.amd/initrd.gz creates: "/opt/ansiblepackages/debianunattended/{{ inventory_hostname }}/isofiles/install.amd/initrd.gz"
delegate_to: localhost delegate_to: localhost
- name: generate /opt/ansiblepackages/debianunattended/preseed.cfg - name: generate /opt/ansiblepackages/debianunattended/{{ inventory_hostname }}/preseed.cfg
template: template:
src: preseed.cfg.j2 src: preseed.cfg.j2
dest: /opt/ansiblepackages/debianunattended/preseed.cfg dest: "/opt/ansiblepackages/debianunattended/{{ inventory_hostname }}/preseed.cfg"
delegate_to: localhost delegate_to: localhost
- name: generate /opt/ansiblepackages/debianunattended/md5sum.sh - name: generate /opt/ansiblepackages/debianunattended/{{ inventory_hostname }}/md5sum.sh
template: template:
src: md5sum.sh.j2 src: md5sum.sh.j2
mode: "0755" mode: "0755"
dest: /opt/ansiblepackages/debianunattended/md5sum.sh dest: "/opt/ansiblepackages/debianunattended/{{ inventory_hostname }}/md5sum.sh"
delegate_to: localhost delegate_to: localhost
- name: generate /opt/ansiblepackages/debianunattended/mergepreseed.sh - name: generate /opt/ansiblepackages/debianunattended/{{ inventory_hostname }}/mergepreseed.sh
template: template:
src: mergepreseed.sh.j2 src: mergepreseed.sh.j2
mode: "0755" mode: "0755"
dest: /opt/ansiblepackages/debianunattended/mergepreseed.sh dest: "/opt/ansiblepackages/debianunattended/{{ inventory_hostname }}/mergepreseed.sh"
delegate_to: localhost delegate_to: localhost
- name: set permissions - name: set permissions
file: file:
dest: /opt/ansiblepackages/debianunattended/isofiles/install.amd/ dest: "/opt/ansiblepackages/debianunattended/{{ inventory_hostname }}/isofiles/install.amd/"
mode: +w mode: +w
recurse: yes recurse: yes
delegate_to: localhost delegate_to: localhost
@ -62,67 +72,67 @@
- name: Extract isofiles/install.amd/initrd.gz - name: Extract isofiles/install.amd/initrd.gz
command: gunzip isofiles/install.amd/initrd.gz command: gunzip isofiles/install.amd/initrd.gz
args: args:
chdir: /opt/ansiblepackages/debianunattended/ chdir: "/opt/ansiblepackages/debianunattended/{{ inventory_hostname }}/"
delegate_to: localhost delegate_to: localhost
- name: merge preseed.cfg - name: merge preseed.cfg
command: /opt/ansiblepackages/debianunattended/mergepreseed.sh command: "/opt/ansiblepackages/debianunattended/{{ inventory_hostname }}/mergepreseed.sh"
delegate_to: localhost delegate_to: localhost
- name: generate /opt/ansiblepackages/debianunattended/isofiles/late_command.sh - name: generate /opt/ansiblepackages/debianunattended/{{ inventory_hostname }}/isofiles/late_command.sh
template: template:
src: late_command.sh.j2 src: late_command.sh.j2
mode: "0755" mode: "0755"
dest: /opt/ansiblepackages/debianunattended/isofiles/late_command.sh dest: "/opt/ansiblepackages/debianunattended/{{ inventory_hostname }}/isofiles/late_command.sh"
delegate_to: localhost delegate_to: localhost
- name: copy authorized_keys file - name: copy authorized_keys file
copy: copy:
src: files/authorized_keys src: files/authorized_keys
dest: /opt/ansiblepackages/debianunattended/isofiles/authorized_keys dest: "/opt/ansiblepackages/debianunattended/{{ inventory_hostname }}/isofiles/authorized_keys"
delegate_to: localhost delegate_to: localhost
- name: copy sudoers file - name: copy sudoers file
copy: copy:
src: files/sudoers src: files/sudoers
dest: /opt/ansiblepackages/debianunattended/isofiles/sudoers dest: "/opt/ansiblepackages/debianunattended/{{ inventory_hostname }}/isofiles/sudoers"
delegate_to: localhost delegate_to: localhost
- name: compress isofiles/install.amd/initrd - name: compress isofiles/install.amd/initrd
command: gzip isofiles/install.amd/initrd command: gzip isofiles/install.amd/initrd
args: args:
chdir: /opt/ansiblepackages/debianunattended/ chdir: "/opt/ansiblepackages/debianunattended/{{ inventory_hostname }}/"
delegate_to: localhost delegate_to: localhost
- name: set permissions - name: set permissions
file: file:
dest: /opt/ansiblepackages/debianunattended/isofiles/install.amd/ dest: "/opt/ansiblepackages/debianunattended/{{ inventory_hostname }}/isofiles/install.amd/"
mode: -w mode: -w
recurse: yes recurse: yes
delegate_to: localhost delegate_to: localhost
- name: set permissions - name: set permissions
file: file:
dest: /opt/ansiblepackages/debianunattended/isofiles/md5sum.txt dest: "/opt/ansiblepackages/debianunattended/{{ inventory_hostname }}/isofiles/md5sum.txt"
mode: +w mode: +w
delegate_to: localhost delegate_to: localhost
- name: generate md5sums - name: generate md5sums
command: /opt/ansiblepackages/debianunattended/md5sum.sh command: "/opt/ansiblepackages/debianunattended/{{ inventory_hostname }}/md5sum.sh"
delegate_to: localhost delegate_to: localhost
- name: set permissions - name: set permissions
file: file:
dest: /opt/ansiblepackages/debianunattended/isofiles/md5sum.txt dest: "/opt/ansiblepackages/debianunattended/{{ inventory_hostname }}/isofiles/md5sum.txt"
mode: -w mode: -w
delegate_to: localhost delegate_to: localhost
- name: set permissions - name: set permissions
file: file:
dest: /opt/ansiblepackages/debianunattended/isofiles/isolinux/isolinux.bin dest: "/opt/ansiblepackages/debianunattended/{{ inventory_hostname }}/isofiles/isolinux/isolinux.bin"
mode: +w mode: +w
delegate_to: localhost delegate_to: localhost
- name: genisoimage - name: genisoimage
command: "genisoimage -r -J -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o {{ playbook_dir }}/debian-11.3.0-amd64-netinst-unattended-{{ inventory_hostname }}.iso /opt/ansiblepackages/debianunattended/isofiles" command: "genisoimage -r -J -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o {{ playbook_dir }}/debian-11.4.0-amd64-netinst-unattended-{{ inventory_hostname }}.iso /opt/ansiblepackages/debianunattended/{{ inventory_hostname }}/isofiles"
delegate_to: localhost delegate_to: localhost

View File

@ -1,3 +1,3 @@
#!/bin/sh #!/bin/sh
cd /opt/ansiblepackages/debianunattended cd /opt/ansiblepackages/debianunattended/{{ inventory_hostname }}
echo preseed.cfg | cpio -H newc -o -A -F isofiles/install.amd/initrd echo preseed.cfg | cpio -H newc -o -A -F isofiles/install.amd/initrd