diff --git a/roles/client-install/meta/main.yml b/roles/client-install/meta/main.yml index ca8d80c..6db33fe 100644 --- a/roles/client-install/meta/main.yml +++ b/roles/client-install/meta/main.yml @@ -1,8 +1,8 @@ --- dependencies: + - { role: ubuntu-mirror, tags: [ 'client-install' ] } - { role: preseed, tags: [ 'client-install' ] } - { role: ansible-pull, tags: [ 'client-install' ] } - - { role: ubuntu-mirror, tags: [ 'client-install' ] } - { role: doraemon, tags: [ 'client-install' ] } - { role: npm, tags: [ 'client-install' ] } - { role: git-daemon, tags: [ 'client-install' ] } diff --git a/roles/nethcfg/tasks/main.yml b/roles/nethcfg/tasks/main.yml index 2ed8eaa..e038d4e 100644 --- a/roles/nethcfg/tasks/main.yml +++ b/roles/nethcfg/tasks/main.yml @@ -3,7 +3,6 @@ # Network interfaces - include: network.yml - when: development|bool become: yes tags: - network diff --git a/roles/nethcfg/tasks/samba.yml b/roles/nethcfg/tasks/samba.yml index 04a356f..ab1d422 100644 --- a/roles/nethcfg/tasks/samba.yml +++ b/roles/nethcfg/tasks/samba.yml @@ -13,25 +13,52 @@ # SAMBA +- name: "Verifying modifications on templates-custom." + shell: grep -q 'server signing = mandatory' /etc/e-smith/templates-custom/etc/samba/smb.conf/10global + register: check_tempcust + changed_when: check_tempcust.rc != 0 + ignore_errors: true + +- name: "Create directory structure for templates-custom" + file: + path: "/etc/e-smith/templates-custom/etc/samba/smb.conf" + owner: root + group: root + mode: 0755 + state: directory + when: check_tempcust|changed + +- name: "Copying settings from default." + copy: + src: /etc/e-smith/templates/etc/samba/smb.conf/10global + dest: /etc/e-smith/templates-custom/etc/samba/smb.conf/10global + remote_src: true + owner: root + group: root + mode: 0644 + when: check_tempcust|changed + +- name: "Enabling unix extensions on SAMBA" + replace: + dest: /etc/e-smith/templates-custom/etc/samba/smb.conf/10global + regexp: '^unix extensions = no$' + replace: 'unix extensions = yes' + when: check_tempcust|changed + +- name: Adding server signing as mandatory + lineinfile: + dest: /etc/e-smith/templates-custom/etc/samba/smb.conf/10global + line: "server signing = mandatory" + insertafter: "^workgroup = " + state: present + when: check_tempcust|changed + - name: Checking SMB configuration shell: /sbin/e-smith/db configuration printprop smb RoamingProfiles register: chk_smb changed_when: "'RoamingProfiles=yes' not in chk_smb.stdout" ignore_errors: true -- name: "Enabling unix extensions on SAMBA" - replace: - dest: /etc/e-smith/templates/etc/samba/smb.conf/10global - regexp: '^unix extensions = no$' - replace: 'unix extensions = yes' - -- name: Adding server signing as mandatory - lineinfile: - dest: /etc/e-smith/templates/etc/samba/smb.conf/10global - line: "server signing = mandatory" - insertafter: "^workgroup = " - state: present - - name: Configuring SMB shell: /sbin/e-smith/db configuration setprop smb RoamingProfiles yes ServerRole PDC Workgroup "{{ ansible_local.domain.domainshort }}" status enabled when: chk_smb|changed @@ -59,12 +86,12 @@ register: chk_shared - name: Copying default templates for shared template type - shell: cp -r /etc/e-smith/templates/etc/samba/smb.conf/ibay-default /etc/e-smith/templates/etc/samba/smb.conf/ibay-shared + shell: cp -r /etc/e-smith/templates/etc/samba/smb.conf/ibay-default /etc/e-smith/templates-custom/etc/samba/smb.conf/ibay-shared when: force_ibay_shared|bool or chk_shared|failed - name: Configuring ibay-shared template structure (directory mask) lineinfile: - dest: /etc/e-smith/templates/etc/samba/smb.conf/ibay-shared/20profile_default + dest: /etc/e-smith/templates-custom/etc/samba/smb.conf/ibay-shared/20profile_default line: 'directory mask = 0775' insertafter: '^create mask' state: present @@ -72,7 +99,7 @@ - name: Configuring force create mode lineinfile: - dest: /etc/e-smith/templates/etc/samba/smb.conf/ibay-shared/20profile_default + dest: /etc/e-smith/templates-custom/etc/samba/smb.conf/ibay-shared/20profile_default line: 'force create mode = 0664' insertafter: '^directory mask' state: present @@ -80,7 +107,7 @@ - name: Configuring force directory mode lineinfile: - dest: /etc/e-smith/templates/etc/samba/smb.conf/ibay-shared/20profile_default + dest: /etc/e-smith/templates-custom/etc/samba/smb.conf/ibay-shared/20profile_default line: 'force directory mode = 0775' insertafter: '^force create mode' state: present @@ -100,13 +127,18 @@ become: yes when: force_ibay_shared|bool or chk_shared|failed +- name: Saving new version of smb.conf + shell: /sbin/e-smith/signal-event nethserver-samba-save + become: yes + when: check_tempcust|changed + - name: Forcing regeneration of smb.conf shell: /sbin/e-smith/signal-event nethserver-samba-update become: yes - when: force_ibay_shared|bool or chk_shared|failed + when: force_ibay_shared|bool or chk_shared|failed or check_tempcust|changed # Fixing issue #3 - Configure sudo access for admin on server for operator -# access +# access # https://github.com/bglug-it/server-config/issues/3 - name: Configuring sudo access for admin account lineinfile: diff --git a/roles/preseed/tasks/preseed.yml b/roles/preseed/tasks/preseed.yml index 276b30c..36a339e 100644 --- a/roles/preseed/tasks/preseed.yml +++ b/roles/preseed/tasks/preseed.yml @@ -47,6 +47,7 @@ - edubuntu.seed - client-trusty.seed - docenti-trusty.seed + - aula-trusty.seed become: yes - block: @@ -72,6 +73,7 @@ with_items: - postseed-client.sh - postseed-docenti.sh + - postseed-aula.sh - pulseaudio-perms.sh - checksum.fact become: yes diff --git a/roles/preseed/tasks/repoconfig.yml b/roles/preseed/tasks/repoconfig.yml index 838d75b..3fcad32 100644 --- a/roles/preseed/tasks/repoconfig.yml +++ b/roles/preseed/tasks/repoconfig.yml @@ -32,4 +32,6 @@ - bglug-trusty.list - ansible-ansible-trusty.list - libreoffice-ppa-trusty.list + - epoptes-ppa-trusty.list + - geogebra-stable.list become: yes diff --git a/roles/preseed/templates/preseed/aula-trusty.seed b/roles/preseed/templates/preseed/aula-trusty.seed new file mode 100644 index 0000000..a8a2d0a --- /dev/null +++ b/roles/preseed/templates/preseed/aula-trusty.seed @@ -0,0 +1,134 @@ +# No questions if possible +debconf debconf/priority string critical + +# Localization - Italiano +d-i debian-installer/locale string it_IT.UTF-8 +d-i debian-installer/supported-locales multiselect it_IT it_IT@euro en_US en_US.UTF-8 + +# Keyboard settings +d-i console-setup/ask_detect boolean false +d-i keyboard-configuration/layoutcode string it + +# Network +d-i netcfg/choose_interface select auto + +# Adjust the default hostname. +d-i netcfg/hostname string kickseed + +# Enabling non-free firmware +d-i hw-detect/load_firmware boolean true + +# Setting up repositories from local mirror +d-i mirror/country string manual +d-i mirror/protocol string http +d-i mirror/http/hostname string {{ mirror_host }} +d-i mirror/http/directory string {{ mirror_path }} +d-i mirror/http/proxy string +d-i mirror/suite string trusty + +# Apt-setup additional repos +d-i apt-setup/services-select multiselect security, updates +d-i apt-setup/security_host string {{ mirror_security_host }} +d-i apt-setup/security_path string {{ mirror_security_path }} + +# Additional repos +d-i apt-setup/multiverse boolean true +d-i apt-setup/universe boolean true +d-i apt-setup/restricted boolean true +d-i apt-setup/partner boolean true + +# Setup and enable libreoffice PPA +d-i apt-setup/local0/repository string http://{{ execpath }}ppa.launchpad.net/libreoffice/ppa/ubuntu trusty main +d-i apt-setup/local0/comment string LibreOffice Official PPA +d-i apt-setup/local0/key string http://keyserver.ubuntu.com:11371/pks/lookup?search=0x36E81C9267FD1383FCC4490983FBA1751378B444&op=get + +# Setup and enable ansible PPA +d-i apt-setup/local1/repository string http://{{ execpath }}ppa.launchpad.net/ansible/ansible/ubuntu trusty main +d-i apt-setup/local1/comment string Ansible Official PPA +d-i apt-setup/local1/key string http://keyserver.ubuntu.com:11371/pks/lookup?search=0x6125E2A8C77F2818FB7BD15B93C4A3FD7BB9C367&op=get + +# Setup and enable epoptes PPA +d-i apt-setup/local2/repository string http://{{ execpath }}ppa.launchpad.net/epoptes/ppa/ubuntu trusty main +d-i apt-setup/local2/comment string Epoptes stable repository +d-i apt-setup/local2/key string http://keyserver.ubuntu.com:11371/pks/lookup?search=0x2D9B9274D3DF9D7CD7281A3E49F26CB30350B375&op=get + +# Setup and enable geogebra repository +d-i apt-setup/local3/repository string http://{{ execpath }}/www.geogebra.net/linux stable main +d-i apt-setup/local3/comment string Geogebra Official repository +d-i apt-setup/local3/key string http://www.geogebra.net/linux/office@geogebra.org.gpg.key.new + +# Time and date +d-i clock-setup/utc boolean true +d-i time/zone string Europe/Rome +d-i clock-setup/ntp boolean true +d-i clock-setup/ntp-server string {{ ansible_local.domain.ntpserver }} + +# User creation +d-i passwd/user-fullname string BgLUG User +d-i passwd/username string bglug +d-i passwd/user-password-crypted password $6$S8u22loyR$RJZUtmnqmadvas13BxjPkBjdcF1o6P0xGtweZ9MkUCKIbyzmzQFxvwPTwoX1AaPgRyNmvdevyUgs/AMRGH8O./ + +# Partitioning +d-i partman-auto/init_automatically_partition select biggest_free +d-i partman-auto/disk string /dev/sda +d-i partman-auto/method string regular +d-i partman-lvm/device_remove_lvm boolean true +d-i partman-md/device_remove_md boolean true +d-i partman-auto/choose_recipe select atomic +d-i partman-partitioning/confirm_write_new_label boolean true +d-i partman/choose_partition select finish +d-i partman/confirm boolean true +d-i partman/confirm_nooverwrite boolean true +d-i partman/mount_style select uuid +d-i user-setup/encrypt-home boolean false + +# Kernel installation +d-i base-installer/kernel/image string linux-generic +d-i base-installer/kernel/altmeta string lts-xenial + +# Install the Edubuntu desktop. +tasksel tasksel/first multiselect edubuntu-desktop-gnome + +# No asking for installation in language +d-i pkgsel/install-language-support boolean true +d-i pkgsel/ignore-incomplete-language-support boolean true +d-i localechooser/translation/warn-severe boolean true +d-i localechooser/translation/warn-light boolean true + +# Policy to upgrade: none +d-i pkgsel/update-policy select none + +# Upgrade after installation: no +d-i pkgsel/upgrade select none + +# Language pack selection +d-i pkgsel/language-packs multiselect it, en + +# Disable popularity contest +popularity-contest popularity-contest/participate boolean false + +# Install both GNOME and KDE translation packages. +d-i pkgsel/language-pack-patterns string language-pack-gnome-$LL language-pack-kde-$LL kde-i18n-$LL libreoffice-help-$LL libreoffice-l10n-$LL firefox-locale-$LL gimp-help-$LL thunderbird-locale-$LL + +# Adding libreoffice and ansible +{% if ansible_bios_version == 'VirtualBox' %} +d-i pkgsel/include string dialog vim screen cifs-utils curl git openssh-server software-properties-common sshpass ubuntu-edu-{{ edu_package }} python3-uno libreoffice ansible libnss-myhostname sysv-rc-conf unattended-upgrades update-notifier-common aptitude geogebra geogebra-gnome gnome-search-tool ocrfeeder openshot freeplane gtk-recordmydesktop vokoscreen virtualbox-guest-dkms +{% else %} +d-i pkgsel/include string dialog vim screen cifs-utils curl git openssh-server software-properties-common sshpass ubuntu-edu-{{ edu_package }} python3-uno libreoffice ansible libnss-myhostname sysv-rc-conf unattended-upgrades update-notifier-common aptitude geogebra geogebra-gnome gnome-search-tool ocrfeeder openshot freeplane gtk-recordmydesktop vokoscreen +{% endif %} + +# Post installation tasks +# Update system +d-i preseed/late_command string in-target apt-get -y upgrade; \ + in-target apt-get -y dist-upgrade; \ + in-target apt-get -y purge unity-webapps-common zeitgeist-core zeitgeist-datahub webbrowser-app epoptes epoptes-client; \ + in-target apt-get -y autoremove; \ + sed -i'' -e 's/ubuntu/gnome-fallback/g' /target/usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf; \ + in-target bash -c "/usr/bin/curl -sSL4 http://{{ ansible_local.domain.serverfqdn }}/ks/preseed/postseed-aula.sh | /bin/bash >/root/postseed.log 2>&1"; + +# Grub installation on MBR +d-i grub-installer/only_debian boolean true +d-i grub-installer/bootdev string /dev/sda + +# No reboot message +d-i finish-install/reboot_in_progress note diff --git a/roles/preseed/templates/preseed/client-trusty.seed b/roles/preseed/templates/preseed/client-trusty.seed index ff62c06..e6341b9 100644 --- a/roles/preseed/templates/preseed/client-trusty.seed +++ b/roles/preseed/templates/preseed/client-trusty.seed @@ -27,16 +27,16 @@ d-i mirror/http/proxy string d-i mirror/suite string trusty # Apt-setup additional repos -d-i apt-setup/extras boolean false -d-i apt-setup/restricted boolean true -d-i apt-setup/universe boolean true -d-i apt-setup/backports boolean true -d-i apt-setup/non-free boolean true -d-i apt-setup/contrib boolean true d-i apt-setup/services-select multiselect security, updates d-i apt-setup/security_host string {{ mirror_security_host }} d-i apt-setup/security_path string {{ mirror_security_path }} +# Additional repos +d-i apt-setup/multiverse boolean true +d-i apt-setup/universe boolean true +d-i apt-setup/restricted boolean true +d-i apt-setup/partner boolean true + # Setup and enable libreoffice PPA d-i apt-setup/local0/repository string http://{{ execpath }}ppa.launchpad.net/libreoffice/ppa/ubuntu trusty main d-i apt-setup/local0/comment string LibreOffice Official PPA @@ -47,6 +47,16 @@ d-i apt-setup/local1/repository string http://{{ execpath }}ppa.launchpad.net/a d-i apt-setup/local1/comment string Ansible Official PPA d-i apt-setup/local1/key string http://keyserver.ubuntu.com:11371/pks/lookup?search=0x6125E2A8C77F2818FB7BD15B93C4A3FD7BB9C367&op=get +# Setup and enable epoptes PPA +d-i apt-setup/local2/repository string http://{{ execpath }}ppa.launchpad.net/epoptes/ppa/ubuntu trusty main +d-i apt-setup/local2/comment string Epoptes stable repository +d-i apt-setup/local2/key string http://keyserver.ubuntu.com:11371/pks/lookup?search=0x2D9B9274D3DF9D7CD7281A3E49F26CB30350B375&op=get + +# Setup and enable geogebra repository +d-i apt-setup/local3/repository string http://{{ execpath }}/www.geogebra.net/linux stable main +d-i apt-setup/local3/comment string Geogebra Official repository +d-i apt-setup/local3/key string http://www.geogebra.net/linux/office@geogebra.org.gpg.key.new + # Time and date d-i clock-setup/utc boolean true d-i time/zone string Europe/Rome @@ -74,6 +84,7 @@ d-i user-setup/encrypt-home boolean false # Kernel installation d-i base-installer/kernel/image string linux-generic +d-i base-installer/kernel/altmeta string lts-xenial # Install the Edubuntu desktop. tasksel tasksel/first multiselect edubuntu-desktop-gnome @@ -87,7 +98,7 @@ d-i localechooser/translation/warn-light boolean true # Policy to upgrade: none d-i pkgsel/update-policy select none -# UPgrade after installation: no +# Upgrade after installation: no d-i pkgsel/upgrade select none # Language pack selection @@ -101,16 +112,16 @@ d-i pkgsel/language-pack-patterns string language-pack-gnome-$LL language-pack- # Adding libreoffice and ansible {% if ansible_bios_version == 'VirtualBox' %} -d-i pkgsel/include string epoptes-client dialog vim screen cifs-utils curl git openssh-server software-properties-common sshpass ubuntu-edu-{{ edu_package }} python3-uno libreoffice ansible libnss-myhostname sysv-rc-conf unattended-upgrades update-notifier-common aptitude virtualbox-guest-dkms +d-i pkgsel/include string epoptes-client dialog vim screen cifs-utils curl git openssh-server software-properties-common sshpass ubuntu-edu-{{ edu_package }} python3-uno libreoffice ansible libnss-myhostname sysv-rc-conf unattended-upgrades update-notifier-common aptitude geogebra geogebra-gnome gnome-search-tool ocrfeeder openshot freeplane gtk-recordmydesktop vokoscreen virtualbox-guest-dkms {% else %} -d-i pkgsel/include string epoptes-client dialog vim screen cifs-utils curl git openssh-server software-properties-common sshpass ubuntu-edu-{{ edu_package }} python3-uno libreoffice ansible libnss-myhostname sysv-rc-conf unattended-upgrades update-notifier-common aptitude +d-i pkgsel/include string epoptes-client dialog vim screen cifs-utils curl git openssh-server software-properties-common sshpass ubuntu-edu-{{ edu_package }} python3-uno libreoffice ansible libnss-myhostname sysv-rc-conf unattended-upgrades update-notifier-common aptitude geogebra geogebra-gnome gnome-search-tool ocrfeeder openshot freeplane gtk-recordmydesktop vokoscreen {% endif %} # Post installation tasks # Update system d-i preseed/late_command string in-target apt-get -y upgrade; \ in-target apt-get -y dist-upgrade; \ - in-target apt-get -y purge unity-webapps-common zeitgeist-core zeitgeist-datahub epoptes; \ + in-target apt-get -y purge unity-webapps-common zeitgeist-core zeitgeist-datahub webbrowser-app epoptes; \ in-target apt-get -y autoremove; \ sed -i'' -e 's/ubuntu/gnome-fallback/g' /target/usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf; \ in-target /bin/bash -c "/usr/bin/curl -sSL4 http://{{ ansible_local.domain.serverfqdn }}/ks/preseed/postseed-client.sh | /bin/bash >/root/postseed.log 2>&1"; diff --git a/roles/preseed/templates/preseed/dev/client-trusty.seed b/roles/preseed/templates/preseed/dev/client-trusty.seed index f291c12..ae50a40 100644 --- a/roles/preseed/templates/preseed/dev/client-trusty.seed +++ b/roles/preseed/templates/preseed/dev/client-trusty.seed @@ -25,18 +25,19 @@ d-i mirror/http/hostname string {{ mirror_host }} d-i mirror/http/directory string {{ mirror_path }} d-i mirror/http/proxy string d-i mirror/suite string trusty +d-i mirror/udeb/components multiselect main, restricted, universe, multiverse # Apt-setup additional repos -d-i apt-setup/extras boolean false -d-i apt-setup/restricted boolean true -d-i apt-setup/universe boolean true -d-i apt-setup/backports boolean true -d-i apt-setup/non-free boolean true -d-i apt-setup/contrib boolean true d-i apt-setup/services-select multiselect security, updates d-i apt-setup/security_host string {{ mirror_security_host }} d-i apt-setup/security_path string {{ mirror_security_path }} +# Additional repos +d-i apt-setup/multiverse boolean true +d-i apt-setup/universe boolean true +d-i apt-setup/restricted boolean true +d-i apt-setup/partner boolean true + # Setup and enable libreoffice PPA d-i apt-setup/local0/repository string http://{{ execpath }}ppa.launchpad.net/libreoffice/ppa/ubuntu trusty main d-i apt-setup/local0/comment string LibreOffice Official PPA @@ -47,6 +48,11 @@ d-i apt-setup/local1/repository string http://{{ execpath }}ppa.launchpad.net/a d-i apt-setup/local1/comment string Ansible Official PPA d-i apt-setup/local1/key string http://keyserver.ubuntu.com:11371/pks/lookup?search=0x6125E2A8C77F2818FB7BD15B93C4A3FD7BB9C367&op=get +# Setup and enable geogebra repository +d-i apt-setup/local2/repository string http://{{ execpath }}/www.geogebra.net/linux stable main +d-i apt-setup/local2/comment string Geogebra Official repository +d-i apt-setup/local2/key string http://www.geogebra.net/linux/office@geogebra.org.gpg.key.new + # Time and date d-i clock-setup/utc boolean true d-i time/zone string Europe/Rome @@ -56,7 +62,7 @@ d-i clock-setup/ntp-server string {{ ansible_local.domain.ntpserver }} # User creation d-i passwd/user-fullname string BgLUG User d-i passwd/username string bglug -d-i passwd/user-password-crypted string $1$33bB/LIt$MEHmvzVIgYRJs/5L4z34L/ +d-i passwd/user-password-crypted password $6$S8u22loyR$RJZUtmnqmadvas13BxjPkBjdcF1o6P0xGtweZ9MkUCKIbyzmzQFxvwPTwoX1AaPgRyNmvdevyUgs/AMRGH8O./ # Partitioning d-i partman-auto/init_automatically_partition select biggest_free @@ -74,6 +80,7 @@ d-i user-setup/encrypt-home boolean false # Kernel installation d-i base-installer/kernel/image string linux-generic +d-i base-installer/kernel/altmeta string lts-xenial # Install the Edubuntu desktop. tasksel tasksel/first multiselect edubuntu-desktop-gnome @@ -87,7 +94,7 @@ d-i localechooser/translation/warn-light boolean true # Policy to upgrade: none d-i pkgsel/update-policy select none -# UPgrade after installation: no +# Upgrade after installation: no d-i pkgsel/upgrade select none # Language pack selection diff --git a/roles/preseed/templates/preseed/dev/docenti-trusty.seed b/roles/preseed/templates/preseed/dev/docenti-trusty.seed index 9994106..c9ea221 100644 --- a/roles/preseed/templates/preseed/dev/docenti-trusty.seed +++ b/roles/preseed/templates/preseed/dev/docenti-trusty.seed @@ -25,18 +25,19 @@ d-i mirror/http/hostname string {{ mirror_host }} d-i mirror/http/directory string {{ mirror_path }} d-i mirror/http/proxy string d-i mirror/suite string trusty +d-i mirror/udeb/components multiselect main, restricted, universe, multiverse # Apt-setup additional repos -d-i apt-setup/extras boolean false -d-i apt-setup/restricted boolean true -d-i apt-setup/universe boolean true -d-i apt-setup/backports boolean true -d-i apt-setup/non-free boolean true -d-i apt-setup/contrib boolean true d-i apt-setup/services-select multiselect security, updates d-i apt-setup/security_host string {{ mirror_security_host }} d-i apt-setup/security_path string {{ mirror_security_path }} +# Additional repos +d-i apt-setup/multiverse boolean true +d-i apt-setup/universe boolean true +d-i apt-setup/restricted boolean true +d-i apt-setup/partner boolean true + # Setup and enable libreoffice PPA d-i apt-setup/local0/repository string http://{{ execpath }}ppa.launchpad.net/libreoffice/ppa/ubuntu trusty main d-i apt-setup/local0/comment string LibreOffice Official PPA @@ -47,6 +48,11 @@ d-i apt-setup/local1/repository string http://{{ execpath }}ppa.launchpad.net/a d-i apt-setup/local1/comment string Ansible Official PPA d-i apt-setup/local1/key string http://keyserver.ubuntu.com:11371/pks/lookup?search=0x6125E2A8C77F2818FB7BD15B93C4A3FD7BB9C367&op=get +# Setup and enable geogebra repository +d-i apt-setup/local2/repository string http://{{ execpath }}/www.geogebra.net/linux stable main +d-i apt-setup/local2/comment string Geogebra Official repository +d-i apt-setup/local2/key string http://www.geogebra.net/linux/office@geogebra.org.gpg.key.new + # Time and date d-i clock-setup/utc boolean true d-i time/zone string Europe/Rome @@ -56,7 +62,7 @@ d-i clock-setup/ntp-server string {{ ansible_local.domain.ntpserver }} # User creation d-i passwd/user-fullname string BgLUG User d-i passwd/username string bglug -d-i passwd/user-password-crypted string $1$33bB/LIt$MEHmvzVIgYRJs/5L4z34L/ +d-i passwd/user-password-crypted password $6$S8u22loyR$RJZUtmnqmadvas13BxjPkBjdcF1o6P0xGtweZ9MkUCKIbyzmzQFxvwPTwoX1AaPgRyNmvdevyUgs/AMRGH8O./ # Partitioning d-i partman-auto/init_automatically_partition select biggest_free @@ -74,6 +80,7 @@ d-i user-setup/encrypt-home boolean false # Kernel installation d-i base-installer/kernel/image string linux-generic +d-i base-installer/kernel/altmeta lts-xenial # Install the Edubuntu desktop. tasksel tasksel/first multiselect edubuntu-desktop-gnome @@ -87,7 +94,7 @@ d-i localechooser/translation/warn-light boolean true # Policy to upgrade: none d-i pkgsel/update-policy select none -# UPgrade after installation: no +# Upgrade after installation: no d-i pkgsel/upgrade select none # Language pack selection diff --git a/roles/preseed/templates/preseed/docenti-trusty.seed b/roles/preseed/templates/preseed/docenti-trusty.seed index 482d03a..37f0967 100644 --- a/roles/preseed/templates/preseed/docenti-trusty.seed +++ b/roles/preseed/templates/preseed/docenti-trusty.seed @@ -27,16 +27,16 @@ d-i mirror/http/proxy string d-i mirror/suite string trusty # Apt-setup additional repos -d-i apt-setup/extras boolean false -d-i apt-setup/restricted boolean true -d-i apt-setup/universe boolean true -d-i apt-setup/backports boolean true -d-i apt-setup/non-free boolean true -d-i apt-setup/contrib boolean true d-i apt-setup/services-select multiselect security, updates d-i apt-setup/security_host string {{ mirror_security_host }} d-i apt-setup/security_path string {{ mirror_security_path }} +# Additional repos +d-i apt-setup/multiverse boolean true +d-i apt-setup/universe boolean true +d-i apt-setup/restricted boolean true +d-i apt-setup/partner boolean true + # Setup and enable libreoffice PPA d-i apt-setup/local0/repository string http://{{ execpath }}ppa.launchpad.net/libreoffice/ppa/ubuntu trusty main d-i apt-setup/local0/comment string LibreOffice Official PPA @@ -47,6 +47,16 @@ d-i apt-setup/local1/repository string http://{{ execpath }}ppa.launchpad.net/a d-i apt-setup/local1/comment string Ansible Official PPA d-i apt-setup/local1/key string http://keyserver.ubuntu.com:11371/pks/lookup?search=0x6125E2A8C77F2818FB7BD15B93C4A3FD7BB9C367&op=get +# Setup and enable epoptes PPA +d-i apt-setup/local2/repository string http://{{ execpath }}ppa.launchpad.net/epoptes/ppa/ubuntu trusty main +d-i apt-setup/local2/comment string Epoptes stable repository +d-i apt-setup/local2/key string http://keyserver.ubuntu.com:11371/pks/lookup?search=0x2D9B9274D3DF9D7CD7281A3E49F26CB30350B375&op=get + +# Setup and enable geogebra repository +d-i apt-setup/local3/repository string http://{{ execpath }}/www.geogebra.net/linux stable main +d-i apt-setup/local3/comment string Geogebra Official repository +d-i apt-setup/local3/key string http://www.geogebra.net/linux/office@geogebra.org.gpg.key.new + # Time and date d-i clock-setup/utc boolean true d-i time/zone string Europe/Rome @@ -74,6 +84,7 @@ d-i user-setup/encrypt-home boolean false # Kernel installation d-i base-installer/kernel/image string linux-generic +d-i base-installer/kernel/altmeta string lts-xenial # Install the Edubuntu desktop. tasksel tasksel/first multiselect edubuntu-desktop-gnome @@ -87,7 +98,7 @@ d-i localechooser/translation/warn-light boolean true # Policy to upgrade: none d-i pkgsel/update-policy select none -# UPgrade after installation: no +# Upgrade after installation: no d-i pkgsel/upgrade select none # Language pack selection @@ -101,16 +112,16 @@ d-i pkgsel/language-pack-patterns string language-pack-gnome-$LL language-pack- # Adding libreoffice and ansible {% if ansible_bios_version == 'VirtualBox' %} -d-i pkgsel/include string epoptes dialog vim screen cifs-utils curl git openssh-server software-properties-common sshpass ubuntu-edu-{{ edu_package }} python3-uno libreoffice ansible libnss-myhostname sysv-rc-conf unattended-upgrades update-notifier-common aptitude virtualbox-guest-dkms +d-i pkgsel/include string epoptes dialog vim screen cifs-utils curl git openssh-server software-properties-common sshpass ubuntu-edu-{{ edu_package }} python3-uno libreoffice ansible libnss-myhostname sysv-rc-conf unattended-upgrades update-notifier-common aptitude geogebra geogebra-gnome gnome-search-tool ocrfeeder openshot freeplane gtk-recordmydesktop vokoscreen virtualbox-guest-dkms {% else %} -d-i pkgsel/include string epoptes dialog vim screen cifs-utils curl git openssh-server software-properties-common sshpass ubuntu-edu-{{ edu_package }} python3-uno libreoffice ansible libnss-myhostname sysv-rc-conf unattended-upgrades update-notifier-common aptitude +d-i pkgsel/include string epoptes dialog vim screen cifs-utils curl git openssh-server software-properties-common sshpass ubuntu-edu-{{ edu_package }} python3-uno libreoffice ansible libnss-myhostname sysv-rc-conf unattended-upgrades update-notifier-common aptitude geogebra geogebra-gnome gnome-search-tool ocrfeeder openshot freeplane gtk-recordmydesktop vokoscreen {% endif %} # Post installation tasks # Update system d-i preseed/late_command string in-target apt-get -y upgrade; \ in-target apt-get -y dist-upgrade; \ - in-target apt-get -y purge unity-webapps-common zeitgeist-core zeitgeist-datahub epoptes-client; \ + in-target apt-get -y purge unity-webapps-common zeitgeist-core zeitgeist-datahub webbrowser-app epoptes-client; \ in-target apt-get -y autoremove; \ sed -i'' -e 's/ubuntu/gnome-fallback/g' /target/usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf; \ in-target bash -c "/usr/bin/curl -sSL4 http://{{ ansible_local.domain.serverfqdn }}/ks/preseed/postseed-docenti.sh | /bin/bash >/root/postseed.log 2>&1"; diff --git a/roles/preseed/templates/preseed/edubuntu.seed b/roles/preseed/templates/preseed/edubuntu.seed index c0dd76c..004d8cf 100644 --- a/roles/preseed/templates/preseed/edubuntu.seed +++ b/roles/preseed/templates/preseed/edubuntu.seed @@ -28,16 +28,15 @@ d-i mirror/http/proxy string d-i mirror/suite string trusty # Apt-setup additional repos -d-i apt-setup/extras boolean true -d-i apt-setup/restricted boolean true -d-i apt-setup/universe boolean true -d-i apt-setup/backports boolean true -d-i apt-setup/non-free boolean true -d-i apt-setup/contrib boolean true d-i apt-setup/services-select multiselect security, updates d-i apt-setup/security_host string {{ mirror_security_host }} d-i apt-setup/security_path string {{ mirror_security_path }} +# Additional repos +d-i apt-setup/restricted boolean true +d-i apt-setup/universe boolean true +d-i apt-setup/multiverse boolean true + # Setup and enable libreoffice PPA d-i apt-setup/local0/repository string http://{{ execpath }}ppa.launchpad.net/libreoffice/ppa/ubuntu trusty main d-i apt-setup/local0/comment string LibreOffice Official PPA @@ -70,6 +69,7 @@ d-i user-setup/encrypt-home boolean false # Kernel installation d-i base-installer/kernel/image string linux-generic +d-i base-installer/kernel/altmeta string lts-xenial # Install the Edubuntu desktop. tasksel tasksel/first multiselect edubuntu-desktop-gnome @@ -83,7 +83,7 @@ d-i localechooser/translation/warn-light boolean true # Policy to upgrade: none d-i pkgsel/update-policy select none -# UPgrade after installation: no +# Upgrade after installation: no d-i pkgsel/upgrade select none # Language pack selection diff --git a/roles/preseed/templates/preseed/postseed-aula.sh b/roles/preseed/templates/preseed/postseed-aula.sh new file mode 100644 index 0000000..ee6edb9 --- /dev/null +++ b/roles/preseed/templates/preseed/postseed-aula.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +# Cambio username con quello fornito da servizio +TARGETHOSTNAME=$(/usr/bin/wget -qO- http://{{ ansible_local.domain.serverfqdn }}:3000/whatsmyhostname?role=aula) +echo $TARGETHOSTNAME > /etc/hostname +/bin/sed -i'' -e "s/kickseed/$TARGETHOSTNAME/g" /etc/hosts + +# Installo i file necessari per ansible. +/usr/bin/curl -sSL4 http://{{ ansible_local.domain.serverfqdn }}/ks/ansible-pull/init-ansible.sh | /bin/bash diff --git a/roles/preseed/templates/repoconfig/epoptes-ppa-trusty.list b/roles/preseed/templates/repoconfig/epoptes-ppa-trusty.list new file mode 100644 index 0000000..c997fe3 --- /dev/null +++ b/roles/preseed/templates/repoconfig/epoptes-ppa-trusty.list @@ -0,0 +1,2 @@ +deb http://{{ execpath }}ppa.launchpad.net/epoptes/ppa/ubuntu trusty main +#deb-src http://{{ execpath }}ppa.launchpad.net/epoptes/ppa/ubuntu trusty main diff --git a/roles/preseed/templates/repoconfig/geogebra-stable.list b/roles/preseed/templates/repoconfig/geogebra-stable.list new file mode 100644 index 0000000..640d7cb --- /dev/null +++ b/roles/preseed/templates/repoconfig/geogebra-stable.list @@ -0,0 +1 @@ +deb http://{{ execpath }}www.geogebra.net/linux stable main diff --git a/roles/pxe/tasks/pxe.yml b/roles/pxe/tasks/pxe.yml index d907cb7..c4789a4 100644 --- a/roles/pxe/tasks/pxe.yml +++ b/roles/pxe/tasks/pxe.yml @@ -13,7 +13,7 @@ - name: pxelinux.0 get_url: - url: "http://archive.ubuntu.com/ubuntu/dists/trusty/main/installer-i386/current/images/netboot/pxelinux.0" + url: "http://archive.ubuntu.com/ubuntu/dists/trusty-updates/main/installer-amd64/current/images/utopic-netboot/pxelinux.0" dest: /var/lib/tftpboot/pxelinux.0 - name: pxelinux.cfg/default @@ -35,7 +35,7 @@ - name: vesamenu.c32 get_url: - url: "http://archive.ubuntu.com/ubuntu/dists/trusty/main/installer-i386/current/images/netboot/ubuntu-installer/i386/boot-screens/vesamenu.c32" + url: "http://archive.ubuntu.com/ubuntu/dists/trusty-updates/main/installer-i386/current/images/netboot/ubuntu-installer/i386/boot-screens/vesamenu.c32" dest: /var/lib/tftpboot/utils/vesamenu.c32 - name: chain.c32 @@ -45,22 +45,22 @@ - name: linux i386 get_url: - url: "http://archive.ubuntu.com/ubuntu/dists/trusty/main/installer-i386/current/images/netboot/ubuntu-installer/i386/linux" + url: "http://archive.ubuntu.com/ubuntu/dists/trusty-updates/main/installer-i386/current/images/netboot/ubuntu-installer/i386/linux" dest: /var/lib/tftpboot/ubuntu/14.04/i386/linux - name: initrd.gz i386 get_url: - url: "http://archive.ubuntu.com/ubuntu/dists/trusty/main/installer-i386/current/images/netboot/ubuntu-installer/i386/initrd.gz" + url: "http://archive.ubuntu.com/ubuntu/dists/trusty-updates/main/installer-i386/current/images/netboot/ubuntu-installer/i386/initrd.gz" dest: /var/lib/tftpboot/ubuntu/14.04/i386/initrd.gz - name: linux amd64 get_url: - url: "http://archive.ubuntu.com/ubuntu/dists/trusty/main/installer-amd64/current/images/netboot/ubuntu-installer/amd64/linux" + url: "http://archive.ubuntu.com/ubuntu/dists/trusty-updates/main/installer-amd64/current/images/netboot/ubuntu-installer/amd64/linux" dest: /var/lib/tftpboot/ubuntu/14.04/amd64/linux - name: initrd.gz amd64 get_url: - url: "http://archive.ubuntu.com/ubuntu/dists/trusty/main/installer-amd64/current/images/netboot/ubuntu-installer/amd64/initrd.gz" + url: "http://archive.ubuntu.com/ubuntu/dists/trusty-updates/main/installer-amd64/current/images/netboot/ubuntu-installer/amd64/initrd.gz" dest: /var/lib/tftpboot/ubuntu/14.04/amd64/initrd.gz - name: memdisk diff --git a/roles/pxe/templates/pxelinux.cfg/default b/roles/pxe/templates/pxelinux.cfg/default index 80f16ce..f05ff70 100644 --- a/roles/pxe/templates/pxelinux.cfg/default +++ b/roles/pxe/templates/pxelinux.cfg/default @@ -56,6 +56,28 @@ LABEL return-docenti MENU EXIT MENU END +MENU BEGIN +MENU TITLE Installa nuova macchina AULA + +LABEL aula-32bit + MENU LABEL ^32 bit + LINUX /ubuntu/14.04/i386/linux + INITRD /ubuntu/14.04/i386/initrd.gz + APPEND vga=normal auto=true hostname=kickseed url=http://{{ ansible_local.domain.serverfqdn }}/ks/preseed/aula-trusty.seed -- quiet + +LABEL aula-64bit + MENU LABEL ^64 bit + LINUX /ubuntu/14.04/amd64/linux + INITRD /ubuntu/14.04/amd64/initrd.gz + APPEND vga=normal auto=true hostname=kickseed url=http://{{ ansible_local.domain.serverfqdn }}/ks/preseed/aula-trusty.seed -- quiet + +MENU SEPARATOR + +LABEL return-aula + MENU LABEL ^Torna al menu principale + MENU EXIT +MENU END + MENU SEPARATOR MENU BEGIN diff --git a/roles/ubuntu-mirror/tasks/mirror-cfg.yml b/roles/ubuntu-mirror/tasks/mirror-cfg.yml index e4924b8..a526b2f 100644 --- a/roles/ubuntu-mirror/tasks/mirror-cfg.yml +++ b/roles/ubuntu-mirror/tasks/mirror-cfg.yml @@ -16,4 +16,3 @@ - name: Determining mirror_security_path set_fact: spath="{{ ansible_local.domain.mirror_security_path }}" when: ansible_local.domain.mirror_security_path is defined - diff --git a/roles/ubuntu-mirror/tasks/remote-mirror.yml b/roles/ubuntu-mirror/tasks/remote-mirror.yml index 32eafa8..aa979f7 100644 --- a/roles/ubuntu-mirror/tasks/remote-mirror.yml +++ b/roles/ubuntu-mirror/tasks/remote-mirror.yml @@ -1,3 +1,2 @@ --- # Managing a remote mirror - Doing nothing ;) - diff --git a/roles/ubuntu-mirror/templates/apt-mirror.list b/roles/ubuntu-mirror/templates/apt-mirror.list index acc0daf..9296985 100644 --- a/roles/ubuntu-mirror/templates/apt-mirror.list +++ b/roles/ubuntu-mirror/templates/apt-mirror.list @@ -67,6 +67,16 @@ deb-i386 http://ppa.launchpad.net/libreoffice/ppa/ubuntu trusty main deb-amd64 http://ppa.launchpad.net/libreoffice/ppa/ubuntu trusty main deb-src http://ppa.launchpad.net/libreoffice/ppa/ubuntu trusty main +# Epoptes stable +deb-i386 http://ppa.launchpad.net/epoptes/ppa/ubuntu trusty main +deb-amd64 http://ppa.launchpad.net/epoptes/ppa/ubuntu trusty main +deb-src http://ppa.launchpad.net/epoptes/ppa/ubuntu trusty main + +# Geogebra Official repository +deb-i386 http://www.geogebra.net/linux stable main +deb-amd64 http://www.geogebra.net/linux stable main +deb-src http://www.geogebra.net/linux stable main + # BgLUG deb-i386 http://repo.bglug.it/ubuntu trusty main deb-amd64 http://repo.bglug.it/ubuntu trusty main @@ -78,4 +88,6 @@ clean http://archive.canonical.com clean http://{{ shost }}{{ spath }} clean http://ppa.launchpad.net/ansible/ansible/ubuntu clean http://ppa.launchpad.net/libreoffice/ppa/ubuntu +clean http://ppa.launchpad.net/epoptes/ppa/ubuntu +clean http://www.geogebra.net/linux clean http://repo.bglug.it/ubuntu