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!!!