260 likes | 427 Views
Projet OASIS. PCfEngine. Encadrant : M. Keryell Date : Mercredi 02 Mars 2005. Pascal Virmaud. Plan. Le Projet PCfEngine La conduite de projet Conclusion. Plan. Le Projet PCfEngine Enjeux et contexte Analyse du problème Réalisations La conduite de projet Conclusion.
E N D
Projet OASIS PCfEngine Encadrant : M. Keryell Date : Mercredi 02 Mars 2005 Pascal Virmaud
Plan • Le Projet PCfEngine • La conduite de projet • Conclusion
Plan • Le Projet PCfEngine • Enjeux et contexte • Analyse du problème • Réalisations • La conduite de projet • Conclusion
Enjeux et contexte • Enjeux : • Faire de l’administration système automatisée • Créer un système très extensible • Contexte : • Projet OASIS : Open Administration for computer System InfraStructure • CfEngine : Configuration Engine
Plan • Le Projet PCfEngine • Contexte et enjeux • Analyse du problème • Réalisations • La conduite de projet • Conclusion
Analyse du problème 1/2 • Problème : • Contexte : larges systèmes informatiques hétéroclites. • But : Automatiser le maximum de tâches pour l’administrateur. • Comparaison avec un système immunitaire (M. Mark Burgess)
Analyse du problème 2/2 • Comment procéder ? • Auto correction depuis un état invalide • Notion de point fixe • Problèmes: • Description d’un état invalide • Risque de boucles infinies • Description de la correction
Solutions • Problème : description d’un état invalide. • Utiliser des fonctions prédicats pré écrites ou fournies par l’administrateur Prédicat := {espace disque restant < 100 Mo} • Problème : gestion de la notion de point fixe • Itérations successives • Une itération n’est entamée que si un changement a eu lieu dans l’itération précédente
Plan • Le Projet PCfEngine • Contexte et enjeux • Analyse du problème • Réalisations • La conduite de projet • Conclusion
Réalisations • Moteur de PCfEngine • Actions de bases reprises de CfEngine • Exemple d’extension • Gestion de l’édition de fichier • Documentations • Outils internes à PCfEngine
Moteur de PCfEngine • Architecture à 3 niveaux :
Actions de base 1/2 • Gestion des fichiers • Edition : AppendIfNoSuchLine, RemoveLine, CommentLine… • Règles intentionnelles de filtrage d’arbre • Tidy : suppression de types de fichiers • Comparaison à une référence • …
Actions de base 2/2 • Les règles sont spécifiées en fonction de paramètres liés aux feuilles de l’arbre (owner, size, hidden…) • Ces règles peuvent elles-mêmes s’appliquer à des arbres
Outils internes • Outils de logs • Utilisation du paradigme objet pour voir le contenu d’un fichier de manières différentes dynamiquement • Evaluation retardée de variables
Documentation en anglais • Rapport opérationnel • Documentation générale, structure • Documentation utilisateurs (illustrée d’exemples) • Documentation générée depuis le code source
Plan • Le Projet PCfEngine • La conduite de projet • tâches • Planning effectif • Objectifs • Conclusion
Tâches • Prototypage • Codage du moteur • Codage des actions de base • Codage des outils internes à PCfEngine • Codage des tests • Rédaction des délivrables • Communication avec M. Keryell
Plan • Le Projet PCfEngine • La conduite de projet • tâches • Planning effectif • Objectifs • Conclusion
Plan • Le Projet PCfEngine • La conduite de projet • tâches • Planning effectif • Objectifs • Conclusion
Objectifs 1/2 • Objectifs fixés : • Création d’une base solide et facile d’utilisation contenant : • la structure extensible • l’édition de fichiers • la gestion de fichiers • l’exécution de commandes shell
Objectifs 2/2 • Objectifs réalisés : • Création d’une base solide et facile d’utilisation contenant : • la structure extensible • l’édition de fichiers • la gestion de fichiers • l’exécution de commandes shell • Ajout d’une structure de description d’arbre intentionnelle • Ajout d’une extension RSS
Plan • Le Projet PCfEngine • La conduite de projet • Conclusion
Enrichissement personnel • Problématiques d’administration système • Langage Python version 2.4 • Système de contrôle de version : SubVersioN • Tenue d’un projet de façon individuelle • Essayer de limiter l’implicite en explicitant les choix
Conclusion • But atteint : réalisation d’un cœur extensible de système d’automatisation de tâches • Beaucoup de travail encore avant de pouvoir produire quelque chose d’utilisable en production
Liens • CfEngine par M. Mark Burgess : • http://www.cfengine.org • Site de PCfEngine : • http://pcfengine.enstb.org