RVC : Ruby vSphere Console part 1

Il y a quelques jours Rich LANE de VMwware publiait sur le site communautaire VMware Communities une annonce concernant une Console vSphere en Ruby. Les sources du projet sont disponibles sur GitHub. Je ne résiste pas à l’occasion de faire le tour du propriétaire en votre compagnie.

Dans un premier temps l’installation😉
 Je suis actuellement sous Ubuntu 11.04 et j’utilise RVM pour tout ce qui est relatif à Ruby. Pour mémoire RVM permet d’utiliser plusieurs versions de Ruby (Ruby 1.8.7, Ruby 1.9.2, JRuby ….) mais aussi de créer des Gemsets ou des paquets de Gems pour se faciliter la vie, éviter les collisations entre Gems et organiser son travail. RVM c’est du bonheur🙂

Pour test RVC j’ai utilisé  Ruby 1.9.2 et j’ai créé un gemset spécifique appelé « vmware ».

:~$ ruby -v
ruby 1.9.2p180 (2011-02-18 revision 30909) [i686-linux]
~$ rvm gemset create vmware
'vmware' gemset created (/home/yguilloux/.rvm/gems/ruby-1.9.2-p180@vmware).
~$ rvm gemset list

gemsets for ruby-1.9.2-p180 (found in /home/yguilloux/.rvm/gems/ruby-1.9.2-p180)
global
nagios
=> vmware

L’installation de RVC est simplissime

~$ gem install rvc
~$ gem list

*** LOCAL GEMS ***

backports (2.1.0)
builder (3.0.0)
ffi (1.0.7)
highline (1.6.1)
nokogiri (1.4.4)
rake (0.8.7)
rbvmomi (1.2.3)
rvc (1.3.6)
trollop (1.16.2)
zip (2.0.2)

On remarquera que l’installation de RVC provoque l’installation de tout un tas de dépendances. La plus importante est rbvmomi. Rbvmomi est la bibliothèque Ruby qui attaque l’API vSphere. Avec rbvmomi on peut éteindre un VM en Ruby de façon programmative. Toutes les opérations possibles avec l’API Java le sont alors en Ruby via Rbvmomi. Mais cela est une autre histoire …

Connectons-nous à un vCenter via RVC

rvc "DOMAINE\administrateur"@adresse_ip_vcenter
SSL certificate verification failed. Connect anyway (y/n)? y
password:
0 CRPF-DC (datacenter)
/adresse_ip_vcenter>

La syntaxe de la commande ressemble à celle de SSH. On protège le backsplash de la syntaxe classique « DOMAINE\UTILISATEUR » avec des guillemets. Après une vérif SSL et un échec (Il faut que je m’occupe de ces certificats😉 on arrive sur le pseudo-système de fichier que propose RVC. En effet tous les objets vSphere sont présentés comme les fichiers/dossiers d’un pseudo système de fichier. Ainsi on a :

/adresse_ip_vcenter> cd CRPF-DC/
/adresse_ip_vcenter/CRPF-DC> ls
0 host/
1 network/
2 datastore/
3 vm/
/adresse_ip_vcenter/CRPF-DC> cd vm
/adresse_ip_vcenter/CRPF-DC/vm> ls
0 VCENTER: poweredOn
1 vFS: poweredOff
2 GST-AUTOCOM.COS: poweredOff
3 vCITRIX: poweredOn
4 vACTIVE DIRECTORY: poweredOn
5 EON: poweredOn
6 VGLPI: poweredOn
7 vEXCHANGE: poweredOn
/adresse_ip_vcenter/CRPF-DC/vm>

On navigue dans l’arborescence via les classiques « ls » et « cd ». Les pilliers de vSphere sont présents, le datacenter, les hôtes ESX/ESXi via le répertoire hosts, les réseaux et les vSwitchs via le répertoire network, les datastore et les VMs évidemment !
Dans le prochain billet je détaillerais tout ce qu’offre RVC en termes d’opérations sur les VMs. Toutefois un petit bonus pour la fin : une connexion VNC vers une VM .
Rien de bien compliqué.

/adresse_ip_vcenter/CRPF-DC/vm> vnc.view vCITRIX
VNC already enabled
spawning /usr/bin/vinagre
/adresse_ip_vcenter/0:5921 password: 8SWNOjzE
/adresse_ip_vcenter/CRPF-DC/vm

Un simple vnc.view suivis du nom de la vm suffit. Mon client VNC est vinagre sous UBUNTU . RVC le lance pour moi puis me propose le mot de passe de connexion.

RVC & VNC


Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

%d blogueurs aiment cette page :