From 8e3d941deb04c21c29b043940d4587e83a22eb55 Mon Sep 17 00:00:00 2001 From: Emiliano Vavassori Date: Tue, 7 Jul 2015 02:43:44 +0200 Subject: [PATCH] Aggiustamenti alla partenza da kickstarter: necessario inserire script per l'avvio di ansible-pull, del crontab e del logrotate. --- roles/pxe/files/ansible-pull-logrotate | 7 +++++++ roles/pxe/tasks/main.yml | 6 ++++++ roles/pxe/templates/ks/ansible-pull-crontab | 1 + roles/pxe/templates/ks/ansible-pull.sh | 9 +++++++++ roles/pxe/templates/ks/client-trusty.cfg | 3 ++- roles/pxe/templates/ks/post-ks.sh | 18 ++++++++++++++++++ 6 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 roles/pxe/files/ansible-pull-logrotate create mode 100644 roles/pxe/templates/ks/ansible-pull-crontab create mode 100644 roles/pxe/templates/ks/ansible-pull.sh diff --git a/roles/pxe/files/ansible-pull-logrotate b/roles/pxe/files/ansible-pull-logrotate new file mode 100644 index 0000000..dda038c --- /dev/null +++ b/roles/pxe/files/ansible-pull-logrotate @@ -0,0 +1,7 @@ +/var/lib/ansible-pull.log { + rotate 7 + daily + compress + missingok + notifempty +} diff --git a/roles/pxe/tasks/main.yml b/roles/pxe/tasks/main.yml index 1afb005..8ed3436 100644 --- a/roles/pxe/tasks/main.yml +++ b/roles/pxe/tasks/main.yml @@ -129,6 +129,12 @@ - docenti-trusty.cfg - ubuntu-trusty.cfg - post-ks.sh + - 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 }}" diff --git a/roles/pxe/templates/ks/ansible-pull-crontab b/roles/pxe/templates/ks/ansible-pull-crontab new file mode 100644 index 0000000..a313c67 --- /dev/null +++ b/roles/pxe/templates/ks/ansible-pull-crontab @@ -0,0 +1 @@ +@reboot root /var/lib/{{ domainfull }}/bin/ansible-pull.sh >>/var/log/ansible-pull.log 2>&1 diff --git a/roles/pxe/templates/ks/ansible-pull.sh b/roles/pxe/templates/ks/ansible-pull.sh new file mode 100644 index 0000000..af52e1c --- /dev/null +++ b/roles/pxe/templates/ks/ansible-pull.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +url=https://github.com/syntaxerrormmm/pulltest.git +repo=/var/lib/{{ domainfull }}/config +logfile=/var/lib/ansible-pull.log + +export https_proxy=https://{{ serverip }}:3128 +ansible-pull -d "${repo}" -U "${url}" +unset https_proxy diff --git a/roles/pxe/templates/ks/client-trusty.cfg b/roles/pxe/templates/ks/client-trusty.cfg index feba09a..d055eda 100644 --- a/roles/pxe/templates/ks/client-trusty.cfg +++ b/roles/pxe/templates/ks/client-trusty.cfg @@ -46,6 +46,7 @@ vim screen cifs-utils curl +git openssh-server software-properties-common libyaml-0-2 @@ -59,4 +60,4 @@ sshpass #Post installation commands %post #the target filesystem in nochroot environment is in /target -\curl -sSL http://{{ serverfqdn }}/ks/post-ks.sh | bash +\curl -sSL http://{{ serverfqdn }}/ks/post-ks.sh | bash >/root/post-ks.log 2>&1 diff --git a/roles/pxe/templates/ks/post-ks.sh b/roles/pxe/templates/ks/post-ks.sh index e323456..bf54ccc 100644 --- a/roles/pxe/templates/ks/post-ks.sh +++ b/roles/pxe/templates/ks/post-ks.sh @@ -10,3 +10,21 @@ export https_proxy=https://{{ serverip }}:3128 add-apt-repository -y ppa:ansible/ansible apt-get update && apt-get install -y ansible unset https_proxy + +# Creo directory dipendenti +install -d -o root -g root /var/lib/{{ domainfull }}/config +install -d -o root -g root /var/lib/{{ domainfull }}/bin + +# Installo lo script per l'avvio di ansible-pull da root +wget -q http://{{ serverfqdn }}/ks/ansible-pull.sh -O /tmp/ansible-pull.sh +install -m744 -o root -g root /tmp/ansible-pull.sh /var/lib/{{ domainfull }}/bin/ansible-pull.sh +rm -f /tmp/ansible-pull.sh + +# Installo il cronjob +wget -q http://{{ serverfqdn }}/ks/ansible-pull-crontab -O /tmp/ansible-pull-crontab +install -m644 -o root -g root /tmp/ansible-pull-crontab /etc/cron.d/ansible-pull +rm -f /tmp/ansible-pull-crontab +# Installo il logrotate +wget -q http://{{ serverfqdn }}/ks/ansible-pull-logrotate -O /tmp/ansible-pull-logrotate +install -m644 -o root -g root /tmp/ansible-pull-logrotate /etc/logrotate.d/ansible-pull +rm -f /tmp/ansible-pull-logrotate