Logo Python

Logo Python

Vous le savez peut-être déjà si vous me suivez sur les réseaux sociaux, je me suis mis en tête de découvrir Python. Comme j’aime bien avoir un objectif quand j’apprends un nouveau langage, j’ai choisi d’intéragir avec des infrastructures VMware vSphere / vSAN (on ne se refait pas !). Qui dit nouveau langage, dit nouvelle façon de travailler. Entre l’installation de Python, des différentes librairies vSphere et vSAN et la configuration d’un éditeur, il y a de quoi faire… je vous propose de détailler les différentes étapes pour disposer d’un environnement de travail fonctionnel pour coder en Python que ce soit sous Windows ou Linux.

Installation de Python

On commence par la base… Vous n’irez pas loin sans l’interpreteur Python. Le mode d’installation varie en fonction des OS. Sous Windows, vous pouvez soit télécharger l’éxecutable et l’installer manuellement, soit utiliser Chocolatey:

C:\> choco install python -y

Sous Linux, il est possible que Python soit déjà installé. Si ce n’est pas le cas, munissez-vous de votre gestionnaire de package préféré. Sous Ubuntu ou Debian, vous pouvez utiliser apt-get:

~$ sudo apt-get install python -y

Il est possible de vérifier que Python est correctement installé en démarrant l’interpréteur en ligne de commande (pour le quitter, il faut entrer la commande exit()).

~$ python
Python 2.7.12 (default, Dec  4 2017, 14:50:18)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>

A partir de maintenant, vous pouvez dores et déjà commencer à coder ! Cependant, si vous souhaitez utiliser les API vSphere et vSAN, il nous reste quelques étapes supplémentaires.

PIP et Pyvmomi sont dans un bateau…

Pour faciliter la vie des développeurs, VMware met à disposition des librairies permettant d’utiliser les API de ses produits. Dans le cadre de Python et vSphere, il est conseillé d’utiliser la librairie Pyvmomi qui vous permettra de manager vos vCenter et ESXi (mais pas vSAN !). Les choses étant parfois bien faites, Python dispose d’un gestionnaire de librairies appelé PIP qui permet de télécharger et d’installer celles qui vous intéressent. Pour les utilisateurs de Windows, PIP est installé par défaut en même temps que Python. Pour les Linuxiens, je vous laisse deviner quoi faire…

 
~$ sudo apt-get install python-pip -y 

On peut ainsi facilement installer Pyvmomi avec la ligne de commande suivante:

 
~$ pip install pyvmomi 

vSAN management SDK pour Python

Vous pensiez en avoir terminé ? Eh bien non… Passons maintenant aux librairies nécessaires pour vSAN. Ici, à ma connaissance, il n’est pas possible d’utiliser PIP. Il va falloir les télécharger manuellement sur le site de VMware, dézipper l’archive, et copier les fichiers vsanmgmtObjects.py et vsanapiutils.py dans un répertoire inclus dans le Path de Python (Répertoire d’installation sous Windows ou /usr/lib/PythonX.X sous Linux) ou bien dans le même répertoire où seront stockés vos scripts.

Visual Studio Code et extensions

Python - Visual Studio Code-min

Pour pouvoir coder dans de bonnes conditions, rien de tel qu’un bon éditeur. Il en existe pour tous les goûts mais personnellement j’utilise Microsoft Visual Studio Code. Il a l’avantage d’être relativement simple à utiliser, de ne pas consommer trop de ressources, d’être Open Source et disponible sur la plupart des OS (Windows bien sur mais aussi Linux et MacOS). Autre point fort, il dispose d’un nombre impressionnant de plugins plus pratiques les uns que les autres dont un dédié à Python !
L’installation est simple, vous trouverez toutes les explications nécessaires sur son site (Indice: exe/deb/choco/apt/yum…) et comble du bonheur, il vous proposera d’installer automatiquement le plugin Python dès que vous ouvrirez un fichier avec l’extension .py.

Executer un script Python

Des scripts sont disponibles sur le site VMware Sample Exchange. Vous pouvez par exemple tester celui-ci. Une fois téléchargé, il vous suffit de l’executer de la manière suivante:

 
~$ python  vsanapicapacity.py -s vCenterServer -u 'vsphere username' -p 'password' --cluster ClusterName

Vous voilà maintenant prêts à écrire vos premières lignes de code ! Si vous ne savez pas par où commencer, Internet regorge de tutoriels pour découvrir Python. VMware propose aussi quelques scripts illustrant comment utiliser les API vSphere et vSAN. En ce qui me concerne, j’ai publié sur GitHub mon premier script nommé vsanmetrics qui permet de collecter des statistiques de performance vSAN. Mais ça, ce sera le sujet d’un prochain article !

Erwan Quelin

Rédigé par

Erwan Quelin

Erwan Quélin est depuis 7 ans Ingénieur Systèmes chez Cheops Technology. Ses interventions sont multiples et auprès de clients très diversifiés dans la région Ouest. Spécialisé dans la virtualisation autour des produits VMware et dans le stockage autour des gammes VNX, Unity et VPLEX de Dell EMC, Erwan est certifié VMware Certified Professional – Datacenter virtualization 4, 5 et 6 ainsi que EMC Implementation Engineer – VNX et Unity et vient d’intégrer les programmes VMware vExpert et Dell EMC Elect pour l’année 2017.

Lorsqu’il lui reste un peu de temps libre, Erwan développe des projets open sources ayant pour sujet principal l’automatisation d’infrastructures.