Tâche #30678
Scénario #30570: Étudier la possibilité de création d'un AmonEcole 2.8.1
Etude de la création d'un AmonEcole avec conteneur
0%
History
#1 Updated by Emmanuel GARETTE about 3 years ago
- Status changed from Nouveau to En cours
#2 Updated by Emmanuel GARETTE about 3 years ago
- Assigned To set to Emmanuel GARETTE
étude des paquets concernées¶
Commun¶
eole-workstation-manager¶
Devrait être dans le conteneur du DC :
- /usr/share/eole/creole/dicos/20_workstation_manager.xml
CONTAINER_EXEC doit est mis à jour pour le mode conteneur (vers DC uniquement) :
- /usr/share/eole/postservice/30-eole-workstation-manager
Doit créer le fichier de mot de passe dans le conteneur :
- /usr/share/eole/pretemplate/30-eole-workstation-manager
RAF :
- /usr/share/eole/creole/distrib/eole-workstation.sls
- /usr/share/eole/creole/distrib/workstation-manager.conf
eole-scribehorus¶
Séparer ce qui doit etre fait sur le maitre et dans le conteneur :
- /usr/share/eole/postservice/06-scribehorus
Exemple doit etre exécuter dans le conteneur :
- la recherche de l'utilisateur admin
- le script addadmin
Installer dans le conteneur :
- /usr/share/eole/sbin/create_adhome
- /usr/share/eole/sbin/special_shares.sh
- /usr/share/eole/sbin/synchro_file.py
RAF
- /usr/share/eole/creole/dicos/29_scribehorus.xml
- /usr/share/eole/creole/distrib/01_fichier.ldif
- /usr/share/eole/creole/distrib/proftpd_scribehorus
- /usr/share/eole/creole/distrib/smb-include_shares.conf
- /usr/share/eole/postservice/26-scribehorus
- /usr/share/eole/posttemplate/01-sid
- /usr/share/eole/preservice/00-save-sid
- /usr/share/eole/pretemplate/00-scribehorus
eolead-gpo-script-pkg¶
Devrait être exécuté dans le conteneur DC :
- /usr/share/eole/postservice/30-gposcript
Devrait etre dans le conteneur DC :
- /usr/share/eole/gpo/reg/Machine/EnableLinkedConnections.reg
- /usr/share/eole/gpo/script/Machine/psscripts.ini
- /usr/share/eole/gpo/script/Machine/scripts.ini
- /usr/share/eole/gpo/script/User/ps.ps1
- /usr/share/eole/gpo/script/User/psscripts.ini
- /usr/share/eole/gpo/script/User/scripts.ini
eolead-gpo-script¶
Devrait etre dans le conteneur du DC (attention il faut prendre en compte le mode non conteneur) :
- /usr/share/eole/creole/dicos/26_eolead_gposcript.xml
Devrait être exécuté dans le conteneur file :
- /usr/share/eole/postservice/07-eolead-gpo
RAF :
- /usr/share/eole/creole/dicos/25_gposcript.xml
- /usr/share/eole/creole/distrib/gposcript.conf
eole-ad-dc¶
Devrait être dans le conteneur du DC
- /usr/share/eole/creole/dicos/25_smb_ad.xml
- /usr/share/eole/creole/dicos/30_samba_backup.xml
- /usr/share/eole/sbin/JobSynchroSysvol
- /usr/share/eole/sbin/actualiser_cache
- /usr/share/eole/sbin/createDnsRecord
- /usr/share/eole/sbin/create_adhome.sh
- /usr/share/eole/sbin/getADAdminPassword
- /usr/share/eole/sbin/getAdminPassword
- /usr/share/eole/sbin/join-ad
- /usr/share/eole/sbin/reset_home_acl
- /usr/share/eole/sbin/samba_backup
- /usr/share/eole/sbin/validSambaPassword
Devrait etre exécuté dans le conteneur DC
- /usr/share/eole/postservice/25-manage-samba
Doivent etre adapté au mode conteneur (les règles doivent être dans le conteneur pas sur le maitre)
- /usr/share/eole/creole/distrib/90-samba_dynamic_rules
- /usr/share/eole/creole/distrib/apparmor_samba_usr.sbin.clamd
- /usr/share/eole/creole/distrib/named.apparmor.conf
Devrait s'exécuter en parti dans le conteneur
- /usr/share/eole/bareos/restore/addc.py
Devrait être dans le conteneur
RAF
- /usr/share/eole/creole/distrib/avscan-samba.yaml
- /usr/share/eole/creole/distrib/bareos-samba.conf
- /usr/share/eole/creole/distrib/krb5.conf
- /usr/share/eole/creole/distrib/named.conf
- /usr/share/eole/creole/distrib/named.conf.default-zones
- /usr/share/eole/creole/distrib/named.conf.dlz
- /usr/share/eole/creole/distrib/named.conf.local
- /usr/share/eole/creole/distrib/named.conf.options
- /usr/share/eole/creole/distrib/nsswitch.conf
- /usr/share/eole/creole/distrib/recycle.conf
- /usr/share/eole/creole/distrib/samba-backup.cron
- /usr/share/eole/creole/distrib/samba.logrotate
- /usr/share/eole/creole/distrib/samba4-vars.conf
- /usr/share/eole/creole/distrib/samba_backup.conf
- /usr/share/eole/creole/distrib/smb-ad.conf
- /usr/share/eole/postservice/24-test-synchro-with-time-reference
- /usr/share/eole/postservice/26-partages
- /usr/share/eole/pretemplate/01-quota
- /usr/share/eole/posttemplate/02-partages
- /usr/share/eole/posttemplate/01-bind-apparmor
seth-education¶
eole-seth-education¶
Devrait être en partie dans le conteneur annuaire et en partie sur le maitre :
- /usr/share/eole/creole/dicos/80_ldapconf.xml
A exécuter dans le conteneur DC :
- /usr/share/eole/postservice/26-ad_schema
A ne pas exécuter en mode conteneur :
- /usr/share/eole/pretemplate/08-seth_scribe_compat
Il faut découper le paquet en 2 et installer ces fichiers dans le conteneur.
- /usr/sbin/smbldap-groupadd
- /usr/sbin/smbldap-groupdel
- /usr/sbin/smbldap-groupmod
- /usr/sbin/smbldap-passwd
- /usr/sbin/smbldap-useradd
- /usr/sbin/smbldap-userdel
RAF :
- /usr/share/eole/creole/dicos/80_proftpd.xml
- /usr/share/eole/creole/distrib/00_seth.ldif
- /usr/share/eole/creole/distrib/01_seth_index.ldif
- /usr/share/eole/creole/distrib/02_scribe.ldif
- /usr/share/eole/creole/distrib/actions_scribe.cfg
- /usr/share/eole/creole/distrib/ldapconf.conf
- /usr/share/eole/creole/distrib/proftpd_ad
- /usr/share/eole/creole/distrib/veyon-config.json
- /usr/share/eole/postservice/27-scribe
eole-ad¶
eole-ad¶
Faire un paquet a part pour le conteneur fichier :
- /etc/systemd/system/winbind.service.d/wait_for_smb.conf
- /lib/systemd/system/eole-lsc.service
- /lib/systemd/system/eole-wait-addc.service
- /usr/sbin/eolelsc
- /usr/sbin/lsc-keygen
- /usr/sbin/waitsmb
Support du mode conteneur :
- /usr/share/eole/annuaire/password_files/eolead.ini
- /usr/share/eole/creole/dicos/26_eolead.xml
- /usr/share/eole/diagnose/151-fichier-ad
- /usr/share/eole/postservice/05-eolead-join-and-sync-ldap
- /usr/share/eole/schedule/scripts/eolead
RAF
- /usr/sbin/changepasswordeole.pl
- /usr/sbin/get_list_etablissement.py
- /usr/share/eole/creole/distrib/ad-resolv.conf
- /usr/share/eole/creole/distrib/eole-lsc.default
- /usr/share/eole/creole/distrib/global_smb_ad.tmpl
- /usr/share/eole/creole/distrib/krb5.conf
- /usr/share/eole/creole/distrib/lsc.default
- /usr/share/eole/creole/distrib/lsc.xml
- /usr/share/eole/creole/extra/schedule/01_eolead.xml
#3 Updated by Emmanuel GARETTE about 3 years ago
Les conteneurs¶
Conteneur | 2.6 | seth-education | eole-ad | |
---|---|---|---|---|
master (x) | creoled, upsd, bareos, eole-sso, ead, nginx, ntp | |||
reseau /home/applications/ocsinventory /home/mail |
mail (courier, spamd, sympa, exim) web (apache) jabber (ejabberdctl) |
|||
partage (x) /home |
dhcp (dhcpd) fichier (samba, cupsd, controlvnc, proftpd) |
dhcp (dhcpd) fichier (samba, cupsd, proftpd) |
||
internet (x) | proxy (cntlm, squid, e2guardian, samba) dns (bind) |
proxy (cntlm, squid, e2guardian, samba) X |
||
bdd | mysql (mysqld) annuaire (slapd) |
mysql (mysqld) X |
mysql (mysqld) annuaire (slapd, lsc, saslauthd) |
|
controleur (x) /home |
X | dc (samba, sysvol, salt) |
(x) : adresse IP sur le réseau local
#4 Updated by Emmanuel GARETTE about 3 years ago
Le mode conteneur¶
Avantages¶
Solution éprouvée¶
- système pléblicité par les utilisateurs
- pas de dysfonctionnement majeur remonté depuis la 1er mise à disposition
Moins de ressource¶
- moins de consommation de CPU/RAM (conteneurs | VM + conteneur)
- moins de consommation d'espace disque
- moins d'espace disque utilisé sur le support de sauvegarde
- ne nécessite que 2 cartes réseaux
Moins de processus¶
- la couche LXC est intégré au noyau | processus pour gérer les VM
- un creoled | un eoleflask | EAD | ...
- pas de redondance de bind
Configuration simplifié¶
- complexité de l'infrastructure géré par EOLE et non l'utilisateur
- un seul système à gérer | un seul gen_config
- peut facilement changer la configuration (IP, ...) (installation dans un laboratoire, mise en place en établissement)
- pas de redirection des flux (DNS du Scribe, reverse proxy, ...)
- simplication du DNS :
- dans le cas d'un Amon/Scribe il faut :
docs . ecole . mamairie.fr ^ ^ ^ | | | Gérer par le scribe gérer par l'amon gérer par la mairie
- dans le cas d'AmonEcole il faut :
ecole . mamairie.fr ^ ^ | | Gérer par l'amonecole gérer par la mairie
- il faut que "scribe.docs.ecole.mamaire.fr" résolve toujours sur l'Amon (duplication de l'information) pour gérer le démarrage synchrone de l'Amon et du Scribe
- gestion de la sauvegarde simplifier (disque USB, gestion des flux réseaux/firewall, pas besoin de recopier les fichiers des 3 directeurs en 1, ...)
- un seule EAD
Reprise sur incidents¶
- redémarrage des service en cas d'arrêt brutal
- pas de disque en état "Unknown"
- restauration du serveur unique et simplifié
Avantage de la solution seth-education¶
Architecture qui ressemble à l'architecture Scribe cible et plus simple :
- une seule base de référence
- suppression de la synchronisation des annuaires/mot de passe (moins de service à gérer : slapd, lsc et saslauthd)
- pas de 5ème conteneur
Inconvénient¶
Nécessite des eole- compatible mode conteneur.
#5 Updated by Emmanuel GARETTE about 3 years ago
Choses à faire¶
Mode conteneur¶
Le mode conteneur a été abandonnée à partir de la 2.7.0.
Il faut vérifier :
- la génération des conteneurs (déjà mis en place dans le cadre de Scribe)
- le portage de la partie conteneur en python3 : vérifier le fonctionnement
La conteneurisation des paquets eole-¶
Certains projets n'ont pas été créé dans l'optique du mode conteneur. Il faut les adapter (voir l'étude complète plus haut).
Commun aux deux solutions¶
- adapter la partie fichier eole-ad-dc doit s'installer dans le conteneur fichier en tant que membre
- installer les différents outils liés dans le conteneur (salt, GPO, ...)
Avec la solution seth-education¶
Pouvoir installer eole-ad-dc en tant que DC et membre dans les conteneurs.
D'après ce que j'ai constaté cela ne concerne que 5 fichiers :
- fichiers avec contenu identique (/etc/logrotate.d/samba, /etc/nsswitch.conf), il faut utiliser les mécanismes EOLE de copie de fichiers identiques dans plusieurs conteneurs
- fichiers différents (/etc/samba/smb.conf, /etc/eole/samba4-vars.conf, /etc/krb5.conf), il suffit de faire un nouveau fichier dans lequel on force ad_server_role et ad_server_netbios_name.
Il faut lancer ensuite le script /usr/share/eole/postservice/25-manage-samba dans le conteneur "dc" puis dans le conteneur "fichier".
Avec la solution eole-ad¶
Il faut pouvoir installer eole-ad et eole-ad-dc sur la même machine :
- problème de dépendances
- conflit dans le nom de template krb5.conf
Il faut faire la correspondance des variables scribe et eole-ad-dc :
- smb_netbios_name <=> ad_server_netbios_name
- ad_server_netbios_name <=> ad_server
Il va falloir corriger le conflit entre les variables "ad_domain" qui ne represente pas la meme chose :
- eole-ad-dc : correspond au workgroup (smb_workgroup sur eole-ad
- eole-ad : correspond au realm (ad_realm sur eole-ad-dc)
Proposer le module amonecole.¶
#6 Updated by Gilles Grandgérard about 3 years ago
- Status changed from En cours to Fermé
- Remaining (hours) set to 0.0