Ovh mcloud soap api. Utilitaire ligne de commande.
Voici mon utilitaire pour dialoguer avec les API Soap du mini cloud.
Mais ca sert à quoi ?
- Ca permet d’interagir afin de démarrer les instances via la ligne de commande, plutôt que via le manager.
- on peut facilement avoir les infos sur l’instance, son IP
- L’utilitaire est facilement interfaçable dans les scripts.
Installation
>apt-get install libsoap-lite-perl
Et accepter toutes les dépendances.
Il suffit après de copier le fichier ovh.pm et ovh.pl dans n’importe quel répertoire.
>wget http://svn.gallot.be/blog/ovh-cloud-api/ovh.pm >wget http://svn.gallot.be/blog/ovh-cloud-api/ovh.pl >chmod a+x ovh.pl
Une petite vérification des fichiers n’est pas superflue.
>md5sum ovh.pl ovh.pm 62bdf222e4bffc594afd694615072619 ovh.pl 243f87546259223f7490f8b40870e548 ovh.pm
Utilisation
Lister les projets
>ovh.pl –u username –p password –a listservice
Lister les vms du projet ‘AppScale’
ovj.pl –u username –p password –a listvm –s AppScale
Démarrer une vm
ovj.pl –u username –p password –a startvm –m vm-01
Arrêter une vm
ovj.pl –u username –p password –a stopvm –m vm-01
Rebooter une vm
ovj.pl –u username –p password –a rebootvm –m vm-01
Voici quelques exemples d’utilisation
Shutdown amélioré.
http://svn.gallot.be/blog/ovh-cloud-api/shutdown.sh
Ce script, détecte l’ip de l’hôte. Recherche le nom de la vm dans le cloud et arrête la vm ! Il faut bien entendu mettre les bons paramètres pour username et password.
#!/bin/sh USERNAME=$1 PASSWORD=$2 MYIP=`ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}'` VMNAME=`./ovh.pl -u $USERNAME -p $PASSWORD -q -a listvm | grep $MYIP | awk '{ print $1}'` ./ovh.pl -u $USERNAME -p $PASSWORD -a stopvm -m $VMNAME
Démarrer tous les vm d’un projet
http://svn.gallot.be/blog/ovh-cloud-api/startall.sh
#!/bin/sh USERNAME=$1 PASSWORD=$2 PROJECT=$3 ./ovh.pl -u $USERNAME -p $PASSWORD -q -a listvm –s $PROJECT | grep stopped | awk '{ print $1}' | while read vm ; do echo Starting $vm ./ovh.pl -u $USERNAME -p $PASSWORD -a startvm -m $vm done
Arrêter tous les vm d’un projet
http://svn.gallot.be/blog/ovh-cloud-api/stopall.sh
#!/bin/sh USERNAME=$1 PASSWORD=$2 PROJECT=$3 ./ovh.pl -u $USERNAME -p $PASSWORD -q -a listvm –s $PROJECT | grep running | awk '{ print $1}' | while read vm ; do echo Stopping $vm ./ovh.pl -u $USERNAME -p $PASSWORD -a stopvm -m $vm done
9 Responses to “Ovh mcloud soap api. Utilitaire ligne de commande.”