vRealize Automation : Error Request in Progress State vRA 6.x
vRealize Automation : Error Request in Progress State vRA 6.x
Après avoir manipulé un blueprint, nous nous sommes retrouvés avec une Request bloquée en Status : In Progress
Nous avons attendu quelque temps pour voir si la request allait tombé en Failed, même pas, celle-ci est restée bloquée en In Progress.
IMPORTANT : Les manipulations qui suivent ont été réalisées sur un environnement de test. Nous vous conseillons fortement en cas de problèmes similaires de voir directement avec le support VMware notamment si celui-ci impacte votre Production.
Notez le numéro de la Request : 80, qui va nous servir un peu plus loin dans l’article.
Du côté des logs IaaS, on voit que la request est restée bloquée au State CustomizeOS
Pour supprimer une request bloquée, il est nécessaire de manipuler la Postgres Database de vRA.
On se connecte sur notre appliance, et on se rend dans le dossier suivant :
cd /opt/vmware/vpostgres/9.2/bin
Nous allons utilisé le binaire psql pour nous connecter à la base vcac.
./psql -U vcac -d vcac
Une fois connecté à la base, nous tappons \dt, afin de voir les tables que nous allons devoir manipuler.
Pour ce cas, 3 tables vont nous intéresser.
cat_request
cat_requestevent
cat_requestevent_details
En effet, ces 3 tables sont liées.
Pour toutes modifications, ajout/suppression, ces 3 tables doivent être renseignées.
1 – Table cat_request
Cette table va nous servir à récupérer l‘ID de notre Request bloquée.
select id,requestnumber,state,datesubmitted FROM cat_request where requestnumber = ’80’ ;
Cette commande nous sort l’ID de notre request 80 (Vous vous rappelez du numéro de Request 80 en début d’article ?)
On voit bien que la Request est dans le State IN_PROGRESS
Notez l’ID de la Request : ee14cdd0-9fe9-4a28-818e-bfdcae489f24
2 – Table cat_requestevent_details
Une fois l’ID de la request 80 récupéré, nous allons supprimer l’ID de son requestevent dans la table cat_requestevent_details
delete from cat_requestevent_details where requestevent_id in (select id from cat_requestevent where request_id = ‘ee14cdd0-9fe9-4a28-818e-bfdcae489f24’) ;
Cette commande supprime le requestevent_ID de la request 80 dans la table cat_requestevent_details.
Comme on peut le voir, la table cat_requestevent_details est directement liée avec la table cat_requestevent qui est elle-même liée avec la table cat_request.
C’est pourquoi il est nécessaire en cas de suppression de d’abord manipuler la table cat_requestevent_details. Si nous avions supprimé l’ID de la table cat_request en premier, il aurait été impossible de supprimer l’entrée correspondante dans la table cat_requestevent_details car l’ID serait introuvable.
3 – Table cat_requestevent
Une fois l’entrée dans la table cat_requestevent_details supprimée, nous allons supprimer l’entrée dans la table cat_requestevent.
delete from cat request_requestevent where request_id = ‘ee14cdd0-9fe9-4a28-818e-bfdcae489f24’ ;
Cette commande supprimer le requestevent de la request ID 80.
4 – Table cat_request
Nous terminons par supprimé l’ID de la request 80 dans la table cat_request.
delete from cat_request where id = ‘ee14cdd0-9fe9-4a28-818e-bfdcae489f24’ ;
Et voilà 🙂
Voici le récapitulatif de toutes les commandes sur un seul screen.
Rafraîchissez l’interface vRA, la Request 80 a disparue :).