Scénario #37433
EOLE 2.11 : proposer l'évolution vers Samba AD schéma version 2016/2019
0%
Description
L'idée serait d'ajouter une variable experte permettant d'instancier/upgrader la version du schéma AD du module (Scribe/Seth/AmonEcole).
Il faut rendre impossible l'opération inverse.
- ajouter la variable
- adapter le code
- documenter la fonctionnalité avec un bloc attention rappelant que ce n'est pas officiellement stabilisé (FIXME : point à vérifier)
- décrire/ajouter un test squash et/ou jenkins (à voir avec le PCLL)
Actuellement :
root@scribe:~# cat /etc/eole/release EOLE_MODULE=scribe EOLE_VERSION=2.10 EOLE_RELEASE=2.10.0 root@scribe:~# ssh addc root@addc:~# samba-tool domain level show Domain and forest function level for domain 'DC=domscribe,DC=ac-test,DC=fr' Forest function level: (Windows) 2008 R2 Domain function level: (Windows) 2008 R2 Lowest function level of a DC: (Windows) 2008 R2
Mais on peut évoluer vers une implémentation partielle de AD Level 2016.
Sur le(s) contrôleur(s) ADDC ajouter dans la section [global] de smb.conf :
ad dc functional level = 2016
Redémarrer Samba :
systemctl restart samba-ad-dc
Sur le contrôleur de domaine propriétaire des rôles FSMO, exécutez ceci :
samba-tool domain schemaupgrade --schema=2019 samba-tool domain functionalprep --function-level=2016 samba-tool domain level raise --domain-level=2016 --forest-level=2016

Je ne suis pas certain que la commande suivante soit nécessaire :
samba-tool domain schemaupgrade --schema=2019
car avant de l'exécuter, j'avais déjà :
root@addc:~# ldbsearch -H /var/lib/samba/private/sam.ldb -b "cn=Schema,cn=Configuration,DC=$(hostname -d | sed 's/\./,DC=/g')" -s base objectVersion  # record 1 dn: CN=Schema,CN=Configuration,DC=domscribe,DC=ac-test,DC=fr objectVersion: 88 # returned 1 records # 1 entries # 0 referrals
Et "88" indique "Windows Server 2019" selon cette page : https://wiki.samba.org/index.php/AD_Schema_Version_Support
Sous-tâches
Demandes liées
Historique
#1 Mis à jour par Joël Cuissinat il y a 5 mois
- Lié à Scénario #36032: Compilation de versions Samba upstream pour les serveurs Seth ajouté
#2 Mis à jour par Klaas TJEBBES il y a 5 mois
- Sujet changé de Évoluer vers Samba AD schéma version 2016 à Évoluer vers Samba AD schéma version 2016/2019
#3 Mis à jour par Klaas TJEBBES il y a 4 mois
root@dck:~# cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=26.04 DISTRIB_CODENAME=resolute DISTRIB_DESCRIPTION="Ubuntu 26.04 LTS"
root@dck:~# samba-tool domain level show Domain and forest function level for domain 'DC=domk,DC=ac-test,DC=fr' Forest function level: (Windows) 2008 R2 Domain function level: (Windows) 2008 R2 Lowest function level of a DC: (Windows) 2008 R2
#4 Mis à jour par Klaas TJEBBES il y a 4 mois
- Description mis à jour (diff)
#5 Mis à jour par Daniel Dehennin il y a 3 mois
Nous pouvons ajouter une vérification au tout début du reconfigure afin de s’assurer que personne n’ai modifié la valeur dans /etc/eole/config.eol à une version plus ancienne que celle actuellement en place.
#6 Mis à jour par Joël Cuissinat il y a 3 mois
- Tracker changé de Demande à Scénario
- Sujet changé de Évoluer vers Samba AD schéma version 2016/2019 à EOLE 2.11 : proposer l'évolution vers Samba AD schéma version 2016/2019
- Description mis à jour (diff)
- Début
21/04/2026supprimé - Release mis à Carnet de produit Cadoles - MEN
- Points de scénarios mis à 3.0
#7 Mis à jour par Joël Cuissinat il y a 3 mois
- Description mis à jour (diff)
#8 Mis à jour par Benjamin Bohard il y a environ un mois
Il me semble possible de gérer côté dictionnaire et fonction (eosfunc) en ce qui concerne le choix de la version.
Je vois deux pistes possibles :
- permettre de choisir, une fois pour toute, la version ;
- toujours permettre de monter de version (dans la limite de ce qui est supporté par Samba).
Dans le premier cas, il est possible d’utiliser une variable en auto-freeze mais cachée par défaut (donc, pas d’enregistrement tant que d’administrateur ne fait pas le choix de la renseigner).
Dans les deux cas, il faut pouvoir lister les versions cibles possibles pour s’assurer de ne pas proposer une version antérieure à la version courante.
La construction de cette liste nécessite, a priori, l’interrogation de la configuration Samba (testparm -sl --parameter-name="ad dc functional level" 2>/dev/null) et l’interrogation de l’annuaire comme décrit dans le scénario. Ce genre d’interrogation n’est peut-être pas idéale dans eosfunc. Il faut que l’annuaire soit démarré, ce qui n’est pas forcément le cas lors de l’utilisation de l’application de configuration du module par exemple.
On peut peut-être renseigner un fichier avec les informations lors du reconfigure et disposer d’une valeur par défaut avant que ce fichier ne soit disponible (liée à l’état d’installation qu’on maîtrise ?).
#9 Mis à jour par Benjamin Bohard il y a environ un mois
La question de la cohérence entre version de l’annuaire et des fonctionnalités n’est pas évidente. On a bien une version 88 pour le Schema (version par défaut pour Windows 2019 et 2022) alors que les fonctionnalités rapportées sont celles de 2008R2 dans la configuration.
Peut-être les deux devraient-elles être traitées à part ?
#10 Mis à jour par Benjamin Bohard il y a environ un mois
- Echéance mis à 01/01/2026
- Assigné à mis à Benjamin Bohard
- Version cible mis à Carnet Cadoles - MEN
- Début mis à 01/10/2022
#11 Mis à jour par Klaas TJEBBES il y a environ un mois
Je pense qu'il faut aller au plus simple : coder en dur les versions de schéma possibles (pas d'interrogation eosfunc).
Il faut juste prévoir que l'utilisateur ne peut pas revenir en arrière. Une fois qu'une version AD a été choisi le choix d'une version inférieure ne doit pas être possible. OU ALORS c'est lors du "reconfigure" qu'un message peut être affiché pour indiquer un problème avec les valeurs de version samba et que la valeur précédente a été prise en compte.
#12 Mis à jour par Benjamin Bohard il y a 30 jours
Klaas TJEBBES a écrit :
Je pense qu'il faut aller au plus simple : coder en dur les versions de schéma possibles (pas d'interrogation eosfunc).
La difficulté est d’exclure les versions inférieures. Il semble nécessaire de récupérer la version courante pour faire le tri.
Il faut juste prévoir que l'utilisateur ne peut pas revenir en arrière. Une fois qu'une version AD a été choisi le choix d'une version inférieure ne doit pas être possible. OU ALORS c'est lors du "reconfigure" qu'un message peut être affiché pour indiquer un problème avec les valeurs de version samba et que la valeur précédente a été prise en compte.
Ça semble problématique de permettre la saisie de valeurs non fonctionnelles dans l’application de configuration, d’où l’idée de pouvoir mettre en place une contrainte dans le dictionnaire et de recourir à une fonction spécifique pour construire une liste des valeurs possibles excluant les versions inférieures.
#13 Mis à jour par Joël Cuissinat il y a 13 jours
- Points de scénarios changé de 3.0 à 6.0
+3 suite à visio du 10/09/2026