Project

General

Profile

Evolution #4172

Requête sur la configuration

Added by Daniel Dehennin almost 9 years ago. Updated over 7 years ago.

Status:
Fermé
Priority:
Normal
Assigned To:
Category:
-
Start date:
09/19/2012
Due date:
04/04/2014
% Done:

100%

Estimated time:
2.00 h
Spent time:
Distribution:
EOLE 2.4

Description

Afin d’implémenter un serveur creole, il faut que la configuration soit interrogeable.

Par exemple, en français :

  • Retourner le conteneur ayant pour nom 'root' ;
  • Retourner les conteneurs ayant le service 'X' activé ;
  • Retourner tous les paquets de tous les conteneurs.

Je ne vois pas, pour l’instant, de cas d’utilisation de critères de recherche multiples.


Related issues

Blocks creole - Tâche #4100: Organisation arborescente de la configuration des conteneurs et requête Fermé 09/19/2012

History

#1 Updated by Daniel Dehennin almost 9 years ago

Pour exprimer les requêtes de façon plus génériques on pourrait dire :

Retourner une liste d’objects d’un certain type (conteneur, fichier, service, paquet,…), à partir d’un certain chemin, respectant certains critères

Comment exprimer les critères de sélection ?

#2 Updated by Joël Cuissinat almost 9 years ago

  • Target version changed from Eole 2.4-dev-1 to Eole 2.4-dev-2

#3 Updated by Joël Cuissinat almost 9 years ago

  • Assigned To set to Gwenael Remond

#4 Updated by Gwenael Remond over 8 years ago

  • Status changed from Nouveau to En attente d'informations
  • % Done changed from 0 to 100
  • Estimated time set to 2.00 h

à priori les méthodes find() ou find_first() de config.py répondent à la demande. A confirmer.

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

  • Due date set to 02/01/2013
  • Assigned To changed from Gwenael Remond to Daniel Dehennin

#6 Updated by Daniel Dehennin over 8 years ago

  • Assigned To changed from Daniel Dehennin to Gwenael Remond
  • % Done changed from 100 to 80

La méthode find ne semble pas ce comporter comme je m’y attendais pour son paramètre byattrs.

Je m’attendais à quelque chose comme :

>>> config.containers.files.find(byattrs={'container':'web'})
{u'file0.container': u'web',
 u'file0.filelist': u'apache',
 u'file0.mkdir': False,
 u'file0.name': u'/etc/apache2/sites-available/Vhost',
 u'file0.rm': False,
 u'file0.source': u'/var/lib/creole/Vhost.conf',
 u'file1.container': u'web',
 u'file1.del_comment': u';',
 u'file1.filelist': u'apache',
 u'file1.mkdir': False,
 u'file1.name': u'/etc/php5/apache2/php.ini',
 u'file1.rm': False,
 u'file1.source': u'/var/lib/creole/php.ini',
 u'file2.container': u'web',
 u'file2.filelist': u'rpaf',
 u'file2.mkdir': False,
 u'file2.name': u'/etc/apache2/mods-available/rpaf.conf',
 u'file2.rm': False,
 u'file2.source': u'/var/lib/creole/rpaf.conf'
 [...]
}

Aujourd’hui, on le fait côté client avec CreoleClient.to_grouped_list() creole:source:creole/client.py?rev=a18255e4#L311) et CreoleClient.to_list_of_dict() (creole:source:creole/client.py?rev=a18255e4#L331) :

>>> from creole.client import CreoleClient
>>> c = CreoleClient()
>>> c.to_grouped_lists(c.to_list_of_dict(c.get('/containers/files')), keyname='container', keyvalue='web')
{u'web': [{u'container': u'web',
   u'filelist': u'apache',
   u'mkdir': False,
   u'name': u'/etc/apache2/sites-available/Vhost',
   u'rm': False,
   u'source': u'/var/lib/creole/Vhost.conf'},
  {u'container': u'web',
   u'del_comment': u';',
   u'filelist': u'apache',
   u'mkdir': False,
   u'name': u'/etc/php5/apache2/php.ini',
   u'rm': False,
   u'source': u'/var/lib/creole/php.ini'},
  {u'container': u'web',
   u'filelist': u'rpaf',
   u'mkdir': False,
   u'name': u'/etc/apache2/mods-available/rpaf.conf',
   u'rm': False,
   u'source': u'/var/lib/creole/rpaf.conf'},
   [...]
]}

Peut-être que cela nécessite de tester une expression rationnelle sur le nom ?

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

  • Due date deleted (02/01/2013)

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

  • Target version deleted (Eole 2.4-dev-2)

#9 Updated by Emmanuel GARETTE over 7 years ago

  • Assigned To changed from Gwenael Remond to Daniel Dehennin
  • Target version set to Eole 2.4-RC3

Status de la demande ?

#10 Updated by Daniel Dehennin over 7 years ago

  • Due date set to 04/04/2014
  • Status changed from En attente d'informations to Résolu
  • % Done changed from 80 to 100

La situation actuelle fonctionne.

#11 Updated by Emmanuel GARETTE over 7 years ago

  • Status changed from Résolu to Fermé

Je confirme.

Also available in: Atom PDF