180 lines
4.6 KiB
TeX
180 lines
4.6 KiB
TeX
\section{API EOLE python}
|
|
\begin{frame}{Plan}
|
|
\small \tableofcontents[currentsection, hideothersubsections]
|
|
\end{frame}
|
|
|
|
\begin{frame}
|
|
\frametitle{Ecrire en couleur}
|
|
\begin{itemize}
|
|
\item pyeole.ansiprint
|
|
\item print\_red
|
|
\item print\_green
|
|
\item print\_orange
|
|
\item ...
|
|
\item print\_title
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
\begin{frame}
|
|
\frametitle{Question}
|
|
\begin{itemize}
|
|
\item pyeole.ihm
|
|
\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 pyeole.service
|
|
\item service\_out|service\_code
|
|
\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
|
|
\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 pyeole.process
|
|
\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 pyeole.process
|
|
\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}
|
|
|
|
\begin{frame}
|
|
\frametitle{Gestion des locks}
|
|
\begin{itemize}
|
|
\item creole.eolelock
|
|
\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
|
|
\begin{itemize}
|
|
\item lock\_name : nom du fichier lock
|
|
\end{itemize}
|
|
\item check\_all\_locks : vérifier la présence des locks systèmes
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
\begin{frame}
|
|
\frametitle{Pratique}
|
|
\begin{itemize}
|
|
\item add\_lock('test')
|
|
\item check\_lock('test')
|
|
\item del\_lock('test')
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
\begin{frame}
|
|
\frametitle{Valeur du dictionnaire}
|
|
\begin{itemize}
|
|
\item creole.parsedico
|
|
\item parse\_dico() : chargement des dictionnaires
|
|
\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 creole.eosfunc
|
|
\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}
|
|
|