Une des tâches les plus énervante est la production des rapports. N+1 m'a demandé un certains nombres d'états sur les machines virtuelles, à fournir après une certaines périodes; la galère; solution --> scripter.
VMware vSphere fournit un grand nombre de webservices, permettant d'interagir avec sa plateforme de virtualisation; malheureusement pas très comestible. Il fournit donc un SDK plus digest, mais pour les amoureux de Java.
PySphere est un module python; projet opensource permettant de jouer avec les webservices vSphere et très facile d'utilisation. Il permet de :
- d'interroger et se connecter sur les hôtes VMWare's ESX, ESXi, Virtual Center, VMs
- d'effectuer les actions: d'alimentation (Activer, arrêt, ...), rétablir un instantané, cloner, migrer, mettre à jour les outils vmwares, obtenir les propriétés, envoyer un signal (start/stop/list) aux processus, et les statistiques d'une VM.
Installation: (test sur centos6)
#pip install -U pysphereou
#wget https://pysphere.googlecode.com/files/pysphere-0.1.8.zip
#unzip pysphere-0.1.8.zip
#python setup.py install
Utilisation:
Petit exemple sur l'affichage de la liste des VMs d'une infrastructure, avec quelques propriétés; nom de la vm, adresse ip, mémoire en ko, nombre cpu, OS de la vm.
>>> from pysphere import *
>>> server = VIServer()
>>> server.connect("vcenter.intra.local","test","motDePasse")
>>> vms = server.get_registered_vms()
>>> for vm in vms:
... vmi = server.get_vm_by_path(vm)
... print vmi.get_property("name")
... print vmi.get_property("ip_address")
... print vmi.get_property("memory_mb")
... print vmi.get_property("num_cpu")
... print vmi.get_property("guest_full_name")
>>> server = VIServer()
>>> server.connect("vcenter.intra.local","test","motDePasse")
>>> vms = server.get_registered_vms()
>>> for vm in vms:
... vmi = server.get_vm_by_path(vm)
... print vmi.get_property("name")
... print vmi.get_property("ip_address")
... print vmi.get_property("memory_mb")
... print vmi.get_property("num_cpu")
... print vmi.get_property("guest_full_name")
Aucun commentaire :
Enregistrer un commentaire