Project

General

Profile

Evolution #4317

Revoir la détection du mode conteneur en 2.4

Added by Daniel Dehennin over 7 years ago. Updated about 7 years ago.

Status:
Fermé
Priority:
Normal
Assigned To:
Category:
-
Start date:
01/28/2013
Due date:
02/08/2013
% Done:

100%

Spent time:
Distribution:
EOLE 2.4

Description

Le code de source:creole/config.py?rev=2.3 est à revoir pour la détection du mode conteneur.


Related issues

Related to eole-common - Evolution #2622: Mettre à jour l’utilisation de LXC pour 2.4 Fermé 01/28/2013 03/21/2014

Associated revisions

Revision 4d275a64 (diff)
Added by Daniel Dehennin over 7 years ago

Préparation LXC pour EOLE 2.4

L’installation des conteneurs LXC en 2.4 se fera avec la commande
lxc-create et un template d’installation EOLE :

lxc-create n test -t eole - --release precise

L’utilitaire « gen_conteneurs » n’est pas encore utilisable pour EOLE
2.4.

Suppression de l’arborescence source eole-conteneur avec dispersion des
fichiers encore utiles. On supprime le fstab et le répertoire hosts
devenu obsolète avec les nouvelles balises creole.

  • Makefile (eole_lxc_templates_PROG_DIR): Répertoire des templates
    lxc-create.
  • lxc/templates/lxc-eole: Installation d’un conteneur EOLE, basé sur
    lxc-ubuntu.
  • scripts/gen_conteneurs: n’est pas encore utilisable.
  • dicos/01_container.xml: Forcer la variable « mode_conteneur_actif » à
    oui.
    Installer une configuration sshd dans tous les conteneurs.
    Créer un fichier témoin d’activation du mode conteneur.
  • tmpl/lxc-controller.enable: Verrou d’activation du mode conteneur.

Ref: #2622 @5h
Ref: #4317

Revision 3b77b69e (diff)
Added by Daniel Dehennin about 7 years ago

Nettoyage du fichier de configuration de creole.

  • creole/config.py: Suppression des variables inutiles en 2.4.

Ref: #4317 @2m

Revision 8f810e80 (diff)
Added by Daniel Dehennin about 7 years ago

L’attribut « group » d’un conteneur est son « name » par défaut

Un conteneur pouvait avoir un groupe à « None » si aucun dictionnaire ne
défini de groupe pour un conteneur.

  • creole/loader.py (CreoleContainer._get_containers): Correction et
    factorisation de la définition des attributs de conteneurs.

Ref: #4317 @10m

Revision c69e109f (diff)
Added by Daniel Dehennin about 7 years ago

Utilisation d’une variable inexistante dans les calculs de chemins

  • creole/loader.py (CreoleContainer.gen_containers_creole): Utilisation
    de la clef « group » du dictionnaire « container ».
    (CreoleContainer.gen_files): Récupération de la définition du conteneur
    pour calculer le chemin du fichier.

Ref: #4317 @10m

Revision 88859986 (diff)
Added by Daniel Dehennin about 7 years ago

Détection de l’activation du mode conteneur depuis les dictionnaires

  • creole/loader.py (CreoleVarLoader.__init__): Définition d’un nouvel
    attribut « containers_enabled ».
    (CreoleVarLoader._init_creole_varloader): Initialisation de l’attribut
    « containers_enabled » en fonction de la valeur
    de « self.families['general']['vars']['mode_conteneur_actif']['value'] ».

Fixes: #4317 @45m

Revision 70118baa (diff)
Added by Daniel Dehennin about 7 years ago

Vérification de la cohérence de l’état d’activation du mode conteneur

L’activation du mode conteneur est gérée par une variable de dictionnaire
uniquement.

La fonction « is_lxc_enabled » vérifie si le mode conteneur est activé
dans la configuration et si cet état est cohérent avec les verrous.

  • creole/config.py: Suppression des tests liés aux conteneurs.
    Suppression de « VIRTDISABLED ».
  • creole/containers.py (is_lxc_locked): Renvoi l’état des verrous LXC:
    « enable », « disable » ou « None ». Lève une exception si les deux
    sont présents.
    (is_lxc_enabled): Renvoi l’état de configuration du mode conteneur,
    vérifie la cohérence avec les verrous.
  • creole/eosfunc.py: Ne plus utiliser « VIRTDISABLED » et suppression du
    code inutile lié aux conteneurs.

Ref: #4317 @20m

Revision 48510d22 (diff)
Added by Daniel Dehennin about 7 years ago

La variable « VIRTDISABLED » n’existe plus

  • data/gen_config.py: Suppression du test sur le lancement
    de « gen_conteneurs ».

Ref: #4317 @2m

Revision b4cd5fd9 (diff)
Added by Daniel Dehennin about 7 years ago

Génération des verrous du mode conteneur

La variable « mode_conteneur_actif » n’est gérée que par dictionnaire.

  • dicos/00_common.xml: Instanciation d’un verrou de désactivation.
    Suppression du calcul automatique sur « mode_conteneur_actif ».
  • dicos/01_container.xml: Instanciation du verrou d’activation du mode
    conteneur.
    Surcharge de la variable « mode_conteneur_actif » pour l’activer.
  • tmpl/lxc-controller.lockfile: Fichier servant de verrou.

Ref: #2622 @5m
Ref: #4317 @2m

Revision 81a07216 (diff)
Added by Daniel Dehennin about 7 years ago

Les chemins ne sont jamais relatifs aux conteneurs

Le commit « c69e10 Utilisation d’une variable inexistante dans les
calculs de chemins » a transformé une variable « string » en dictionnaire
python.

  • creole/loader.py (CreoleContainer.gen_files): La variable « container »
    est désormais un dictionnaire.

Ref: #4317 @2m

Revision ece2be7b (diff)
Added by Daniel Dehennin about 7 years ago

L’attribut « instance_mode » remplace « in_container » et « container_only »

L’idée est qu’une ressource, quelle soit dans sur le maître ou dans un
conteneur, peut n’être à générée que si le mode conteneur est activé ou
désactivé :

instance_mode mode conteneur mode non conteneur
-------------------+----------------+--------------------
when_container x
when_no_container x
always (default)
  • data/creole.dtd: Ajout de l’attribut « instance_mode » aux balises
    « service », « host », « package » et « files »
  • creole/loader.py (COMMON_KEY): Remplacement de « in_container » par
    « instance_mode ».
    (CreoleContainer.gen_files): Suppression de la gestion
    de « in_container » et et « container_only »
  • creole/loader.py (CreoleContainer._check_instance_mode): Valide la
    resource en fonction de son attribut « instance_mode » et de l’état du
    mode conteneur.
  • creole/loader.py (CreoleContainer._config_list_to_dict): Ne pas tenir
    compte des resources non actives en fonction du mode conteneur.

Ref: #4317 @25m

History

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

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

#2 Updated by Benjamin Bohard over 7 years ago

  • Due date set to 02/01/2013
  • Status changed from Nouveau to Accepté
  • Start date changed from 10/22/2012 to 01/28/2013

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

  • Due date changed from 02/01/2013 to 02/08/2013

#4 Updated by Daniel Dehennin about 7 years ago

  • Assigned To changed from developpeurs_eole to Daniel Dehennin

#5 Updated by Daniel Dehennin about 7 years ago

  • Status changed from Accepté to Résolu
  • % Done changed from 0 to 100

#6 Updated by Joël Cuissinat about 7 years ago

  • Status changed from Résolu to Fermé
  • "Eclair" 2.4 :
    root@eolebase:~# CreoleGet mode_conteneur_actif 
    oui
    
  • "Scribe" 2.4 :
    root@scribe:~# CreoleGet mode_conteneur_actif
    non
    

Also available in: Atom PDF