Projet OASIS PCfEngine Encadrant : M. Keryell Date : Mercredi 02 Mars 2005 Pascal Virmaud
02/03/2005 Pascal VirmaudENST BretagnePCfEngine 2 Plan Le Projet PCfEngine La conduite de projet Conclusion
02/03/2005 Pascal VirmaudENST BretagnePCfEngine 3 Plan Le Projet PCfEngine Enjeux et contexte Analyse du problème Réalisations La conduite de projet Conclusion
02/03/2005 Pascal VirmaudENST BretagnePCfEngine 4 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
02/03/2005 Pascal VirmaudENST BretagnePCfEngine 5 Plan Le Projet PCfEngine Contexte et enjeux Analyse du problème Réalisations La conduite de projet Conclusion
02/03/2005 Pascal VirmaudENST BretagnePCfEngine 6 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)
02/03/2005 Pascal VirmaudENST BretagnePCfEngine 7 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
02/03/2005 Pascal VirmaudENST BretagnePCfEngine 8 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
02/03/2005 Pascal VirmaudENST BretagnePCfEngine 9 Plan Le Projet PCfEngine Contexte et enjeux Analyse du problème Réalisations La conduite de projet Conclusion
02/03/2005 Pascal VirmaudENST BretagnePCfEngine 10 Réalisations Moteur de PCfEngine Actions de bases reprises de CfEngine Exemple d’extension Gestion de l’édition de fichier Documentations Outils internes à PCfEngine
02/03/2005 Pascal VirmaudENST BretagnePCfEngine 11 Moteur de PCfEngine Architecture à 3 niveaux :
02/03/2005 Pascal VirmaudENST BretagnePCfEngine 12 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 …
02/03/2005 Pascal VirmaudENST BretagnePCfEngine 13 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
02/03/2005 Pascal VirmaudENST BretagnePCfEngine 14 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
02/03/2005 Pascal VirmaudENST BretagnePCfEngine 15 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
02/03/2005 Pascal VirmaudENST BretagnePCfEngine 16 Plan Le Projet PCfEngine La conduite de projet tâches Planning effectif Objectifs Conclusion
02/03/2005 Pascal VirmaudENST BretagnePCfEngine 17 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
02/03/2005 Pascal VirmaudENST BretagnePCfEngine 18 Plan Le Projet PCfEngine La conduite de projet tâches Planning effectif Objectifs Conclusion
02/03/2005 Pascal VirmaudENST BretagnePCfEngine 19 Planning Effectif
02/03/2005 Pascal VirmaudENST BretagnePCfEngine 20 Plan Le Projet PCfEngine La conduite de projet tâches Planning effectif Objectifs Conclusion
02/03/2005 Pascal VirmaudENST BretagnePCfEngine 21 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
02/03/2005 Pascal VirmaudENST BretagnePCfEngine 22 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
02/03/2005 Pascal VirmaudENST BretagnePCfEngine 23 Plan Le Projet PCfEngine La conduite de projet Conclusion
02/03/2005 Pascal VirmaudENST BretagnePCfEngine 24 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
02/03/2005 Pascal VirmaudENST BretagnePCfEngine 25 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
02/03/2005 Pascal VirmaudENST BretagnePCfEngine 26 Liens CfEngine par M. Mark Burgess : Site de PCfEngine :