vRA 8.8.2 „Failed to validate” hiba vCenter tanúsítvány cserét követően

Egy lejárt vCenter tanúsítványt követően az ahhoz kapcsolódó egyéb megoldásokkal a megújított tanúsítványt el kell fogadtatni. ez általában kimerül abban, hogy a kapcsolatot biztosító felhasználónak a jelszavát ismét megadjuk majd bejelentkezünk vele, ekkor a vCenter elküldi az új tanusítványt amit elfogadunk. De a vRealize Automation-ban lévő hiba miatt ez nem is olyan egyszerű. Történt ugyasnis, hogy a leírtakat követően a vRA „Failed to validate” hibát írt ki.

Megoldás

A hiba felderítése és a bejegyzés megírásakor még nem volt patch ami ezt javította volna így a következő lépések végrehajtására van szükség.

Bearer token megszerzése

Ehhez lépj be a vRA – Cloud Assembly felületre majd Infrastructure > Connections > Cloud Account oldalra. Itt kattints jobb egérgombbal, böngészőtől függően válaszd a Vizsgálat lehetőséget majd kattints a Hálózat fülre és ha a böngésző igényli akkor frissítsd az oldalt. A felugró listából keresd meg access-t majd a jobb oldali mezőben az Authorization-t és mentsd le a Bearer után következő részt. Ha van lehetőséged Raw nézetre átváltani akkor tedd meg és onnan másold ki a token-t, mert pl Firefox esetében a karakterkódolás miatt nem fog működni a bejelentkezés API-on keresztül.

vCenter Cloud Account ID kiderítése

Ezt a legegyszerűbben úgy tudod kideríteni, hogy ha már amúgy is bent vagy a vRA – Cloud Asembly felület, Cloud Accounts oldalán, akkor kiválasztod az érintett vCenter-t. A böngésző keresősávjában ekkor megjelenik a cloud Account ID:

A másik lehetőséged, hogy -mivel a továbbiakban majd amúgy is szükséged lesz a Postman-ra- API hívást indítasz. Ehhez indítsd el a Postman-t és állítsd be a következők szerint:

  • Authorization: Válaszd a Bearer Token lehetőséget és a másold be a korábban megszerzett token-t
  • Headers: add hozzá az „api_version” Key-t a „2021-07-15” Value-val

Ezt követően válaszd a GET lehetőséget és URL-nek írd be a https://vRA-FQDN/iaas/api/cloud-accounts/, értelemszerűen a vRA-FQDN legyen a te vRA VIP vagy Node címed. Ha minden rendben ment, akkor „Status: 200 OK” üzent mellett megjelenik a lekérdezés eredménye is. Ha az érintett vCenter-hez navigálsz, akkor kimásolhatod a cloudAccountId-t. Az itt lementett és az előzőkben tárgyalt megoldás eredményének megegyezőnek kell lennie:

vCenter PEM tanúsítvány kiderítése

Ehhez lépj be a vRA Node-ra root felhasználóval és futtasd a következő parancsot, értelemszerűen itt is cseréld ki a vCenter_FQDN-t a megfelelőre:

openssl s_client -connect vCenter_FQDN:443 2> /dev/null | openssl x509 | awk 'NF {sub(/\r/, "");  printf "%s\\n",$0;}'

A visszaadott teljes kimenetet, beleértve a „—–BEGIN CERTIFICATE—–” és „—–END CERTIFICATE—–” részeket is mentsd el mert a továbbiakban erre is szükséged lesz.

Hibajavítás Postman segítségével

A következő, korábban összegyűjtött dolgokra lesz szükség:

  • Bearer token – ha sok időt vett igénybe idáig eljutni, akkor szerezd be újra a token-t, hátha inaktivitás miatt lejárt
  • vCenter Cloud Account ID
  • vCenter PEM tanúsítvány
  • vCenter IP címe vagy FQDN – ahogy a Cloud Accounts oldalon fel lett véve

Most állítsuk össze a PATCH híváshoz tartozó body-t. Ehhez ne használj Notepad-ot, hanem olyan eszközt, ami alkalmas kódszerkesztésre, mint pl a Notepad++, PSPad, Visual Studio Code:

{
        "customProperties" : {
            "certificate": "PEM tanúsítvány"
        },
        "endpointProperties": {
        "hostName": "vCenter IP vagy FQDN",
        "certificate": "PEM tanúsítvány"
    }
}

Ha ez megvan irány a Postman. Válaszd ki a PATCH lehetőséget, írd be URL-nek, hogy https://vRA-FQDN/provisioning/uerp/resources/endpoints/Cloud Account ID amiben cseréld le a vRA-FQDN és Cloud Account ID értékeket a megfelelőre és változás esetén cseréld ki a Bearer token-t is. Továbbá ellenőrizd, hogy a Headers felületen az „api_version” értéke az 2021-07-15 illetve, hogy a „Content-Type” látható-e és ha igen, akkor az application/json értékkel szerepel-e. Ha bármelyik hiányzik vagy más érték van beállítva hozzá, akkor javítsd. ezt követően hasonlót kell látnod:

A Send gombra kattintva a Postman elküldi a kérést a vRA részére és ha ez sikeres volt, akkor „Status: 200 OK” fog megjelenni:

Ezt követően ha vRA-ban belépsz a Cloud Accounts felületen az érintett vCenter-be, akkor a hibaüzenetnek nem szabad megjelennie és ha megadod a felhasználónév/jelszó párost, majd a Validate gombra kattintasz, a Save is aktívvá változik és a szinkronizációk is rendre elindulnak.