Oltre ai runbook predefiniti, la funzionalità Sistema di diagnostica online (ODS) supporta anche runbook dinamici per eseguire il debug di NSX in runtime.

I runbook dinamici non dipendono dalla versione di NSX ed è possibile installarli in qualsiasi momento. I runbook dinamici risolvono i seguenti problemi:

  • Poiché lo sviluppo e la manutenzione di runbook predefiniti seguono il ciclo di rilascio di NSX, impediscono il debug dei problemi che emergono nei siti live tra i cicli di rilascio. Con i runbook dinamici, tra i cicli di rilascio è possibile implementare tutti i requisiti di debug poiché i runbook dinamici possono essere sviluppati e installati in qualsiasi momento.
  • Se si aggiorna NSX parzialmente, è possibile che si verifichi un'incompatibilità tra un runbook e l'API che lo chiama. Ad esempio, si aggiorna il nodo di trasporto senza aggiornare l'Unified Appliance (UA) e l'aggiornamento installa una nuova versione del runbook nel nodo di trasporto. In questo caso, l'UA potrebbe non essere in grado di richiamare la versione più recente del runbook con l'API precedente perché l'API potrebbe essere obsoleta.

Solo il team VMware può creare runbook dinamici e l'utente può scaricarli per installazioni nel sistema. Si noti che i runbook non supportano il backup e il ripristino dei dati.

Per installare i runbook dinamici, è necessario definire un gruppo denominato istanza del runbook dinamico. L'istanza del runbook dinamico definisce tutti i gruppi di nodi di installazione in cui devono essere installati i runbook. Se a un gruppo viene aggiunto un nuovo nodo, il runbook verrà installato automaticamente nel nuovo nodo.

Con NSX 4.2, è disponibile il download del seguente runbook. Per ulteriori informazioni sul runbook, scaricare il pacchetto dal seguente sito VMware https://support.broadcom.com/group/ecx/downloads.

Tabella 1.
Runbook Descrizione
Runbook dell'hyperbus

Il runbook dell'hyperbus dinamico può verificare la presenza dei seguenti problemi di hyperbus e fornire un suggerimento di correzione:

  • Connessione dell'hyperbus
  • Configurazioni della connessione dell'hyperbus
  • vmknic
  • Stato della connessione dell'hyperbus

Questo runbook accetta vif-id come argomento di input.

Per installare runbook dinamici, eseguire i passaggi seguenti:

Prerequisiti

Scaricare il pacchetto dinamico dal sito di VMware https://support.broadcom.com/group/ecx/downloads.

Procedura

  1. Ottenere il percorso dei nodi di trasporto da includere nel gruppo di nodi di installazione.
    GET https://10.180.85.179/policy/api/v1/infra/sites/default/enforcement-points/default/host-transport-nodes
  2. Creare il gruppo di nodi di installazione. Il gruppo può essere un gruppo di criteri, un gruppo di nodi di trasporto o un gruppo di nodi UA.
    PATCH https://<nsx-mgr>/policy/api/v1/infra/domains/default/groups/<group-name>
    {
        "expression": 
       [
            {
                "paths": [
                    "/infra/sites/default/enforcement-points/default/host-transport-nodes/TN1"
                ],
                "resource_type": "PathExpression"
            }
        ],
        "extended_expression": [],
        "reference": false,
        "group_type": [],
        "resource_type": "Group"
    }
    
  3. Creare un'istanza di runbook dinamico che includa tutti i gruppi di nodi di installazione.
    POST https://{{MANAGER_IP}}/policy/api/v1/infra/sha/dynamic-runbook-instances/<dynamic-instanace-id>
    {
        "applied_to_group_paths": [
            "/infra/domains/default/groups/TNGroup1"  [Policy Group with node path]
        ],
        "applied_to_nodes": [
            "1e6314a2-a268-4a3a-bcae-4f23b2536ea8"  [The node id can be a host/edge/UA node id]
        ],
        "applied_to_all_appliances": true   [All UA cluster]
    }
    
  4. Caricare il pacchetto del runbook nell'istanza del runbook dinamico.
    POST https://{{MANAGER_IP}}/policy/api/v1/infra/sha/dynamic-runbook-instances/<dynamic-instanace-id>/file
    I dati del runbook dinamico vengono applicati ai nodi di destinazione specificati in questo gruppo.
  5. Eseguire una query sullo stato di installazione.
    GET https://10.180.85.179/policy/api/v1/infra/sha/dynamic-runbook-instances/<dynamic-instanace-id>/state
    {
        "runbook_name": "Example",
        "management_state": "INSTALL_FINISHED",
        "install_state": [
            {
                "node_id": "084583fa-3ae7-4d0c-98f1-6fc4cb5044b1",
                "node_name": "TN301",
                "version": {
                    "major": 1,
                    "minor": 0
                },
                "status": "INSTALL_FINISHED"
            }
    }
    
  6. Controllare i dettagli dei runbook installati utilizzando la seguente API.
    GET https://{{MANAGER_IP}}/policy/api/v1/infra/sha/dynamic-runbooks
  7. Richiamare il runbook utilizzando i passaggi indicati nell'argomento Debug di NSX al runtime.

Operazioni successive

Per estendere un'istanza di runbook dinamico in nodi aggiuntivi, eseguire la seguente API.

PATCH https://10.180.85.179/policy/api/v1/infra/sha/dynamic-runbook-instances/<dynamic-instanace-id>
{
"applied_to_group_paths":["/infra/domains/default/groups/<tn-group-name>"],
"applied_to_nodes":["<target-edge-id>","<target-ua-id>"]
}

Per disinstallare un runbook, eseguire la seguente API.

DELETE https://10.180.85.179/policy/api/v1/infra/sha/dynamic-runbook-instances/<dynamic-instanace-id>/file

Per disinstallare un'istanza di runbook dinamico, eseguire la seguente API.

DELETE https://10.180.85.179/policy/api/v1/infra/sha/dynamic-runbook-instances/<dynamic-instanace-id>