Verifica di un'operazione di test in corso

Connectivity Tests supporta il controllo periodico dello stato di un'operazione di test in esecuzione, ad esempio create, update o delete. Puoi comunque esaminare i risultati finali del test al suo completamento.

Console

La console Google Cloud utilizza un'icona a forma di rotellina per mostrare un test in esecuzione. Connectivity Tests esegue continuamente il polling dello stato dell'operazione di test in background. Al termine del test, puoi controllare i risultati finali nel riquadro Dettagli risultato.

Per ulteriori informazioni sulle pagine della console Google Cloud, consulta Creare ed eseguire Connectivity Tests.

gcloud

Per utilizzare gcloud CLI per controllare un'operazione di test in esecuzione, specifica l'opzione --async. Se non specifichi questa opzione, vedrai solo i risultati finali del test.

  1. Ad esempio, la creazione del seguente test con l'opzione --async restituisce immediatamente un ID risorsa dell'operazione alla riga di comando. Potrai quindi utilizzare questo ID in un comando describe successivo per controllare lo stato del test mentre il test è ancora in esecuzione.

    gcloud network-management connectivity-tests create NAME \
      --destination-project=DESTINATION_PROJECT \
      --source-ip-address=SOURCE_IP_ADDRESS \
      --destination-ip-address=DESTINATION_IP_ADDRESS \
      --protocol=PROTOCOL \
      --source-project=SOURCE_PROJECT \
      --async
    

    Sostituisci i seguenti valori:

    • NAME: il nome dei Connectivity Tests
    • DESTINATION_PROJECT: l'ID progetto dell'endpoint di destinazione
    • SOURCE_IP_ADDRESS: l'indirizzo IP di origine interno o esterno da cui esegui il test; un indirizzo IPv6 è consentito solo se la destinazione del test è un VIP del bilanciatore del carico globale
    • DESTINATION_IP_ADDRESS: l'indirizzo IP di origine interno o esterno su cui stai eseguendo il test; un indirizzo IPv6 è consentito solo quando la destinazione del test è un VIP del bilanciatore del carico globale
    • PROTOCOL: un protocollo supportato per Connectivity Tests
    • SOURCE_PROJECT: l'ID progetto dell'endpoint di origine

    L'output è il seguente:

    Create request issued for: [gcloud-example]
    Check operation [projects/reachability-e2e-test/locations/global/operations/operation-1580411210002-59d6028c56f71-85ef2899-54d8bc13] for status
    
  2. Utilizza l'ID risorsa dell'operazione con il comando describe per verificare lo stato del test:

    gcloud network-management operations describe \
    projects/SOURCE_PROJECT/locations/global/operations/OPERATION_RESOURCE_ID
    

    Sostituisci i seguenti valori:

    • SOURCE_PROJECT: l'ID progetto dell'endpoint di origine
    • OPERATION_RESOURCE_ID: l'ID risorsa dell'operazione in corso che stai controllando (ad esempio, operation-1580411210002-59d6028c56f71-85ef2899-54d8bc13)

    Il seguente output di esempio per il comando precedente mostra done: false. Al termine del test, il campo diventa done: true.

    done: false
    metadata:
     '@type': type.googleapis.com/google.cloud.networkmanagement.v1.OperationMetadata
     apiVersion: v1
     cancelRequested: false
     createTime: '2020-01-30T19:06:50.055838110Z'
     endTime: '2020-01-30T19:06:57.637200039Z'
     target: projects/reachability-e2e-test/locations/global/connectivityTests/gcloud-example
     verb: create
    name:
     projects/reachability-e2e-test/locations/global/operations/operation-1580411210002-59d6028c56f71-85ef2899-54d8bc13
    response:
     '@type': type.googleapis.com/google.cloud.networkmanagement.v1beta1.ConnectivityTest
     createTime: '2020-01-30T19:06:50.050012906Z'
     ...  // Full resource metadata displayed here.
    
  3. Ripeti il comando describe precedente finché l'output non mostra done: true.

API

L'API Network Management è sempre in modalità async. Quando invii un comando all'API, ricevi immediatamente un ID operazione. Puoi utilizzare questo ID per controllare periodicamente lo stato del test.

Python

L'API Network Management è sempre in modalità async. Quando utilizzi il client Python dell'API per inviare una richiesta, ricevi immediatamente un ID operazione. Puoi utilizzare questo ID per controllare periodicamente lo stato del test.

Vedi l'esempio che segue:

project_id = 'PROJECT_ID'
operation_id = 'OPERATION_ID'

request = api.projects().locations().global_().operations().get(
        name='projects/%s/locations/global/operations/%s' % (project_id, operation_id))

print(json.dumps(request.execute(), indent=4))

Sostituisci i seguenti valori:

  • PROJECT_ID: l'ID del progetto in cui hai creato il test
  • OPERATION_ID: l'ID risorsa dell'operazione in corso che stai controllando (ad esempio, operation-1580411210002-59d6028c56f71-85ef2899-54d8bc13)

Passaggi successivi