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


giovedì 18 ottobre 2018

PowerCLI 11.0.0 Updates - Automatic script to remove unnecessary modules


Disclaimer: Some of the procedures described below is not officially supported by VMware. Use it at your own risk.

L'11 Ottobre scorso è stata rilasciata la nuova versione PowerCLI 11.0.0 con un impressionante numero di novità ed aggiornamenti:

  • Added a new Security module
  • Added new cmdlets for Host Profiles
  • Added a new cmdlet to interact with NSX-T in VMware Cloud on AWS
  • Support for vSphere 6.7 Update 1
  • Support for NSX-T 2.3
  • Support for Horizon View 7.6
  • Support for vCloud Director 9.5
  • Multiplatform support for the Cloud module
  • Updated the Get-ErrorReport cmdlet
  • Removed the PCloud module
  • Removed the HA module
maggiori informazioni possono essere trovare sul blog ufficiale VMware a questo link.

L'update della PowerCLI di per se è semplice, come indicato anche in un mio precedente post è sufficiente lanciare il comando 'Update-Module -Name VMware.PowerCLI' ...


... e come per le precedenti versioni, se si utilizza Update-Module per aggiornare i moduli, le versioni esistenti non vengono rimosse (vedi Update a PowerCLI Module). Come vediamo dall'immagine sotto ci sono righe che contengono gli stessi moduli ma con diverse versioni.

Esattamente come indicato nel precedente post procedo con la rimozione dei moduli non più necessari; con la differenza che questa volta, ho realizzato un piccolo script in PowerShell per aiutarmi con l'identificazione dei moduli duplicati e la rimozione di quelli con versione inferiore.

Lo script di seguito è stato testato su Mac ....

#!/usr/local/bin/pwsh 
########################################################################################
#  File  : PurgeDuplicatePowerCliModules.ps1
#  Author: Lorenzo Moglie
#  Date  : 17.10.2018
#  Version     : 1.0.0.0
#  Disclaimer  : The script is provided as is, use at your own risk.
#  Description : This script list the VMware Modules Available into a TXT file. Read 
#                the txt file, line by line and comparing the duplicate modules 
#                uninstalling the older version
#######################################################################################

Get-Module -Name VMware.* -ListAvailable | select Name,Version > ModuleList.txt

$NameStr = ""
$VersionApp = ""
Get-Content ./ModuleList.txt | where {$_ -ne ""} | ForEach-Object { 
 $line=[regex]::Replace($_, "\s+", " ")
 $NameModule,$VersionModule = $line.split(' ')
 if($NameStr -match $NameModule) {  
  echo "Removing module: $NameModule --> Version One:$VersionModule --- Version Two:$VersionApp "
     if ([System.Version]::Parse($VersionModule) -lt [System.Version]::Parse($VersionApp)){
      echo "Removing version -> $VersionModule"
      Invoke-Expression  "Uninstall-Module -Name $NameModule -RequiredVersion $VersionModule -force"
     } else {
      echo "Removing version -> $VersionApp"
      Invoke-Expression  "Uninstall-Module -Name $NameModule -RequiredVersion $VersionApp -force"
     }
     echo ""
 }
 $NameStr = $NameModule
 if (($VersionModule -match "Version") -Or ($VersionModule -match "-------")) {
   # Do Nothing 
 } else {
   $VersionApp = $VersionModule
 }
}
rm ./ModuleList.txt
Prima di lanciare il file "PurgeDuplicatePowerCliModules.ps1" modifichiamo i permessi in questo modo ...
LIF:Desktop lorenzo$ chmod +x PurgeDuplicatePowerCliModule.ps1 

... lanciamo lo script .....
LIF:Desktop lorenzo$ ./PurgeDuplicatePowerCliModule.ps1 

In fine. Verifichiamo che i moduli duplicati siano stati correttamente rimossi ....

LIF:Desktop lorenzo$ pwsh 
PowerShell v6.0.2
Copyright (c) Microsoft Corporation. All rights reserved.

https://aka.ms/pscore6-docs
Type 'help' to get help.

PS /Users/lorenzo/Desktop> Get-Module -ListAvailable VMware.* | Select Version,Name   

That's it.


L'output dello script è stato migliorato in questo post "PowerCLI 11.4.0 Updates - Automatic script to remove unnecessary modules improved"