Tâche #10475
Distribution EOLE - Scénario #13757: Étude pré-scénario (45-47)
Passage de la méthode 'fill' à la méthode 'auto'
Description
pour les deux fonctions suivantes, l'adaptation de la méthode 'fill' à 'auto' ne pose aucun problème pour le calcul de la variable 'smb_ldap_admin_dn', par contre provoque l'erreur "calc_ldap_suffix() got an unexpected keyword argument 'valeur'" dans gen_config lorsque l'on accède à la rubrique samba
# -*- coding: utf-8 -*- """Helper for /etc/hosts in LXC containers """ def calc_ldap_admin_dn(uid=None, group=None, base_dn=None): """ Return ldap admin dn based on given uid, samba group and base dn. :param uid: admin's uid, beginning by uid= :type uid: `str` :param group: samba workgroup :type group: `str` :param base_dn: base dn :type base_dn: `str` :return: full admin dn :rtype: `str` """ admin_dn_tmpl = u'{0}{1},ou={1},{2}' if uid is None or group is None or base_dn is None: admin_dn = None else: admin_dn = admin_dn_tmpl.format(uid, group.upper(), base_dn) return admin_dn def calc_ldap_suffix(group=None, base_dn=None): """ Return ldap suffix based on samba group and base dn. :param group: samba workgroup :type group: `str` :param base_dn: base dn :type base_dn: `str` :return: ldap suffix :rtype: `str` """ ldap_suffix_tmpl = u'ou={0},{1}' if group is None or base_dn is None: ldap_suffix = None else: ldap_suffix = ldap_suffix_tmpl.format(group.upper(), base_dn) return ldap_suffix
avec les contraintes
<auto name='calc_ldap_admin_dn' target='smb_ldap_admin_dn'> <param type='eole' name='uid'>ecdl_ldap_admin</param> <param type='eole' name='group'>smb_workgroup</param> <param type='eole' name='base_dn'>ldap_base_dn</param> </auto> <auto name='calc_ldap_suffix' target='smb_ldap_suffix'> <param type='eole' name='group'>smb_workgroup</param> <param type='eole' name='base_dn'>ldap_base_dn</param> </auto>
Un contournement, qui fonctionne, pourrait être de rajouter le paramètre 'valeur=None' pour la fonction 'calc_ldap_suffix'
comme ci-dessous
def calc_ldap_suffix(group=None, base_dn=None, valeur=None): """ Return ldap suffix based on samba group and base dn. :param group: samba workgroup :type group: `str` :param base_dn: base dn :type base_dn: `str` :return: ldap suffix :rtype: `str` """ ldap_suffix_tmpl = u'ou={0},{1}' if group is None or base_dn is None: ldap_suffix = None else: ldap_suffix = ldap_suffix_tmpl.format(group.upper(), base_dn) return ldap_suffix
Related issues
Associated revisions
creole/var_loader.py: Application du patch 10475.patch
Ce patch résoud le problème de surcharge d'un auto après un redefine.
Correction pour la 2.5
ref #10475
Tests unitaire validant le redefine entre fill et auto
- tests/test_genconfig.py : ajout de tests complémentaires dans "test_redefine()"
- tests/dicos/redefine/*.xml : déclaration des variables associées
Ref: #10475 @1h
History
#1 Updated by Joël Cuissinat over 8 years ago
- File 10475.patch View added
- Tracker changed from Anomalie to Tâche
- Estimated time set to 2.00 h
- Parent task set to #10492
- Remaining (hours) set to 2.0
Je joins un patch réalisé vite fait avec Manu mais qui serait à valider de façon plus globale.
#2 Updated by Joël Cuissinat almost 8 years ago
- Status changed from Nouveau to En cours
- Assigned To set to Joël Cuissinat
- Parent task changed from #10492 to #13757
#3 Updated by Joël Cuissinat almost 8 years ago
- % Done changed from 0 to 100
- Remaining (hours) changed from 2.0 to 0.25
#4 Updated by Joël Cuissinat almost 8 years ago
Le patch proposé a déjà été appliqué en 2.5
J'ai ajouté un test unitaire permettant de valider le remplacement d'un fill par un auto et inversement.
#5 Updated by Scrum Master almost 8 years ago
- Status changed from En cours to Fermé
- Remaining (hours) changed from 0.25 to 0.0