\begin{frame} \frametitle{Écrire en couleur} \begin{itemize} \item from pyeole.ansiprint import * \item print\_red \item print\_green \item print\_orange \item ... \item print\_title \end{itemize} \end{frame} \begin{frame} \frametitle{Question} \begin{itemize} \item from pyeole.ihm import question\_ouinon \item question\_ouinon \begin{itemize} \item question : contenu de la question de type oui/non \item default : valeur par défaut (défaut non) \item level : info|warn|err (défaut info) \item return oui ou non \end{itemize} \end{itemize} \end{frame} \begin{frame} \frametitle{Pratique} \begin{itemize} \item print\_orange('couleur orange') \item print\_title('le titre') \item a=question\_ouinon('voulez vous vraiment faire cette action') \end{itemize} \end{frame} \begin{frame} \frametitle{Gestion des services} \begin{itemize} \item from pyeole.service import * \item manage\_service : \begin{itemize} \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} \begin{frame} \frametitle{Pratique} \begin{itemize} \item a=service\_out('ntp', 'stop') \item a=service\_code('smbd', 'stop', 'fichier') \item a=service\_code\_no\_container('apache2', 'restart') \end{itemize} \end{frame} \begin{frame} \frametitle{Execution de commande} \begin{itemize} \item from pyeole.process import * \item system\_code : exécution de commande, stdout et stderr dans la console \item system\_out : rien dans la console \begin{itemize} \item cmd : commande (list) ; \item stdin : valeur de STDIN ; \item container : nom du conteneur (root par défaut) ; \item env : variable d'environnement ; \item *context : ssh ou chroot (True par défaut) ; \item *pty : créé un pseudo terminal (False par défaut). \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} \begin{itemize} \item a=system\_code(['echo', 'mot']) \item a=system\_out(['echo', 'mot']) \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 test service : tcpcheck('192.0.2.52', '139') % \item test\_conteneur('fichier') \end{itemize} \end{frame} %FIXME \begin{frame} \frametitle{Gestion des locks} \begin{itemize} \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 from creole.client import CreoleClient \item client = CreoleClient() \item client.get\_creole(variable) \end{itemize} \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 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 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}