Créer un container Nutanix et le monter sur tous les ESXi / REST API

 

Nutanix nous donne la possibilité d’utiliser les API REST afin d’effectuer de nombreuses opérations faisable depuis PRISM.Nous ne pouvons à l’heure actuelle pas encore tout effectuer (Création d’un user local par exemple) mais il y a déjà de nombreuses possibilités.

 

Nous allons présenter ici une manière simple de créer un container et monter les datastores sur les ESXi en REST API. Dans notre exemple, les appels REST sont effectués depuis VCO.

La première étape consiste à récupérer le Storage Pool ID. Pour cela il faut utiliser l’api et faire un Get sur l’url /storage_pools/.

Vous devez récupérer la réponse et parser les données afin de récupérer l’id du storage pool. Dans VCO, ça pourrait ressembler à cela dans une scriptable task :

 

var content = JSON.parse(responseContent);
for each (sp in content.entities) {
if (sp.id != null) {
var spID = sp.id;
}
}

 

Une fois que vous avez l’id du storage pool, vous devez construire la requête de création du container. On va faire simple ici, on va créer un container avec un replication factor de 2 et la compression inline activée:

 

request = ‘{« name »: « ‘+containerName+' », »storagePoolId »: »‘+spID+
‘ », »replicationFactor »: 2, »compressionEnabled »: true, »compressionDelayInSecs »: 0}’;

 

L’étape suivante est de faire un POST sur l’url « /containers/ » avec la request ci-dessus pour créer le container.

Une fois le container créé, il faut le monter sur tous les ESXi.

Pour cela nous allons faire un POST sur l’url « /containers/datastores/add_datastore/ » avec la request ci-dessous :

request = ‘{« datastoreName »: « ‘+containerName+
‘ », »readOnly »: false, »containerName »: « ‘+containerName+' »}’;

 

Une fois ces 3 appels terminés, votre container sera monté sur tous les nodes du clusters.

 

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url=""> 

*