Project

General

Profile

Scénario #29624

Erreur reconfigure sur Seth + eole-gpo-script

Added by samuel morin over 3 years ago. Updated over 3 years ago.

Status:
Terminé (Sprint)
Priority:
Normal
Category:
-
Start date:
09/22/2016
Due date:
05/22/2020
% Done:

100%

Story points:
1.0
Remaining (hours):
0.00 hour
Velocity based estimate:
Release:
Release relationship:
Auto

Description

sur un seth en version 2.7.1 (à jour en utilisant la procédure Maj-release),
j'ai systématiquement une erreur lors du reconfigure :

Samba/Seth reconfigure
* Active Directory est initialisé, reload la configuration
* Mise à jour du backend DNS
Reading domain information
DNS accounts already exist
No zone file /var/lib/samba/bind-dns/dns/BUREAUTIQUE.IN.AC-DIJON.FR.zone
DNS records will be automatically created
DNS partitions already exist
dns-smb-dc1 account already exists
See /var/lib/samba/bind-dns/named.conf for an example configuration include file for BIND
and /var/lib/samba/bind-dns/named.txt for further documentation required for secure DNS updates
Finished upgrading DNS
Samba/Seth reconfigure end
run-parts: executing /usr/share/eole/postservice/26-actions reconfigure
run-parts: executing /usr/share/eole/postservice/26-partages reconfigure
run-parts: executing /usr/share/eole/postservice/30-gposcript reconfigure
run-parts: /usr/share/eole/postservice/30-gposcript exited with return code 1
Erreur : postservice

Le problème provient du/des paquet(s) eole-gpo-*
en les désinstallant, plus d'erreurs.
si je les ré-installe, l'erreur se produit de nouveau.


Subtasks

Tâche #17213: erreur lors de l'exécution de la commande 'samba-tool ntacl sysvolcheck'Fermé

Tâche #29948: Porter la modification en 2.7.2Fermé

Tâche #29949: Ajouter un test gpo-tool dans Jenkins Fermé

Tâche #29950: Backporter en 2.7.1Fermé

Tâche #29975: Conserver les Liens des GPO lors d'une mise à jour Fermé


Related issues

Related to Distribution EOLE - Demande #24772: eole-gpo-script : traceback à la suppression du GPO si elle est "tenue" par quelqu'un Terminé (Sprint)
Related to Distribution EOLE - Scénario #29493: Passer nos outils "GPO" en python3 sur EOLE 2.8.0 Terminé (Sprint) 03/02/2020 03/20/2020
Related to Distribution EOLE - Tâche #29016: Permettre la mise à jour du GPO en cas de changement. Fermé 09/23/2019
Related to EOLE AD DC - Tâche #28799: Exécuter le script 30-gposcript sur le maître dans le cas d’un module sans conteneur addc Nouveau 08/01/2019
Related to Distribution EOLE - Scénario #29747: L’utilisation de kerberos doit dispenser de saisir un mot de passe sur Eole 2.8.0 Terminé (Sprint)
Related to Distribution EOLE - Tâche #31114: Depuis 2.7.1, les GPO registres sont appliquées partiellement (EnableLinkedConnections) Fermé 12/01/2015

Associated revisions

Revision f018eeb5 (diff)
Added by gilles.grandgerard over 3 years ago

Import du code Gpo_Script (importation/reg_to_xml)
Import du code GPO de la version 4.11
Utilisation des fonctions samba pour les Credentials

REF #29624

Revision 06ba9282 (diff)
Added by gilles.grandgerard over 3 years ago

Utilisation de 'gpo-tool importation' sur Seth

REF #29624

Revision c50ef56e (diff)
Added by Joël Cuissinat over 3 years ago

Quick fix for ScribeAD (no CreoleGet in addc container)

Ref: #29624

Revision 55a06ecd (diff)
Added by gilles.grandgerard over 3 years ago

Utilisation du Mdp et fallback kerberos sinon.

REF #29624

Revision cd5a620c (diff)
Added by gilles.grandgerard over 3 years ago

mise en commentaire de debug(s) car pas util en prod

REF #29624

Revision cfee0cda (diff)
Added by gilles.grandgerard over 3 years ago

trop de debug

REF #29624

History

#1 Updated by Joël Cuissinat over 3 years ago

  • Parent task set to #29652

#2 Updated by Joël Cuissinat over 3 years ago

Pourrais-tu nous donner la sortie de la commande en mode "debug" :

bash -x /usr/share/eole/postservice/30-gposcript

#3 Updated by Joël Cuissinat over 3 years ago

  • Description updated (diff)
  • Assigned To set to Joël Cuissinat

#4 Updated by samuel morin over 3 years ago

voilà le résultat après ré-installation des paquets :

root@smb-dc1:~# bash -x /usr/share/eole/postservice/30-gposcript+ set -e
+ . /etc/eole/gposcript.conf
++ GPOSCRIPT=0
+ . /etc/eole/samba4-vars.conf
++ AD_REALM=bureautique.in.ac-dijon.fr
++ AD_DOMAIN=bureautique
++ AD_HOST_NAME=smb-dc1
++ AD_HOST_IP=172.30.96.30
++ NOM_CARTE_NIC1=ens160
++ AD_SERVER_ROLE='controleur de domaine'
++ BASEDN=DC=bureautique,DC=in,DC=ac-dijon,DC=fr
++ NTP_SERVERS=ntp.ac-dijon.fr
++ AD_ADDITIONAL_DC_IP='172.30.96.32 '
++ AD_DOMAIN_SID=
++ AD_ADDITIONAL_DC=non
++ AD_DNS_BACKEND=BIND9_DLZ
++ AD_ADMIN=Administrator
++ AD_ADMIN_PASSWORD_FILE=/var/lib/samba/.eole-ad-dc
++ AD_HOST_KEYTAB_FILE=/var/lib/samba/eole-ad-dc.keytab
++ ACTIVER_AD_HOMES_SHARE=non
++ ACTIVER_AD_PROFILES_SHARE=non
++ AD_HOMES_SHARE_HOST_NAME=smb-filer1
++ AD_PROFILES_SHARE_HOST_NAME=smb-filer1
++ AD_HOME_SHARE_PATH=/home/adhomes
++ AD_PROFILE_SHARE_PATH=/home/adprofiles
++ AD_INSTANCE_LOCK_FILE=/var/lib/samba/.instance_ok
++ AD_BACKEND_STORE=tdb
++ AD_PLAINTEXT_SECRETS=non
+ KEYFILE=/tmp/gpoinit.keytab
+ '[' -f /tmp/gpoinit.keytab ']'
+ GPONAME=eole_script
++ cut -d ' ' -f2
++ grep '^cn: {'
++ ldbsearch -H /var/lib/samba/private/sam.ldb '(&(objectClass=groupPolicyContainer)(displayname=eole_script))' cn
+ GPOID='{89573784-A827-40D7-B367-3FCD0E39B1B3}'
++ tr a-z A-Z
++ echo bureautique.in.ac-dijon.fr
+ USER=Administrator@BUREAUTIQUE.IN.AC-DIJON.FR
+ SCRIPTS_DIR=/home/sysvol/bureautique.in.ac-dijon.fr/scripts
+ GPOSCRIPT_DATA_DIR=/var/tmp/gpo-script
+ HASH=/var/tmp/gpo-script/eole_script_hash
+ FLAG=/var/tmp/gpo-script/update_eole_script
+ '[' 0 -eq 0 ']'
+ makedirs
+ '[' -d /home/sysvol/bureautique.in.ac-dijon.fr/scripts ']'
+ for dir in users groups machines os
+ '[' -d /home/sysvol/bureautique.in.ac-dijon.fr/scripts/users ']'
+ for dir in users groups machines os
+ '[' -d /home/sysvol/bureautique.in.ac-dijon.fr/scripts/groups ']'
+ for dir in users groups machines os
+ '[' -d /home/sysvol/bureautique.in.ac-dijon.fr/scripts/machines ']'
+ for dir in users groups machines os
+ '[' -d /home/sysvol/bureautique.in.ac-dijon.fr/scripts/os ']'
+ gpo_already_exists
+ kinituser
+ samba-tool domain exportkeytab /tmp/gpoinit.keytab --principal=Administrator@BUREAUTIQUE.IN.AC-DIJON.FR
+ kinit Administrator@BUREAUTIQUE.IN.AC-DIJON.FR -k -t /tmp/gpoinit.keytab
++ grep -q 'display name : eole_script'
++ samba-tool gpo listall -k 1
+ kdestroyuser
+ kdestroy
+ rm -f /tmp/gpoinit.keytab
+ return 0
+ delete_flag
+ '[' -e /var/tmp/gpo-script/update_eole_script ']'
+ rm -f /var/tmp/gpo-script/update_eole_script
+ return 0
+ echo 'Remise à zéro du GPO EOLE "eole_script"'
Remise à zéro du GPO EOLE "eole_script" 
+ delete_gpo eole_script
+ '[' -z '{89573784-A827-40D7-B367-3FCD0E39B1B3}' ']'
+ echo 'Suppression du GPO EOLE "eole_script"'
Suppression du GPO EOLE "eole_script" 
+ kinituser
+ samba-tool domain exportkeytab /tmp/gpoinit.keytab --principal=Administrator@BUREAUTIQUE.IN.AC-DIJON.FR
+ kinit Administrator@BUREAUTIQUE.IN.AC-DIJON.FR -k -t /tmp/gpoinit.keytab
+ gpo_name=eole_script
+ samba-tool gpo del '{89573784-A827-40D7-B367-3FCD0E39B1B3}' -k 1
GPO {89573784-A827-40D7-B367-3FCD0E39B1B3} is linked to containers
    Removed link from DC=bureautique,DC=in,DC=ac-dijon,DC=fr.
GPO {89573784-A827-40D7-B367-3FCD0E39B1B3} deleted.
+ kdestroyuser
+ kdestroy
+ rm -f /tmp/gpoinit.keytab
+ create_gpo eole_script
+ echo 'Enregistrement du GPO EOLE "eole_script"'
Enregistrement du GPO EOLE "eole_script" 
+ kinituser
+ samba-tool domain exportkeytab /tmp/gpoinit.keytab --principal=Administrator@BUREAUTIQUE.IN.AC-DIJON.FR
+ kinit Administrator@BUREAUTIQUE.IN.AC-DIJON.FR -k -t /tmp/gpoinit.keytab
++ samba-tool gpo create eole_script -k 1
ERROR: A GPO already existing with name 'eole_script'
+ msg=

#5 Updated by Joël Cuissinat over 3 years ago

  • Status changed from Nouveau to En cours

#6 Updated by Joël Cuissinat over 3 years ago

Pas de plantage sur une maquette
  • aca.dc1-2.7.0-instance-default
  • apt-eole install eole-gpo-script
  • reconfigure
  • time Maj-Release #real 5m34,946s
  • reconfigure
    run-parts: executing /usr/share/eole/postservice/30-gposcript reconfigure
    Remise à zéro du GPO EOLE "eole_script" 
    Suppression du GPO EOLE "eole_script" 
    GPO {1D6CCE4C-93F6-43B4-B08E-9F201F125BE9} is linked to containers
        Removed link from DC=domseth,DC=ac-test,DC=fr.
    GPO {1D6CCE4C-93F6-43B4-B08E-9F201F125BE9} deleted.
    Enregistrement du GPO EOLE "eole_script" 
    run-parts: executing /usr/share/eole/postservice/99-check-console-setup reconfigure
    

Il faudrait essayer de nettoyer le GPO et ses fichiers à la main ?

#7 Updated by Joël Cuissinat over 3 years ago

  • Subject changed from erreur reconfigure to Erreur reconfigure sur Seth + eole-gpo-script
  • Status changed from En cours to Nouveau
  • Assigned To deleted (Joël Cuissinat)
  • Parent task changed from #29652 to #29749

#8 Updated by Gilles Grandgérard over 3 years ago

Humm..

set -e

deleteflag sans test avec un return 1 

ça va bugger fort

#9 Updated by Gilles Grandgérard over 3 years ago

sur aca.dc1 + dc2 + file <== important

sur aca.dc1 :
- instance avec import
- apt-eole install eole-gpo-script
- reconfigure
...

run-parts: executing /usr/share/eole/postservice/30-gposcript reconfigure
Remise à zéro du GPO EOLE "eole_script" 
Suppression du GPO EOLE "eole_script" 
GPO {0F107615-D117-411F-9AA2-F9FB975E2664} is linked to containers
    Removed link from DC=domseth,DC=ac-test,DC=fr.
GPO {0F107615-D117-411F-9AA2-F9FB975E2664} deleted.
Enregistrement du GPO EOLE "eole_script" 
ERROR: GPO '{61627293-3D27-4F26-B9CE-2FC27EA9D1DC}' does not exist
run-parts: /usr/share/eole/postservice/30-gposcript exited with return code 255
Erreur : postservice

#10 Updated by Gilles Grandgérard over 3 years ago

Origine du problème :

- Le code initial de gpo-script a été mis en œuvre sur un module Scribe (donc en mono serveur AD)
- Le problème n’apparaît que dans les infra avec plusieurs DC

- Le script 'importation.py' crée une GPO 'eole_scripts' puis la mets à jours plusieurs fois (jusqu'à 7 fois !). Le problème vient de la "non" réplication instantané du Sysvol.
Le script doit s’exécuter sur le DC1 uniquement.
Mais, ce n'est pas suffisant, car nous avons un 'cluster' de DC, donc chaque commande 'samba-tool' passe d'un DC à l'autre (DC1 --> DC2 --> .. --> DC1 ).
Or, entre 2 commandes le dossier 'sysvol' n'est pas forcément mis à jour... d’où, l'erreur de type 'deltree' sur un répertoire de GPO inconnu !

- La solution est donc de s’assurer que la commande 'importation.py' se fasse dans un mode 'transactionnelle'. toutes les commandes sont faites dans un même context.

Solution :
- récupération du code 'restauration' de GPO de samba 4.11. Cela permet de comprendre comment la copie doit se faire ....
- portage du compte 30-gposcript dans un fichier python 'importation.py'
- Ajout des sous fonctions a Gpo-Tool comme suit :

Usage: gpo-tool <subcommand>

Eole Samba Administration Tool.

Options:
  -h, --help       show this help message and exit

Version Options:
    -V, --version  Display version number

Available Subcommands:
  gpo411       - Group Policy Object (GPO) Management (Samba 4.11).
  importation  - Group Policy Object (GPO) EOLE Scripts.
  policy       - Group Policy Object (GPO) Management.

For more help on a specific subcommand, please type: gpo-tool <subcommand> (-h|--help)

- Import du code Gpo_Script (importation/reg_to_xml)
- Utilisation des fonctions samba pour les Credentials

#11 Updated by Gilles Grandgérard over 3 years ago

  • Status changed from Nouveau to Résolu

#12 Updated by Gilles Grandgérard over 3 years ago

  • Related to Demande #24772: eole-gpo-script : traceback à la suppression du GPO si elle est "tenue" par quelqu'un added

#13 Updated by Gilles Grandgérard over 3 years ago

  • Related to Scénario #29493: Passer nos outils "GPO" en python3 sur EOLE 2.8.0 added

#14 Updated by Gilles Grandgérard over 3 years ago

  • Related to Tâche #29016: Permettre la mise à jour du GPO en cas de changement. added

#15 Updated by Gilles Grandgérard over 3 years ago

  • Related to Tâche #28799: Exécuter le script 30-gposcript sur le maître dans le cas d’un module sans conteneur addc added

#16 Updated by Gilles Grandgérard over 3 years ago

  • Related to Scénario #29747: L’utilisation de kerberos doit dispenser de saisir un mot de passe sur Eole 2.8.0 added

#17 Updated by Joël Cuissinat over 3 years ago

  • Parent task deleted (#29749)

#18 Updated by Joël Cuissinat over 3 years ago

  • Tracker changed from Tâche to Scénario
  • Due date set to 04/10/2020
  • Assigned To set to Gilles Grandgérard
  • Release set to EOLE 2.7.1.3
  • Story points set to 1.0

#19 Updated by Joël Cuissinat over 3 years ago

  • Target version changed from sprint 2020 13-15 Equipe MENSR to sprint 2020 16-18 Equipe MENSR

#20 Updated by Gilles Grandgérard over 3 years ago

  • Target version changed from sprint 2020 16-18 Equipe MENSR to sprint 2020 19-21 Equipe MENSR

#21 Updated by Gilles Grandgérard over 3 years ago

  • Status changed from Résolu to Terminé (Sprint)

#22 Updated by Gilles Grandgérard almost 3 years ago

  • Related to Tâche #31114: Depuis 2.7.1, les GPO registres sont appliquées partiellement (EnableLinkedConnections) added

Also available in: Atom PDF