VMware : Request a vRA Blueprint from Jenkins

VMware : Request a vRA Blueprint depuis Jenkins


Dans cet article nous allons voir comment consommer un blueprint vRA depuis Jenkins. vRA, Jenkins ainsi que le plugin vRA pour Jenkins sont nécessaires.


Création d’un Blueprint DEV-CentOS sur vRA

On ajoute une machine de type vSphere au canvas

Notez bien l’ID donnez à la machine vSphere – ID: DEVCENTOS
Cette ID sera nécessaire pour Jenkins

On configure les min/max ressources que peut demander le user

On insère une Custom Property Hostname
Cette custom property permet à l’utilisateur de renseigner le nom qu’il souhaite donner à sa future VM. 


Le service est disponible sur le catalogue (Je vous passe les étapes de publication/entitlement du service).
Une fois le service disponible, on passe sur Jenkins.


Configuration Jenkins

Création d’un projet: vRA Project

 

Configurer le vRA Project

En cliquant sur configure (au niveau du projet jenkins), on trouve tout un tas d’options pour configurer le build Jenkins.
Avec le Plugin vRA pour Jenkins, vous devriez avoir une rubrique nomée: vRealize Automation Deployment. C’est celle-ci qu’on va configurée.

Renseigner les informations relatives à votre environnement

Note: Au niveau du champ Blueprint, on a renseigné $Template, c’est une variable qui sera passé à travers le build Jenkins.

Ce champ est le plus important.
Les paramètres JSON (de type Javascript) seront envoyés depuis Jenkins vers vRA.

 

 

 

{“key”:”provider-DEVCENTOS”, “value”:{“type”:”complex”, “values”:{“entries” :[ {“key”:”memory”, “value”:{“type”:”integer”, “value”:”$Memory”}}, {“key”:”Hostname”, “value”:{“type”:”string”, “value”:”$HOSTNAME”}}, {“key”:”cpu”, “value”:{“type”:”integer”, “value”:”$CPU”}}]}}}

Qu’est-ce qu’on trouve ici ?

  • “key”:”provider-DEVCENTOS” (vous vous rappelez l’ID de notre Blueprint CentOS ?)
  • $CPU
  • $Memory
  • $Hostname Les variables $CPU, $Memory, $Hostname, seront renseignées lors de la request via le build Jenkins. L’utilisateur devra donc indiquer le nombre de CPU, la quantité de RAM ainsi que le nom de la VM souhaitée. Vous comprenez donc qu’on aurait pu rajouter l’adresse IP, le mot de passe souhaité, etc .


Définitions des Paramètres Jenkins

Comme pour le plugin vRA, on peut ajouter des Paramètres au build Jenkins. Ces paramètres ou variables seront présentés à l’utilsateur.
C’est exactement ce dont on a besoin.

Hostname = l’utilisateur devra renseigner le nom de sa VM


CPU = l’utilisateur aura le choix entre 1 – 4 CPU


Memory = l’utilisateur aura le choix entre 2, 4 ou 8 GB de RAM.


Template = variable fixe ici car un seul choix. Mais vous l’avez compris, on peut mettre plusieurs choix, qui derrières aboutiront sur différents blueprint sur vRA

 

Lancement du Build Jenkins

Voilà, l’utilisateur doit renseigner le Hostname, le CPU, la RAM et le Template voulu.

Voici les paramètres passés.

Le build lancé le 25/01/2018 à 18h37 sur Jenkins est en cours de construction

 

Voici la Sortie console du build Jenkins. 
On voit bien que les paramètres renseignés au moment du build (jenkins-vm, CPU=2, Memory=4096) ont été passés au Parameter JSON avant d’être envoyés vers vRA.

 

Aperçu de la request sur vRA

On voit bien que la request a été envoyée le 25/01/2018 à 18h37. La request est bien sur le Blueprint Dev-Centos, 2 CPU et 4096 MB de RAM.

 

Le Blueprint est déployé sur le vCenter le 25/01/2018 à 18h39. La VM est bien renommée en jenkins-vm


Le build Jenkins est terminé: SUCCESS
Le build à duré 5 min

Leave a Reply

Your email address will not be published. Required fields are marked *