VCSIM, un simulateur basé sur les APIs VMware vSphere (vCenter et ESXi) …

Image for post
Image for post

VCSIM fait partie plus globalement de Gvmomi, une bibliothèque en Go pour interagir avec les APIs VMware vSphere (ESXi et/ou vCenter). Il permet d’implémenter un terminal vSphere Web Services (SOAP) SDK destiné à tester les consommateurs de l’API. Bien que le framework soit écrit dans le langage Go, il peut être utilisé par n’importe quel langage qui peut parler à l’API vSphere :

*Go library for the VMware vSphere API. Contribute to vmware/govmomi development by creating an account on GitHub.*github.com

Pour ce test, je commence par lancer une petite instance Ubuntu 18.04 64 bits dans Outscale :

Image for post
Image for post

et j’y installe le moteur Docker :

Image for post
Image for post
Image for post
Image for post

Je vais utiliser ce Dockerfile pour construire mon image de ce simulateur :

Image for post
Image for post

Je lance le BUILD et je lance un PUSH vers le Docker Hub de cette image :

Image for post
Image for post
Image for post
Image for post

Je peux tester la réponse de VCSIM simplement avec cURL localement :

Image for post
Image for post
Image for post
Image for post

Je peux récupérer le binaire Govc depuis github pour intéragir avec ce simulateur :

*Go library for the VMware vSphere API. Contribute to vmware/govmomi development by creating an account on GitHub.*github.com

Image for post
Image for post

ou via l’installation locale de Go :

Image for post
Image for post

Je télécharge ici le binaire depuis Github :

Image for post
Image for post

et je vérifie l’execution du binaire localement dans mon instance outscale vers l’API du simulateur en exécution dans le container Docker :

Image for post
Image for post

Je peux lancer une série de test avec ces commandes (liste des datastores ou des tâches en exécution dans ce simulateur d’un cluster vSphere) :

Image for post
Image for post

ou par le test de création d’une image dans un datastore :

Image for post
Image for post

ou la création d’un disque de 10 Go :

Image for post
Image for post

On peut utiliser aussi Pyvmomi (SDK Python pour l’API VMware vSphere qui permet de gérer ESX, ESXi et vCenter) :

*VMware vSphere API Python Bindings. Contribute to vmware/pyvmomi development by creating an account on GitHub.*github.com

Installation dans l’instance Outscale de Pyvmomi :

Image for post
Image for post

avec ce test en Python pour récupérer toutes les VMs du cluster :

Image for post
Image for post
Image for post
Image for post
Image for post
Image for post

ou cet autre test pour récupérer l’inventaire de l’ensemble des clusters dans ce simulateur :

Image for post
Image for post
Image for post
Image for post

Avec d’autres exemples dans ce dépôt sur Github :

vmware/pyvmomi-community-samples *A place for community contributed samples for the pyVmomi library. — vmware/pyvmomi-community-samples*github.com

Sachant que tout cela consomme à peine 216 Mo de RAM 😉

Image for post
Image for post

Avec Govmomi, en plus du client API vSphere, ce référentiel comprend :

  • govc — — vSphere CLI
  • vcsim — — vSphere API mock framework
  • toolbox — — VM guest tools framework

Bien évidemment, ceci peut être testé de manière traditionnelle via PowerCLI :

Testing vCenter Simulator in Docker Playground — vCloud Vision *On the 31st of december I read a very nice post over at brianbunke.com on running a simulated vCenter with govcsim…*vcloudvision.com vCenter Simulator Docker Container *And You Will Know Me by the Trail of Documentation*www.brianbunke.com

À suivre ! …

Image for post
Image for post

Originally published at https://dev.to on March 19, 2020.

Above the clouds, the sky is always blue ...

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store