From b8a8c0a09efb44fd0a2552cc0a553792373514f9 Mon Sep 17 00:00:00 2001 From: Emiliano Vavassori Date: Tue, 21 Jul 2015 22:08:10 +0200 Subject: [PATCH] Split pxe and kickstart roles. --- .../files/ansible-pull-logrotate | 0 roles/kickstart/meta/main.yml | 3 + roles/kickstart/tasks/kickstart.yml | 62 +++++++++++++++++++ roles/kickstart/tasks/main.yml | 5 ++ .../templates/post-ks}/ansible-pull-crontab | 0 .../templates/post-ks}/ansible-pull.sh | 0 .../templates/post-ks}/getvaultpass.py | 0 .../templates/post-ks}/post-ks.sh | 0 .../templates/profiles}/client-trusty.cfg | 0 .../templates/profiles}/docenti-trusty.cfg | 0 .../templates/profiles}/ubuntu-trusty.cfg | 0 roles/pxe/tasks/pxe.yml | 58 +---------------- roles/pxe/templates/pxelinux.cfg/default | 4 +- 13 files changed, 75 insertions(+), 57 deletions(-) rename roles/{pxe => kickstart}/files/ansible-pull-logrotate (100%) create mode 100644 roles/kickstart/meta/main.yml create mode 100644 roles/kickstart/tasks/kickstart.yml create mode 100644 roles/kickstart/tasks/main.yml rename roles/{pxe/templates/ks => kickstart/templates/post-ks}/ansible-pull-crontab (100%) rename roles/{pxe/templates/ks => kickstart/templates/post-ks}/ansible-pull.sh (100%) rename roles/{pxe/templates/ks => kickstart/templates/post-ks}/getvaultpass.py (100%) rename roles/{pxe/templates/ks => kickstart/templates/post-ks}/post-ks.sh (100%) rename roles/{pxe/templates/ks => kickstart/templates/profiles}/client-trusty.cfg (100%) rename roles/{pxe/templates/ks => kickstart/templates/profiles}/docenti-trusty.cfg (100%) rename roles/{pxe/templates/ks => kickstart/templates/profiles}/ubuntu-trusty.cfg (100%) diff --git a/roles/pxe/files/ansible-pull-logrotate b/roles/kickstart/files/ansible-pull-logrotate similarity index 100% rename from roles/pxe/files/ansible-pull-logrotate rename to roles/kickstart/files/ansible-pull-logrotate diff --git a/roles/kickstart/meta/main.yml b/roles/kickstart/meta/main.yml new file mode 100644 index 0000000..7474eff --- /dev/null +++ b/roles/kickstart/meta/main.yml @@ -0,0 +1,3 @@ +--- +dependencies: + - { role: pxe } diff --git a/roles/kickstart/tasks/kickstart.yml b/roles/kickstart/tasks/kickstart.yml new file mode 100644 index 0000000..b415109 --- /dev/null +++ b/roles/kickstart/tasks/kickstart.yml @@ -0,0 +1,62 @@ +--- +- name: Verifica configurazione ibay kickstart + shell: /sbin/e-smith/db accounts show ks + register: chk_ks_created + changed_when: chk_ks_created.rc != 0 + ignore_errors: yes + sudo: yes + +- name: Configurazione web kickstart + shell: /sbin/e-smith/db accounts set ks ibay Description "Kickstart share" GroupAccess rw HttpAccess private HttpAliasType default HttpAllowOverrideStatus disabled HttpForceSslStatus disabled HttpPasswordStatus disabled HttpStatus enabled HttpVirtualHost __ANY__ OtherAccess r OwningGroup locals SmbAuditStatus disabled SmbStatus disabled + when: chk_ks_created|failed + sudo: yes + +- name: Attivazione web kickstart + shell: /sbin/e-smith/signal-event ibay-create ks + when: chk_ks_created|failed + sudo: yes + +- name: Verifica presenza directory mirror + file: path=/var/spool/apt-mirror/mirror state=directory + register: chk_mirror_dir + ignore_errors: yes + sudo: yes + +- name: Collegamento directory mirror + file: path=/var/lib/nethserver/ibay/ks/mirror src=/var/spool/apt-mirror/mirror state=link + sudo: yes + when: chk_mirror_dir|success + +- name: Creazione directory kickstart + file: path=/var/lib/nethserver/ibay/ks/profiles state=directory + sudo: yes + +- name: Sovrascrivo la variabile mirrorpath se è su Virtualbox + set_fact: oldmirrorpath="{{ mirrorpath }}" mirrorpath="" + when: ansible_bios_version == "VirtualBox" + +- name: Copia profili kickstart + template: src=profiles/{{ item }} dest=/var/lib/nethserver/ibay/ks/profiles/{{ item }} + sudo: yes + with_items: + - client-trusty.cfg + - docenti-trusty.cfg + - ubuntu-trusty.cfg + +- name: Copia configurazioni kickstart + template: src=post-ks/{{ item }} dest=/var/lib/nethserver/ibay/ks/{{ item }} + sudo: yes + with_items: + - post-ks.sh + - getvaultpass.py + - ansible-pull.sh + - ansible-pull-crontab + +- name: Ripristino impostazioni mirrorpath + set_fact: mirrorpath="{{ oldmirrorpath }}" + when: ansible_bios_version == "VirtualBox" + +- name: Copio logrotate per configurazione pull + copy: src=ansible-pull-logrotate dest=/var/lib/nethserver/ibay/ks/ansible-pull-logrotate + sudo: yes + diff --git a/roles/kickstart/tasks/main.yml b/roles/kickstart/tasks/main.yml new file mode 100644 index 0000000..fe769db --- /dev/null +++ b/roles/kickstart/tasks/main.yml @@ -0,0 +1,5 @@ +--- +- include: kickstart.yml + tags: + - kickstart + - ks diff --git a/roles/pxe/templates/ks/ansible-pull-crontab b/roles/kickstart/templates/post-ks/ansible-pull-crontab similarity index 100% rename from roles/pxe/templates/ks/ansible-pull-crontab rename to roles/kickstart/templates/post-ks/ansible-pull-crontab diff --git a/roles/pxe/templates/ks/ansible-pull.sh b/roles/kickstart/templates/post-ks/ansible-pull.sh similarity index 100% rename from roles/pxe/templates/ks/ansible-pull.sh rename to roles/kickstart/templates/post-ks/ansible-pull.sh diff --git a/roles/pxe/templates/ks/getvaultpass.py b/roles/kickstart/templates/post-ks/getvaultpass.py similarity index 100% rename from roles/pxe/templates/ks/getvaultpass.py rename to roles/kickstart/templates/post-ks/getvaultpass.py diff --git a/roles/pxe/templates/ks/post-ks.sh b/roles/kickstart/templates/post-ks/post-ks.sh similarity index 100% rename from roles/pxe/templates/ks/post-ks.sh rename to roles/kickstart/templates/post-ks/post-ks.sh diff --git a/roles/pxe/templates/ks/client-trusty.cfg b/roles/kickstart/templates/profiles/client-trusty.cfg similarity index 100% rename from roles/pxe/templates/ks/client-trusty.cfg rename to roles/kickstart/templates/profiles/client-trusty.cfg diff --git a/roles/pxe/templates/ks/docenti-trusty.cfg b/roles/kickstart/templates/profiles/docenti-trusty.cfg similarity index 100% rename from roles/pxe/templates/ks/docenti-trusty.cfg rename to roles/kickstart/templates/profiles/docenti-trusty.cfg diff --git a/roles/pxe/templates/ks/ubuntu-trusty.cfg b/roles/kickstart/templates/profiles/ubuntu-trusty.cfg similarity index 100% rename from roles/pxe/templates/ks/ubuntu-trusty.cfg rename to roles/kickstart/templates/profiles/ubuntu-trusty.cfg diff --git a/roles/pxe/tasks/pxe.yml b/roles/pxe/tasks/pxe.yml index b8336ee..4076c6a 100644 --- a/roles/pxe/tasks/pxe.yml +++ b/roles/pxe/tasks/pxe.yml @@ -18,34 +18,6 @@ when: chk_tftp_enabled|changed sudo: yes -- name: Verifica configurazione ibay kickstart - shell: /sbin/e-smith/db accounts show ks - register: chk_ks_created - changed_when: chk_ks_created.rc != 0 - ignore_errors: yes - sudo: yes - -- name: Configurazione web kickstart - shell: /sbin/e-smith/db accounts set ks ibay Description "Kickstart share" GroupAccess rw HttpAccess private HttpAliasType default HttpAllowOverrideStatus disabled HttpForceSslStatus disabled HttpPasswordStatus disabled HttpStatus enabled HttpVirtualHost __ANY__ OtherAccess r OwningGroup locals SmbAuditStatus disabled SmbStatus disabled - when: chk_ks_created|failed - sudo: yes - -- name: Attivazione web kickstart - shell: /sbin/e-smith/signal-event ibay-create ks - when: chk_ks_created|failed - sudo: yes - -- name: Verifica presenza directory mirror - file: path=/var/spool/apt-mirror/mirror state=directory - register: chk_mirror_dir - ignore_errors: yes - sudo: yes - -- name: Collegamento directory mirror - file: path=/var/lib/nethserver/ibay/ks/mirror src=/var/spool/apt-mirror/mirror state=link - sudo: yes - when: chk_mirror_dir|success - - name: Creo directory necessarie file: path={{ item }} state=directory with_items: @@ -101,42 +73,18 @@ - name: memdisk get_url: - url: http://syntaxerrormmm.zapto.org/pxe-bootimg/memdisk + url: http://sys42.eu/pxe-bootimg/memdisk dest: /var/lib/tftpboot/utils/memdisk sudo: yes - name: memtest86 get_url: - url: http://syntaxerrormmm.zapto.org/pxe-bootimg/memtest86/vmlinuz + url: http://sys42.eu/pxe-bootimg/memtest86/vmlinuz dest: /var/lib/tftpboot/utils/memtest86/vmlinuz sudo: yes - name: hdt get_url: - url: http://syntaxerrormmm.zapto.org/pxe-bootimg/hdt.img + url: http://sys42.eu/pxe-bootimg/hdt.img dest: /var/lib/tftpboot/utils/hdt.img sudo: yes - -- name: Sovrascrivo la variabile mirrorpath se è su Virtualbox - set_fact: oldmirrorpath="{{ mirrorpath }}" mirrorpath="" - when: ansible_bios_version == "VirtualBox" - -- name: Copia configurazioni kickstart - template: src=ks/{{ item }} dest=/var/lib/nethserver/ibay/ks/{{ item }} - sudo: yes - with_items: - - client-trusty.cfg - - docenti-trusty.cfg - - ubuntu-trusty.cfg - - post-ks.sh - - getvaultpass.py - - ansible-pull.sh - - ansible-pull-crontab - -- name: Copio logrotate per configurazione pull - copy: src=ansible-pull-logrotate dest=/var/lib/nethserver/ibay/ks/ansible-pull-logrotate - sudo: yes - -- name: Ripristino impostazioni mirrorpath - set_fact: mirrorpath="{{ oldmirrorpath }}" - when: ansible_bios_version == "VirtualBox" diff --git a/roles/pxe/templates/pxelinux.cfg/default b/roles/pxe/templates/pxelinux.cfg/default index 0433521..2ae35d9 100644 --- a/roles/pxe/templates/pxelinux.cfg/default +++ b/roles/pxe/templates/pxelinux.cfg/default @@ -9,13 +9,13 @@ LABEL client MENU LABEL Installa nuova macchina CLIENT LINUX /ubuntu/14.04/amd64/linux INITRD /ubuntu/14.04/amd64/initrd.gz - APPEND vga=normal ks=http://{{ serverfqdn }}/ks/client-trusty.cfg -- quiet + APPEND vga=normal ks=http://{{ serverfqdn }}/ks/profiles/client-trusty.cfg -- quiet LABEL docenti MENU LABEL Installa nuova macchina DOCENTI LINUX /ubuntu/14.04/amd64/linux INITRD /ubuntu/14.04/amd64/initrd.gz - APPEND vga=normal ks=http://{{ serverfqdn }}/ks/docenti-trusty.cfg -- quiet + APPEND vga=normal ks=http://{{ serverfqdn }}/ks/profiles/docenti-trusty.cfg -- quiet MENU SEPARATOR