From 7f801d207c9cd74e78067696ea157612557ef563 Mon Sep 17 00:00:00 2001 From: Emiliano Vavassori Date: Mon, 7 Sep 2015 22:06:17 +0200 Subject: [PATCH] Requesting doraemon version 1.1.1. Correctly managing client/docenti configuration. --- roles/doraemon/defaults/main.yml | 2 +- roles/kickstart/tasks/kickstart.yml | 5 ++- .../{post-ks.sh => post-client-ks.sh} | 0 roles/kickstart/templates/post-docenti-ks.sh | 35 +++++++++++++++++++ .../templates/profiles/client-trusty.cfg | 2 +- .../templates/profiles/docenti-trusty.cfg | 21 +++++++---- 6 files changed, 55 insertions(+), 10 deletions(-) rename roles/kickstart/templates/{post-ks.sh => post-client-ks.sh} (100%) create mode 100644 roles/kickstart/templates/post-docenti-ks.sh diff --git a/roles/doraemon/defaults/main.yml b/roles/doraemon/defaults/main.yml index 889b6a9..5a684ac 100644 --- a/roles/doraemon/defaults/main.yml +++ b/roles/doraemon/defaults/main.yml @@ -1,2 +1,2 @@ --- -doraemon_version: 1.1.0-1 +doraemon_version: 1.1.1-1 diff --git a/roles/kickstart/tasks/kickstart.yml b/roles/kickstart/tasks/kickstart.yml index c24f499..fc5f508 100644 --- a/roles/kickstart/tasks/kickstart.yml +++ b/roles/kickstart/tasks/kickstart.yml @@ -48,5 +48,8 @@ - docenti-trusty.cfg - name: Copia configurazioni kickstart - template: src=post-ks.sh dest=/var/lib/nethserver/ibay/ks/post-ks.sh + template: src="post-{{ item }}-ks.sh" "dest=/var/lib/nethserver/ibay/ks/post-{{ item }}-ks.sh" + with_items: + - client + - docenti sudo: yes diff --git a/roles/kickstart/templates/post-ks.sh b/roles/kickstart/templates/post-client-ks.sh similarity index 100% rename from roles/kickstart/templates/post-ks.sh rename to roles/kickstart/templates/post-client-ks.sh diff --git a/roles/kickstart/templates/post-docenti-ks.sh b/roles/kickstart/templates/post-docenti-ks.sh new file mode 100644 index 0000000..6545df4 --- /dev/null +++ b/roles/kickstart/templates/post-docenti-ks.sh @@ -0,0 +1,35 @@ +#!/bin/bash + +# Cambio username con quello fornito da servizio +TARGETHOSTNAME=$(wget -qO- http://{{ ansible_local.domain.serverfqdn }}:3000/whatsmyhostname?role=docenti) +echo $TARGETHOSTNAME > /etc/hostname +sed -i "s/kickseed/$TARGETHOSTNAME/g" /etc/hosts + +# Installo l'ultimo ansible per ansible-pull +export https_proxy=https://{{ ansible_local.domain.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/{{ ansible_local.domain.domainfull }}/config +install -d -o root -g root /var/lib/{{ ansible_local.domain.domainfull }}/bin + +# Installo lo script per la decrittazione della password del vault +wget -q http://{{ ansible_local.domain.serverfqdn }}/ks/ansible-pull/getvaultpass.py -O /tmp/getvaultpass.py +install -m744 -o root -g root /tmp/getvaultpass.py /var/lib/{{ ansible_local.domain.domainfull}}/bin/getvaultpass.py +rm -f /tmp/getvaultpass.py + +# Installo lo script per l'avvio di ansible-pull da root +wget -q http://{{ ansible_local.domain.serverfqdn }}/ks/ansible-pull/run.sh -O /tmp/ansible-pull.sh +install -m744 -o root -g root /tmp/ansible-pull.sh /var/lib/{{ ansible_local.domain.domainfull }}/bin/ansible-pull.sh +rm -f /tmp/ansible-pull.sh + +# Installo il cronjob +wget -q http://{{ ansible_local.domain.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://{{ ansible_local.domain.serverfqdn }}/ks/ansible-pull/logrotate -O /tmp/ansible-pull-logrotate +install -m644 -o root -g root /tmp/ansible-pull-logrotate /etc/logrotate.d/ansible +rm -f /tmp/ansible-pull-logrotate diff --git a/roles/kickstart/templates/profiles/client-trusty.cfg b/roles/kickstart/templates/profiles/client-trusty.cfg index 748d43f..c7aa299 100644 --- a/roles/kickstart/templates/profiles/client-trusty.cfg +++ b/roles/kickstart/templates/profiles/client-trusty.cfg @@ -66,4 +66,4 @@ sshpass #Post installation commands %post #the target filesystem in nochroot environment is in /target -\curl -sSL http://{{ ansible_local.domain.serverfqdn }}/ks/post-ks.sh | bash >/root/post-ks.log 2>&1 +\curl -sSL http://{{ ansible_local.domain.serverfqdn }}/ks/post-client-ks.sh | bash >/root/post-ks.log 2>&1 diff --git a/roles/kickstart/templates/profiles/docenti-trusty.cfg b/roles/kickstart/templates/profiles/docenti-trusty.cfg index 3ac7514..e11e582 100644 --- a/roles/kickstart/templates/profiles/docenti-trusty.cfg +++ b/roles/kickstart/templates/profiles/docenti-trusty.cfg @@ -47,16 +47,23 @@ skipx services --enabled=openssh #Install packages %packages -@ ubuntu-desktop -@ edubuntu-desktop -@ ubuntu-edu-secondary +dialog vim screen cifs-utils +curl +git openssh-server +software-properties-common +libyaml-0-2 +python-jinja2 +python-markupsafe +python-paramiko +python-support +python-yaml +python-crypto +sshpass #Post installation commands -%post --nochroot +%post #the target filesystem in nochroot environment is in /target -TARGETHOSTNAME=$(wget -qO- http://{{ ansible_local.domain.serverfqdn }}:3000/whatsmyhostname) -echo $TARGETHOSTNAME > /target/etc/hostname -sed -i "s/kickseed/$TARGETHOSTNAME/g" /target/etc/hosts +\curl -sSL http://{{ ansible_local.domain.serverfqdn }}/ks/post-docenti-ks.sh | bash >/root/post-ks.log 2>&1