Anomalie #8515
L’inventaire par groupe ne conserve par l’ordre de déclaration
Statut:
Fermé
Priorité:
Normal
Assigné à:
Catégorie:
-
Version cible:
Distribution:
EOLE 2.4
Description
Sur un amon 2.4 non conteneur:
from creole.client import CreoleClient; c = CreoleClient()
import pprint; pp = pprint.PrettyPrinter(indent=4)
root = c.get_container_infos('root')
pp.pprint([ s['name'] for s in root['services'] ])
retourne:
[ u'networking', u'cron', u'rng-tools', u'ntp', u'clamav-freshclam', u'bacula-director', u'bacula-fd', u'bacula-sd', u'isc-dhcp-relay', u'nut', u'z_stats', u'eole-sso', u'ead-server', u'ead-web', u'freeradius', u'eoleflask', u'eoleapps', u'nginx', u'bastion']
Tandis que :
from creole.client import CreoleClient; c = CreoleClient()
import pprint; pp = pprint.PrettyPrinter(indent=4)
root = c.get_group_infos('root')
pp.pprint([ s['name'] for s in root['services'] ])
retourne:
[ u'clamav-daemon', u'exim4', u'networking', u'cron', u'rng-tools', u'ntp', u'clamav-freshclam', u'bacula-director', u'bacula-fd', u'bacula-sd', u'isc-dhcp-relay', u'nut', u'z_stats', u'eole-sso', u'ead-server', u'ead-web', u'freeradius', u'eoleflask', u'eoleapps', u'nginx', u'bastion', u'squid3-2', u'smbd', u'nmbd', u'winbind', u'krb5-admin-server', u'krb5-kdc', u'cntlm', u'bind9', u'squid3', u'dansguardian']
L’ordre n’est pas celui des dictionnaires.
Demandes liées
Révisions associées
L’inventaire par groupe ne conserve par l’ordre de déclaration
L’inventaire par groupe de conteneurs itère sur chaque conteneur de
chaque groupe.
Les ressources sont donc triées par conteneurs puis par ordre de
déclaration des dictionnaires.
- creole/client.py (CreoleClient.get_components): Ajout d’une option
déclarant que le conteneur est un groupe de conteneurs et fait une
recherche sur l’attribut « real_container » dans ce cas.
(CreoleClient.get_containers_components): Ajout d’une option déclarant
que les conteneurs sont des groupes de conteneurs.
L’option « remove_duplicates » est mieux nommé « merge_duplicates ».
(CreoleClient.get_group_infos): Utilisation de l’argument « group »
pour agréger les ressources par groupe et non par conteneur d’un
groupe.
Fixes: #8515 @1h
Historique
#1 Mis à jour par Daniel Dehennin il y a presque 10 ans
- Echéance mis à 04/07/2014
- Assigné à mis à Daniel Dehennin
- Version cible mis à Eole 2.4.0.1
#2 Mis à jour par Daniel Dehennin il y a presque 10 ans
- Statut changé de Nouveau à Accepté
#3 Mis à jour par Daniel Dehennin il y a presque 10 ans
- Statut changé de Accepté à Résolu
- % réalisé changé de 0 à 100
Appliqué par commit a47371066d8de8dc8acc3efba01ba64d71cb04e0.
#4 Mis à jour par Daniel Dehennin il y a presque 10 ans
Les tests suivants s’assure de l’ordre des services :
TestCreoleClient.test_get_services()
(source:creole/tests/test_creoleclient.py@508f4cd#L124)TestCreoleClient.test_root_container_services()
(source:creole/tests/test_creoleclient.py@508f4cd#L132)TestCreoleClient.test_root_group_services()
(source:creole/tests/test_creoleclient.py@508f4cd#L143)
#5 Mis à jour par Joël Cuissinat il y a presque 10 ans
- Statut changé de Résolu à Fermé
Je fais confiance aux tests : 23 passed in 3.66 seconds