martedì 12 marzo 2019

Update Manager (Remediate) - Cannot execute upgrade script on host


Problema
Il processo di aggiornamento della "Remediate" si blocca all'88% con il seguente messaggio di errore:

"Cannot execute upgrade script on host"






Soluzione
Verifichiamo i log dell'update manager relativi all'host ESXi che si sta aggiornando su vCenter in "/var/log/vmware/vmware-updatemgr/vum-server/hostUpgrade/" nel seguente modo ...

(1) root@mgmt-vc01 [ /var/log/vmware/vmware-updatemgr/vum-server/hostUpgrade ]# cat vua-esx24.<FQDN>-index

nel mio caso come output ho il valore 7(2), che sta ad indicare che il log attivo dove sono presenti le informazioni è il 7(2). Quindi ...

(3) root@mgmt-vc01 [ /var/log/vmware/vmware-updatemgr/vum-server/hostUpgrade ]# cat vua-esx24.<FQDN>-7.log

-->         <value>True</value>
-->       </expected>
-->       <found>
-->         <value>True</value>
-->       </found>
-->       <result>SUCCESS</result>
-->     </test>
-->
-->  </tests>
--> </precheck>
-->
--> </result><err> Failed to load locker vib database: ('/locker/packages/var/db/locker', 'Error reading Vib xml from database /locker/packages/var/db/locker: VibCollection directory /locker/packages/var/db/locker/vibs does not exist.')
--> </err></output>
2019-01-23T11:01:15.896Z info vua[18046080] [Originator@6876 sub=VUA] Function call finished
2019-01-23T11:01:15.896Z info vua[18046080] [Originator@6876 sub=VUA] Sending response: <output><exitCode>0</exitCode><r ...
2019-01-23T11:01:15.899Z info vua[18046088] [Originator@6876 sub=VUA] Handling post request
2019-01-23T11:01:15.900Z info vua[18046088] [Originator@6876 sub=VUA] Received call for function getlog
2019-01-23T11:01:15.900Z info vua[18046088] [Originator@6876 sub=VUA] Invoking: "/bin/cp -f /var/log/vua.log /var/log/vua.log.cpy"
2019-01-23T11:01:15.900Z info vua[18046088] [Originator@6876 sub=SysCommandPosix] ForkExec(/bin/cp) 18046132
root@mgmt-vc01 [ /var/log/vmware/vmware-updatemgr/vum-server/hostUpgrade ]#

Ricercando il messaggio di errore su Google :
Failed to load locker vib database: ('/locker/packages/var/db/locker', 'Error reading Vib xml from database /locker/packages/var/db/locker: VibCollection directory /locker/packages/var/db/locker/vibs does not exist.')
il primo link disponibile è la KB2030665 "The host returns esxupdate error code:15" error when remediating an ESXi 5.x and 6.x host (2030665)". Anche se, dal titolo non sembra esattamente soddisfare le mie esigenze, leggendo all'interno trovo degli spunti interessanti da verificare/provare.

Decido quindi di ispezionare la folder "/locker/packages/var/db/locker"....


mettere in "maintenance" il nodo e rinominare le attuali directory <NAME>.new in <NAME>


Premere nuovamente il bottone "Remediate"


Questa volta il processo di remediation è terminato correttamente!!

sabato 9 marzo 2019

Site Recovery Manager (SRM) 8.1 Replacing certificate fails with the error: Failed to validate certificate.

Problema
In fase di aggiornamento/sostituzione dei certificati su di una infrastruttura Site Recovery Manager (SRM) 8.1 come descritto in questo documento VMware "Replace the VMware Site Recovery Manager Certificates".

Abbiamo ottenuto il messaggio di errore: "Failed to validate certificate. Details: Internal Error."



Soluzione
Da una prima veloce ricerca su google sono approdato alla KB2091089 ("Installing VMware vCenter Site Recovery Manager (SRM) 5.8 with a Pcks12 certificate package fails with the error: Failed to validate certificate"). Sfortunatamente, pur eseguendo quanto indicato non ha risolto il problema. Ottengo sempre il solito messaggio di errore.

Decido quindi di analizzare in dettaglio i log di sistema in "C:\ProgramData\VMware\VMware vCenter Site Recovery Manager\Logs" ... nel mio caso l'ultimo file scritto dal sistema è "srm-config-36.log"



Verificando all'interno riscontro "Command failed: ... Certificate is CA or does not have an SSL server purpose."



Il certificato non è stato firmato in modo corretto dalla CA.
Verificando con l'amministratore di sistema della Certification Authority interna i requisiti necessari .."Requirements When Using Custom SSL/TLS Certificates with Site Recovery Manager".

Riscontriamo che il template utilizzato per firmare non rispettava correttamente i parametri richiesti indicati nei requirements ....
"The certificate must be a server certificate, for which the x509v3 Extended Key Usage must indicate TLS Web Server Authentication."



Ri-sottoposto a firma, questa volta con i parametri indicati come da requisiti :) :) (grazie Andrea e Renzo per l'aiuto.) .... siamo stati in grado di procedere con la sostituzione del certificato.... e di portare a termine il nostro compito.

venerdì 8 marzo 2019

vEXPERT 2019

vExpert 2019 Award Announcement



Sono orgoglioso di aver ricevuto per il secondo anno consecutivo da parte della vCommunity il riconoscimento di vExpert 2019.

La lista completa è disponibile a questo link.

Tengo a ribadire che il titolo di "vExpert" non è una certificazione tecnica ma più un premio dato alle attività individuali di informazione, evangelizzazione e di condivisione delle proprie passioni in ambito VMware.

Un grande ringraziamento da parte mia a VMware ed a tutti coloro che hanno permesso questo.

mercoledì 23 gennaio 2019

ESXi PSOD - Crash ME


Spesso mi capita di dover eseguire o simulare per dei test di collaudo il failure di un host ESXi. Il metodo più semplice per verificare se si è correttamente configurato l'HA è di simulare il crash di un host con il seguente comando:
# vsish -e set /reliability/crashMe/Panic 1
... in questo modo abbiamo anche la possibilità di verificare il servizio di DUMP.


lunedì 21 gennaio 2019

vSphere Web Client fails: RSL Error #2032


Problema
Il presentarsi del seguente messaggio di errore, post aggiornamento del vCenter Server dalla versione 6.5U2 alla versione 6.7U1, penso sia stato semplicemente casuale. Poteva benissimo presentarsi in qualsiasi altra situazione.

RSL vsphere-client/locales/rsl/tiwo-6.1.0.swf failed to load. Error #2032





Soluzione
Da una veloce ricerca su google, la KB 2092120 sembra fare al nostro caso anche se il file flash della KB è diverso dal mio messaggio di errore. Procedo come indicato nella KB con la cancellazione della cache del browser e riprovo ad accedere nuovamente.


Funziona!!

venerdì 14 dicembre 2018

NSX - [LoadBalancer] Invalid expire time setting. Valid expire time should be 1-86400


Problema
In fase di creazione di un nuovo Application Profile nel Load Balancer di NSX, ho ottenuto il seguente messaggio di errore:

"[LoadBalancer] Invalid expire time setting. Valid expire time should be 1-86400"


Il campo "Expires in (Seconds)" sembra disattivato e non mi permette di inserire un valore compreso tra 1 e 86400 secondi (pur cliccandoci sopra ripetutamente e su qualsiasi punto della form).


La problematica non si presenta se si sceglie come opzione Mode:, "Insert" o "App Session".


Soluzione
Per risolvere la problematica si sono utilizzate le chiamate REST API. Spiegherò in un successivo post come utilizzare le REST API per interagire con NSX e/o altre piattaforme/sistemi.
La guida di riferimento NSX API Guide descrive come installare, configurare, monitorare e mantenere VMware NSX® Data Center per sistemi vSphere® utilizzando le richieste REST API.

Procediamo nel seguente modo:
  1. Creiamo l'Application Profile con ad esempio l'opzione "Mode: Insert" ed "Expires in (Seconds): 3600"; o qualsiasi altro valore che ci permetta si salvare il profilo.

  2. Procediamo nota ora dell'Edge ID sul quale stiamo lavorando (nel mio caso edge-16) e dell'Application Profile ID (nel mio caso applicationProfile-14); ci servirà dopo per la chiamata REST API.

  3. Costruiamo la richiesta XML (come indicato dal manuale a pag.404), assicurandoci di impostare i seguenti tag XML:
    <cookieMode>Prefix</cookieMode>
    <expire>3600</expire>


  4. Apriamo il nostro client REST API preferito (nel mio caso utilizzo postnam) e compiliamo tutti i campi necessari per sottoporre la richiesta:

    - In Authorization inseriamo Username e Password

    - Compiliamo la richiesta URL

    https://{NSXManager}/api/4.0/edges/{edgeId}/loadbalancer/config/applicationprofiles/{appProfileID}

    nel mio caso

    https://{NSX-Manager}/api/4.0/edges/edge-16/loadbalancer/config/applicationprofiles/applicationProfile-14 (1)

    - Selezioniamo come metodo PUT

    - Incolliamo nel campo Body (raw - XML (application/xml)) la richiesta precedentemente creata (2)


  5. Clicchiamo il pulsante SEND

  6. La risposta che otteniamo è "Status: 204 No Content" (3)


    questo sta ad indicare che la nostra richiesta di modifica del profilo è stata sottoposta con successo.

  7. Non ci resta che verificare il profilo sia stato modificato correttamente (come desiderato) dall'interfaccia GUI. Editiamo il profilo .....


    Anche se il campo Expires in (Seconds) risulta essere ancora non abilitato alla modifica, sembra comunque essere stato modificato come desiderato.

Problema risolto!!!

domenica 4 novembre 2018

VMware Advanced Deploy vSphere 6.5 Exam 2018. Certification Unlocked


Il tanto atteso risultato è finalmente arrivato... dopo aver aspettato per circa 6 settimane nell'inbox è arrivata la seguente email .....


Ed il risultato è .......PASSED