mise à jour de la formation pour 2.6

This commit is contained in:
Emmanuel Garette 2016-04-20 10:44:44 +02:00 committed by Benjamin Bohard
parent d23f750963
commit 180780bfb3
41 changed files with 985 additions and 449 deletions

View File

@ -101,6 +101,7 @@
%\include{modules_EOLE_envole/amon/00-nouveautes} %\include{modules_EOLE_envole/amon/00-nouveautes}
%\include{modules_EOLE_envole/sphynx/00-nouveautes} %\include{modules_EOLE_envole/sphynx/00-nouveautes}
\include{modules_EOLE_envole/commun/01-nouveaute24} \include{modules_EOLE_envole/commun/01-nouveaute24}
\include{modules_EOLE_envole/commun/01-nouveaute25}
\section{Les quatre phases} \section{Les quatre phases}
\begin{frame}{Plan} \begin{frame}{Plan}
@ -117,7 +118,8 @@
\include{modules_EOLE_envole/tronc-commun-1/05-conteneurs} \include{modules_EOLE_envole/tronc-commun-1/05-conteneurs}
\include{modules_EOLE_envole/amon/00-virtualbox} \include{modules_EOLE_envole/amon/00-virtualbox}
\include{modules_EOLE_envole/tronc-commun-1/05-conteneurs-pratique} \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} \section{Fonctions de base d'Amon}
\begin{frame}{Plan} \begin{frame}{Plan}

View File

@ -1,11 +1,10 @@
\begin{frame} \begin{frame}
\frametitle{AmonEcole} \frametitle{AmonEcole}
\begin{itemize} \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} \begin{itemize}
\item AmonEcole : mélange des fonctionnalités Amon et Scribe ; \item Amon,
\item AmonEcole+ : idem avec les fonctionnalités Eclair en plus. \item Scribe.
\item AmonHorus : mélange des fonctionnalités Amon et Horus.
\end{itemize} \end{itemize}
\end{itemize} \end{itemize}
\end{frame} \end{frame}

View File

@ -1,8 +1,9 @@
\begin{frame} \begin{frame}
\frametitle{Nouveautés 2.4} \frametitle{Nouveautés 2.4}
\begin{itemize} \begin{itemize}
\item Réorganisation reconfigure/instance ; \item Basé sur la distribution Precise Pangolin (12.04) ;
\item fichier de configuration toujours /etc/eole/config.eol ; \item support jusqu'en 2017 ;
\item réorganisation reconfigure/instance ;
\item nouveau cœur : tiramisu ; \item nouveau cœur : tiramisu ;
\item plus d'informations dans les dictionnaires ; \item plus d'informations dans les dictionnaires ;
\item firewall : \item firewall :
@ -26,19 +27,11 @@
\end{frame} \end{frame}
\begin{frame} \begin{frame}
\frametitle{Modalités de distribution des versions 2.4.x} \frametitle{Nouveautés 2.4}
Les versions 2.4.x sont distribuées selon les règles standards : \begin{itemize}
\begin{itemize} \item Plus de mise à jour minimum/complète mais différentes releases sont proposées ;
\item les mises à jour fonctionnelles impliquent une montée de version ; \item les paquets sont disponibles à l'adresse http://eole.ac-dijon.fr ;
\item les versions stables n'ont que des mises à jour de sécurité et des correctifs de dysfonctionnements bloquants ; \item nouveau format du fichier /etc/eole/config.eol ;
\item les paquets sont disponibles à l'adresse http://eole.ac-dijon.fr \item nouvelle sous arborescence : /usr/share/eole/sbin.
\end{itemize} \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}
\end{frame} \end{frame}

View File

@ -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}

View File

@ -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}

View File

@ -1,32 +1,15 @@
\begin{frame} \begin{frame}
\frametitle{Pratique : configuration autonome} \frametitle{Pratique}
\begin{itemize} \begin{itemize}
\item Informations utiles : \item Configurer le serveur via la commande gen\_config ;
\item informations utiles :
\begin{itemize} \begin{itemize}
\item Adresse ip de la carte eth0, \item Adresse ip de la carte eth0,
\item Passerelle, \item Passerelle,
\item DNS : DNS de la machine hôte ; \item DNS : DNS de la machine hôte ;
\end{itemize} \end{itemize}
\item lancer \commande{gen\_config} ; \item désactiver l'anti-virus ;
\item présentation de l'interface : \item instancier le serveur via la commande instance.
\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 <fichier>.eol} sur 2.3 ;
\item \commande{instance} sur 2.4.
\end{itemize}
\end{itemize} \end{itemize}
\end{frame} \end{frame}

View File

@ -5,10 +5,10 @@
\begin{enumerate} \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 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 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 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 installer manuellement des modules noyaux DKMS si nécessaire,
\item valider le bouton \emph{continuer} à la fin de l'installation, \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}. \item en mode conteneurs, générer les conteneurs avec la commande \emph{gen\_conteneurs}.
\end{enumerate} \end{enumerate}
\end{itemize} \end{itemize}
@ -22,7 +22,7 @@
\begin{itemize} \begin{itemize}
\item lancer la commande \commande{gen\_config}, \item lancer la commande \commande{gen\_config},
\item configurer le serveur, \item configurer le serveur,
\item sauvegarder le fichier zephir.eol ; \item sauvegarder le fichier ;
\end{itemize} \end{itemize}
\item en mode Zéphir : \item en mode Zéphir :
\begin{itemize} \begin{itemize}
@ -36,10 +36,8 @@
\begin{frame} \begin{frame}
\frametitle{La phase d'instanciation} \frametitle{La phase d'instanciation}
\begin{itemize} \begin{itemize}
\item Lancer la commande \commande{instance <fichier>.eol} en 2.3 ; \item Lancer la commande \commande{instance} ;
\item ou lancer la commande \commande{instance} en 2.4 ;
\item renseigner les mots de passe ; \item renseigner les mots de passe ;
\item enregistrement dans la base \og{}matériel\fg{} ;
\item mise à jour ; \item mise à jour ;
\item éventuellement redémarrage. \item éventuellement redémarrage.
\end{itemize} \end{itemize}

View File

@ -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} \begin{frame}
\frametitle{Les mises à jour} \frametitle{Les mises à jour}
\begin{itemize} \begin{itemize}
\item Les différents dépôts : \item Procédure :
\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 :
\begin{itemize} \begin{itemize}
\item par l'EAD, \item par l'EAD,
\item par l'interface semi-graphique, \item par l'interface semi-graphique,
@ -16,19 +30,22 @@
\begin{itemize} \begin{itemize}
\item \commande{Query-Auto} : liste les mises à jour, \item \commande{Query-Auto} : liste les mises à jour,
\item \commande{Maj-Auto} : lance la mise à jour sans question, \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, \item \commande{Upgrade-Auto} : mise à jour vers une version supérieure,
\end{itemize} \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{itemize} \end{itemize}
\end{frame} \end{frame}
\begin{frame} \begin{frame}
\frametitle{Mise à jour via un CD/clef USB} \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} \begin{itemize}
\item Création du cache dans l'académie : \commande{Maj-Auto --download} ; \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 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 sur le serveur en établissement, copier le contenu du support dans /var/cache/apt/archives/ ;
\item lancer \commande{Maj-Auto}. \item lancer \commande{Maj-Auto}.
\end{itemize} \end{itemize}

View File

@ -1,8 +1,8 @@
\begin{frame} \begin{frame}
\frametitle{Pratique} \frametitle{Pratique}
\begin{itemize} \begin{itemize}
\item Faire un reconfigure ; \item Faire un \commande{reconfigure} ;
\item lancer un diagnostic ; \item lancer un \commande{diagnostic} ;
\item lancer un diagnostic étendu. \item lancer un \commande{diagnostic} étendu.
\end{itemize} \end{itemize}
\end{frame} \end{frame}

View File

@ -9,18 +9,14 @@ if fonctionseole.init_proc('PERSO') == False:
fonctionseole.zephir("MSG" , "procédure supprimer_fichier bloquée par zephir", "PERSO") fonctionseole.zephir("MSG" , "procédure supprimer_fichier bloquée par zephir", "PERSO")
sys.exit(1) sys.exit(1)
fonctionseole.zephir("INIT" , "script test_perso en cours d'execution", "PERSO") fonctionseole.zephir("INIT" , "script supprimer_fichier en cours d'execution", "PERSO")
if is_locked(['reconfigure']):
fonctionseole.zephir("ERR" , "supprimer_fichier stoppé : reconfigure en cours", "PERSO")
sys.exit(1)
try: try:
filename = sys.argv[1] 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) sudo_script('supprimer_fichier_sudo.zephir %s' % filename)
except: except Exception, err:
fonctionseole.zephir("ERR" , "supprimer_fichier lancé sans argument", "PERSO") fonctionseole.zephir("ERR" , "supprimer_fichier a généré une erreur {}".format(err), "PERSO")
sys.exit(1) sys.exit(1)
fonctionseole.zephir("FIN" , "supprimer_fichier : OK", "PERSO") fonctionseole.zephir("FIN" , "supprimer_fichier {}: OK".format(filename), "PERSO")

View File

@ -1,4 +1,4 @@
#!/bin/bash #!/bin/bash
[ -f $1 ] && rm -f $1 [ -f "$1" ] && rm -f "$1"

Binary file not shown.

View File

@ -4,6 +4,9 @@ Installer :
Installer Scribe1 Installer Scribe1
Ne pas supprimer le persistance-net 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 : Durée de la formation 3 jours :
1 jour : TC1 en démarrant les commandes systèmes 1 jour : TC1 en démarrant les commandes systèmes
2 jour : finir TC1 2 jour : finir TC1

View File

@ -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}<beamer>
\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 dUtilisation 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

View File

@ -93,8 +93,9 @@
\end{columns} \end{columns}
\end{frame} \end{frame}
\include{modules_EOLE_envole/commun/00-intro} \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-nouveaute24}
\include{modules_EOLE_envole/commun/01-nouveaute25}
\include{modules_EOLE_envole/scribe/00-description} \include{modules_EOLE_envole/scribe/00-description}
\include{modules_EOLE_envole/horus/00-description} \include{modules_EOLE_envole/horus/00-description}
@ -111,6 +112,7 @@
\end{frame} \end{frame}
\include{modules_EOLE_envole/commun/02-quatre_phases} \include{modules_EOLE_envole/commun/02-quatre_phases}
\include{modules_EOLE_envole/scribe/00-virtualbox} \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-quatre_phases-pratique}
\include{modules_EOLE_envole/commun/02-instance-reconfigure} \include{modules_EOLE_envole/commun/02-instance-reconfigure}
\include{modules_EOLE_envole/commun/03-mise-a-jour} \include{modules_EOLE_envole/commun/03-mise-a-jour}

View File

@ -1,7 +1,8 @@
\begin{frame} \begin{frame}
\frametitle{Utilisation de VirtualBox} \frametitle{Utilisation de VirtualBox}
\begin{itemize} \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é. \item faire un instantané.
\end{itemize} \end{itemize}
\end{frame} \end{frame}

View File

@ -47,9 +47,9 @@
\setbeamertemplate{background}{\includegraphics[width=128mm]{beamer-skel/img/banner01.png}} \setbeamertemplate{background}{\includegraphics[width=128mm]{beamer-skel/img/banner01.png}}
\title[]{Formation tronc commun 1} \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}} \institute[Cadoles]{\includegraphics[width=2cm]{beamer-skel/img/logo-cadoles-01.png}}
@ -91,8 +91,9 @@
\end{columns} \end{columns}
\end{frame} \end{frame}
\include{modules_EOLE_envole/commun/00-intro} \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-nouveaute24}
\include{modules_EOLE_envole/commun/01-nouveaute25}
\section{Panorama des modules} \section{Panorama des modules}
\begin{frame}{Plan} \begin{frame}{Plan}
\begin{columns}[t] \begin{columns}[t]
@ -124,6 +125,7 @@
\end{frame} \end{frame}
\include{modules_EOLE_envole/commun/02-quatre_phases} \include{modules_EOLE_envole/commun/02-quatre_phases}
\include{modules_EOLE_envole/scribe/00-virtualbox} \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-quatre_phases-pratique}
%\include{modules_EOLE_envole/tronc-commun-1/01-config-texte} %\include{modules_EOLE_envole/tronc-commun-1/01-config-texte}

View File

@ -1,36 +1,37 @@
\begin{frame} %\begin{frame}
\frametitle{Eclair} % \frametitle{Eclair}
\begin{itemize} % \begin{itemize}
\item Eclair, serveur 2.3 de clients légers sous GNU/Linux : % \item Eclair, serveur 2.3 de clients légers sous GNU/Linux :
\begin{itemize} % \begin{itemize}
\item serveur de clients légers ; % \item serveur de clients légers ;
\item compatible partage de fichiers Scribe et Horus ; % \item compatible partage de fichiers Scribe et Horus ;
\item support de Gaspacho. % \item support de Gaspacho.
\end{itemize} % \end{itemize}
\end{itemize} % \end{itemize}
\end{frame} %\end{frame}
\begin{frame} \begin{frame}
\frametitle{Zéphir/Sentinelle} %\frametitle{Zéphir/Sentinelle}
\frametitle{Zéphir}
\begin{itemize} \begin{itemize}
\item Zéphir, gestion du parc des serveurs EOLE : \item Zéphir, gestion du parc des serveurs EOLE :
\begin{itemize} \begin{itemize}
\item déploiement et gestion d'un parc de serveurs, \item déploiement et gestion d'un parc de serveurs,
\item gestion de la configuration des serveurs, \item gestion de la configuration des serveurs,
\item surveillance et lancement d'actions à distance ; \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}
% \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{itemize}
\end{frame} \end{frame}

View File

@ -1,10 +1,11 @@
\begin{frame} \begin{frame}
\frametitle{Pratique} \frametitle{Pratique}
\begin{itemize} \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 ouvrir le firewall et revérifier les règles ;
\item refermer le firewall ; \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{itemize}
\end{frame} \end{frame}

View File

@ -1,6 +1,24 @@
\begin{frame} \begin{frame}
\frametitle{Pratique} \frametitle{Pratique}
\begin{itemize} \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{itemize}
\end{frame} \end{frame}

View File

@ -1,8 +1,8 @@
\begin{frame} \begin{frame}
\frametitle{Onduleur} \frametitle{Onduleur}
\begin{itemize} \begin{itemize}
\item Gestion des onduleurs (NUT) ; \item Gestion des onduleurs ;
\item maître - esclave ; \item utilisation du logiciel libre NUT ;
\item visible dans les agents. \item maître - esclave.
\end{itemize} \end{itemize}
\end{frame} \end{frame}

View File

@ -4,11 +4,11 @@
\item Utilisation d'un serveur LDAP local ou distant ; \item Utilisation d'un serveur LDAP local ou distant ;
\item LDAP local : scripts (/usr/share/zephir/utils) : \item LDAP local : scripts (/usr/share/zephir/utils) :
\begin{itemize} \begin{itemize}
\item add\_user.py ; \item add\_user.py,
\item del\_user.py ; \item del\_user.py,
\item list\_users.py. \item list\_users.py ;
\end{itemize} \end{itemize}
\item Un utilisateur = des affectations. \item un utilisateur = des affectations.
\end{itemize} \end{itemize}
\end{frame} \end{frame}
@ -16,8 +16,8 @@
\frametitle{Modules, établissements et serveurs} \frametitle{Modules, établissements et serveurs}
\begin{itemize} \begin{itemize}
\item Module : distribution spécifique + variantes ; \item Module : distribution spécifique + variantes ;
\item Établissement scolaire : lieu physique ; \item établissement scolaire : lieu physique ;
\item Serveur : un module dans un établissement. \item serveur : un module dans un établissement.
\end{itemize} \end{itemize}
\end{frame} \end{frame}
@ -56,7 +56,7 @@
% \item "Sauver sur Zéphir" ; % \item "Sauver sur Zéphir" ;
% \end{itemize} % \end{itemize}
% \item enregistrement Zéphir ; % \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{itemize}
\end{frame} \end{frame}
@ -72,6 +72,7 @@
\begin{frame} \begin{frame}
\frametitle{Pratique} \frametitle{Pratique}
\begin{itemize} \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{itemize}
\end{frame} \end{frame}

View File

@ -10,58 +10,16 @@
\begin{frame} \begin{frame}
\frametitle{Pratique} \frametitle{Pratique}
\begin{itemize} \begin{itemize}
\item Configurer l'utilisateur "eole" ; \item Créer et configurer l'utilisateur "formation" ;
\item créer une clef SSH : \item créer une clef SSH :
\begin{enumerate} \begin{enumerate}
\item \emph{ssh-keygen -t rsa}, \item \emph{ssh-keygen -t rsa},
\item récupérer le fichier ~/.ssh/id\_rsa.pub. \item récupérer le fichier ~/.ssh/id\_rsa.pub.
\end{enumerate} \end{enumerate}
\item ajouter la clef à l'utilisateur. \item ajouter la clef à l'utilisateur.
\end{itemize} \end{itemize}
\end{frame} \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} \begin{frame}
\frametitle{Groupe de serveurs} \frametitle{Groupe de serveurs}
\begin{itemize} \begin{itemize}
@ -81,3 +39,51 @@
\item autoriser l'utilisateur à se connecter par clef SSH. \item autoriser l'utilisateur à se connecter par clef SSH.
\end{itemize} \end{itemize}
\end{frame} \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}

View File

@ -1,7 +1,8 @@
\begin{frame} \begin{frame}
\frametitle{Activer la connexion ssh} \frametitle{Commande distante via SSH}
\begin{itemize} \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 possibilité d'interdire la connexion sans clef rsa ;
\item choix des adresses autorisées. \item choix des adresses autorisées.
\end{itemize} \end{itemize}
@ -10,10 +11,9 @@
\begin{frame} \begin{frame}
\frametitle{Utiliser ssh depuis GNU/Linux} \frametitle{Utiliser ssh depuis GNU/Linux}
\begin{itemize} \begin{itemize}
\item Protocole de communication sécurisée ; \item Ouvrir une connexion : \commande{ssh utilisateur@ip\_serveur} ;
\item ouvrir une connexion : ssh utilisateur@ip\_serveur ; \item ouvrir une connexion pour commande graphique : \commande{ssh -X utilisateur@ip\_serveur} ;
\item ouvrir une connexion pour commande graphique : ssh -X utilisateur@ip\_serveur ; \item transfert de fichier : \commande{scp fichier.txt utilisateur@ip\_serveur:}.
\item transfert de fichier : scp fichier.txt utilisateur@ip\_serveur:.
\end{itemize} \end{itemize}
\end{frame} \end{frame}
@ -37,10 +37,10 @@
\begin{itemize} \begin{itemize}
\item Si la connexion se coupe, impossible de récupérer la session ; \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 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 pour détacher : \emph{ctrl a d} ;
\item attention déconnexion automatique : \emph{unset TMOUT} ; \item attention déconnexion automatique : \commande{unset TMOUT} ;
\item pour reprendre un screen : \emph{screen -rd}. \item pour reprendre un screen : \commande{screen -rd}.
\end{itemize} \end{itemize}
\end{frame} \end{frame}
@ -50,8 +50,8 @@
\item Activer la connexion juste pour votre IP ; \item Activer la connexion juste pour votre IP ;
\item se connecter sur le serveur en ssh ; \item se connecter sur le serveur en ssh ;
\item copier un fichier ; \item copier un fichier ;
\item lancer gen\_config à travers ssh ; \item lancer \commande{gen\_config} à travers ssh ;
\item utiliser screen. \item utiliser \commande{screen}.
\end{itemize} \end{itemize}
\end{frame} \end{frame}

View File

@ -1,19 +1,31 @@
\section{Migration} \begin{frame}
%\begin{frame}{Plan} \frametitle{Préparation de la variante}
% \begin{columns}[t] \begin{itemize}
% \begin{column}{5cm} \item Il faut créer une variante "équivalente" sur la nouvelle version ;
% \tableofcontents[sections={1-6},currentsection, hideothersubsections] \item pour les modules compatibles entre version, un bouton "Import des données x.x.x" est disponible :
% \end{column} \begin{itemize}
% \begin{column}{5cm} \item dictionnaires locaux copiés,
% \tableofcontents[sections={7-12},currentsection,hideothersubsections] \item variante copiée et déclarée équivalente,
% \end{column} \item valeurs par défaut copiées,
% \end{columns} \item possibilité de relance ultérieur (copie les nouveaux dictionnaires) ;
%\end{frame} \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} \begin{frame}
\frametitle{Migration de la configuration depuis Zéphir} \frametitle{Migration de la configuration depuis Zéphir}
\begin{itemize} \begin{itemize}
\item Préparer à l'avance la configuration des serveurs à migrer ; \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 sur la page d'état d'un serveur : 'générer les données de migration' ;
\item choisir la variante à utiliser ; \item choisir la variante à utiliser ;
\item formulaire de saisie ; \item formulaire de saisie ;
@ -22,18 +34,47 @@
\end{frame} \end{frame}
\begin{frame} \begin{frame}
\frametitle{Migration Horus/Scribe 2.2 vers 2.3 et 2.4} \frametitle{Page de suivi de la migration}
\begin{itemize} \begin{itemize}
\item Pas de migration automatique (problème mise à jour Ubuntu) ; \item Sur la page d'accueil "suivi de la migration" ;
\item outils externes : ftp://eoleng.ac-dijon.fr/pub/Outils/migration/ : migration23.sh ; \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 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 conversion du fichier config.eol ;
\item instance du serveur ; \item instance du serveur ;
\item relancer le script. \item relancer le script.
\end{itemize} \end{itemize}
\end{frame} \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} %%\begin{frame}
%% \frametitle{Pratique : utilisation de VirtualBox} %% \frametitle{Pratique : utilisation de VirtualBox}
%% \begin{itemize} %% \begin{itemize}

View File

@ -145,6 +145,7 @@
%\end{frame} %\end{frame}
%\include{modules_EOLE_envole/tronc-commun-2/04-diagnose} %\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}
%\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/06-montage-conteneur}
%\include{modules_EOLE_envole/tronc-commun-2/07-eole-firewall} %\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/08-schedule}

View File

@ -17,109 +17,190 @@
\begin{frame} \begin{frame}
\frametitle{Pratique} \frametitle{Pratique}
\begin{itemize} \begin{itemize}
\item ClamAV à le paramètre suivant : LogFileMaxSize 2M ; \item Modifié dans le fichier de configuration de proftpd.conf : UseReverseDNS de "off" à "on" ;
\item il faut la valeur 10M. \item créé le patch.
\end{itemize} \end{itemize}
\end{frame} \end{frame}
\begin{frame} \begin{frame}
\frametitle{Ajout de dictionnaires locaux} \frametitle{Dictionnaire Creole}
\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}
\begin{itemize} \begin{itemize}
\item Entête XML : <?xml version="1.0" encoding="utf-8"?> ; \item Un dictionnaire est un fichier XML Creole ;
\item Première balise <creole></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{itemize}
\end{frame} \end{frame}
\begin{frame} \begin{frame}
\frametitle{Syntaxe XML Creole : conteneur} \frametitle{CreoleLint}
\begin{itemize} \begin{itemize}
\item master : <files>, slave <containers><container name='\ldots' id='\ldots' groupe='\ldots'> ; \item Vérifie la syntaxe du dictionnaire : \commande{CreoleLint -d} ;
\item fichier template : <file name="\ldots" \ldots/> : \item test la génération d'un template suivant contrainte : \commande{CreoleLint -t nom\_du\_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 : <service method='service|upstart|apache'>\ldots</service> ;
\item package : <package>\ldots</package>.
\end{itemize} \end{itemize}
\end{frame} \end{frame}
\begin{frame} \begin{frame}
\frametitle{Syntaxe XML Creole : variable} \frametitle{CreoleCat}
\begin{itemize} \begin{itemize}
\item Ensemble de famille et séparateur : <variables></variables> ; \item Templatise un fichier sans faire de reconfigure (objectif de test) ;
\begin{itemize} \item \commande{CreoleCat -t nom\_du\_template}
\item Famille de variables : <family name='' [mode=''] [hidden='']></family> : \item \commande{CreoleCat -t nom\_du\_template -o /tmp/template.tmpl}
\begin{itemize} \item \commande{CreoleCat -s /tmp/nom\_du\_template -o /tmp/template.tmpl}
\item Les variables <variable name='' type='' description='' [multi='True'] [hidden='True']/> :
\item Les variables <variable name='' type='' description='' [multi='True'] [hidden='True']><value> ... </value></variable> :
\end{itemize}
\item Les séparateurs <separator></separator> :
\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}
\end{itemize} \end{itemize}
\end{frame} \end{frame}
\begin{frame} \begin{frame}
\frametitle{Syntaxe XML Creole : contrainte} \frametitle{Dictionnaire Creole : les paquets}
\begin{itemize} \begin{itemize}
\item Le contraintes : <constraints></constraints> : pour tester/remplir/grouper/conditionner des variables ; \item Les paquets fonctionnent sur le maitre ou dans un conteneur ;
\begin{itemize} \item permet d'installer les paquets sans passer par les dépendances de paquet.
\item calcul automatique avec fonction personnalisé : <fill><param></param>...</fill> ;
\item calcul automatique non modifiable <auto></auto> ;
\item choix de réponse <check name='valid\_enum' target='var'><param>...</param></check> ;
\item cacher des variables suivant des contraintes <condition name='hidden\_if\_in|hidden\_if\_not\_in' source='var'>...</condition> :
\begin{itemize}
\item valeur de la variable testé : <param>...</param> ;
\item affecte <target type='family|filelist|servicelist|...'>nom</target> :
\end{itemize}
\item Lien entre variable : <group master='var'>...</group> :
\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 : <slave></slave>.
\end{itemize}
\end{itemize}
\end{itemize} \end{itemize}
\end{frame} \end{frame}
\begin{frame} \begin{frame}
\frametitle{Syntaxe XML Creole : aide} \frametitle{Dictionnaire Creole : les services}
\begin{itemize} \begin{itemize}
\item Afficher de l'aide dans l'interface : <help></help>. \item Services fonctionnent sur le maitre ou dans un conteneur ;
\end{itemize} \item différentes méthodes : service, upstart ou apache.
\end{itemize}
\end{frame} \end{frame}
\begin{frame} \begin{frame}
\frametitle{Pratique} \frametitle{Pratique}
\begin{itemize} \begin{itemize}
\item Installer le paquet ircd-irc2 ; \item Installer le paquet ircd-irc2 ;
\item ajouter un service ; \item ajouter un dictionnaire pour gérer :
\item dans la famille "services" ajouter la variable "activate\_ircd" ayant pour valeur possible "oui" et "non" ; \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. \item tester gen\_config.
\end{itemize} \end{itemize}
\end{frame} \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:<ircd\_domaine>::<ircd\_libelle>:<ircd\_port>: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:<ircd\_banned\_hostname:ircd\_banned\_comment:*:0:
\begin{itemize}
\item variable groupé avec possibilité de ne pas mettre de valeur,
\item nom d'hôte ou domaine banni,
\item proposer un commentaire par défaut.
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Pratique}
\begin{itemize}
\item Faire une condition pour désactiver la famille et le service ;
\item tester gen\_config ;
\item mettre la valeur de ircd\_domaine à localhost.localdomaine.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Dictionnaire Creole : l'aide}
\begin{itemize}
\item Afficher de l'aide dans l'interface : <help></help>.
\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} \begin{frame}
\frametitle{Langague de template Creole} \frametitle{Langague de template Creole}
\begin{itemize} \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 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 : \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} \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} \begin{frame}
\frametitle{Pratique 1} \frametitle{Pratique 1}
\begin{itemize} \begin{itemize}
\item Installer phpldapadmin ; \item Configuration de la "M line : M:<ircd\_domaine>::<ircd\_libelle>:<ircd\_port>:000A" ;
\item créer un dicos pour demander l'activation ou non (variable "activate\_phpldapadmin") ; \item configurer les "K line : K:<ircd\_banned\_hostname:ircd\_banned\_comment:*:0:".
\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
\end{itemize} \end{itemize}
\end{frame} \end{frame}
\begin{frame}
\frametitle{Pratique 2}
\begin{itemize}
\item Ajouter la possibilité d'activer ou non le TLS ;
\item possibilité d'ajouter plusieurs serveurs.
\end{itemize}
\end{frame}

View File

@ -1,3 +1,33 @@
\begin{frame}
\frametitle{Pratique 2}
\begin{itemize}
\item Templatisé le fichier /etc/ircd/ircd.motd ;
\item test l'existance de la variable web\_url et fait un message personnalisé si existe ;
\item créer une variable ircd\_motd\_message avec trois valeurs : "message 1", "message 2" et "personnalisé" ;
\item faire deux messages différents pour "message 1" et "message 2" ;
\item créer une variable ircd\_motd\_personnalise visible si ircd\_motd\_message est "personnalisé" ;
\item valider que ircd\_libelle soit différent de ircd\_motd\_message.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Les fonctions personnalisées}
\begin{itemize}
\item Ajouter une fonction utiliser dans un dictionnaire : /usr/share/creole/funcs/<nom\_fichier>.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} \begin{frame}
\frametitle{Redéfinition} \frametitle{Redéfinition}
\begin{itemize} \begin{itemize}
@ -11,20 +41,18 @@
\end{frame} \end{frame}
\begin{frame} \begin{frame}
\frametitle{Existance d'une variable} \frametitle{Pratique}
\begin{itemize} \begin{itemize}
\item Créé la variable si elle n'existe pas encore avec une valeur par défaut. \item Redéfinir le texte de la variable web\_url ;
\item Exemple : 'activer\_clam' dans 23\_proxy.xml \item passer la variable activer\_clam en mode expert.
\item Attention la variable ne peut pas être créer après.
\end{itemize} \end{itemize}
\end{frame} \end{frame}
\begin{frame} \begin{frame}
\frametitle{Caché multi-condition} \frametitle{Existance d'une variable}
\begin{itemize} \begin{itemize}
\item Créé une variable "test\_xxxx" caché ; \item Créer la variable si elle n'existe pas encore avec une valeur par défaut ;
\item ajouter une "auto" avec calcul "calc\_multi\_condition" ; \item exemple : 'activer\_clam' dans 23\_proxy.xml ;
\item faire une condition "hidden\_if\_in" sur la variable. \item attention la variable ne peut pas être créé après.
\item Exemple : 01\_network.xml
\end{itemize} \end{itemize}
\end{frame} \end{frame}

View File

@ -1,15 +1,13 @@
\begin{frame} \begin{frame}
\frametitle{Personnalisation d'un serveur} \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} \begin{itemize}
\item Liste des fichiers sauvegardés : \item dans la partie "module" du Zéphir, cliquer sur "Dictionnaires personnalisés",
\begin{itemize} \item activer les modules dans la page "voir les fichiers personnalisés" de la page d'état.
\item dictionnaires additionnels, \end{itemize}
\item fichier appartenant aux dictionnaires additionnels, \end{itemize}
\item fichier spécifique (exemple généré par EAD),
\item les patches,
\item les paquets additionnels.
\end{itemize}
\end{itemize}
\end{frame} \end{frame}
\begin{frame} \begin{frame}

View File

@ -3,16 +3,14 @@
\begin{itemize} \begin{itemize}
\item Diagnose sert à tester le service d'un serveur ; \item Diagnose sert à tester le service d'un serveur ;
\item si possible, doit tester le bon fonctionnement de l'application ; \item si possible, doit tester le bon fonctionnement de l'application ;
\item script bash ; \item script bash dans /usr/share/eole/diagnose.
\item script commun : /usr/share/eole/diagnose/eole ;
\item script par service : /usr/share/eole/diagnose/module.
\end{itemize} \end{itemize}
\end{frame} \end{frame}
\begin{frame} \begin{frame}
\frametitle{Fonction diagnose standard} \frametitle{Fonction diagnose standard}
\begin{itemize} \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} \begin{itemize}
\item TestIP2 : test une IP via paquet ICMP ECHO\_REQUEST ; \item TestIP2 : test une IP via paquet ICMP ECHO\_REQUEST ;
\item TestARP : requète ARP (évite les problèmes de firewall) ; \item TestARP : requète ARP (évite les problèmes de firewall) ;
@ -35,6 +33,6 @@
\begin{frame} \begin{frame}
\frametitle{Pratique} \frametitle{Pratique}
\begin{itemize} \begin{itemize}
\item Faire un fichier diagnose pour IRCD \item Faire un fichier diagnose pour IRCD.
\end{itemize} \end{itemize}
\end{frame} \end{frame}

View File

@ -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}

View File

@ -20,23 +20,20 @@
\begin{frame} \begin{frame}
\frametitle{Script instance ou reconfigure} \frametitle{Script instance ou reconfigure}
\begin{itemize} \begin{itemize}
\item emplacement des scripts : \item Emplacement des scripts :
\begin{itemize} \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/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 ; \item /usr/share/eole/postservice/ : après redémarrage des services ;
\end{itemize} \end{itemize}
\item script bash ou python ; \item compatible run-part :
\item premier argument : instance|reconfigure \begin{itemize}
\item doivent toujours retourner le code de sortie "0" sauf si problème. \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{itemize}
\end{frame} \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}

View File

@ -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}

View File

@ -1,7 +1,13 @@
\begin{frame} \begin{frame}
\frametitle{Schedule} \frametitle{Schedule}
\begin{itemize} \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{itemize}
\end{frame} \end{frame}
@ -9,11 +15,9 @@
\frametitle{Schedule} \frametitle{Schedule}
\begin{itemize} \begin{itemize}
\item Script principalement bash ; \item Script principalement bash ;
\item . /usr/share/eole/schedule/config.sh ; \item enregistrer dans /usr/share/eole/schedule/scripts ;
\item DESC="..." ; \item au format "run-part" ;
\item code retour 0 ; \item dictionnaire d'activation dans /usr/share/eole/creole/extra/schedule/.
\item executable ;
\item pas d'extension.
\end{itemize} \end{itemize}
\end{frame} \end{frame}

View File

@ -7,8 +7,7 @@
\item /usr/share/ead2/backend/actions/cmd\_xxx.py : code de la commande ; \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/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/actions/actions\_xxx.cfg : enregistrement de l'action ;
\item /usr/share/ead2/backend/config/perms/perm\_xxx.ini : association de rôle ; \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
\end{itemize} \end{itemize}
\end{frame} \end{frame}

View File

@ -2,7 +2,7 @@
\frametitle{Fichier/répertoire dans la sauvegarde} \frametitle{Fichier/répertoire dans la sauvegarde}
\begin{itemize} \begin{itemize}
\item Prévoir les extractions ; \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{itemize}
\end{frame} \end{frame}

View File

@ -37,16 +37,11 @@
\frametitle{Gestion des services} \frametitle{Gestion des services}
\begin{itemize} \begin{itemize}
\item from pyeole.service import * \item from pyeole.service import *
\item service\_out|service\_code \item manage\_service :
\begin{itemize} \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) \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
\end{itemize} \end{itemize}
\end{itemize} \end{itemize}
\end{frame} \end{frame}
@ -77,29 +72,29 @@
\end{itemize} \end{itemize}
\end{frame} \end{frame}
\begin{frame} %\begin{frame}
\frametitle{Execution de commande} % \frametitle{Execution de commande}
\begin{itemize} % \begin{itemize}
\item from pyeole.process import * % \item from pyeole.process import *
\item is\_installed % \item is\_installed
\begin{itemize} % \begin{itemize}
\item package % \item package
\item container : (défaut root) % \item container : (défaut root)
\item *context : (défaut True) % \item *context : (défaut True)
\end{itemize} % \end{itemize}
\item tcpcheck % \item tcpcheck
\begin{itemize} % \begin{itemize}
\item ip\_address : adresse IP % \item ip\_address : adresse IP
\item port : port a tester % \item port : port a tester
\item timeout : temps d'attente maximum (défaut 1) % \item timeout : temps d'attente maximum (défaut 1)
\end{itemize} % \end{itemize}
\item test\_conteneur : test si un conteneur est démarré % \item test\_conteneur : test si un conteneur est démarré
\begin{itemize} % \begin{itemize}
\item container : nom du conteneur % \item container : nom du conteneur
\item *ip\_address : adresse IP du conteneur (défaut None) % \item *ip\_address : adresse IP du conteneur (défaut None)
\end{itemize} % \end{itemize}
\end{itemize} % \end{itemize}
\end{frame} %\end{frame}
\begin{frame} \begin{frame}
\frametitle{Pratique} \frametitle{Pratique}
@ -109,66 +104,85 @@
\item stdin : a=system\_code('cat', stdin="mot") \item stdin : a=system\_code('cat', stdin="mot")
\item env : a=system\_code('env', env={'mot': 'mot'}) \item env : a=system\_code('env', env={'mot': 'mot'})
\item container : a=system\_code(['ls', '/etc/samba/'], container='fichier') \item container : a=system\_code(['ls', '/etc/samba/'], container='fichier')
\item installé : is\_installed('samba-common') % \item installé : is\_installed('samba-common')
\item non installé : is\_installed('samba') % \item non installé : is\_installed('samba')
\item conteneur : is\_installed('samba', container='fichier') % \item conteneur : is\_installed('samba', container='fichier')
\item test service : tcpcheck('192.0.2.52', '139') \item test service : tcpcheck('192.0.2.52', '139')
\item test\_conteneur('fichier') % \item test\_conteneur('fichier')
\end{itemize} \end{itemize}
\end{frame} \end{frame}
%FIXME
\begin{frame} \begin{frame}
\frametitle{Gestion des locks} \frametitle{Gestion des locks}
\begin{itemize} \begin{itemize}
\item from creole.eolelock import * \item from pyeole.lock import *
\item add\_lock : ajout d'un lock \item acquire : ajout d'un lock
\item del\_lock : supprimer un lock \item release : supprimer un lock
\item check\_lock : vérifier la présence d'un fichier 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} \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} \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{itemize}
\end{frame} \end{frame}
\begin{frame} \begin{frame}
\frametitle{Pratique} \frametitle{Pratique}
\begin{itemize} \begin{itemize}
\item add\_lock('test') \item Afficher la valeur de la variable adresse\_ip\_eth0 ;
\item check\_lock('test') \item afficher la valeur de la variable netmask\_ssh\_eth0.
\item del\_lock('test')
\end{itemize} \end{itemize}
\end{frame} \end{frame}
\begin{frame} %\begin{frame}
\frametitle{Valeur du dictionnaire} % \frametitle{Valeur du dictionnaire conteneur}
\begin{itemize} % \begin{itemize}
\item from creole.parsedico import parse\_dico % \item from creole.eosfunc import *
\item parse\_dico() : chargement des dictionnaires % \item load\_conteneur\_var() : chargement des configurations conteneurs
\end{itemize} % \end{itemize}
\end{frame} %\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}

View File

@ -1,7 +1,8 @@
\begin{frame} \begin{frame}
\frametitle{Écrire en couleur} \frametitle{Écrire en couleur}
\begin{itemize} \begin{itemize}
\item . /usr/share/eole/FonctionsEoleNg %FIXME
\item . /usr/lib/eole/ihm.sh
\item EchoRouge \item EchoRouge
\item EchoVert \item EchoVert
\item EchoOrange \item EchoOrange
@ -15,8 +16,9 @@
\begin{itemize} \begin{itemize}
\item Question\_ouinon \item Question\_ouinon
\item \$1 : contenu de la question de type oui/non \item \$1 : contenu de la question de type oui/non
\item \$2 : valeur par défaut (défaut non) \item \$2 : interactif ou non
\item \$3 : info|warn|err (défaut info) \item \$3 : valeur par défaut (défaut non)
\item \$4 : info|warn|err (défaut info)
\end{itemize} \end{itemize}
\end{frame} \end{frame}
@ -25,7 +27,7 @@
\begin{itemize} \begin{itemize}
\item EchoOrange 'couleur orange' \item EchoOrange 'couleur orange'
\item EchoGras 'le titre' \item EchoGras 'le titre'
\item Question\_ouinon 'voulez vous vraiment faire cette action' \item Question\_ouinon "Voulez vous vraiment faire cette action ?"
\item echo \$? \item echo \$?
\end{itemize} \end{itemize}
\end{frame} \end{frame}
@ -56,7 +58,7 @@
\begin{frame} \begin{frame}
\frametitle{Execution de commande} \frametitle{Execution de commande}
\begin{itemize} \begin{itemize}
\item RunCmd \item CreoleRun
\item \$1 : commande \item \$1 : commande
\item \$2 : conteneur \item \$2 : conteneur
\end{itemize} \end{itemize}
@ -74,7 +76,7 @@
\begin{frame} \begin{frame}
\frametitle{Pratique} \frametitle{Pratique}
\begin{itemize} \begin{itemize}
\item RunCmd "echo mot" fichier \item CreoleRun "echo mot" fichier
\item test service : tcpcheck 2 192.0.2.52:80 \item test service : tcpcheck 2 192.0.2.52:80
\end{itemize} \end{itemize}
\end{frame} \end{frame}
@ -82,49 +84,50 @@
\begin{frame} \begin{frame}
\frametitle{Gestion des locks} \frametitle{Gestion des locks}
\begin{itemize} \begin{itemize}
\item AddLock : ajout d'un lock %FIXME
\item DelLock : suppression d'un lock \item CreoleLock acquire "nom\_du\_lock"
\item CheckAllLocks : vérifie la présence de lock système \item CreoleLock release "nom\_du\_lock"
\begin{itemize} \item CreoleLock is\_locked "nom\_du\_lock"
\item \$1 : nom du lock
\end{itemize}
\end{itemize} \end{itemize}
\end{frame} \end{frame}
\begin{frame} \begin{frame}
\frametitle{Pratique} \frametitle{Pratique}
\begin{itemize} \begin{itemize}
\item AddLock test \item Créé un lock "test" ;
\item DelLock test \item Supprimé le lock "test".
\end{itemize} \end{itemize}
\end{frame} \end{frame}
\begin{frame} \begin{frame}
\frametitle{Valeur du dictionnaire} \frametitle{Valeur d'une variable}
\begin{itemize} \begin{itemize}
\item . ParseDico \item CreoleGet nom\_variable
\item dans l'environnement de l'utilisateur
\end{itemize} \end{itemize}
\end{frame} \end{frame}
\begin{frame} \begin{frame}
\frametitle{Pratique} \frametitle{Pratique}
\begin{itemize} \begin{itemize}
\item echo \$adresse\_ip\_eth0 \item Récupérer la valeur de la variable adresse\_ip\_eth0
\end{itemize} \end{itemize}
\end{frame} \end{frame}
\begin{frame} \begin{frame}
\frametitle{Valeur du dictionnaire conteneur} \frametitle{Modifier la valeur}
\begin{itemize} \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{itemize}
\end{frame} \end{frame}
\begin{frame} \begin{frame}
\frametitle{Pratique} \frametitle{Pratique}
\begin{itemize} \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{itemize}
\end{frame} \end{frame}

View File

@ -2,10 +2,12 @@
\frametitle{Firewall} \frametitle{Firewall}
\begin{itemize} \begin{itemize}
\item Sur tous les modules ; \item Sur tous les modules ;
\item complémentaire à Era si installé ; \item géré soit par Creole soit par Era ;
\item firewall + tcpwrapper ; \item activé par bastion ;
\item géré 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 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. \item pour connaître la liste des règles : iptables-save.
\end{itemize} \end{itemize}
\end{frame} \end{frame}

View File

@ -4,9 +4,12 @@
\item Gestion des tâches planifiées avec ou sans sauvegarde ; \item Gestion des tâches planifiées avec ou sans sauvegarde ;
\item tâche "pre" sauvegarde ; \item tâche "pre" sauvegarde ;
\item tâche "post" sauvegarde ; \item tâche "post" sauvegarde ;
\item s'effectue à l'heure de la mise à jour ; \item tirage au sort à l'instance de :
\item pour lister sur les modules 2.3 : /usr/share/eole/schedule/manage\_schedule ; \begin{itemize}
\item pour lister sur les modules 2.4 : /usr/share/eole/sbin/manage\_schedule -l . \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{itemize}
\end{frame} \end{frame}