Compare commits

...

66 Commits
nfs ... master

Author SHA1 Message Date
Emiliano Vavassori 2b85700990 Update checks for latest versions of Ansible. 2019-11-18 23:19:31 +01:00
Emiliano Vavassori a2e013674b Fix for PulseAudio permissions, server side. 2018-11-10 21:04:56 +01:00
Emiliano Vavassori 3f421afbbe Simplify changing name of VM. 2018-11-10 14:51:17 +01:00
Emiliano Vavassori ed018db4c2 Merge branch 'master' of syntaxerrormmm/server-config into master
Simplify deployment with automatic inventory from vagrant.
2018-11-10 12:34:26 +00:00
Emiliano Vavassori 44a5ca6bae Using vagrant automatic inventory correctly. 2018-11-10 13:32:32 +01:00
Emiliano Vavassori e72883abb5 Revert "Rename README.md to README_old.md"
This reverts commit 8ec091bcbf.
2018-07-29 21:37:08 +02:00
Emiliano Vavassori bcb583cd84 Revert "Notify change of repository."
This reverts commit 14d50a0e07.
2018-07-29 21:37:05 +02:00
Emiliano Vavassori 14d50a0e07
Notify change of repository. 2018-07-29 20:37:33 +02:00
Emiliano Vavassori 8ec091bcbf
Rename README.md to README_old.md 2018-07-29 20:36:51 +02:00
Emiliano Vavassori 81873ef6cb
Merge pull request #35 from syntaxerrormmm/issue-21
Fixing issue #21: no changes to the wan0 interface
2017-12-12 23:29:43 +01:00
Emiliano Vavassori 604460a6bd Fixing issue #21: no changes to the wan0 interface has to be done within setup phase. 2017-12-12 23:14:32 +01:00
Emiliano Vavassori c769d5c4a4 Merge pull request #32 from bglug-it/revert-31-salerno3.ilariaalpi
Revert "Salerno3.ilariaalpi: Realigning repo and production code."
2017-10-25 00:03:21 +02:00
Emiliano Vavassori 965f7c90c4 Revert "Salerno3.ilariaalpi: Realigning repo and production code." 2017-10-25 00:03:10 +02:00
Emiliano Vavassori 65b2923b71 Merge pull request #31 from syntaxerrormmm/salerno3.ilariaalpi
Salerno3.ilariaalpi: Realigning repo and production code.
2017-10-24 23:58:16 +02:00
Emiliano Vavassori 2881d042d9 Using ip from VPN instead of the LAN one. 2017-10-24 23:33:22 +02:00
Emiliano Vavassori 0dbe53a796 Fixing latest differences with origin/master. 2017-10-24 23:31:57 +02:00
Emiliano Vavassori 3a0035c61e Piccola modifica su hosts per gestione in remoto. 2017-10-24 23:31:57 +02:00
Emiliano Vavassori df1dcc532b Modifiche per Salerno 3. 2017-10-24 23:31:57 +02:00
Emiliano Vavassori baa5cd96c3 Merge pull request #28 from syntaxerrormmm/master
Fix issue #27: try to honor domain.yml mirror_host variable.
2017-10-24 23:29:04 +02:00
Emiliano Vavassori 125c72e136 Fix issue #27: try to honor domain.yml mirror_host variable. 2017-10-24 23:24:43 +02:00
Emiliano Vavassori 4fc6036eae Merge pull request #26 from syntaxerrormmm/master
Issue #23: downloading the client repository by init-ansible.sh. Closes #23.
2017-10-24 21:46:31 +02:00
Emiliano Vavassori 02dd0eed95 Issue #23: downloading the client repository by init-ansible.sh. 2017-10-24 21:44:42 +02:00
Emiliano Vavassori 782a0c4204 Merge pull request #24 from syntaxerrormmm/master
Disable validation for GPG signature download.
2017-10-16 18:24:08 +02:00
Emiliano Vavassori 25695acc50 Fixing error with missing validity of SSL certificate for geogebra.net. 2017-10-07 12:21:49 +02:00
Emiliano Vavassori c32f5de1ea Merge pull request #22 from syntaxerrormmm/master
Fixing broken geogebra signing for packages.
2017-10-06 03:01:34 +02:00
Emiliano Vavassori cf477c4476 Fixing broken geogebra signing for packages. 2017-10-06 02:59:11 +02:00
Paolo Asperti 1f502ec7d0 new vagrant box url 2017-09-28 16:54:19 +02:00
Emiliano Vavassori f62afbe30c Merge pull request #20 from bglug-it/update69
Upgrading to 6.9 + other commands for reconfigure interfaces
2017-06-02 02:40:45 +02:00
Emiliano Vavassori 9f144a497b Merge pull request #19 from syntaxerrormmm/master
Fix Regression: cannot write on subfolder just created in shared
2017-06-02 02:13:40 +02:00
Emiliano Vavassori dfadfe7ee7 Fixing a regression for the shared folder: error when trying to create a file in a subfolder created just before on the shared root. 2017-06-02 02:10:13 +02:00
Emiliano Vavassori 638b753ee1 Changes to 6.9. 2017-06-01 21:38:55 +02:00
Emiliano Vavassori a18ce577f5 Merge pull request #16 from syntaxerrormmm/master
Realigning master branch to latest developments.
2017-02-21 23:04:03 +01:00
Emiliano Vavassori f2556c7fdf Adding aesthetic fixes. 2017-02-21 23:00:58 +01:00
Emiliano Vavassori 925a8fd63b Removing unneeded dependency. 2017-02-21 22:51:23 +01:00
Emiliano Vavassori ddeeacdc61 Changes to integrate Epoptes stable PPA within clients. (#15) 2017-02-21 22:51:23 +01:00
Emiliano Vavassori ba9ebf6d29 Adding repository to apt-mirror.list. (#14) 2017-02-21 22:51:23 +01:00
Emiliano Vavassori 86ba9cfc72 Adding an additional repository to the batch: geogebra, for geogebra 5. 2017-02-21 22:51:23 +01:00
Emiliano Vavassori f0f2413214 Fixing errors within preseed files. Partially fixing issue #2. 2017-02-21 22:51:23 +01:00
Emiliano Vavassori 198c00dc54 Small fix in the control code for the templates-custom check. 2017-02-21 22:51:23 +01:00
Emiliano Vavassori 5a6c50a870 Much more idempotenced fixes for issue 10. 2017-02-21 22:51:23 +01:00
Emiliano Vavassori df515691a3 Fix for issue #10. 2017-02-21 22:50:43 +01:00
Emiliano Vavassori 49d16a83ee Adding files for a new role: PCs for the classrooms. 2017-02-21 22:50:43 +01:00
Emiliano Vavassori 664c93e509 Cleaning up preseed files. 2017-02-21 22:50:43 +01:00
Emiliano Vavassori 16804ba296 Forcing interfaces to be configured fixing issue #7. 2017-02-21 22:50:43 +01:00
Emiliano Vavassori 034e483b96 Fixing issue #5 by re-ordering meta informations between tasks. Minor aesthetic fixes. 2017-02-21 22:50:43 +01:00
Emiliano Vavassori efa80ce5a9 Fixing #3 and #4 issues from Github. 2016-11-08 22:11:06 +01:00
Emiliano Vavassori a001256663 Moving LibreOffice PPA to ppa instead of libreoffice-5-0. 2016-09-22 03:05:52 +02:00
Emiliano Vavassori 98e1f7fad8 Correcting errors on tasks. 2016-09-21 23:38:32 +02:00
Emiliano Vavassori c612859fdf Trying to deposit files on the server for the client configuration. 2016-09-21 22:35:53 +02:00
Emiliano Vavassori b998068d63 Delete add, commit and push commands for working copy. 2016-07-26 09:36:34 +02:00
Emiliano Vavassori 55d222132b Adding instructions on how to change default passwords. 2016-07-25 22:26:15 +02:00
Emiliano Vavassori dc1b532c5b Changing amgmt user password. 2016-07-25 21:37:52 +02:00
Emiliano Vavassori 1e7b5dcd47 Generalizing information on domain. Generalizing bglug password on preseed. 2016-07-25 21:29:26 +02:00
Emiliano Vavassori 91946e3181 Creating doraemon_pkg extra variable to setup a different rpm. 2016-07-22 16:14:51 +02:00
Emiliano Vavassori 5548a1ff5a Generalizing the edu package to be installed via preseed. 2016-07-12 22:00:25 +02:00
Emiliano Vavassori 9ced7b7052 Added remote repository. 2016-07-12 21:12:57 +02:00
Emiliano Vavassori d5ab68fb01 Fixed all to be able to work with NS 6.8. 2016-07-12 21:08:11 +02:00
Emiliano Vavassori 09f7df6000 Removing (hopefully) double pxe run for doubled dependency. 2016-07-10 05:07:44 +02:00
Emiliano Vavassori 3908fffd4d Generalizing admin_sshkey with the one of the user. 2016-06-20 00:43:59 +02:00
Emiliano Vavassori 75613cc0c6 Adapting domain.yml to correct configuration override for mirror_* variables. 2016-06-03 14:19:43 +02:00
Emiliano Vavassori 153741495e Locking downgraded version of SAMBA to mitigate badlocks update. 2016-06-03 14:08:28 +02:00
Emiliano Vavassori b721cad45b Correcting a little issue with commas within Jinja2 expressions. 2016-06-03 12:09:05 +02:00
Emiliano Vavassori 47ac841a07 Changing repository for python-argparse. 2016-06-03 12:05:19 +02:00
Emiliano Vavassori f8a092d081 Not removing libnss-mdns, needed in local LAN to resolve DNS names. 2016-06-03 11:50:56 +02:00
Emiliano Vavassori 26b66684a0 Adjusting git-daemon roles to honor client_gitrepo variable from domain.yml. This permits to specify a different repo than the one for BgLUG. 2016-06-03 11:45:55 +02:00
Emiliano Vavassori 1ec657956a Using strange addressing to minimize compatibility problems on virtual installations. 2016-06-03 11:29:49 +02:00
69 changed files with 860 additions and 301 deletions

21
Vagrantfile vendored
View File

@ -10,11 +10,16 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
# please see the online documentation at vagrantup.com.
# Every Vagrant virtual environment requires a box to build off of.
config.vm.box = "syntaxerrormmm/nethserver"
config.vm.define "NethServer" do |nethserver|
# Defining a base vm name:
myname = "NethServer"
config.vm.box = "syntaxerrormmm/nethserver-6.9"
config.vm.box_url = "https://vagrant.libreschool.org/nethserver-6.9"
config.vm.define myname do |nethserver|
end
config.vm.provider :virtualbox do |vb|
vb.name = "NethServer"
vb.name = myname
end
# Disable automatic box update checking. If you disable this, then
@ -30,7 +35,7 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
# Create a private network, which allows host-only access to the machine
# using a specific IP.
# config.vm.network "private_network", ip: "192.168.33.10"
config.vm.network "private_network", ip: "192.168.1.1", auto_config: false
config.vm.network "private_network", ip: "172.16.254.1", auto_config: false
# Create a public network, which generally matched to bridged network.
# Bridged networks make the machine appear as another physical device on
@ -126,7 +131,11 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
#
# chef.validation_client_name = "ORGNAME-validator"
config.vm.provision "ansible" do |ansible|
ansible.inventory_path = "vagrant/hosts"
ansible.playbook = "vagrant/vagrant.yml"
# Using default dynamic inventory
ansible.playbook = "provision.yml"
ansible.groups = {
"vagrant" => [ myname ]
}
ansible.compatibility_mode = "2.0"
end
end

View File

@ -1,26 +1,31 @@
---
# Configurazione dominio
ntpserver: pdc.mastri.edu
ntpserver: pdc.topolin.ia
server: pdc
serverip: 192.168.1.1
serverip: 172.16.254.1
servernetmask: 255.255.255.0
servernet: 192.168.1.0
servergw: 192.168.1.1
serverfqdn: pdc.mastri.edu
domainshort: MASTRI
domainfull: mastri.edu
dhcprange_start: 192.168.1.10
dhcprange_end: 192.168.1.50
servernet: 172.16.254.0
servergw: 172.16.254.1
serverfqdn: pdc.topolin.ia
domainshort: TOPOLIN
domainfull: topolin.ia
dhcprange_start: 172.16.254.10
dhcprange_end: 172.16.254.50
extdnsserver1: 208.67.222.222
extdnsserver2: 208.67.220.220
org_email: info@bglug.it
org_company: Istituto Comprensivo 'Mastri Caravaggini'
org_countrycode: IT
org_company: Accademia di SuperPippo
org_countrycode: IA
org_department: "Laboratorio 1"
org_city: Caravaggio
org_phone: "+39 0363 50598"
org_street: "Via Zenale e Butinone, 20"
mirror_mode: nfs
mirror_nfs_share: 192.168.255.1:/var/spool/apt-mirror/mirror
#remote_mirror: ubuntu.fastbull.org
org_city: Topolinia
org_phone: "313 113 176-167"
org_street: "Piazza la bomba e scappa"
edu_package: secondary
mirror_mode: remote
#mirror_nfs_share: 192.168.255.1:/var/spool/apt-mirror/mirror
mirror_host: it.archive.ubuntu.com
#mirror_path: /ubuntu
#mirror_security_host: security.ubuntu.com
#mirror_security_path: /ubuntu
client_gitbranch: master
#client_gitrepo: "https://github.com/bglug-it/client-pull-installation.git"

2
hosts
View File

@ -2,4 +2,4 @@
host_key_checking=false
[server]
192.168.1.1 ansible_ssh_user=amgmt
172.16.254.1 ansible_ssh_user=amgmt

View File

@ -0,0 +1,58 @@
# Default password for project #
* NS Box root user: `vagrant`
* NS Box vagrant user: `vagrant`
* Vault Password: `v4ul+Password!`
* amgmt user (server): `DoN0t4g3t!`
* bglug user (client): `s4lamanDr@`
* admin user (domain): `R0busTdom41nPa55wd!`
# How to change passwords for production deployments #
## *root* and *vagrant* users ##
These will not be required, since you will not have a virtual machine to
manage via *Vagrant*.
## Vault password ##
Clone [`client-pull-installation`][2] then, in the working copy, launch following commands:
$ ansible-vault rekey domainpwd.vault
`ansible-vault` will ask one time the old password and two times the new one.
## *amgmt* user (server-side) ##
Clone [`server-config`][1] then, in the working copy, generate a new password hash with the follwing command:
$ mkpasswd -m sha-512
The command would ask for the password to be hashed. Please copy the result string.
Open up the file `roles/init/tasks/mgmtuser.yml`, find out `password:` and then replace previous hash with the one you have just created.
## *bglug* user (client side but preseeded) ##
The definition of password for *bglug* is inside `*.seed` files, inside [`server-config`][1]. Create a new password hash with:
$ mkpasswd -m sha-512
Copy the hash in your clipboard; clone the repository, then in the working directory:
$ find . -iname \*.seed -exec $EDITOR {} \;
Within each `*.seed` file, search for the string `user-password-crypted` string and change following hash.
## *admin* user (domain valid) ##
Password must be specified within NethServer interface for the *admin* user and must be absolutely equal to the one contained inside vault file.
Clone [`client-pull-installation`][2], create new branch and modify the password inside `domainpwd.vault`:
$ ansible-vault edit domainpwd.vault
The system would ask for the vault password. Change the plain text password with your editor.
[1]: https://github.com/bglug-it/server-config
[2]: https://github.com/bglug-it/client-pull-installation

View File

@ -2,4 +2,4 @@
# Vagrant provisioning playbook
- hosts: vagrant
roles:
- rename-nic
- rename-nic

View File

@ -1,14 +1,26 @@
#!/bin/bash
# Fixing base variables.
basedir=/var/lib/{{ ansible_local.domain.domainfull }}
url=git://{{ ansible_local.domain.serverfqdn }}/client-pull-installation.git
branch={{ ansible_local.domain.client_gitbranch }}
# Creo directory dipendenti
echo "$(date --rfc-3339=seconds) Installing bin directory."
/usr/bin/install -d -o root -g users /var/lib/{{ ansible_local.domain.domainfull }}/bin
/bin/chown -R root:users /var/lib/{{ ansible_local.domain.domainfull }}
/usr/bin/install -d -o root -g users ${basedir}/bin
# Workaround issue #23 - ansible-pull won't pull out of remote the first time.
if [[ ! -f ${basedir}/config/local.yml ]]; then
/usr/bin/git clone -b ${branch} ${url} ${basedir}/config
fi
# Installo ansible-pull.sh
echo "$(date --rfc-3339=seconds) Creating ansible-pull.sh."
/usr/bin/wget -q http://{{ ansible_local.domain.serverfqdn }}/ks/ansible-pull/ansible-pull.sh -O /var/lib/{{ ansible_local.domain.domainfull }}/bin/ansible-pull.sh
chmod a+x /var/lib/{{ ansible_local.domain.domainfull }}/bin/ansible-pull.sh
/usr/bin/wget -q http://{{ ansible_local.domain.serverfqdn }}/ks/ansible-pull/ansible-pull.sh -O ${basedir}/bin/ansible-pull.sh
chmod a+x ${basedir}/bin/ansible-pull.sh
# Fixing permissions on the main directory
/bin/chown -R root:users ${basedir}
# Installo il cronjob per ansible-pull
echo "$(date --rfc-3339=seconds) Creating crontab"

View File

@ -1,9 +1,8 @@
---
dependencies:
- { role: pxe, tags: [ 'client-install' ] }
- { 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' ] }

View File

@ -1,2 +1,3 @@
---
doraemon_pkg: doraemon
doraemon_version: 1.2.0-1

View File

@ -6,7 +6,7 @@
- name: Installazione doraemon
yum:
pkg: doraemon
pkg: "{{ doraemon_pkg }}"
state: latest
become: yes

View File

@ -0,0 +1,3 @@
---
client_gitrepo: "https://github.com/bglug-it/client-pull-installation.git"
client_gitbranch: master

View File

@ -41,17 +41,17 @@
shell: pushd /var/lib/git-daemon/repositories/client-pull-installation.git; git fetch -p origin; popd
become: yes
become_user: git-daemon
when: chk_clientpullinstall_repo|success
when: chk_clientpullinstall_repo is succeeded
tags:
- git-daemon-update
# E' in forma di shell perché non c'è modo di passare ad ansible
# il parametro --mirror
- name: Clono il repository client-pull-installation
shell: git clone --mirror https://github.com/bglug-it/client-pull-installation.git /var/lib/git-daemon/repositories/client-pull-installation.git
shell: git clone --mirror {{ client_gitrepo }} /var/lib/git-daemon/repositories/client-pull-installation.git
become: yes
become_user: git-daemon
when: chk_clientpullinstall_repo|changed
when: chk_clientpullinstall_repo is changed
- name: Rendo il repository esportabile
file:
@ -94,7 +94,7 @@
- name: Aggiungo servizio a gestione NethServer
shell: /sbin/e-smith/db configuration set git-daemon service status enabled TCPPort 9418 access private
become: yes
when: chk_gitdaemon_srv|changed
when: chk_gitdaemon_srv is changed
- name: Creazione directory defaults per NethServer
file:
@ -102,7 +102,7 @@
recurse: yes
state: directory
become: yes
when: chk_gitdaemon_srv|changed
when: chk_gitdaemon_srv is changed
- name: Creazione tipo default per NethServer
lineinfile:
@ -112,7 +112,7 @@
create: yes
state: present
become: yes
when: chk_gitdaemon_srv|changed
when: chk_gitdaemon_srv is changed
- name: Creazione stato default per NethServer
lineinfile:
@ -122,19 +122,19 @@
create: yes
state: present
become: yes
when: chk_gitdaemon_srv|changed
when: chk_gitdaemon_srv is changed
- name: Aggiunta servizio
shell: /sbin/e-smith/signal-event runlevel-adjust
become: yes
when: chk_gitdaemon_srv|changed
when: chk_gitdaemon_srv is changed
- name: Aggiunta servizio di rete e cambio firewall
shell: /sbin/e-smith/signal-event firewall-adjust
become: yes
when: chk_gitdaemon_srv|changed
when: chk_gitdaemon_srv is changed
- name: Avvio servizio
shell: service git-daemon start
become: yes
when: chk_gitdaemon_srv|changed
when: chk_gitdaemon_srv is changed

View File

@ -0,0 +1,9 @@
---
- name: Overriding default gitrepo if defined in domain.yml
set_fact: client_gitrepo="{{ ansible_local.domain.client_gitrepo }}"
when: "ansible_local.domain.client_gitrepo is defined"
- name: Overriding default gitbranch if defined in domain.yml
set_fact: client_gitbranch="{{ ansible_local.domain.client_gitbranch }}"
when: "ansible_local.domain.client_gitbranch is defined"

View File

@ -1,3 +1,7 @@
---
- include: initvars.yml
tags: git-daemon
- include: git-daemon.yml
tags: git-daemon

View File

@ -1,4 +1,4 @@
---
ansible_ssh_user: root
admin_sshkey: /Users/syntaxerrormmm/.ssh/id_rsa.pub
admin_sshkey: "{{ lookup('env', 'HOME') + '/.ssh/id_rsa.pub' }}"

View File

@ -5,13 +5,15 @@
comment: "Ansible Management User"
group: wheel
state: present
password: $6$rounds=100000$XvHuMoXtpCksx379$nhlfUn38.oBB7JrDrtwfUisw8T0Bg5InzFq1fw31mcEmGZ2AYFkFK2zC2g04lSfw.kpdSgqH3Dl5q9r1fY6.k.
password: $6$mVKMBMbAxeql$eqSe8tu2qKjtwmpiFy07b6nv2g4F80N.U9EzOmQTrNZwKZ61n6NLrSEQHQo1FOlQghOiB8as6Z35oTUUKN8y2.
- name: Concessione diritti all'utente di gestione Ansible
template:
src: sudoers.d
dest: /etc/sudoers.d/amgmt
mode: "u=r,g=r"
owner: root
group: root
mode: 0440
validate: "/usr/sbin/visudo -cf %s"
- name: Installazione chiave privata PC locale

View File

@ -1,5 +1,4 @@
---
extnic: wan0
intnic: lan0
force_regen_ca: false
force_ibay_shared: false

View File

@ -1,6 +1,14 @@
---
# Base configurations to be implemented anyways.
# installing italian interface translation
- name: Making available also Italian NethGUI
yum:
pkg: nethserver-lang-it
state: present
tags: nethgui
# Trusted networks: LAN
- name: Check for LAN to be added as Trusted Network
@ -12,12 +20,12 @@
- name: Configuring trusted networks
shell: /sbin/e-smith/db networks set {{ ansible_local.domain.servernet }} network Description "Local LAN" Mask {{ ansible_local.domain.servernetmask }}
when: check_trusted|changed
when: check_trusted is changed
tags: trustednet
- name: Activating trusted network
shell: /sbin/e-smith/signal-event trusted-networks-modify
when: check_trusted|changed
when: check_trusted is changed
tags: trustednet
# Preconfiguring DNS anyways
@ -25,17 +33,17 @@
- name: Checking DNS configuration
shell: /sbin/e-smith/db configuration printprop dns NameServers
register: chk_dns
changed_when: "'NameServers={{ ansible_local.domain.extdnsserver1 }},{{ ansible_local.domain.extdnsserver2 }}' not in chk_dns.stdout"
changed_when: "'NameServers={{ ansible_local.domain.extdnsserver1 }}' not in chk_dns.stdout"
ignore_errors: yes
- name: Configuring DNS resolution
shell: /sbin/e-smith/db configuration setprop dns NameServers {{ ansible_local.domain.extdnsserver1 }},{{ ansible_local.domain.extdnsserver2 }}
when: chk_dns|changed
when: chk_dns is changed
tags: dns-preset
- name: Activating correct DNS resolution
shell: "/sbin/e-smith/signal-event nethserver-base-update"
when: chk_dns|changed
when: chk_dns is changed
# Hostname and domainname
@ -53,30 +61,11 @@
- name: Activating hostname/domainname changes
shell: /sbin/e-smith/signal-event hostname-modify
when: chg_hostname|changed or chg_domainname|changed
when: chg_hostname is changed or chg_domainname is changed
tags:
- hostname
- domainname
# Password policy
- name: Check for password policy
shell: /sbin/e-smith/db configuration printprop passwordstrength Users
register: chk_passstr
changed_when: "'Users=none' not in chk_passstr.stdout"
ignore_errors: true
tags: password-policy
- name: Configuring password policy
shell: /sbin/e-smith/db configuration setprop passwordstrength PassExpires no Users none Admin strong MaxPassAge 180 MinPassAge 0 PassExpires no PassWarning 7
when: chk_passstr|changed
tags: password-policy
- name: Activating password policy
shell: /sbin/e-smith/signal-event password-policy-update
when: chk_passstr|changed
tags: password-policy
# Base certificate
- name: Checking CA configuration
@ -89,9 +78,9 @@
- name: Configuring CA
shell: /sbin/e-smith/db configuration setprop pki CertificateDuration 3650 CommonName {{ ansible_local.domain.serverfqdn }} CountryCode {{ ansible_local.domain.org_countrycode }} EmailAddress {{ ansible_local.domain.org_email }} Locality "{{ ansible_local.domain.org_city }}" Organization "{{ ansible_local.domain.org_company }}"
tags: regen-ca
when: chk_crt|changed or force_regen_ca|bool
when: chk_crt is changed or force_regen_ca|bool
- name: Activating CA and regenerate
shell: /sbin/e-smith/signal-event certificate-update
when: chk_crt|changed or force_regen_ca|bool
when: chk_crt is changed or force_regen_ca|bool
tags: regen-ca

View File

@ -15,11 +15,11 @@
- name: Configuring DHCP
shell: /sbin/e-smith/db dhcp set {{ intnic }} range DhcpRangeStart {{ ansible_local.domain.dhcprange_start }} DhcpRangeEnd {{ ansible_local.domain.dhcprange_end }} status enabled
when: chk_dhcp|failed
when: chk_dhcp is failed
- name: Activating DHCP
shell: /sbin/e-smith/signal-event nethserver-dnsmasq-save
when: chk_dhcp|failed
when: chk_dhcp is failed
# DNS
# Already preconfigured before (roles/nethcfg/tasks/base.yml)
@ -33,7 +33,7 @@
- name: Configuring DNS resolution
shell: /sbin/e-smith/db configuration setprop dns NameServers {{ ansible_local.domain.extdnsserver1 }},{{ ansible_local.domain.extdnsserver2 }}
when: chk_dns|changed
when: chk_dns is changed
tags: force-resolvers
- name: Activating correct DNS resolution
@ -41,7 +41,7 @@
with_items:
- base
- dnsmasq
when: chk_dns|changed
when: chk_dns is changed
tags: force-resolvers
# Avahi

View File

@ -1,5 +1,5 @@
---
# Organization configuration
# Organization
- name: Installing required packages
yum:
@ -12,10 +12,31 @@
changed_when: "'City={{ ansible_local.domain.org_city }}' not in check_org.stdout"
ignore_errors: yes
# Password policy
- name: Check for password policy
shell: /sbin/e-smith/db configuration printprop passwordstrength Users
register: chk_passstr
changed_when: "'Users=none' not in chk_passstr.stdout"
ignore_errors: true
tags: password-policy
- name: Configuring password policy
shell: /sbin/e-smith/db configuration setprop passwordstrength PassExpires no Users none Admin strong MaxPassAge 180 MinPassAge 0 PassExpires no PassWarning 7
when: chk_passstr is changed
tags: password-policy
- name: Activating password policy
shell: /sbin/e-smith/signal-event password-policy-update
when: chk_passstr is changed
tags: password-policy
# Organization configuration
- name: Configuring organization
shell: /sbin/e-smith/db configuration setprop OrganizationContact City "{{ ansible_local.domain.org_city }}" Company "{{ ansible_local.domain.org_company }}" CountryCode {{ ansible_local.domain.org_countrycode }} Department "{{ ansible_local.domain.org_department }}" PhoneNumber "{{ ansible_local.domain.org_phone }}" Street "{{ ansible_local.domain.org_street }}"
when: check_org|changed
when: check_org is changed
- name: Activating organization configuration
shell: /sbin/e-smith/signal-event organization-save
when: check_org|changed
when: check_org is changed

View File

@ -10,11 +10,11 @@
- name: domusers - Creating new group
shell: /sbin/e-smith/db accounts set domusers group Description "Domain Users" Members admin Removable no
when: check_domusers|failed
when: check_domusers is failed
- name: domusers - Activating group
shell: /sbin/e-smith/signal-event group-create domusers
when: check_domusers|failed
when: check_domusers is failed
# Domain Operators
@ -25,11 +25,11 @@
- name: domopers - Creating new group
shell: /sbin/e-smith/db accounts set domopers group Description "Domain Operators" Removable no
when: check_domopers|failed
when: check_domopers is failed
- name: domopers - Activating group
shell: /sbin/e-smith/signal-event group-create domopers
when: check_domopers|failed
when: check_domopers is failed
# Docenti
@ -40,8 +40,8 @@
- name: docenti - Creating new group
shell: /sbin/e-smith/db accounts set docenti group Description "Docenti" Removable no
when: check_docenti|failed
when: check_docenti is failed
- name: docenti - Activating group
shell: /sbin/e-smith/signal-event group-create docenti
when: check_docenti|failed
when: check_docenti is failed

View File

@ -3,7 +3,6 @@
# Network interfaces
- include: network.yml
when: development|bool
become: yes
tags:
- network

View File

@ -1,9 +1,6 @@
---
# Reconfiguring network interfaces
- name: Configuring external NIC
shell: /sbin/e-smith/db networks setprop {{ extnic }} role red bootproto dhcp
- name: Configuring internal NIC
shell: /sbin/e-smith/db networks setprop {{ intnic }} role green ipaddr {{ ansible_local.domain.serverip }} netmask {{ ansible_local.domain.servernetmask }}

View File

@ -16,9 +16,9 @@
- name: Configuring NTP
shell: /sbin/e-smith/db configuration setprop ntpd NTPServer ntp1.inrim.it status enabled
become: yes
when: chk_ntp|changed
when: chk_ntp is changed
- name: Activating NTP
shell: /sbin/e-smith/signal-event nethserver-ntp-update
become: yes
when: chk_ntp|changed
when: chk_ntp is changed

View File

@ -10,5 +10,6 @@
- nethserver-collectd
- nethserver-collectd-web
- nethserver-firewall-base
- nethserver-firewall-base-ui
- nethserver-backup-config
- nethserver-backup-data

View File

@ -20,11 +20,11 @@
- name: Configuring Squid
shell: /sbin/e-smith/db configuration setprop squid BlueMode transparent GreenMode transparent PortBlock disabled status enabled DiskCache enabled DiskCacheSize 2000
when: chk_squid|changed
when: chk_squid is changed
- name: Activating Squid configuration
shell: /sbin/e-smith/signal-event nethserver-squid-update
when: chk_squid|changed
when: chk_squid is changed
# Squid-clamav
@ -36,11 +36,11 @@
- name: Configuring squidclamav
shell: /sbin/e-smith/db configuration setprop squidclamav status enabled
when: chk_squidclamav|changed
when: chk_squidclamav is changed
- name: Activating squidclamav
shell: /sbin/e-smith/signal-event nethserver-squidclamav-update
when: chk_squidclamav|changed
when: chk_squidclamav is changed
# SquidGuard
@ -52,7 +52,7 @@
- name: Configuring squidguard
shell: /sbin/e-smith/db configuration setprop squidguard Expressions enabled Lists shalla status enabled
when: check_squidguard|changed
when: check_squidguard is changed
- name: Activating squidguard configuration
shell: "/sbin/e-smith/signal-event nethserver-squidguard-{{ item }}"
@ -60,7 +60,7 @@
- save
- update
- downloadlists
when: check_squidguard|changed
when: check_squidguard is changed
# Content filtering settings
@ -72,8 +72,8 @@
- name: Configuring content filtering
shell: /sbin/e-smith/db contentfilter setprop default Categories aggressive,alcohol,weapons,games-online,gamble,dating,webradio,webtv,sex,porn,spyware,violence,anonvpn,warez
register: cf_cat
when: check_cf|changed
when: check_cf is changed
- name: Activating content filtering as a whole
shell: /sbin/e-smith/signal-event nethserver-squidguard-update
when: check_cf|changed
when: check_cf is changed

View File

@ -1,4 +1,5 @@
---
# SAMBA and ibays
- name: Installing SAMBA and ibays packages
@ -12,25 +13,59 @@
# 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 is 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 is 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 is 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 is 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: 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
when: chk_smb is changed
- name: Activating SMB
shell: /sbin/e-smith/signal-event nethserver-samba-save
when: chk_smb|changed
when: chk_smb is changed
# ibays
@ -52,7 +87,7 @@
- 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
when: force_ibay_shared|bool or chk_shared|failed
when: force_ibay_shared|bool or chk_shared is failed
- name: Configuring ibay-shared template structure (directory mask)
lineinfile:
@ -60,7 +95,7 @@
line: 'directory mask = 0775'
insertafter: '^create mask'
state: present
when: force_ibay_shared|bool or chk_shared|failed
when: force_ibay_shared|bool or chk_shared is failed
- name: Configuring force create mode
lineinfile:
@ -68,7 +103,7 @@
line: 'force create mode = 0664'
insertafter: '^directory mask'
state: present
when: force_ibay_shared|bool or chk_shared|failed
when: force_ibay_shared|bool or chk_shared is failed
- name: Configuring force directory mode
lineinfile:
@ -76,23 +111,41 @@
line: 'force directory mode = 0775'
insertafter: '^force create mode'
state: present
when: force_ibay_shared|bool or chk_shared|failed
when: force_ibay_shared|bool or chk_shared is failed
- name: Configuring shared ibay
shell: /sbin/e-smith/db accounts set shared ibay AclRead domusers,domadmins AclWrite domusers,domadmins Description "Cartella condivisa" GroupAccess rw HttpStatus disabled OtherAccess r OwningGroup locals SmbAuditStatus enabled SmbGuestAccessType none SmbRecycleBinStatus enabled SmbRecycleBinVersionsStatus enabled SmbStatus enabled
when: chk_shared|failed
when: chk_shared is failed
- name: Activating shared ibay
shell: /sbin/e-smith/signal-event ibay-create shared
become: yes
when: chk_shared|failed
when: chk_shared is failed
- name: Changing ibay profile for shared
shell: /sbin/e-smith/db accounts setprop shared SmbProfileType shared
become: yes
when: force_ibay_shared|bool or chk_shared|failed
when: force_ibay_shared|bool or chk_shared is failed
- name: Saving new version of smb.conf
shell: /sbin/e-smith/signal-event nethserver-samba-save
become: yes
when: check_tempcust is 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 is failed or check_tempcust is changed
# Fixing issue #3 - Configure sudo access for admin on server for operator
# access
# https://github.com/bglug-it/server-config/issues/3
- name: Configuring sudo access for admin account
lineinfile:
dest: /etc/sudoers.d/admin
line: 'admin ALL=(ALL:ALL) NOPASSWD: ALL'
create: yes
owner: root
group: root
mode: 0440
validate: 'visudo -cf %s'

View File

@ -1,5 +1,6 @@
---
# Defaults for installation
edu_package: secondary
mirror_mode: local
mirror_host: archive.ubuntu.com
mirror_path: /ubuntu
@ -7,5 +8,6 @@ mirror_security_host: security.ubuntu.com
mirror_security_path: /ubuntu
mirror_localpath: /ks/mirror
execpath: ""
execsecurepath: ""
execmirrorpath: ""
development: false

View File

@ -3,11 +3,22 @@
- include: mirror-cfg.yml
tags:
- preseed
- repoconfig
- include: preseed.yml
tags:
- preseed
- include: repoconfig.yml
tags:
- preseed
- repoconfig
- include: firefoxcert.yml
tags:
- firefox
- include: paperms.yml
tags:
- preseed
- paperms

View File

@ -6,19 +6,27 @@
when: "ansible_local.domain.mirror_mode is defined"
- name: Determining mirror_host
set_fact: mirror_host="{{ ansible_local.domain.mirror_host }}"
set_fact:
mirror_host: "{{ ansible_local.domain.mirror_host }}"
orig_mirror_host: "{{ ansible_local.domain.mirror_host }}"
when: ansible_local.domain.mirror_host is defined
- name: Determining mirror_path
set_fact: mirror_path="{{ ansible_local.domain.mirror_path }}"
set_fact:
mirror_path: "{{ ansible_local.domain.mirror_path }}"
orig_mirror_path: "{{ ansible_local.domain.mirror_path }}"
when: ansible_local.domain.mirror_path is defined
- name: Determining mirror_security_host
set_fact: mirror_security_host="{{ ansible_local.domain.mirror_security_host }}"
set_fact:
mirror_security_host: "{{ ansible_local.domain.mirror_security_host }}"
orig_mirror_security_host: "{{ ansible_local.domain.mirror_security_host }}"
when: ansible_local.domain.mirror_security_host is defined
- name: Determining mirror_security_path
set_fact: mirror_security_path="{{ ansible_local.domain.mirror_security_path }}"
set_fact:
mirror_security_path: "{{ ansible_local.domain.mirror_security_path }}"
orig_mirror_security_path: "{{ ansible_local.domain.mirror_security_path }}"
when: ansible_local.domain.mirror_security_path is defined
- name: Determining mirror_localpath
@ -28,16 +36,13 @@
# The remote option is already configured as it is.
# Configuring correctly local mirror
- name: Determining variables for local and nfs mode
- name: Altering paths
set_fact:
orig_mirror_path: ”{{ mirror_path }}"
orig_mirror_host: "{{ mirror_host }}"
orig_mirror_security_path: "{{ mirror_security_path }}"
orig_mirror_security_host: "{{ mirror_security_host }}"
execmirrorpath: ”{{ mirror_host }}{{ mirror_path }}"
execmirrorpath: "{{ mirror_host }}{{ mirror_path }}"
execsecurepath: "{{ mirror_security_host }}{{ mirror_security_path }}"
execpath: "{{ ansible_local.domain.serverfqdn }}{{ mirror_localpath }}/"
mirror_path: "{{ mirror_localpath }}/{{ mirror_host }}{{ mirror_path }}"
mirror_host: "{{ ansible_local.domain.serverfqdn }}"
mirror_security_path: "{{ mirror_localpath }}/{{ mirror_security_host }}{{mirror_security_path }}"
mirror_security_path: "{{ mirror_localpath }}/{{ mirror_security_host }}{{ mirror_security_path }}"
mirror_security_host: "{{ ansible_local.domain.serverfqdn }}"
when: mirror_mode != 'remote'

View File

@ -0,0 +1,25 @@
---
# Installing fixes final fixes for PulseAudio permissions.
- name: Creating paperms subdir inside ks/preseed share
file:
path: /var/lib/nethserver/ibay/ks/paperms
state: directory
owner: root
group: locals
mode: 0755
become: yes
- name: Deploy template files for paperms
template:
src: "paperms/{{ item }}"
dest: "/var/lib/nethserver/ibay/ks/paperms/{{ item }}"
owner: root
group: locals
mode: 0644
with_items:
- updategrp.py
- paperms.sh
- cronjob
- logrotate
become: yes

View File

@ -1,5 +1,10 @@
---
- name: Configure the edu-package following settings in domain.yml
set_fact:
edu_package: "{{ ansible_local.domain.edu_package }}"
when: ansible_local.domain.edu_package is defined
- name: Verifica configurazione ibay preseed
shell: /sbin/e-smith/db accounts show ks
register: chk_ks_created
@ -9,12 +14,12 @@
- name: Configurazione web preseed
shell: /sbin/e-smith/db accounts set ks ibay Description "Preseed 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
when: chk_ks_created is failed
become: yes
- name: Attivazione web preseed
shell: /sbin/e-smith/signal-event ibay-create ks
when: chk_ks_created|failed
when: chk_ks_created is failed
become: yes
- name: Verifica presenza directory mirror
@ -26,7 +31,7 @@
- name: Collegamento directory mirror
file: path=/var/lib/nethserver/ibay/ks/mirror src=/var/spool/apt-mirror/mirror state=link
become: yes
when: chk_mirror_dir|success
when: chk_mirror_dir is succeeded
- name: Creazione directory preseed
file:
@ -42,6 +47,7 @@
- edubuntu.seed
- client-trusty.seed
- docenti-trusty.seed
- aula-trusty.seed
become: yes
- block:
@ -67,6 +73,6 @@
with_items:
- postseed-client.sh
- postseed-docenti.sh
- pulseaudio-perms.sh
- postseed-aula.sh
- checksum.fact
become: yes

View File

@ -0,0 +1,44 @@
---
# Configuring the base repositories files.
# Composing here files to be used by clients will reduce time to load/construct
# them within client-pull-installation playbook.
- name: Creating base directory for storing repositories files
file:
path: /var/lib/nethserver/ibay/ks/repoconfig
state: directory
owner: root
group: root
mode: 0755
become: yes
- name: Preconfiguring base repositories file for clients
template:
src: repoconfig/sources.list
dest: /var/lib/nethserver/ibay/ks/repoconfig/sources.list
owner: root
group: root
mode: 0644
become: yes
- name: Preconfiguring other repositories for clients
template:
src: "repoconfig/{{ item }}"
dest: "/var/lib/nethserver/ibay/ks/repoconfig/{{ item }}"
owner: root
group: root
mode: 0644
with_items:
- bglug-trusty.list
- ansible-ansible-trusty.list
- libreoffice-ppa-trusty.list
- epoptes-ppa-trusty.list
- geogebra-stable.list
become: yes
- name: Pre-downloading geogebra GPG signature because of HTTPS
get_url:
url: "https://www.geogebra.net/linux/office@geogebra.org.gpg.key"
dest: "/var/lib/nethserver/ibay/ks/repoconfig/office_geogebra.gpg.key"
validate_certs: no
become: yes

View File

@ -1,2 +0,0 @@
deb http://{{ execpath }}ppa.launchpad.net/libreoffice/libreoffice-5-0/ubuntu trusty main
deb-src http://{{ execpath }}ppa.launchpad.net/libreoffice/libreoffice-5-0/ubuntu trusty main

View File

@ -0,0 +1 @@
@reboot root /var/lib/{{ ansible_local.domain.domainfull }}/bin/paperms.sh >> /var/log/paperms.log 2>&1

View File

@ -0,0 +1,7 @@
/var/log/paperms.log {
rotate 7
daily
compress
missingok
notifempty
}

View File

@ -0,0 +1,34 @@
#!/bin/bash
# Fixing base variables
basedir=/var/lib/{{ ansible_local.domain.domainfull }}
# Making sure destination folder exists.
/usr/bin/install -d -o root -g users ${basedir}/bin
# Update this script itself
/usr/bin/wget -q http://{{ ansible_local.domain.serverfqdn }}/ks/paperms/paperms.sh -O ${basedir}/bin/paperms.sh
/bin/chown root:users ${basedir}/bin/paperms.sh
/bin/chmod a+x ${basedir}/bin/paperms.sh
# Updating cronjob
/usr/bin/wget -q http://{{ ansible_local.domain.serverfqdn }}/ks/paperms/cronjob -O /etc/cron.d/paperms
/bin/chown root:root /etc/cron.d/paperms
/bin/chmod 0644 /etc/cron.d/paperms
# Removing old versions of the cronjob
rm -f /etc/cron.d/pulseaudio-perms
# Updating logrotate
/usr/bin/wget -q http://{{ ansible_local.domain.serverfqdn }}/ks/paperms/logrotate -O /etc/logrotate.d/paperms
/bin/chown root:root /etc/logrotate.d/paperms
/bin/chmod 0644 /etc/logrotate.d/paperms
# Updating updategrp.py
/usr/bin/wget -q http://{{ ansible_local.domain.serverfqdn }}/ks/paperms/updategrp.py -O ${basedir}/bin/updategrp.py
/bin/chown root:users ${basedir}/bin/updategrp.py
/bin/chmod a+x ${basedir}/bin/updategrp.py
# Main part: run updategrp.py
/usr/bin/wbinfo -t && /usr/bin/python2 ${basedir}/bin/updategrp.py "domain users" "pulse" || echo "Not in domain."
/usr/bin/wbinfo -t && /usr/bin/python2 ${basedir}/bin/updategrp.py "domain users" "pulse-access" || echo "Not in domain."

View File

@ -0,0 +1,74 @@
#!/usr/bin/env python2
from __future__ import print_function
import grp
import re
from subprocess import check_output
from sys import argv
class UpdateGrp:
def __init__(self, leftname = "domain users", rightname = "pulse"):
"""Confronts members of the LHS group with the members of the RHS group. LHS group defaults to "domain users"."""
self.leftname = leftname
self.rightname = rightname
self.leftmembers = grp.getgrnam(self.leftname)[3]
self.rightmembers = grp.getgrnam(self.rightname)[3]
# Since there is also a local user already created on the machine but
# it is not a domain user, we will add it to leftmembers
self.leftmembers.append("bglug")
self.to_add = list(set(self.leftmembers) - set(self.rightmembers))
self.to_remove = list(set(self.rightmembers) - set(self.leftmembers))
def update_rhs(self):
"""Updates the RHS group members to be equal to the LHS group members."""
# If RHS is a local group
with open('/etc/group', 'r') as group:
for grp in group.readlines():
if re.match("%s:" % self.rightname, grp):
# If to_add is not empty, add each element to group
if len(self.to_add) > 0:
for user in self.to_add:
print(check_output(["gpasswd", "-a", user, self.rightname]), end='')
# If to_remove is not empty, remove each element to group
if len(self.to_remove) > 0:
for user in self.to_remove:
print(check_output(["gpasswd", "-d", user, self.rightname]), end='')
def update_lhs(self):
"""Updates the LHS group members to be equal to the RHS group members."""
# If LHS is a local group
with open('/etc/group', 'r') as group:
for grp in group.readline():
if re.match("%s:" % self.leftname, grp):
# If to_remove is not empty, add each element to group
if len(self.to_remove) > 0:
for user in self.to_remove:
print(check_output(["gpasswd", "-a", user, self.leftname]), end='')
# If to_add is not empty, remove each element to group
if len(self.to_add) > 0:
for user in self.to_add:
print(check_output(["gpasswd", "-d", user, self.leftname]), end='')
def modprint(self):
"""Debug function to print only modifications."""
print("To add: ", end='')
print(self.to_add)
print("To remove: ", end='')
print(self.to_remove)
# When run interactively
if __name__ == '__main__':
# If the first argument is '--help' or '-h', or number of arguments less than 1 and more than 2, print help.
if len(argv) < 2 or len(argv) > 3 or argv[1] == '--help' or argv[1] == '-h':
print("Usage: %s <LHSgroup> <RHSgroup>" % argv[0])
print("Aligns RHS group members as LHS.")
else:
updgrp = UpdateGrp(argv[1], argv[2])
updgrp.update_rhs()

View File

@ -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://{{ ansible_local.domain.serverfqdn }}/ks/repoconfig/office_geogebra.gpg.key
# 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

View File

@ -27,18 +27,18 @@ 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/libreoffice-5-0/ubuntu trusty main
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
@ -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://{{ ansible_local.domain.serverfqdn }}/ks/repoconfig/office_geogebra.gpg.key
# Time and date
d-i clock-setup/utc boolean true
d-i time/zone string Europe/Rome
@ -56,7 +66,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 +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-secondary 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-secondary 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 libnss-mdns 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";

View File

@ -25,20 +25,21 @@ 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/libreoffice-5-0/ubuntu trusty main
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
@ -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
@ -101,16 +108,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-secondary 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 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-secondary 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
{% 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 libnss-mdns unity-webapps-common zeitgeist-core zeitgeist-datahub epoptes; \
in-target apt-get -y purge unity-webapps-common zeitgeist-core zeitgeist-datahub 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";

View File

@ -25,20 +25,21 @@ 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/libreoffice-5-0/ubuntu trusty main
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
@ -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
@ -101,16 +108,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-secondary 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 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-secondary 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
{% 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 libnss-mdns unity-webapps-common zeitgeist-core zeitgeist-datahub epoptes-client; \
in-target apt-get -y purge unity-webapps-common zeitgeist-core zeitgeist-datahub 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";

View File

@ -27,18 +27,18 @@ 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/libreoffice-5-0/ubuntu trusty main
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
@ -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://{{ ansible_local.domain.serverfqdn }}/ks/repoconfig/office_geogebra.gpg.key
# Time and date
d-i clock-setup/utc boolean true
d-i time/zone string Europe/Rome
@ -56,7 +66,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 +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-secondary 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-secondary 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 libnss-mdns 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";

View File

@ -28,18 +28,17 @@ 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/libreoffice-5-0/ubuntu trusty main
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
@ -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
@ -97,16 +97,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 openssh-server libreoffice ansible vim screen git curl cifs-utils ubuntu-edu-secondary libnss-myhostname geogebra geogebra-gnome sysv-rc-conf virtualbox-guest-dkms
d-i pkgsel/include string openssh-server libreoffice ansible vim screen git curl cifs-utils ubuntu-edu-{{ edu_package }} libnss-myhostname geogebra geogebra-gnome sysv-rc-conf virtualbox-guest-dkms
{% else %}
d-i pkgsel/include string openssh-server libreoffice ansible vim screen git curl cifs-utils ubuntu-edu-secondary libnss-myhostname geogebra geogebra-gnome sysv-rc-conf
d-i pkgsel/include string openssh-server libreoffice ansible vim screen git curl cifs-utils ubuntu-edu-{{ edu_package }} libnss-myhostname geogebra geogebra-gnome sysv-rc-conf
{% 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 libnss-mdns unity-webapps-common zeitgeist-core zeitgeist-datahub; \
in-target apt-get -y purge unity-webapps-common zeitgeist-core zeitgeist-datahub; \
in-target apt-get -y autoremove; \
in-target sed -i'' -e 's/ubuntu/gnome-fallback/g' /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf

View File

@ -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

View File

@ -1,27 +0,0 @@
#!/bin/bash
domaingroup="domain users"
localgroups="pulse pulse-access"
baseusers="bglug"
domainusers="$(getent group "${domaingroup}" | awk 'BEGIN { FS = ":" } ; { print $4 }' | sed -e 's/,/ /g')"
users="${baseusers} ${domainusers}"
for group in ${localgroups}; do
actualusers=$(getent group '${group}' | awk 'BEGIN { FS = ":" }; { print $4 }' | sed -e 's/,/ /g')
# Removing users not in the group
for user in ${actualusers}; do
whuser=${user//[[:space:]]/}
echo "removing ${user}"
[[ "${users}" =~ "${whuser}" ]] || gpasswd -d "${whuser}" "${group}"
unset whuser
done
# Adding users to group
for user in ${users}; do
whuser=${user//[[:space:]]/}
[[ "${actualusers}" =~ "${whuser}" ]] || gpasswd -a "${whuser}" "${group}"
done
done

View File

@ -0,0 +1,3 @@
# Repo BgLUG
deb http://{{ execpath }}repo.bglug.it/ubuntu trusty main
#deb-src http://{{ execpath }}repo.bglug.it/ubuntu trusty main

View File

@ -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

View File

@ -0,0 +1 @@
deb http://{{ execpath }}www.geogebra.net/linux stable main

View File

@ -0,0 +1,2 @@
deb http://{{ execpath }}ppa.launchpad.net/libreoffice/ppa/ubuntu trusty main
#deb-src http://{{ execpath }}ppa.launchpad.net/libreoffice/ppa/ubuntu trusty main

View File

@ -0,0 +1,19 @@
# Base repositories for Ubuntu 14.04 - Trusty Tahr
deb http://{{ mirror_host }}{{ mirror_path }} trusty main restricted universe multiverse
deb http://{{ mirror_host }}{{ mirror_path }} trusty-security main restricted universe multiverse
deb http://{{ mirror_host }}{{ mirror_path }} trusty-updates main restricted universe multiverse
deb http://{{ mirror_host }}{{ mirror_path }} trusty-backports main restricted universe multiverse
# Sources
#deb-src http://{{ mirror_host }}{{ mirror_path }} trusty main restricted universe multiverse
#deb-src http://{{ mirror_host }}{{ mirror_path }} trusty-security main restricted universe multiverse
#deb-src http://{{ mirror_host }}{{ mirror_path }} trusty-updates main restricted universe multiverse
#deb-src http://{{ mirror_host }}{{ mirror_path }} trusty-backports main restricted universe multiverse
# Security
deb http://{{ mirror_security_host }}{{ mirror_security_path }} trusty-security main restricted universe multiverse
#deb-src http://{{ mirror_security_host }}{{ mirror_security_path }} trusty-security main restricted universe multiverse
# Extras
deb http://{{ execpath }}extras.ubuntu.com/ubuntu trusty main
deb http://{{ execpath }}archive.canonical.com/ trusty partner

View File

@ -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

View File

@ -14,8 +14,8 @@
- name: Configuring TFTP
shell: /sbin/e-smith/db configuration setprop dnsmasq tftp-status enabled dhcp-boot pxelinux.0
when: chk_tftp_enabled|changed
when: chk_tftp_enabled is changed
- name: Activating tftp
shell: /sbin/e-smith/signal-event nethserver-dnsmasq-save
when: chk_tftp_enabled|changed
when: chk_tftp_enabled is changed

View File

@ -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

View File

@ -0,0 +1,35 @@
---
# Cambio nome interfacce
- name: Removing old interface names
file:
path: /etc/udev/rules.d/70-persistent-net.rules
state: absent
become: yes
- name: Forcing recreation of {{ extnic }}
shell: "INTERFACE=eth0 MATCHADDR={{ ansible_eth0.macaddress }} INTERFACE_NAME={{ extnic }} /lib/udev/write_net_rules"
become: yes
- name: Forcing recreation of {{ intnic }}
shell: "INTERFACE=eth1 MATCHADDR={{ ansible_eth1.macaddress }} INTERFACE_NAME={{ intnic }} /lib/udev/write_net_rules"
become: yes
- name: Pulizia vecchie interfacce
shell: "/sbin/e-smith/db networks delete {{ item }}"
become: yes
with_items:
- eth0
- eth1
- name: Creo interfaccia esterna in NethServer
shell: /sbin/e-smith/db networks set {{ extnic }} ethernet bootproto dhcp device {{ extnic }} hwaddr {{ ansible_eth0.macaddress }} onboot yes peerdns yes role red
become: yes
- name: Creo interfaccia interna in NethServer
shell: /sbin/e-smith/db networks set {{ intnic }} ethernet bootproto none device {{ intnic }} hwaddr {{ ansible_eth1.macaddress }} ipaddr 172.16.254.1 netmask 255.255.255.0 onboot yes role green
become: yes
- name: Trigger interfaces configuration
shell: "ifdown eth0; ifdown eth1; udevadm control --reload-rules && udevadm trigger; /sbin/e-smith/signal-event interface-update"
become: yes

View File

@ -20,10 +20,10 @@
- name: Installazione python-argparse
yum:
name: "ftp://fr2.rpmfind.net/linux/centos/6.7/extras/i386/Packages/python-argparse-1.2.1-2.el6.centos.noarch.rpm"
name: python-argparse
state: present
become: yes
when: check_argparse|changed
when: check_argparse is changed
tags: ansible
#- name: Download della gestione client con ansible

View File

@ -9,7 +9,7 @@
- name: Installo epel-release
yum: name=epel-release state=present
become: yes
when: check_epel|failed
when: check_epel is failed
register: epel_installed
ignore_errors: yes
@ -18,20 +18,20 @@
name: "http://dl.fedoraproject.org/pub/epel/6/{{ ansible_architecture }}/epel-release-6-8.noarch.rpm"
state: present
become: yes
when: epel_installed|failed
when: epel_installed is failed
register: rpm_epel_installed
- name: Abilito il repo EPEL
shell: yum-config-manager --enable epel
become: yes
when: epel_installed|changed or epel_installed|success or rpm_epel_installed|changed
when: epel_installed is changed or epel_installed is succeeded or rpm_epel_installed is changed
changed_when: "'[epel]' in epel_enabled.stdout and epel_enabled.rc == 0"
register: epel_enabled
- name: Pulizia e ricaricam. repo
shell: yum clean all && yum repolist
become: yes
when: epel_enabled|changed
when: epel_enabled is changed
tags: repo
- name: Aggiorno il sistema

View File

@ -8,16 +8,11 @@
name: yum-plugin-versionlock
state: present
- name: Updating nethserver-release to last known version for 6.6
yum:
name: nethserver-release-6.6
state: present
- name: Checking if already locked
shell: yum versionlock list | grep -q nethserver-release && echo 'Locked' || true
register: chk_locked_nethrelease
changed_when: "'Locked' not in chk_locked_nethrelease.stdout"
- name: Locking nethserver-release version to 6.6
- name: Locking nethserver-release version
shell: yum versionlock add nethserver-release
when: chk_locked_nethrelease|changed
when: chk_locked_nethrelease is changed

View File

@ -7,7 +7,7 @@
- name: Creazione directory .ssh
shell: mkdir -p $HOME/.ssh
when: check_sshdir|failed
when: check_sshdir is failed
- name: Verifica chiave ssh
shell: test -f $HOME/.ssh/id_rsa
@ -17,4 +17,4 @@
- name: Gestione creazione chiave ssh
shell: ssh-keygen -t rsa -b 1024 -f $HOME/.ssh/id_rsa -N ''
when: check_key|failed
when: check_key is failed

View File

@ -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

View File

@ -23,14 +23,14 @@
owner: root
group: root
mode: 0755
when: chk_mount_nfs|changed
when: chk_mount_nfs is changed
- name: Adding mountpoint to fstab
lineinfile:
dest: /etc/fstab
line: "{{ ansible_local.domain.mirror_nfs_share }} /var/spool/apt-mirror/mirror nfs4 defaults 0 0"
when: chk_mount_nfs|changed
when: chk_mount_nfs is changed
- name: Mounting share
shell: mount /var/spool/apt-mirror/mirror
when: chk_mount_nfs|changed
when: chk_mount_nfs is changed

View File

@ -1,3 +1,2 @@
---
# Managing a remote mirror - Doing nothing ;)

View File

@ -22,31 +22,26 @@ set _tilde 0
deb-i386 http://{{ host }}{{ path }} trusty main restricted universe multiverse
deb-i386 http://{{ host }}{{ path }} trusty-security main restricted universe multiverse
deb-i386 http://{{ host }}{{ path }} trusty-updates main restricted universe multiverse
deb-i386 http://{{ host }}{{ path }} trusty-proposed main restricted universe multiverse
deb-i386 http://{{ host }}{{ path }} trusty-backports main restricted universe multiverse
deb-amd64 http://{{ host }}{{ path }} trusty main restricted universe multiverse
deb-amd64 http://{{ host }}{{ path }} trusty-security main restricted universe multiverse
deb-amd64 http://{{ host }}{{ path }} trusty-updates main restricted universe multiverse
deb-amd64 http://{{ host }}{{ path }} trusty-proposed main restricted universe multiverse
deb-amd64 http://{{ host }}{{ path }} trusty-backports main restricted universe multiverse
deb-src http://{{ host }}{{ path }} trusty main restricted universe multiverse
deb-src http://{{ host }}{{ path }} trusty-security main restricted universe multiverse
deb-src http://{{ host }}{{ path }} trusty-updates main restricted universe multiverse
deb-src http://{{ host }}{{ path }} trusty-proposed main restricted universe multiverse
deb-src http://{{ host }}{{ path }} trusty-backports main restricted universe multiverse
deb-i386 http://{{ host }}{{ path }} trusty main/debian-installer restricted/debian-installer universe/debian-installer multiverse/debian-installer
deb-i386 http://{{ host }}{{ path }} trusty-security main/debian-installer restricted/debian-installer universe/debian-installer multiverse/debian-installer
deb-i386 http://{{ host }}{{ path }} trusty-updates main/debian-installer restricted/debian-installer universe/debian-installer multiverse/debian-installer
deb-i386 http://{{ host }}{{ path }} trusty-proposed main/debian-installer restricted/debian-installer universe/debian-installer multiverse/debian-installer
deb-i386 http://{{ host }}{{ path }} trusty-backports main/debian-installer restricted/debian-installer universe/debian-installer multiverse/debian-installer
deb-amd64 http://{{ host }}{{ path }} trusty main/debian-installer restricted/debian-installer universe/debian-installer multiverse/debian-installer
deb-amd64 http://{{ host }}{{ path }} trusty-security main/debian-installer restricted/debian-installer universe/debian-installer multiverse/debian-installer
deb-amd64 http://{{ host }}{{ path }} trusty-updates main/debian-installer restricted/debian-installer universe/debian-installer multiverse/debian-installer
deb-amd64 http://{{ host }}{{ path }} trusty-proposed main/debian-installer restricted/debian-installer universe/debian-installer multiverse/debian-installer
deb-amd64 http://{{ host }}{{ path }} trusty-backports main/debian-installer restricted/debian-installer universe/debian-installer multiverse/debian-installer
deb-i386 http://extras.ubuntu.com/ubuntu trusty main
@ -54,10 +49,8 @@ deb-amd64 http://extras.ubuntu.com/ubuntu trusty main
deb-src http://extras.ubuntu.com/ubuntu trusty main
deb-i386 http://archive.canonical.com/ trusty partner
deb-i386 http://archive.canonical.com/ trusty-proposed partner
deb-amd64 http://archive.canonical.com/ trusty partner
deb-amd64 http://archive.canonical.com/ trusty-proposed partner
deb-i386 http://{{ shost }}{{ spath }} trusty-security main restricted universe multiverse
deb-i386 http://{{ shost }}{{ spath }} trusty-security main/debian-installer restricted/debian-installer universe/debian-installer multiverse/debian-installer
@ -70,9 +63,19 @@ deb-i386 http://ppa.launchpad.net/ansible/ansible/ubuntu trusty main
deb-amd64 http://ppa.launchpad.net/ansible/ansible/ubuntu trusty main
# LibreOffice PPA
deb-i386 http://ppa.launchpad.net/libreoffice/libreoffice-5-0/ubuntu trusty main
deb-amd64 http://ppa.launchpad.net/libreoffice/libreoffice-5-0/ubuntu trusty main
deb-src http://ppa.launchpad.net/libreoffice/libreoffice-5-0/ubuntu trusty main
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
@ -84,5 +87,7 @@ clean http://extras.ubuntu.com/ubuntu
clean http://archive.canonical.com
clean http://{{ shost }}{{ spath }}
clean http://ppa.launchpad.net/ansible/ansible/ubuntu
clean http://ppa.launchpad.net/libreoffice/libreoffice-5-0/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

View File

@ -1,3 +0,0 @@
# Generated by Vagrant
[vagrant]
NethServer ansible_ssh_host=127.0.0.1 ansible_ssh_port=2222 ansible_ssh_user=vagrant

View File

@ -1,40 +0,0 @@
---
# Cambio nome interfacce
- name: Rinomino interfaccia esterna
replace:
dest: /etc/udev/rules.d/70-persistent-net.rules
regexp: 'eth0'
replace: '{{ extnic }}'
become: yes
- name: Creo interfaccia esterna in NethServer
shell: /sbin/e-smith/db networks set {{ extnic }} ethernet bootproto dhcp device {{ extnic }} hwaddr {{ ansible_eth0.macaddress }} onboot yes peerdns yes role red
become: yes
- name: Pulizia vecchia interfaccia esterna
shell: /sbin/e-smith/db networks delete eth0
become: yes
- name: Rinomino interfaccia interna
replace:
dest: /etc/udev/rules.d/70-persistent-net.rules
regexp: 'eth1'
replace: '{{ intnic }}'
become: yes
- name: Creo interfaccia interna in NethServer
shell: /sbin/e-smith/db networks set {{ intnic }} ethernet bootproto none device {{ intnic }} hwaddr {{ ansible_eth1.macaddress }} ipaddr 192.168.1.1 netmask 255.255.255.0 onboot yes role green
become: yes
- name: Pulizia vecchia interfaccia interna
shell: /sbin/e-smith/db networks delete eth1
become: yes
# Forzo il processo a tornare zero, altrimenti non va.
- name: Ricreo le interfacce
shell: udevadm control --reload-rules && udevadm trigger --attr-match=subsystem=net
become: yes
- name: Segnalo il cambiamento a livello di interfacce
shell: /sbin/e-smith/signal-event interface-update
become: yes