diff --git a/modules_EOLE_envole/amon-sphynx.tex b/modules_EOLE_envole/amon-sphynx.tex index 991c7c8..6e12bdd 100644 --- a/modules_EOLE_envole/amon-sphynx.tex +++ b/modules_EOLE_envole/amon-sphynx.tex @@ -101,6 +101,7 @@ %\include{modules_EOLE_envole/amon/00-nouveautes} %\include{modules_EOLE_envole/sphynx/00-nouveautes} \include{modules_EOLE_envole/commun/01-nouveaute24} +\include{modules_EOLE_envole/commun/01-nouveaute25} \section{Les quatre phases} \begin{frame}{Plan} @@ -117,7 +118,8 @@ \include{modules_EOLE_envole/tronc-commun-1/05-conteneurs} \include{modules_EOLE_envole/amon/00-virtualbox} \include{modules_EOLE_envole/tronc-commun-1/05-conteneurs-pratique} -%\include{modules_EOLE_envole/commun/02-quatre_phases-pratique} +\include{modules_EOLE_envole/commun/02-gen_config} +\include{modules_EOLE_envole/commun/02-quatre_phases-pratique} \section{Fonctions de base d'Amon} \begin{frame}{Plan} diff --git a/modules_EOLE_envole/amonecole/00-description.tex b/modules_EOLE_envole/amonecole/00-description.tex index 7f552a7..1b4d648 100644 --- a/modules_EOLE_envole/amonecole/00-description.tex +++ b/modules_EOLE_envole/amonecole/00-description.tex @@ -1,11 +1,10 @@ \begin{frame} \frametitle{AmonEcole} \begin{itemize} - \item AmonEcole, solution de conteneurs cumulant les fonctionnalités de différents modules : + \item AmonEcole, solution de conteneurs cumulant les fonctionnalités de : \begin{itemize} - \item AmonEcole : mélange des fonctionnalités Amon et Scribe ; - \item AmonEcole+ : idem avec les fonctionnalités Eclair en plus. - \item AmonHorus : mélange des fonctionnalités Amon et Horus. + \item Amon, + \item Scribe. \end{itemize} \end{itemize} \end{frame} diff --git a/modules_EOLE_envole/commun/01-nouveaute24.tex b/modules_EOLE_envole/commun/01-nouveaute24.tex index b979a0e..a066f10 100644 --- a/modules_EOLE_envole/commun/01-nouveaute24.tex +++ b/modules_EOLE_envole/commun/01-nouveaute24.tex @@ -1,8 +1,9 @@ \begin{frame} \frametitle{Nouveautés 2.4} \begin{itemize} - \item Réorganisation reconfigure/instance ; - \item fichier de configuration toujours /etc/eole/config.eol ; + \item Basé sur la distribution Precise Pangolin (12.04) ; + \item support jusqu'en 2017 ; + \item réorganisation reconfigure/instance ; \item nouveau cœur : tiramisu ; \item plus d'informations dans les dictionnaires ; \item firewall : @@ -26,19 +27,11 @@ \end{frame} \begin{frame} - \frametitle{Modalités de distribution des versions 2.4.x} - Les versions 2.4.x sont distribuées selon les règles standards : - \begin{itemize} - \item les mises à jour fonctionnelles impliquent une montée de version ; - \item les versions stables n'ont que des mises à jour de sécurité et des correctifs de dysfonctionnements bloquants ; - \item les paquets sont disponibles à l'adresse http://eole.ac-dijon.fr - \end{itemize} -\end{frame} - -\begin{frame} - \frametitle{Arborescence spécifique aux 2.4.x} - \begin{itemize} - \item /etc/eole/config.eol ; - \item /usr/share/eole/sbin. - \end{itemize} + \frametitle{Nouveautés 2.4} + \begin{itemize} + \item Plus de mise à jour minimum/complète mais différentes releases sont proposées ; + \item les paquets sont disponibles à l'adresse http://eole.ac-dijon.fr ; + \item nouveau format du fichier /etc/eole/config.eol ; + \item nouvelle sous arborescence : /usr/share/eole/sbin. + \end{itemize} \end{frame} diff --git a/modules_EOLE_envole/commun/01-nouveaute25.tex b/modules_EOLE_envole/commun/01-nouveaute25.tex new file mode 100644 index 0000000..16e67dd --- /dev/null +++ b/modules_EOLE_envole/commun/01-nouveaute25.tex @@ -0,0 +1,16 @@ +\begin{frame} + \frametitle{Nouveautés 2.5} + \begin{itemize} + \item Basé sur la distribution Trusty Tahr (14.04) ; + \item support jusqu'en 2019 ; + \item peu de changement dans le coeur ; + \item possibilité de partitionnement manuel ; + \item à partir de 2.5.2 : mot de passe généré à la 1er instance ; + \item quelques changement de logiciel : + \begin{itemize} + \item Bacula => Bareos, + \item Dansguardian => e2guardian. + \end{itemize} + \end{itemize} +\end{frame} + diff --git a/modules_EOLE_envole/commun/01-nouveaute26.tex b/modules_EOLE_envole/commun/01-nouveaute26.tex new file mode 100644 index 0000000..e69de29 diff --git a/modules_EOLE_envole/commun/02-gen_config.tex b/modules_EOLE_envole/commun/02-gen_config.tex new file mode 100644 index 0000000..9b219a9 --- /dev/null +++ b/modules_EOLE_envole/commun/02-gen_config.tex @@ -0,0 +1,47 @@ +\begin{frame} + \frametitle{Configuration autonome} + \begin{itemize} + \item Présentation de l'interface : + \begin{itemize} + \item accessible après instanciation sur le port 7000 (si autorisé), + \item nécessite une authentification, + \item barre de menu, + \item les familles, + \item la partie centrale, + \end{itemize} + \item les modes : + \begin{itemize} + \item basique, + \item normal, + \item expert, + \item assitant, + \item debug. + \end{itemize} + \end{itemize} +\end{frame} +\begin{frame} + \frametitle{Configuration autonome} + \begin{itemize} + \item Ouverture/enregistrement : + \begin{itemize} + \item ne peut plus choisir le nom du fichier "config.eol", + \item possibilité d'importer/exporter un fichier (astuce permet de déverouiller toutes les variables), + \item page des variables obligatoires non renseignées, + \item visualisation des différences avant l'enregistrement, + \item enregistrement dans le fichier "config.eol" ; + \end{itemize} + \item les variables : + \begin{itemize} + \item Les variables typées (caractère, chiffre, ...), + \item les variables par défaut/modifié, + \item les utilisateurs, + \item les variables obligatoires, + \item les variables calculées, + \item les variables verrouillées automatiquement, + \item les variables sauvegardées automatiquement, + \item les variables multi, + \item les variables groupées, + \item les variables avec choix (imposés ou ouverts) + \end{itemize} + \end{itemize} +\end{frame} diff --git a/modules_EOLE_envole/commun/02-quatre_phases-pratique.tex b/modules_EOLE_envole/commun/02-quatre_phases-pratique.tex index 2459c44..40ad411 100644 --- a/modules_EOLE_envole/commun/02-quatre_phases-pratique.tex +++ b/modules_EOLE_envole/commun/02-quatre_phases-pratique.tex @@ -1,32 +1,15 @@ \begin{frame} - \frametitle{Pratique : configuration autonome} + \frametitle{Pratique} \begin{itemize} - \item Informations utiles : + \item Configurer le serveur via la commande gen\_config ; + \item informations utiles : \begin{itemize} \item Adresse ip de la carte eth0, \item Passerelle, \item DNS : DNS de la machine hôte ; \end{itemize} - \item lancer \commande{gen\_config} ; - \item présentation de l'interface : - \begin{itemize} - \item barre de menu, - \item les onglets, - \item la partie centrale, - \item validation ; - \end{itemize} - \item configurer le serveur. - \end{itemize} -\end{frame} - -\begin{frame} - \frametitle{Pratique} - \begin{itemize} - \item Instancier : - \begin{itemize} - \item \commande{instance .eol} sur 2.3 ; - \item \commande{instance} sur 2.4. - \end{itemize} + \item désactiver l'anti-virus ; + \item instancier le serveur via la commande instance. \end{itemize} \end{frame} diff --git a/modules_EOLE_envole/commun/02-quatre_phases.tex b/modules_EOLE_envole/commun/02-quatre_phases.tex index c42b933..2f64d46 100644 --- a/modules_EOLE_envole/commun/02-quatre_phases.tex +++ b/modules_EOLE_envole/commun/02-quatre_phases.tex @@ -5,10 +5,10 @@ \begin{enumerate} \item démarrer sur l'iso téléchargée sur le site d'EOLE (gravée sur CD-ROM ou copiée sur clé USB), \item sélectionner le module à installer parmi ceux proposés et valider, - \item configurer le partitionnement pour Eolebase ou en présence de 2 disques, - \item installer manuellement des modules noyaux DKMS si nécessaire, + \item possibilité de partitionner le serveur (obligatoire sur eolebase et avec serveur ayant plus d'un disque), +% \item installer manuellement des modules noyaux DKMS si nécessaire, \item valider le bouton \emph{continuer} à la fin de l'installation, - \item ouvrir une session avec l'utilisateur \emph{root} et le mot de passe par défaut \emph{\$eole\&123456\$}, + \item ouvrir une session avec l'utilisateur \emph{root} et le mot de passe par défaut présenté à l'écran, \item en mode conteneurs, générer les conteneurs avec la commande \emph{gen\_conteneurs}. \end{enumerate} \end{itemize} @@ -22,7 +22,7 @@ \begin{itemize} \item lancer la commande \commande{gen\_config}, \item configurer le serveur, - \item sauvegarder le fichier zephir.eol ; + \item sauvegarder le fichier ; \end{itemize} \item en mode Zéphir : \begin{itemize} @@ -36,10 +36,8 @@ \begin{frame} \frametitle{La phase d'instanciation} \begin{itemize} - \item Lancer la commande \commande{instance .eol} en 2.3 ; - \item ou lancer la commande \commande{instance} en 2.4 ; + \item Lancer la commande \commande{instance} ; \item renseigner les mots de passe ; - \item enregistrement dans la base \og{}matériel\fg{} ; \item mise à jour ; \item éventuellement redémarrage. \end{itemize} diff --git a/modules_EOLE_envole/commun/03-mise-a-jour.tex b/modules_EOLE_envole/commun/03-mise-a-jour.tex index cd2101f..8682d5d 100644 --- a/modules_EOLE_envole/commun/03-mise-a-jour.tex +++ b/modules_EOLE_envole/commun/03-mise-a-jour.tex @@ -1,13 +1,27 @@ +\begin{frame} + \frametitle{Version/release et dépôt} + \begin{itemize} + \item La version : correspond à la version du socle de base (version d'Ubuntu) ; + \item la release : + \begin{itemize} + \item reçoit les mises à jour de sécurités, + \item reçoit les corrections des dysfonctionnements critiques, + \item mais chaque release à un niveau fonctionnel différent ; + \end{itemize} + \item les erratas : https://dev-eole.ac-dijon.fr/projects/modules-eole/wiki/Errata ; + \item les dépôts : + \begin{itemize} + \item les releases stables, + \item les releases candidates, + \item la version de développement (future release). + \end{itemize} + \end{itemize} +\end{frame} + \begin{frame} \frametitle{Les mises à jour} \begin{itemize} - \item Les différents dépôts : - \begin{itemize} - \item la version stable (déclinée en minimum et complète pour la version 2.3 uniquement), - \item la version candidate, - \item la version dev ; - \end{itemize} - \item procédure : + \item Procédure : \begin{itemize} \item par l'EAD, \item par l'interface semi-graphique, @@ -16,19 +30,22 @@ \begin{itemize} \item \commande{Query-Auto} : liste les mises à jour, \item \commande{Maj-Auto} : lance la mise à jour sans question, - \item \commande{Maj-CD} : mise à jour grâce à un CD, + \item \commande{Query-Cd} : liste les mises à jour sur un CD, + \item \commande{Maj-Cd} : mise à jour grâce à un CD, + \item \commande{Maj-Release} : mise à jour vers une release supérieure, \item \commande{Upgrade-Auto} : mise à jour vers une version supérieure, \end{itemize} - \item mise à jour automatique : de 01h à 6h un jour par semaine. + \item automatiquement via une tâche hebdomadaire "post" sauvegarde de eole-schedule. \end{itemize} \end{itemize} \end{frame} \begin{frame} \frametitle{Mise à jour via un CD/clef USB} + Le but est de pouvoir mettre à jour un serveur sans utiliser la bande passante de l'établissement. \begin{itemize} - \item Création du cache dans l'académie : \commande{Maj-Auto --download} ; - \item copie de /var/cache/apt/archives/*.deb sur le support ; + \item Création du cache dans l'académie : \commande{Maj-Auto --download} ; + \item copie de /var/cache/apt/archives/*.deb sur un support amovible ; \item sur le serveur en établissement, copier le contenu du support dans /var/cache/apt/archives/ ; \item lancer \commande{Maj-Auto}. \end{itemize} diff --git a/modules_EOLE_envole/commun/04-diagnose-pratique.tex b/modules_EOLE_envole/commun/04-diagnose-pratique.tex index 5bd15bf..5bf0fb9 100644 --- a/modules_EOLE_envole/commun/04-diagnose-pratique.tex +++ b/modules_EOLE_envole/commun/04-diagnose-pratique.tex @@ -1,8 +1,8 @@ \begin{frame} \frametitle{Pratique} \begin{itemize} - \item Faire un reconfigure ; - \item lancer un diagnostic ; - \item lancer un diagnostic étendu. + \item Faire un \commande{reconfigure} ; + \item lancer un \commande{diagnostic} ; + \item lancer un \commande{diagnostic} étendu. \end{itemize} \end{frame} diff --git a/modules_EOLE_envole/documents/exercice4/supprimer_fichier.zephir b/modules_EOLE_envole/documents/exercice4/supprimer_fichier.zephir index ea25a21..735610f 100644 --- a/modules_EOLE_envole/documents/exercice4/supprimer_fichier.zephir +++ b/modules_EOLE_envole/documents/exercice4/supprimer_fichier.zephir @@ -9,18 +9,14 @@ if fonctionseole.init_proc('PERSO') == False: fonctionseole.zephir("MSG" , "procédure supprimer_fichier bloquée par zephir", "PERSO") sys.exit(1) -fonctionseole.zephir("INIT" , "script test_perso en cours d'execution", "PERSO") - -if is_locked(['reconfigure']): - fonctionseole.zephir("ERR" , "supprimer_fichier stoppé : reconfigure en cours", "PERSO") - sys.exit(1) +fonctionseole.zephir("INIT" , "script supprimer_fichier en cours d'execution", "PERSO") try: filename = sys.argv[1] - fonctionseole.zephir("MSG" , "supprimer_fichier lancé avec l'argument %s" % filename, "PERSO") + fonctionseole.zephir("MSG" , "supprimer_fichier lancé avec l'argument {}".format(filename), "PERSO") sudo_script('supprimer_fichier_sudo.zephir %s' % filename) -except: - fonctionseole.zephir("ERR" , "supprimer_fichier lancé sans argument", "PERSO") +except Exception, err: + fonctionseole.zephir("ERR" , "supprimer_fichier a généré une erreur {}".format(err), "PERSO") sys.exit(1) -fonctionseole.zephir("FIN" , "supprimer_fichier : OK", "PERSO") +fonctionseole.zephir("FIN" , "supprimer_fichier {}: OK".format(filename), "PERSO") diff --git a/modules_EOLE_envole/documents/exercice4/supprimer_fichier_sudo.zephir b/modules_EOLE_envole/documents/exercice4/supprimer_fichier_sudo.zephir index f36b7b3..ca5ac5d 100644 --- a/modules_EOLE_envole/documents/exercice4/supprimer_fichier_sudo.zephir +++ b/modules_EOLE_envole/documents/exercice4/supprimer_fichier_sudo.zephir @@ -1,4 +1,4 @@ #!/bin/bash -[ -f $1 ] && rm -f $1 +[ -f "$1" ] && rm -f "$1" diff --git a/modules_EOLE_envole/documents/formationzephir.tar b/modules_EOLE_envole/documents/formationzephir.tar new file mode 100644 index 0000000..2fd1960 Binary files /dev/null and b/modules_EOLE_envole/documents/formationzephir.tar differ diff --git a/modules_EOLE_envole/documents/preparation_tronc-commun.txt b/modules_EOLE_envole/documents/preparation_tronc-commun.txt index 4204dfd..0cb1854 100644 --- a/modules_EOLE_envole/documents/preparation_tronc-commun.txt +++ b/modules_EOLE_envole/documents/preparation_tronc-commun.txt @@ -4,6 +4,9 @@ Installer : Installer Scribe1 Ne pas supprimer le persistance-net +Télécharger Xming/PUTTY/WinSCP +Télécharger le paquet ircd-irc2 + Durée de la formation 3 jours : 1 jour : TC1 en démarrant les commandes systèmes 2 jour : finir TC1 diff --git a/modules_EOLE_envole/formation_rennes.tex b/modules_EOLE_envole/formation_rennes.tex new file mode 100644 index 0000000..288abe7 --- /dev/null +++ b/modules_EOLE_envole/formation_rennes.tex @@ -0,0 +1,316 @@ +\documentclass{beamer} + +%\usertheme{Madrid} +\setbeamercovered{transparent} +\setcounter{tocdepth}{2} +\usepackage[french]{babel} +%\usepackage[utf8,utf8x]{inputenc} +\usepackage[T1]{fontenc} +\usepackage{xunicode} %Unicode extras! +\usepackage{xltxtra} %Fixes +\setmainfont{CaviarDreams} +\usepackage{multicol} +%\usepackage{colortbtl} +\usepackage{graphicx} +\usepackage{verbatim} % Pour l'insertion de fichier en mode verbatim +\usepackage{ucs} +\usepackage{tabto} +\usepackage{xcolor} +\usepackage{hyperref} +\usepackage{hyperxmp} +\hypersetup{% + colorlinks=true,linkcolor=blue,urlcolor=blue,pdfpagemode=UseNone, + pdftitle={Tronc commun 1}, + pdfkeywords={distribution, GNU, linux, eole, éducation, nationale, ubuntu}, + pdfauthor={Emmanuel Garette}, + pdflang={fr-FR}, + pdfcopyright={Copyright © 2011-2014 Cadoles}, % Nécessite XeTeX + pdflicenseurl={http://creativecommons.org/licenses/by-nc-sa/2.0/fr/}, +} +%\usecolortheme{crane} +\definecolor{UniBlue}{RGB}{83,121,180} +\definecolor{CleanWhite}{RGB}{255,255,255} +\definecolor{DirtyWhite}{RGB}{105,105,105} +\setbeamercolor{title}{fg=UniBlue} +\setbeamercolor{frametitle}{fg=CleanWhite} +\setbeamercolor{structure}{fg=UniBlue} +\newcommand{\eolesmall}{ + \begin{minipage}[c]{0.10\textwidth} + \includegraphics[width=1cm]{beamer-skel/img/logo-eole.png} + \end{minipage} +} +\newcommand{\eolebig}{\includegraphics[width=2cm]{beamer-skel/img/logo-eole.png}} +\newcommand{\eolefull}{\includegraphics{beamer-skel/img/logo-eole.png}} +%\setmonofont[Scale=0.86]{Andale Mono} +%\usepackage{colortab} +\newcommand{\commande}[1]{\texttt{#1}} +\setbeamertemplate{background}{\includegraphics[width=128mm]{beamer-skel/img/banner01.png}} + +\title[]{Formation Zéphir - Personnalisation d'un module} +\subtitle{Académie de Rennes} + +\author[Equipe Auteur]{Emmanuel Garette} + +\institute[Cadoles]{\includegraphics[width=2cm]{beamer-skel/img/logo-cadoles-01.png}} + +\date{{\small \today}} + +\subject{Talks} + +\AtBeginSubsection[] +{ + \begin{frame} + \frametitle{} + \tableofcontents[currentsection,currentsubsection] + \end{frame} +} + +\logo{ + % \includegraphics[width=1cm]{beamer-skel/img/logo-ecologie.png}~ + \hspace{120pt} + \includegraphics[width=2cm]{beamer-skel/img/logo-cadoles-01.png}~ + \hspace{113pt} + \includegraphics[width=1cm]{beamer-skel/img/logo_en.jpg}~ +} + +\begin{document} + % Page de titre + \begin{frame} + \titlepage + \end{frame} + +\section{Introduction} +\begin{frame}{Plan} + \begin{columns}[t] + \begin{column}{5cm} + \tableofcontents[sections={1-6},currentsection, hideothersubsections] + \end{column} + \begin{column}{5cm} + \tableofcontents[sections={7-12},currentsection,hideothersubsections] + \end{column} + \end{columns} +\end{frame} +\include{modules_EOLE_envole/commun/00-intro} +%\include{modules_EOLE_envole/commun/01-nouveaute23} +\include{modules_EOLE_envole/commun/01-nouveaute24} +\include{modules_EOLE_envole/commun/01-nouveaute25} + +\section{Panorama des modules} +\begin{frame}{Plan} + \begin{columns}[t] + \begin{column}{5cm} + \tableofcontents[sections={1-6},currentsection, hideothersubsections] + \end{column} + \begin{column}{5cm} + \tableofcontents[sections={7-12},currentsection,hideothersubsections] + \end{column} + \end{columns} +\end{frame} +\include{modules_EOLE_envole/amon/00-description} +\include{modules_EOLE_envole/sphynx/00-description} +\include{modules_EOLE_envole/scribe/00-description} +\include{modules_EOLE_envole/horus/00-description} +\include{modules_EOLE_envole/amonecole/00-description} +\include{modules_EOLE_envole/tronc-commun-1/00-panorama-module} + +\section{Les quatre phases} +\begin{frame}{Plan} + \begin{columns}[t] + \begin{column}{5cm} + \tableofcontents[sections={1-6},currentsection, hideothersubsections] + \end{column} + \begin{column}{5cm} + \tableofcontents[sections={7-12},currentsection,hideothersubsections] + \end{column} + \end{columns} +\end{frame} +\include{modules_EOLE_envole/commun/02-quatre_phases} +\include{modules_EOLE_envole/scribe/00-virtualbox} +\include{modules_EOLE_envole/commun/02-gen_config} +\include{modules_EOLE_envole/commun/02-quatre_phases-pratique} +%\include{modules_EOLE_envole/tronc-commun-1/01-config-texte} + +\section{Administration commune} +\begin{frame}{Plan} + \begin{columns}[t] + \begin{column}{5cm} + \tableofcontents[sections={1-6},currentsection, hideothersubsections] + \end{column} + \begin{column}{5cm} + \tableofcontents[sections={7-12},currentsection,hideothersubsections] + \end{column} + \end{columns} +\end{frame} +\include{modules_EOLE_envole/commun/02-instance-reconfigure} +\include{modules_EOLE_envole/commun/03-mise-a-jour} +\include{modules_EOLE_envole/commun/04-diagnose} +\include{modules_EOLE_envole/commun/04-diagnose-pratique} +%\include{modules_EOLE_envole/tronc-commun-1/05-conteneurs} +%\include{modules_EOLE_envole/tronc-commun-1/05-conteneurs-pratique} +\include{modules_EOLE_envole/tronc-commun-1/06-firewall} +\include{modules_EOLE_envole/tronc-commun-1/06-schedule} +\include{modules_EOLE_envole/tronc-commun-1/06-zpratique} +\include{modules_EOLE_envole/tronc-commun-1/07-onduleur} +\include{modules_EOLE_envole/tronc-commun-1/07-onduleur-pratique} +\include{modules_EOLE_envole/tronc-commun-1/22-commande-distance} +\include{modules_EOLE_envole/tronc-commun-1/08-trouver} + +%\section{Interfaces d'administration EOLE} +%\begin{frame}{Plan} +% \begin{columns}[t] +% \begin{column}{5cm} +% \tableofcontents[sections={1-6},currentsection, hideothersubsections] +% \end{column} +% \begin{column}{5cm} +% \tableofcontents[sections={7-12},currentsection,hideothersubsections] +% \end{column} +% \end{columns} +%\end{frame} +%\include{modules_EOLE_envole/tronc-commun-1/30-ead} +%\include{modules_EOLE_envole/tronc-commun-1/31-interface-semi-graphique} + +\section{Application Zéphir} +\begin{frame}{Plan} + \begin{columns}[t] + \begin{column}{5cm} + \tableofcontents[sections={1-6},currentsection, hideothersubsections] + \end{column} + \begin{column}{5cm} + \tableofcontents[sections={7-12},currentsection,hideothersubsections] + \end{column} + \end{columns} +\end{frame} +\include{modules_EOLE_envole/tronc-commun-1/10-application-zephir} + +%\section{GNU/Linux} +%\begin{frame}{Plan} +% \begin{columns}[t] +% \begin{column}{5cm} +% \tableofcontents[sections={1-6},currentsection, hideothersubsections] +% \end{column} +% \begin{column}{5cm} +% \tableofcontents[sections={7-12},currentsection,hideothersubsections] +% \end{column} +% \end{columns} +%\end{frame} +%\include{modules_EOLE_envole/tronc-commun-1/20-gnu_linux} +%\include{modules_EOLE_envole/tronc-commun-1/20-tcpdump-tshark} + +\include{modules_EOLE_envole/tronc-commun-1/11-application-zephir2} + +\section{Personnalisation du serveur} +\begin{frame}{Plan} + \begin{columns}[t] + \begin{column}{5cm} + \tableofcontents[sections={1-6},currentsection, hideothersubsections] + \end{column} + \begin{column}{5cm} + \tableofcontents[sections={7-12},currentsection,hideothersubsections] + \end{column} + \end{columns} +\end{frame} +\include{modules_EOLE_envole/tronc-commun-1/21-lire-ecrire} +\include{modules_EOLE_envole/tronc-commun-2/01-personnalisation-creole} +\include{modules_EOLE_envole/tronc-commun-2/01-personnalisation-creole2} +\include{modules_EOLE_envole/tronc-commun-2/05-script-instance-reconfigure} +\include{modules_EOLE_envole/tronc-commun-2/30-api_bash} +\include{modules_EOLE_envole/tronc-commun-2/05-script-instance-reconfigure-pratique} +\include{modules_EOLE_envole/tronc-commun-2/04-diagnose} +\begin{frame} + \frametitle{API Python} +\end{frame} +\include{modules_EOLE_envole/tronc-commun-2/20-api} +%\include{modules_EOLE_envole/tronc-commun-2/06-montage-conteneur} +%\include{modules_EOLE_envole/tronc-commun-2/07-eole-firewall} +\include{modules_EOLE_envole/tronc-commun-2/08-schedule} +%\include{modules_EOLE_envole/tronc-commun-2/09-host} +%\include{modules_EOLE_envole/tronc-commun-2/11-mysql} +%\include{modules_EOLE_envole/tronc-commun-2/12-interface} +%\include{modules_EOLE_envole/tronc-commun-2/13-disknod} +%\include{modules_EOLE_envole/tronc-commun-2/14-sso} +\include{modules_EOLE_envole/tronc-commun-2/15-script-ead} +\include{modules_EOLE_envole/tronc-commun-2/16-sauvegarde} +%\include{modules_EOLE_envole/tronc-commun-2/17-conteneur_groupe_conteneur} +%\include{modules_EOLE_envole/tronc-commun-2/18-cert} + +\section{Personnalisation et Zéphir} +\begin{frame}{Plan} + \begin{columns}[t] + \begin{column}{5cm} + \tableofcontents[sections={1-6},currentsection, hideothersubsections] + \end{column} + \begin{column}{5cm} + \tableofcontents[sections={7-12},currentsection,hideothersubsections] + \end{column} + \end{columns} +\end{frame} +\include{modules_EOLE_envole/tronc-commun-2/02-zephir} + +\section{gen\_config et Zéphir} +\begin{frame}{Plan} + \begin{columns}[t] + \begin{column}{5cm} + \tableofcontents[sections={1-6},currentsection, hideothersubsections] + \end{column} + \begin{column}{5cm} + \tableofcontents[sections={7-12},currentsection,hideothersubsections] + \end{column} + \end{columns} +\end{frame} + +\begin{frame} + \frametitle{Synchronisation} + \begin{itemize} + \item Il est possible de se connecter sur gen\_config avec un compte Zéphir ; + \item différence entre fichier local et distant. + \end{itemize} +\end{frame} + +\section{Les scripts Zéphir} +\begin{frame}{Plan} + \begin{columns}[t] + \begin{column}{5cm} + \tableofcontents[sections={1-6},currentsection, hideothersubsections] + \end{column} + \begin{column}{5cm} + \tableofcontents[sections={7-12},currentsection,hideothersubsections] + \end{column} + \end{columns} +\end{frame} +\include{modules_EOLE_envole/tronc-commun-2/03-zephir_script} + +\section{La migration Zéphir} +\begin{frame}{Plan} + \begin{columns}[t] + \begin{column}{5cm} + \tableofcontents[sections={1-6},currentsection, hideothersubsections] + \end{column} + \begin{column}{5cm} + \tableofcontents[sections={7-12},currentsection,hideothersubsections] + \end{column} + \end{columns} +\end{frame} +%FIXME a revoir ! +\include{modules_EOLE_envole/tronc-commun-1/99-migration-zephir} + +\subject{Talks} +\begin{frame} + \frametitle{Licence} + Cette œuvre est mise à disposition sous licence \href{http://creativecommons.org/licenses/by-nc-sa/2.0/fr/}{\textsc{cc-by-nc-sa-2.0}} + \begin{itemize} + \item Attribution + \item Pas d’Utilisation Commerciale + \item Partage dans les Mêmes Conditions 2.0 + \item France + \end{itemize} + Pour voir une copie de cette licence, visitez + \href{http://creativecommons.org/licenses/by-nc-sa/2.0/fr/}{http://creativecommons.org/licenses/by-nc-sa/2.0/fr/} + ou écrivez à Creative Commons, 444 Castro Street, Suite 900, + Mountain View, California, 94041, USA. +\end{frame} + +\end{document} + + +% A ajouter : +%lancement gen_config sur le serveur avec récupération config.eol du Zéphir diff --git a/modules_EOLE_envole/scribe-horus.tex b/modules_EOLE_envole/scribe-horus.tex index a7501ab..a86a502 100644 --- a/modules_EOLE_envole/scribe-horus.tex +++ b/modules_EOLE_envole/scribe-horus.tex @@ -93,8 +93,9 @@ \end{columns} \end{frame} \include{modules_EOLE_envole/commun/00-intro} -\include{modules_EOLE_envole/commun/01-nouveaute23} +%\include{modules_EOLE_envole/commun/01-nouveaute23} \include{modules_EOLE_envole/commun/01-nouveaute24} +\include{modules_EOLE_envole/commun/01-nouveaute25} \include{modules_EOLE_envole/scribe/00-description} \include{modules_EOLE_envole/horus/00-description} @@ -111,6 +112,7 @@ \end{frame} \include{modules_EOLE_envole/commun/02-quatre_phases} \include{modules_EOLE_envole/scribe/00-virtualbox} +\include{modules_EOLE_envole/commun/02-gen_config} \include{modules_EOLE_envole/commun/02-quatre_phases-pratique} \include{modules_EOLE_envole/commun/02-instance-reconfigure} \include{modules_EOLE_envole/commun/03-mise-a-jour} diff --git a/modules_EOLE_envole/scribe/00-virtualbox.tex b/modules_EOLE_envole/scribe/00-virtualbox.tex index 8a4e241..2e7f1bd 100644 --- a/modules_EOLE_envole/scribe/00-virtualbox.tex +++ b/modules_EOLE_envole/scribe/00-virtualbox.tex @@ -1,7 +1,8 @@ \begin{frame} \frametitle{Utilisation de VirtualBox} \begin{itemize} - \item Choisir "Réseau privé hôte" dans le "Mode d'accès réseau" dans Préférence/Réseau/Carte 1 ; + \item Ajouter l'image Scribe ; + \item choisir "Réseau privé hôte" dans le "Mode d'accès réseau" dans Préférence/Réseau/Carte 1 ; \item faire un instantané. \end{itemize} \end{frame} diff --git a/modules_EOLE_envole/tronc-commun-1.tex b/modules_EOLE_envole/tronc-commun-1.tex index a1f6224..3152d2c 100644 --- a/modules_EOLE_envole/tronc-commun-1.tex +++ b/modules_EOLE_envole/tronc-commun-1.tex @@ -47,9 +47,9 @@ \setbeamertemplate{background}{\includegraphics[width=128mm]{beamer-skel/img/banner01.png}} \title[]{Formation tronc commun 1} -\subtitle{Vice-rectorat de la Nouvelle-Calédonie} +\subtitle{XXX CLIENT XXX} -\author[Equipe Auteur]{Philippe Caseiro} +\author[Equipe Auteur]{XXX AUTEUR XXX} \institute[Cadoles]{\includegraphics[width=2cm]{beamer-skel/img/logo-cadoles-01.png}} @@ -91,8 +91,9 @@ \end{columns} \end{frame} \include{modules_EOLE_envole/commun/00-intro} -\include{modules_EOLE_envole/commun/01-nouveaute23} +%\include{modules_EOLE_envole/commun/01-nouveaute23} \include{modules_EOLE_envole/commun/01-nouveaute24} +\include{modules_EOLE_envole/commun/01-nouveaute25} \section{Panorama des modules} \begin{frame}{Plan} \begin{columns}[t] @@ -124,6 +125,7 @@ \end{frame} \include{modules_EOLE_envole/commun/02-quatre_phases} \include{modules_EOLE_envole/scribe/00-virtualbox} +\include{modules_EOLE_envole/commun/02-gen_config} \include{modules_EOLE_envole/commun/02-quatre_phases-pratique} %\include{modules_EOLE_envole/tronc-commun-1/01-config-texte} diff --git a/modules_EOLE_envole/tronc-commun-1/00-panorama-module.tex b/modules_EOLE_envole/tronc-commun-1/00-panorama-module.tex index a610b03..4e473d5 100644 --- a/modules_EOLE_envole/tronc-commun-1/00-panorama-module.tex +++ b/modules_EOLE_envole/tronc-commun-1/00-panorama-module.tex @@ -1,36 +1,37 @@ -\begin{frame} - \frametitle{Eclair} - \begin{itemize} - \item Eclair, serveur 2.3 de clients légers sous GNU/Linux : - \begin{itemize} - \item serveur de clients légers ; - \item compatible partage de fichiers Scribe et Horus ; - \item support de Gaspacho. - \end{itemize} - \end{itemize} -\end{frame} +%\begin{frame} +% \frametitle{Eclair} +% \begin{itemize} +% \item Eclair, serveur 2.3 de clients légers sous GNU/Linux : +% \begin{itemize} +% \item serveur de clients légers ; +% \item compatible partage de fichiers Scribe et Horus ; +% \item support de Gaspacho. +% \end{itemize} +% \end{itemize} +%\end{frame} \begin{frame} - \frametitle{Zéphir/Sentinelle} + %\frametitle{Zéphir/Sentinelle} + \frametitle{Zéphir} \begin{itemize} \item Zéphir, gestion du parc des serveurs EOLE : \begin{itemize} \item déploiement et gestion d'un parc de serveurs, \item gestion de la configuration des serveurs, - \item surveillance et lancement d'actions à distance ; - \end{itemize} - \item Sentinelle, outils graphiques de supervision des serveurs (couplé à Zéphir) : - \begin{itemize} - \item récupération des statistiques ; - \item affichage sélectif (avec filtre, ...) ; - \item lancement d'actions ; - \end{itemize} - \item ZéphirLog, concentrateur de fichiers journaux : - \begin{itemize} - \item remontée des logs ; - \item stockage des logs ; - \item archivage des logs. + \item surveillance et lancement d'actions à distance. \end{itemize} +% \item Sentinelle, outils graphiques de supervision des serveurs (couplé à Zéphir) : +% \begin{itemize} +% \item récupération des statistiques ; +% \item affichage sélectif (avec filtre, ...) ; +% \item lancement d'actions ; +% \end{itemize} +% \item ZéphirLog, concentrateur de fichiers journaux : +% \begin{itemize} +% \item remontée des logs ; +% \item stockage des logs ; +% \item archivage des logs. +% \end{itemize} \end{itemize} \end{frame} diff --git a/modules_EOLE_envole/tronc-commun-1/06-firewall.tex b/modules_EOLE_envole/tronc-commun-1/06-firewall.tex index 9d012c0..298fbe6 100644 --- a/modules_EOLE_envole/tronc-commun-1/06-firewall.tex +++ b/modules_EOLE_envole/tronc-commun-1/06-firewall.tex @@ -2,10 +2,12 @@ \frametitle{Firewall} \begin{itemize} \item Sur tous les modules ; - \item complémentaire à Era si installé ; - \item firewall + tcpwrapper ; - \item géré par bastion ; + \item géré soit par Creole soit par Era ; + \item activé par bastion ; + \item configure firewall et tcpwrapper ; + \item si Era n'est pas installé, possibilité de désactiver ; \item pour ouvrir le firewall ouvre.firewall ; + \item recharger les règles de firewall : service bastion restart ; \item pour connaître la liste des règles : iptables-save. \end{itemize} \end{frame} diff --git a/modules_EOLE_envole/tronc-commun-1/06-schedule.tex b/modules_EOLE_envole/tronc-commun-1/06-schedule.tex index c59e2be..b63082e 100644 --- a/modules_EOLE_envole/tronc-commun-1/06-schedule.tex +++ b/modules_EOLE_envole/tronc-commun-1/06-schedule.tex @@ -4,9 +4,12 @@ \item Gestion des tâches planifiées avec ou sans sauvegarde ; \item tâche "pre" sauvegarde ; \item tâche "post" sauvegarde ; - \item s'effectue à l'heure de la mise à jour ; - \item pour lister sur les modules 2.3 : /usr/share/eole/schedule/manage\_schedule ; - \item pour lister sur les modules 2.4 : /usr/share/eole/sbin/manage\_schedule -l . + \item tirage au sort à l'instance de : + \begin{itemize} + \item l'heure de démarrage entre 1h et 6h, + \item le jour dans la semaine d'exécution des tâches hebdomadaires et mensuelles (le 1er xxx du mois) ; + \end{itemize} + \item pour lister : /usr/share/eole/sbin/manage\_schedule -l . \end{itemize} \end{frame} diff --git a/modules_EOLE_envole/tronc-commun-1/06-zpratique.tex b/modules_EOLE_envole/tronc-commun-1/06-zpratique.tex index a0a5404..1670152 100644 --- a/modules_EOLE_envole/tronc-commun-1/06-zpratique.tex +++ b/modules_EOLE_envole/tronc-commun-1/06-zpratique.tex @@ -1,10 +1,11 @@ \begin{frame} \frametitle{Pratique} \begin{itemize} - \item vérifier les règles ; + \item Vérifier les règles ; \item ouvrir le firewall et revérifier les règles ; \item refermer le firewall ; - \item lister les tâches du schedule, désactiver une tâche et la réactiver. + \item lister les tâches du schedule, désactiver une tâche et la réactiver ; + \item activer la sauvegarde pour cette nuit. \end{itemize} \end{frame} diff --git a/modules_EOLE_envole/tronc-commun-1/07-onduleur-pratique.tex b/modules_EOLE_envole/tronc-commun-1/07-onduleur-pratique.tex index 16da761..84605bb 100644 --- a/modules_EOLE_envole/tronc-commun-1/07-onduleur-pratique.tex +++ b/modules_EOLE_envole/tronc-commun-1/07-onduleur-pratique.tex @@ -1,6 +1,24 @@ \begin{frame} \frametitle{Pratique} \begin{itemize} - \item Regarder la configuration de l'onduleur dans gen\_config. + \item Configurer de l'onduleur dans gen\_config : + \begin{itemize} + \item onglet "services", activer NUT, + \item onglet "onduleur ajouter un nouvel onduleur maitre : + \begin{itemize} + \item Nom de l'onduleur : dummy + \item Port de l'onduleur : dummy.dev + \item Pilote : dummy-ups + \end{itemize} + \end{itemize} + \item enregistrer la configuration + \item créer le fichier : /etc/nut/dummy.dev avec : + \begin{itemize} + \item battery.charge: 50 + \item ups.status: OL + \item TIMER 10 + \item ups.status: OB + \end{itemize} + \item reconfigurer, toutes les 10 secondes le status change d'état. \end{itemize} \end{frame} diff --git a/modules_EOLE_envole/tronc-commun-1/07-onduleur.tex b/modules_EOLE_envole/tronc-commun-1/07-onduleur.tex index 249ed48..a0402ed 100644 --- a/modules_EOLE_envole/tronc-commun-1/07-onduleur.tex +++ b/modules_EOLE_envole/tronc-commun-1/07-onduleur.tex @@ -1,8 +1,8 @@ \begin{frame} \frametitle{Onduleur} \begin{itemize} - \item Gestion des onduleurs (NUT) ; - \item maître - esclave ; - \item visible dans les agents. + \item Gestion des onduleurs ; + \item utilisation du logiciel libre NUT ; + \item maître - esclave. \end{itemize} \end{frame} diff --git a/modules_EOLE_envole/tronc-commun-1/10-application-zephir.tex b/modules_EOLE_envole/tronc-commun-1/10-application-zephir.tex index 284d84d..a6bfef0 100644 --- a/modules_EOLE_envole/tronc-commun-1/10-application-zephir.tex +++ b/modules_EOLE_envole/tronc-commun-1/10-application-zephir.tex @@ -4,11 +4,11 @@ \item Utilisation d'un serveur LDAP local ou distant ; \item LDAP local : scripts (/usr/share/zephir/utils) : \begin{itemize} - \item add\_user.py ; - \item del\_user.py ; - \item list\_users.py. + \item add\_user.py, + \item del\_user.py, + \item list\_users.py ; \end{itemize} - \item Un utilisateur = des affectations. + \item un utilisateur = des affectations. \end{itemize} \end{frame} @@ -16,8 +16,8 @@ \frametitle{Modules, établissements et serveurs} \begin{itemize} \item Module : distribution spécifique + variantes ; - \item Établissement scolaire : lieu physique ; - \item Serveur : un module dans un établissement. + \item établissement scolaire : lieu physique ; + \item serveur : un module dans un établissement. \end{itemize} \end{frame} @@ -56,7 +56,7 @@ % \item "Sauver sur Zéphir" ; % \end{itemize} % \item enregistrement Zéphir ; - \item instanciation du serveur en remontant la configuration. + \item enregistrement du serveur sur le Zéphir en remontant la configuration. \end{itemize} \end{frame} @@ -72,6 +72,7 @@ \begin{frame} \frametitle{Pratique} \begin{itemize} - \item Lancer une sauvegarde du Zéphir. + \item Lancer une sauvegarde du Zéphir ; + \item restaurer le serveur avec la sauvegarde réalisée. \end{itemize} \end{frame} diff --git a/modules_EOLE_envole/tronc-commun-1/11-application-zephir2.tex b/modules_EOLE_envole/tronc-commun-1/11-application-zephir2.tex index 7a053bc..b875d11 100644 --- a/modules_EOLE_envole/tronc-commun-1/11-application-zephir2.tex +++ b/modules_EOLE_envole/tronc-commun-1/11-application-zephir2.tex @@ -10,58 +10,16 @@ \begin{frame} \frametitle{Pratique} \begin{itemize} - \item Configurer l'utilisateur "eole" ; + \item Créer et configurer l'utilisateur "formation" ; \item créer une clef SSH : \begin{enumerate} - \item \emph{ssh-keygen -t rsa}, + \item \emph{ssh-keygen -t rsa}, \item récupérer le fichier ~/.ssh/id\_rsa.pub. \end{enumerate} \item ajouter la clef à l'utilisateur. \end{itemize} \end{frame} -\begin{frame} - \frametitle{Surveillance des serveurs} - \begin{itemize} - \item Sur la page d'accueil ; - \item sur chaque serveur : page Etat ; - \item surveillance des serveurs ; - \item état d'un groupe de serveurs. - \end{itemize} -\end{frame} - -\begin{frame} - \frametitle{Alertes} - \begin{itemize} - \item Envoi d'un mail en cas de détection d'un problème : - \begin{itemize} - \item remontée par le serveur d'une erreur ; - \item un serveur n'a pas contacté Zéphir ; - \item une opération s'est mal déroulée. - \end{itemize} - \item À la sélection d'un groupe enregistré : cocher "surveiller ce groupe" - \end{itemize} -\end{frame} - -\begin{frame} - \frametitle{Actions} - \begin{itemize} - \item Zéphir agit à distance par des actions ; - \item elles sont mises en file d'attente ; - \item c'est le serveur qui se connecte au Zéphir ; - \item exemple d'action : envoi de la configuration, mise à jour, sauvegarde de l'état actuel du serveur. - \end{itemize} -\end{frame} - -\begin{frame} - \frametitle{Pratique} - \begin{itemize} - \item Lancer l'action de remontée de la configuration ; - \item forcer la synchronisation : synchro\_zephir ; - \item restaurer le serveur dans VirtualBox et redescendre la configuration. - \end{itemize} -\end{frame} - \begin{frame} \frametitle{Groupe de serveurs} \begin{itemize} @@ -81,3 +39,51 @@ \item autoriser l'utilisateur à se connecter par clef SSH. \end{itemize} \end{frame} + +\begin{frame} + \frametitle{Surveillance des serveurs} + \begin{itemize} + \item Sur la page d'accueil ; + \item sur chaque serveur : page Etat ; + \item surveillance des serveurs ; + \item état d'un groupe de serveurs. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Alertes} + \begin{itemize} + \item Envoi d'un mail en cas de détection d'un problème : + \begin{itemize} + \item remontée par le serveur d'une erreur, + \item un serveur n'a pas contacté Zéphir, + \item une opération s'est mal déroulée ; + \end{itemize} + \item l'utilisateur doit avoir configuré son adresse mail ; + \item à la sélection d'un groupe enregistré : cocher "surveiller ce groupe". + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Pratique} + Surveiller un groupe. +\end{frame} + +\begin{frame} + \frametitle{Actions} + \begin{itemize} + \item Zéphir agit à distance par des actions ; + \item elles sont mises en file d'attente ; + \item c'est le serveur qui se connecte au Zéphir ; + \item exemple d'action : envoi de la configuration, mise à jour, sauvegarde de l'état actuel du serveur. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Pratique} + \begin{itemize} + \item Lancer l'action de remontée de la configuration ; + \item forcer la synchronisation : synchro\_zephir ; + \item restaurer le serveur dans VirtualBox et redescendre la configuration. + \end{itemize} +\end{frame} diff --git a/modules_EOLE_envole/tronc-commun-1/22-commande-distance.tex b/modules_EOLE_envole/tronc-commun-1/22-commande-distance.tex index fd9fa75..86fe305 100644 --- a/modules_EOLE_envole/tronc-commun-1/22-commande-distance.tex +++ b/modules_EOLE_envole/tronc-commun-1/22-commande-distance.tex @@ -1,7 +1,8 @@ \begin{frame} - \frametitle{Activer la connexion ssh} + \frametitle{Commande distante via SSH} \begin{itemize} - \item Possibilité d'interdire la connexion ssh à root ; + \item Protocole de communication sécurisée ; + \item possibilité d'interdire la connexion ssh à root ; \item possibilité d'interdire la connexion sans clef rsa ; \item choix des adresses autorisées. \end{itemize} @@ -10,10 +11,9 @@ \begin{frame} \frametitle{Utiliser ssh depuis GNU/Linux} \begin{itemize} - \item Protocole de communication sécurisée ; - \item ouvrir une connexion : ssh utilisateur@ip\_serveur ; - \item ouvrir une connexion pour commande graphique : ssh -X utilisateur@ip\_serveur ; - \item transfert de fichier : scp fichier.txt utilisateur@ip\_serveur:. + \item Ouvrir une connexion : \commande{ssh utilisateur@ip\_serveur} ; + \item ouvrir une connexion pour commande graphique : \commande{ssh -X utilisateur@ip\_serveur} ; + \item transfert de fichier : \commande{scp fichier.txt utilisateur@ip\_serveur:}. \end{itemize} \end{frame} @@ -37,10 +37,10 @@ \begin{itemize} \item Si la connexion se coupe, impossible de récupérer la session ; \item screen permet de détacher un shell et de le récupérer ; - \item pour le lancer : \emph{screen} ; + \item pour le lancer : \commande{screen} ; \item pour détacher : \emph{ctrl a d} ; - \item attention déconnexion automatique : \emph{unset TMOUT} ; - \item pour reprendre un screen : \emph{screen -rd}. + \item attention déconnexion automatique : \commande{unset TMOUT} ; + \item pour reprendre un screen : \commande{screen -rd}. \end{itemize} \end{frame} @@ -50,8 +50,8 @@ \item Activer la connexion juste pour votre IP ; \item se connecter sur le serveur en ssh ; \item copier un fichier ; - \item lancer gen\_config à travers ssh ; - \item utiliser screen. + \item lancer \commande{gen\_config} à travers ssh ; + \item utiliser \commande{screen}. \end{itemize} \end{frame} diff --git a/modules_EOLE_envole/tronc-commun-1/99-migration-zephir.tex b/modules_EOLE_envole/tronc-commun-1/99-migration-zephir.tex index 0afd831..3cd1ddc 100644 --- a/modules_EOLE_envole/tronc-commun-1/99-migration-zephir.tex +++ b/modules_EOLE_envole/tronc-commun-1/99-migration-zephir.tex @@ -1,19 +1,31 @@ -\section{Migration} -%\begin{frame}{Plan} -% \begin{columns}[t] -% \begin{column}{5cm} -% \tableofcontents[sections={1-6},currentsection, hideothersubsections] -% \end{column} -% \begin{column}{5cm} -% \tableofcontents[sections={7-12},currentsection,hideothersubsections] -% \end{column} -% \end{columns} -%\end{frame} +\begin{frame} + \frametitle{Préparation de la variante} + \begin{itemize} + \item Il faut créer une variante "équivalente" sur la nouvelle version ; + \item pour les modules compatibles entre version, un bouton "Import des données x.x.x" est disponible : + \begin{itemize} + \item dictionnaires locaux copiés, + \item variante copiée et déclarée équivalente, + \item valeurs par défaut copiées, + \item possibilité de relance ultérieur (copie les nouveaux dictionnaires) ; + \end{itemize} + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Pratique} + \begin{itemize} + \item Faire une variante dans une version inférieure ; + \item migrer la variante dans la nouvelle version. + \end{itemize} +\end{frame} \begin{frame} \frametitle{Migration de la configuration depuis Zéphir} \begin{itemize} \item Préparer à l'avance la configuration des serveurs à migrer ; + \item met à jour les informations en concervant l'identifiant ; + \item dictionnaire/template/patch personnalisée sont à migrer à la main ; \item sur la page d'état d'un serveur : 'générer les données de migration' ; \item choisir la variante à utiliser ; \item formulaire de saisie ; @@ -22,18 +34,47 @@ \end{frame} \begin{frame} - \frametitle{Migration Horus/Scribe 2.2 vers 2.3 et 2.4} + \frametitle{Page de suivi de la migration} \begin{itemize} - \item Pas de migration automatique (problème mise à jour Ubuntu) ; - \item outils externes : ftp://eoleng.ac-dijon.fr/pub/Outils/migration/ : migration23.sh ; + \item Sur la page d'accueil "suivi de la migration" ; + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Migration avec réinstallation} + \begin{itemize} + \item Seule méthode possible pour Horus/Scribe 2.2 vers version supérieure ; + \item pas de migration automatique (problème mise à jour Ubuntu) ; + \item outils externes : ftp://eoleng.ac-dijon.fr/pub/Outils/migration/ : migration2X.sh ; \item nécessite un disque distant/usb/local en ext3 ; - \item installer le module 2.3 ; + \item installer le module 2.X ; \item conversion du fichier config.eol ; \item instance du serveur ; \item relancer le script. \end{itemize} \end{frame} +\begin{frame} + \frametitle{Migration sans réinstallation} + \begin{itemize} + \item Utilisation du script Upgrade-Auto ; + \item migration du serveur dans le Zéphir en fin de procédure. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Migration Horus/Scribe 2.X.Y vers une release supérieure} + \begin{itemize} + \item Utilisation du script Maj-Release + \item + \item + \item + \item + \end{itemize} +\end{frame} + + + %%\begin{frame} %% \frametitle{Pratique : utilisation de VirtualBox} %% \begin{itemize} diff --git a/modules_EOLE_envole/tronc-commun-2.tex b/modules_EOLE_envole/tronc-commun-2.tex index 5475b2f..4f2efdb 100644 --- a/modules_EOLE_envole/tronc-commun-2.tex +++ b/modules_EOLE_envole/tronc-commun-2.tex @@ -145,6 +145,7 @@ %\end{frame} %\include{modules_EOLE_envole/tronc-commun-2/04-diagnose} %\include{modules_EOLE_envole/tronc-commun-2/05-script-instance-reconfigure} +%\include{modules_EOLE_envole/tronc-commun-2/05-script-instance-reconfigure-pratique} %\include{modules_EOLE_envole/tronc-commun-2/06-montage-conteneur} %\include{modules_EOLE_envole/tronc-commun-2/07-eole-firewall} %\include{modules_EOLE_envole/tronc-commun-2/08-schedule} diff --git a/modules_EOLE_envole/tronc-commun-2/01-personnalisation-creole.tex b/modules_EOLE_envole/tronc-commun-2/01-personnalisation-creole.tex index d576cc0..82f2a51 100644 --- a/modules_EOLE_envole/tronc-commun-2/01-personnalisation-creole.tex +++ b/modules_EOLE_envole/tronc-commun-2/01-personnalisation-creole.tex @@ -17,109 +17,190 @@ \begin{frame} \frametitle{Pratique} \begin{itemize} - \item ClamAV à le paramètre suivant : LogFileMaxSize 2M ; - \item il faut la valeur 10M. + \item Modifié dans le fichier de configuration de proftpd.conf : UseReverseDNS de "off" à "on" ; + \item créé le patch. \end{itemize} \end{frame} \begin{frame} - \frametitle{Ajout de dictionnaires locaux} - \begin{itemize} - \item Permet d'ajouter des spécificités ou de nouveau template ; - \item les dictionnaires locaux sont dans /usr/share/eole/creole/dicos/local/ ; - \item les templates locaux sont dans /usr/share/eole/creole/distrib/ ; - \item un dictionnaire est un fichier XML Creole ; - \item un template utilise le langage de template Creole. - \end{itemize} -\end{frame} - -\begin{frame} - \frametitle{Syntaxe XML Creole} + \frametitle{Dictionnaire Creole} \begin{itemize} - \item Entête XML : ; - \item Première balise + \item Un dictionnaire est un fichier XML Creole ; + \item décrit les variables présente dans l'interface de configuration ; + \item informations utiles pour les services ; + \item les dictionnaires locaux sont dans /usr/share/eole/creole/dicos/local/. \end{itemize} \end{frame} \begin{frame} - \frametitle{Syntaxe XML Creole : conteneur} + \frametitle{CreoleLint} \begin{itemize} - \item master : , slave ; - \item fichier template : : - \begin{itemize} - \item name (obligatoire) : nom du fichier template ; - \item source : si le nom de fichier source est différent de la destination ; - \item mode, owner, group : droits sur fichier appliquer au fichier ; - \item mkdir : création du répertoire de destination si nécessaire. - \end{itemize} - \item service : \ldots ; - \item package : \ldots. + \item Vérifie la syntaxe du dictionnaire : \commande{CreoleLint -d} ; + \item test la génération d'un template suivant contrainte : \commande{CreoleLint -t nom\_du\_template} \end{itemize} \end{frame} \begin{frame} - \frametitle{Syntaxe XML Creole : variable} + \frametitle{CreoleCat} \begin{itemize} - \item Ensemble de famille et séparateur : ; - \begin{itemize} - \item Famille de variables : : - \begin{itemize} - \item Les variables : - \item Les variables ... : - \end{itemize} - \item Les séparateurs : - \begin{itemize} - \item name : nom de variable en dessous du séparateur ; - \item description affiché à l'intérieur de la balise. - \end{itemize} - \end{itemize} + \item Templatise un fichier sans faire de reconfigure (objectif de test) ; + \item \commande{CreoleCat -t nom\_du\_template} + \item \commande{CreoleCat -t nom\_du\_template -o /tmp/template.tmpl} + \item \commande{CreoleCat -s /tmp/nom\_du\_template -o /tmp/template.tmpl} \end{itemize} \end{frame} \begin{frame} - \frametitle{Syntaxe XML Creole : contrainte} + \frametitle{Dictionnaire Creole : les paquets} \begin{itemize} - \item Le contraintes : : pour tester/remplir/grouper/conditionner des variables ; - \begin{itemize} - \item calcul automatique avec fonction personnalisé : ... ; - \item calcul automatique non modifiable ; - \item choix de réponse ... ; - \item cacher des variables suivant des contraintes ... : - \begin{itemize} - \item valeur de la variable testé : ... ; - \item affecte nom : - \end{itemize} - \item Lien entre variable : ... : - \begin{itemize} - \item si le maître à une valeur, les autres aussi ; - \item si le maître est multi-évalué, les autres aussi ; - \item les esclaves : . - \end{itemize} - \end{itemize} + \item Les paquets fonctionnent sur le maitre ou dans un conteneur ; + \item permet d'installer les paquets sans passer par les dépendances de paquet. \end{itemize} \end{frame} \begin{frame} - \frametitle{Syntaxe XML Creole : aide} - \begin{itemize} - \item Afficher de l'aide dans l'interface : . - \end{itemize} + \frametitle{Dictionnaire Creole : les services} + \begin{itemize} + \item Services fonctionnent sur le maitre ou dans un conteneur ; + \item différentes méthodes : service, upstart ou apache. + \end{itemize} \end{frame} \begin{frame} \frametitle{Pratique} \begin{itemize} \item Installer le paquet ircd-irc2 ; - \item ajouter un service ; - \item dans la famille "services" ajouter la variable "activate\_ircd" ayant pour valeur possible "oui" et "non" ; + \item ajouter un dictionnaire pour gérer : + \begin{itemize} + \item l'installation du paquet, + \item le service. + \end{itemize} + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Dictionnaire Creole : le firewall} + \begin{itemize} + \item On commence par ouvrir les accès (service\_access) ; + \item on ajoute ensuite les restrictions (service\_restiction). + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Pratique} + \begin{itemize} + \item Ajouter des règles de firewall et tcpwrapper pour autoriser les accès. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Dictionnaire Creole : les familles} + \begin{itemize} + \item Les variables sont classés dans des familles. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Dictionnaire Creole : les variables} + \begin{itemize} + \item Les variables sont typées : + \begin{itemize} + \item number, port, + \item string, mail, filename, unix\_user, web\_address, + \item ip, local\_ip, netmask, network, broadcast, + \item nebios, domain, domain\_strict, hostname, hostname\_strict, + \item oui/non, on/off, yes/no. + \end{itemize} + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Pratique} + \begin{itemize} + \item Dans la famille "services" ajouter la variable "activer\_ircd" ayant pour valeur possible "oui" et "non" ; \item tester gen\_config. \end{itemize} \end{frame} +\begin{frame} + \frametitle{Dictionnaire Creole : les fichiers templates} + \begin{itemize} + \item Le nom des fichiers templates sont dans les dictionnaires (file) ; + \item le répertoire de destination doit existé par défaut ; + \item possibilité de définir les droits sur le fichier ; + \item nom de la source peut être différents de la destination. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Pratique} + \begin{itemize} + \item Ajouter le template /etc/ircd/ircd.conf. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Dictionnaire Creole : les contraintes} + \begin{itemize} + \item pour tester/remplir/grouper/conditionner des variables ; + \begin{itemize} + \item calcul automatique avec fonction personnalisé (fill), + \item calcul automatique non modifiable (auto), + \item choix de réponse (valid\_enum), + \item cacher des variables suivant des contraintes (condition), + \item groupe de variables (group) : + \end{itemize} + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Pratique} + \begin{itemize} + \item Ajouter une famille "ircd" ; + \item configuration de la M line : M:::::000A : + \begin{itemize} + \item le nom de domaine est une copie de web\_url, + \item le libellé est la concaténation de "Serveur IRC pour" et libelle\_etab et n'est pas modifiable par l'utilisateur, + \item le port ircd est par défaut le port 6667 modifiable en mode expert, + \item modifier la balise service\_access ; + \end{itemize} + \item pouvoir ajouter des K line : K:. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Pratique} + \begin{itemize} + \item Ajouter de l'aide sur la variable activer\_ircd. + \end{itemize} +\end{frame} + \begin{frame} \frametitle{Langague de template Creole} \begin{itemize} - \item Variable Creole préfixé par \begin{semiverbatim}\%\%\end{semiverbatim} + \item Un template utilise le langage de template Creole. + \item variable Creole préfixé par \begin{semiverbatim}\%\%\end{semiverbatim} \item Test : \begin{semiverbatim}\%if EXPRESSION code if \%else code else \%end if\end{semiverbatim} \item Boucle : \begin{semiverbatim}\%for \%\%i in EXPRESSION hello \%\%i \%end for\end{semiverbatim} \item Boucle pour variable multi évolué avec esclave : \begin{semiverbatim}\%for \%\%var in \%\%variablemaitre\end{semiverbatim}\begin{semiverbatim}\%\%var, \%\%var.esclave1, \%\%var.esclave2\end{semiverbatim}\begin{semiverbatim}\%end for\end{semiverbatim} @@ -138,22 +219,7 @@ \begin{frame} \frametitle{Pratique 1} \begin{itemize} - \item Installer phpldapadmin ; - \item créer un dicos pour demander l'activation ou non (variable "activate\_phpldapadmin") ; - \item si oui, activer une nouvelle famille "phpldapadmin" ; - \item demander l'adresse IP (phpldapadmin\_host) et le nom du serveur (phpldapadmin\_name) ; - \item copier les templates /etc/phpldapadmin/config.php et /etc/phpldapadmin/apache.conf dans /usr/share/eole/creole/distrib/ ; - \item le template config.php sera renommé en phpldapadmin.php ; - \item si le nom n'est pas spécifié, le serveur : "Serveur LDAP" ; - \item tester sans reconfigurer : CreoleCat -o config.php /usr/share/eole/creole/distrib/phpldapadmin.php + \item Configuration de la "M line : M:::::000A" ; + \item configurer les "K line : K:.py. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Pratique} + \begin{itemize} + \item Faire une fonction personnalisée qui retourner un texte ; + \item créer une variable qui utilise cette fonction ; + \item utiliser cette variable dans le template ircd.motd ; + \item utiliser la fonction directement dans le template ircd.motd ; + \item tester. + \end{itemize} +\end{frame} + \begin{frame} \frametitle{Redéfinition} \begin{itemize} @@ -11,20 +41,18 @@ \end{frame} \begin{frame} - \frametitle{Existance d'une variable} + \frametitle{Pratique} \begin{itemize} - \item Créé la variable si elle n'existe pas encore avec une valeur par défaut. - \item Exemple : 'activer\_clam' dans 23\_proxy.xml - \item Attention la variable ne peut pas être créer après. + \item Redéfinir le texte de la variable web\_url ; + \item passer la variable activer\_clam en mode expert. \end{itemize} \end{frame} \begin{frame} - \frametitle{Caché multi-condition} + \frametitle{Existance d'une variable} \begin{itemize} - \item Créé une variable "test\_xxxx" caché ; - \item ajouter une "auto" avec calcul "calc\_multi\_condition" ; - \item faire une condition "hidden\_if\_in" sur la variable. - \item Exemple : 01\_network.xml + \item Créer la variable si elle n'existe pas encore avec une valeur par défaut ; + \item exemple : 'activer\_clam' dans 23\_proxy.xml ; + \item attention la variable ne peut pas être créé après. \end{itemize} \end{frame} diff --git a/modules_EOLE_envole/tronc-commun-2/02-zephir.tex b/modules_EOLE_envole/tronc-commun-2/02-zephir.tex index 88ad9c6..884269e 100644 --- a/modules_EOLE_envole/tronc-commun-2/02-zephir.tex +++ b/modules_EOLE_envole/tronc-commun-2/02-zephir.tex @@ -1,15 +1,13 @@ \begin{frame} \frametitle{Personnalisation d'un serveur} + \begin{itemize} + \item Liste des fichiers sauvegardés : dans la page d'état du serveur cliquer sur "voir les fichiers personnalisés" ; + \item pour les dictionnaires locaux : \begin{itemize} - \item Liste des fichiers sauvegardés : - \begin{itemize} - \item dictionnaires additionnels, - \item fichier appartenant aux dictionnaires additionnels, - \item fichier spécifique (exemple généré par EAD), - \item les patches, - \item les paquets additionnels. - \end{itemize} - \end{itemize} + \item dans la partie "module" du Zéphir, cliquer sur "Dictionnaires personnalisés", + \item activer les modules dans la page "voir les fichiers personnalisés" de la page d'état. + \end{itemize} + \end{itemize} \end{frame} \begin{frame} diff --git a/modules_EOLE_envole/tronc-commun-2/04-diagnose.tex b/modules_EOLE_envole/tronc-commun-2/04-diagnose.tex index 7f2d73b..e29f4e0 100644 --- a/modules_EOLE_envole/tronc-commun-2/04-diagnose.tex +++ b/modules_EOLE_envole/tronc-commun-2/04-diagnose.tex @@ -3,16 +3,14 @@ \begin{itemize} \item Diagnose sert à tester le service d'un serveur ; \item si possible, doit tester le bon fonctionnement de l'application ; - \item script bash ; - \item script commun : /usr/share/eole/diagnose/eole ; - \item script par service : /usr/share/eole/diagnose/module. + \item script bash dans /usr/share/eole/diagnose. \end{itemize} \end{frame} \begin{frame} \frametitle{Fonction diagnose standard} \begin{itemize} - \item Certains nombres de fonction dans /usr/share/eole/FonctionEoleNg : + \item Certains nombres de fonction dans /usr/lib/eole/diagnose.sh : \begin{itemize} \item TestIP2 : test une IP via paquet ICMP ECHO\_REQUEST ; \item TestARP : requète ARP (évite les problèmes de firewall) ; @@ -35,6 +33,6 @@ \begin{frame} \frametitle{Pratique} \begin{itemize} - \item Faire un fichier diagnose pour IRCD + \item Faire un fichier diagnose pour IRCD. \end{itemize} \end{frame} diff --git a/modules_EOLE_envole/tronc-commun-2/05-script-instance-reconfigure-pratique.tex b/modules_EOLE_envole/tronc-commun-2/05-script-instance-reconfigure-pratique.tex new file mode 100644 index 0000000..712290d --- /dev/null +++ b/modules_EOLE_envole/tronc-commun-2/05-script-instance-reconfigure-pratique.tex @@ -0,0 +1,9 @@ +\begin{frame} + \frametitle{Pratique} + \begin{itemize} + \item Faire un script posttemplate qui créé le répertoire /tmp/repertoire ; + \item si le répertoire existe, proposer de le supprimer à l'instance ; + \item redémarrer le service "cron". + \end{itemize} +\end{frame} + diff --git a/modules_EOLE_envole/tronc-commun-2/05-script-instance-reconfigure.tex b/modules_EOLE_envole/tronc-commun-2/05-script-instance-reconfigure.tex index 0140e59..77276d2 100644 --- a/modules_EOLE_envole/tronc-commun-2/05-script-instance-reconfigure.tex +++ b/modules_EOLE_envole/tronc-commun-2/05-script-instance-reconfigure.tex @@ -20,23 +20,20 @@ \begin{frame} \frametitle{Script instance ou reconfigure} \begin{itemize} - \item emplacement des scripts : + \item Emplacement des scripts : \begin{itemize} + \item /usr/share/eole/preservice/ : avant l'arrêt des services, \item /usr/share/eole/pretemplate/ : avant la templatisation, - \item /usr/share/eole/posttemplate/ : entre la templétisation et redémarrage des services, + \item /usr/share/eole/posttemplate/ : entre la templatisation et redémarrage des services, \item /usr/share/eole/postservice/ : après redémarrage des services ; \end{itemize} - \item script bash ou python ; - \item premier argument : instance|reconfigure - \item doivent toujours retourner le code de sortie "0" sauf si problème. + \item compatible run-part : + \begin{itemize} + \item pas d'extension, + \item exécutable, + \item script bash, python, ... il faut le préciser avec un shebang (\#!/bin/bash), + \item premier argument : instance|reconfigure, + \item doivent toujours retourner le code de sortie "0" sauf si problème. + \end{itemize} \end{itemize} \end{frame} - -\begin{frame} - \frametitle{Pratique} - \begin{itemize} - \item Faire un script qui créé le répertoire /tmp/repertoire ; - \item si le répertoire existe, proposer de le supprimer à l'instance. - \end{itemize} -\end{frame} - diff --git a/modules_EOLE_envole/tronc-commun-2/07-eole-firewall.tex b/modules_EOLE_envole/tronc-commun-2/07-eole-firewall.tex deleted file mode 100644 index fd292f8..0000000 --- a/modules_EOLE_envole/tronc-commun-2/07-eole-firewall.tex +++ /dev/null @@ -1,29 +0,0 @@ -\begin{frame} - \frametitle{Règle eole-firewall} - \begin{itemize} - \item Nom du fichier : 00\_extremite1\_commentaire.fw - \item allow\_src() : extermite1 est la destination - \item allow\_dst() : extermite1 est la source - \item paramètres : - \begin{itemize} - \item interface : interface du maître - \item container\_interface : interface dans le conteneur - \item ip|container : extermite2 - \item port : - \begin{itemize} - \item num - \item num:num - \end{itemize} - \item tcpwrapper - \item protocol : udp|icmp - \item si icmp : typ='echo-request' - \end{itemize} - \end{itemize} -\end{frame} - -\begin{frame} - \frametitle{Pratique} - \begin{itemize} - \item Faire une règle de firewall pour autoriser l'accès à IRCD. - \end{itemize} -\end{frame} diff --git a/modules_EOLE_envole/tronc-commun-2/08-schedule.tex b/modules_EOLE_envole/tronc-commun-2/08-schedule.tex index ba277fd..09e010d 100644 --- a/modules_EOLE_envole/tronc-commun-2/08-schedule.tex +++ b/modules_EOLE_envole/tronc-commun-2/08-schedule.tex @@ -1,7 +1,13 @@ \begin{frame} \frametitle{Schedule} \begin{itemize} - \item Pourquoi le schedule ? + \item Créé pour éviter les conflicts entre mise à jour/sauvegarde ; + \item permet de distinger les tâches avant sauvegarde/après sauvegarde ; + \item principe : + \begin{itemize} + \item extration avant sauvegarde, + \item suppression de fichier/mise à jour/ ... après la sauvegarde. + \end{itemize} \end{itemize} \end{frame} @@ -9,11 +15,9 @@ \frametitle{Schedule} \begin{itemize} \item Script principalement bash ; - \item . /usr/share/eole/schedule/config.sh ; - \item DESC="..." ; - \item code retour 0 ; - \item executable ; - \item pas d'extension. + \item enregistrer dans /usr/share/eole/schedule/scripts ; + \item au format "run-part" ; + \item dictionnaire d'activation dans /usr/share/eole/creole/extra/schedule/. \end{itemize} \end{frame} diff --git a/modules_EOLE_envole/tronc-commun-2/15-script-ead.tex b/modules_EOLE_envole/tronc-commun-2/15-script-ead.tex index 2ddc25f..591c962 100644 --- a/modules_EOLE_envole/tronc-commun-2/15-script-ead.tex +++ b/modules_EOLE_envole/tronc-commun-2/15-script-ead.tex @@ -7,8 +7,7 @@ \item /usr/share/ead2/backend/actions/cmd\_xxx.py : code de la commande ; \item /usr/share/ead2/backend/config/cmds/xxx.cmd : enregistrement de la commande ; \item /usr/share/ead2/backend/config/actions/actions\_xxx.cfg : enregistrement de l'action ; - \item /usr/share/ead2/backend/config/perms/perm\_xxx.ini : association de rôle ; - \item plus d'information : http://eoleng.ac-dijon.fr/pub/Documentations/devel/ead/actions/commande.html + \item /usr/share/ead2/backend/config/perms/perm\_xxx.ini : association de rôle. \end{itemize} \end{frame} diff --git a/modules_EOLE_envole/tronc-commun-2/16-sauvegarde.tex b/modules_EOLE_envole/tronc-commun-2/16-sauvegarde.tex index 0aacdf5..4f17667 100644 --- a/modules_EOLE_envole/tronc-commun-2/16-sauvegarde.tex +++ b/modules_EOLE_envole/tronc-commun-2/16-sauvegarde.tex @@ -2,7 +2,7 @@ \frametitle{Fichier/répertoire dans la sauvegarde} \begin{itemize} \item Prévoir les extractions ; - \item fichier/répertoire spécifié dans /etc/bacula/baculafichiers.d/. + \item fichier/répertoire spécifié dans /etc/bareos/bareosfichiers.d/. \end{itemize} \end{frame} diff --git a/modules_EOLE_envole/tronc-commun-2/20-api.tex b/modules_EOLE_envole/tronc-commun-2/20-api.tex index 6d5e8d3..06193b8 100644 --- a/modules_EOLE_envole/tronc-commun-2/20-api.tex +++ b/modules_EOLE_envole/tronc-commun-2/20-api.tex @@ -37,16 +37,11 @@ \frametitle{Gestion des services} \begin{itemize} \item from pyeole.service import * - \item service\_out|service\_code + \item manage\_service : \begin{itemize} - \item service : nom du service - \item action : start|stop|restart|status - \item container : nom du conteneur (défaut root) - \end{itemize} - \item service\_code\_no\_container : démarrage d'un service dans tous les conteneurs avec le service - \begin{itemize} - \item service : nom du service - \item action : start|stop|restart|status + \item action : start|stop|restart|status, + \item service : nom du service, + \item container : nom du conteneur (défaut root). \end{itemize} \end{itemize} \end{frame} @@ -77,29 +72,29 @@ \end{itemize} \end{frame} -\begin{frame} - \frametitle{Execution de commande} - \begin{itemize} - \item from pyeole.process import * - \item is\_installed - \begin{itemize} - \item package - \item container : (défaut root) - \item *context : (défaut True) - \end{itemize} - \item tcpcheck - \begin{itemize} - \item ip\_address : adresse IP - \item port : port a tester - \item timeout : temps d'attente maximum (défaut 1) - \end{itemize} - \item test\_conteneur : test si un conteneur est démarré - \begin{itemize} - \item container : nom du conteneur - \item *ip\_address : adresse IP du conteneur (défaut None) - \end{itemize} - \end{itemize} -\end{frame} +%\begin{frame} +% \frametitle{Execution de commande} +% \begin{itemize} +% \item from pyeole.process import * +% \item is\_installed +% \begin{itemize} +% \item package +% \item container : (défaut root) +% \item *context : (défaut True) +% \end{itemize} +% \item tcpcheck +% \begin{itemize} +% \item ip\_address : adresse IP +% \item port : port a tester +% \item timeout : temps d'attente maximum (défaut 1) +% \end{itemize} +% \item test\_conteneur : test si un conteneur est démarré +% \begin{itemize} +% \item container : nom du conteneur +% \item *ip\_address : adresse IP du conteneur (défaut None) +% \end{itemize} +% \end{itemize} +%\end{frame} \begin{frame} \frametitle{Pratique} @@ -109,66 +104,85 @@ \item stdin : a=system\_code('cat', stdin="mot") \item env : a=system\_code('env', env={'mot': 'mot'}) \item container : a=system\_code(['ls', '/etc/samba/'], container='fichier') - \item installé : is\_installed('samba-common') - \item non installé : is\_installed('samba') - \item conteneur : is\_installed('samba', container='fichier') +% \item installé : is\_installed('samba-common') +% \item non installé : is\_installed('samba') +% \item conteneur : is\_installed('samba', container='fichier') \item test service : tcpcheck('192.0.2.52', '139') - \item test\_conteneur('fichier') +% \item test\_conteneur('fichier') \end{itemize} \end{frame} +%FIXME \begin{frame} \frametitle{Gestion des locks} \begin{itemize} - \item from creole.eolelock import * - \item add\_lock : ajout d'un lock - \item del\_lock : supprimer un lock - \item check\_lock : vérifier la présence d'un fichier lock + \item from pyeole.lock import * + \item acquire : ajout d'un lock + \item release : supprimer un lock + \item is\_locked : vérifier la présence d'un fichier lock + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Pratique} + \begin{itemize} + \item ajouter, vérifier et supprimer un lock. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Lire valeur du dictionnaire} + \begin{itemize} + \item Via creoled : \begin{itemize} - \item lock\_name : nom du fichier lock + \item from creole.client import CreoleClient + \item client = CreoleClient() + \item client.get\_creole(variable) \end{itemize} - \item check\_all\_locks : vérifier la présence des locks systèmes + \item en chargeant les dictionnaires : + \begin{itemize} + \item from creole.loader import creole\_loader + \item config = creole\_loader() + \item config.creole.famille.variable + \item config.creole.famille.master.slave + \end{itemize} + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Modifier valeur du dictionnaire} + \begin{itemize} + \item from creole.loader import creole\_loader, config\_save\_values + \item config = creole\_loader(rw=True) + \item config.creole.famille.variable = value + \item config.creole.famille.master.master.append(value) + \item config.creole.famille.master.slave[-1] = value + \item config\_save\_values(config) \end{itemize} \end{frame} \begin{frame} \frametitle{Pratique} \begin{itemize} - \item add\_lock('test') - \item check\_lock('test') - \item del\_lock('test') + \item Afficher la valeur de la variable adresse\_ip\_eth0 ; + \item afficher la valeur de la variable netmask\_ssh\_eth0. \end{itemize} \end{frame} -\begin{frame} - \frametitle{Valeur du dictionnaire} - \begin{itemize} - \item from creole.parsedico import parse\_dico - \item parse\_dico() : chargement des dictionnaires - \end{itemize} -\end{frame} +%\begin{frame} +% \frametitle{Valeur du dictionnaire conteneur} +% \begin{itemize} +% \item from creole.eosfunc import * +% \item load\_conteneur\_var() : chargement des configurations conteneurs +% \end{itemize} +%\end{frame} +% +%\begin{frame} +% \frametitle{Pratique} +% \begin{itemize} +% \item container\_var = load\_container\_var() +% \item print container\_var['container\_ip\_fichier'] +% \end{itemize} +%\end{frame} -\begin{frame} - \frametitle{Pratique} - \begin{itemize} - \item conf\_eole = parse\_dico() - \item print conf\_eole['adresse\_ip\_eth0'] - \end{itemize} -\end{frame} - -\begin{frame} - \frametitle{Valeur du dictionnaire conteneur} - \begin{itemize} - \item from creole.eosfunc import * - \item load\_conteneur\_var() : chargement des configurations conteneurs - \end{itemize} -\end{frame} - -\begin{frame} - \frametitle{Pratique} - \begin{itemize} - \item container\_var = load\_container\_var() - \item print container\_var['container\_ip\_fichier'] - \end{itemize} -\end{frame} diff --git a/modules_EOLE_envole/tronc-commun-2/30-api_bash.tex b/modules_EOLE_envole/tronc-commun-2/30-api_bash.tex index 27f1e11..a2675a3 100644 --- a/modules_EOLE_envole/tronc-commun-2/30-api_bash.tex +++ b/modules_EOLE_envole/tronc-commun-2/30-api_bash.tex @@ -1,7 +1,8 @@ \begin{frame} \frametitle{Écrire en couleur} \begin{itemize} - \item . /usr/share/eole/FonctionsEoleNg +%FIXME + \item . /usr/lib/eole/ihm.sh \item EchoRouge \item EchoVert \item EchoOrange @@ -15,8 +16,9 @@ \begin{itemize} \item Question\_ouinon \item \$1 : contenu de la question de type oui/non - \item \$2 : valeur par défaut (défaut non) - \item \$3 : info|warn|err (défaut info) + \item \$2 : interactif ou non + \item \$3 : valeur par défaut (défaut non) + \item \$4 : info|warn|err (défaut info) \end{itemize} \end{frame} @@ -25,7 +27,7 @@ \begin{itemize} \item EchoOrange 'couleur orange' \item EchoGras 'le titre' - \item Question\_ouinon 'voulez vous vraiment faire cette action' + \item Question\_ouinon "Voulez vous vraiment faire cette action ?" \item echo \$? \end{itemize} \end{frame} @@ -56,7 +58,7 @@ \begin{frame} \frametitle{Execution de commande} \begin{itemize} - \item RunCmd + \item CreoleRun \item \$1 : commande \item \$2 : conteneur \end{itemize} @@ -74,7 +76,7 @@ \begin{frame} \frametitle{Pratique} \begin{itemize} - \item RunCmd "echo mot" fichier + \item CreoleRun "echo mot" fichier \item test service : tcpcheck 2 192.0.2.52:80 \end{itemize} \end{frame} @@ -82,49 +84,50 @@ \begin{frame} \frametitle{Gestion des locks} \begin{itemize} - \item AddLock : ajout d'un lock - \item DelLock : suppression d'un lock - \item CheckAllLocks : vérifie la présence de lock système - \begin{itemize} - \item \$1 : nom du lock - \end{itemize} +%FIXME + \item CreoleLock acquire "nom\_du\_lock" + \item CreoleLock release "nom\_du\_lock" + \item CreoleLock is\_locked "nom\_du\_lock" \end{itemize} \end{frame} \begin{frame} \frametitle{Pratique} \begin{itemize} - \item AddLock test - \item DelLock test + \item Créé un lock "test" ; + \item Supprimé le lock "test". \end{itemize} \end{frame} \begin{frame} - \frametitle{Valeur du dictionnaire} + \frametitle{Valeur d'une variable} \begin{itemize} - \item . ParseDico - \item dans l'environnement de l'utilisateur + \item CreoleGet nom\_variable \end{itemize} \end{frame} \begin{frame} \frametitle{Pratique} \begin{itemize} - \item echo \$adresse\_ip\_eth0 + \item Récupérer la valeur de la variable adresse\_ip\_eth0 \end{itemize} \end{frame} \begin{frame} - \frametitle{Valeur du dictionnaire conteneur} + \frametitle{Modifier la valeur} \begin{itemize} - \item . /etc/eole/containers.conf + \item CreoleSet nom\_variable valeur ; + \item Pour une liste : CreoleSet nom\_variable """valeur1 + \item valeur2""" ; + \item attention, ne peut changer la longueur de esclave. \end{itemize} \end{frame} \begin{frame} \frametitle{Pratique} \begin{itemize} - \item echo \$container\_ip\_fichier + \item Modifier la valeur de la variable de vm\_swappiness à 10 ; + \item modifier ubuntu\_update\_mirrors à "eole.ac-dijon.fr inconnu.lan" \end{itemize} \end{frame}