Vérifier une opération de test en cours

Connectivity Tests accepte la vérification périodique de l'état d'une opération de test en cours d'exécution, comme create, update ou delete. Vous pouvez toujours consulter les résultats finaux du test une fois celui-ci terminé.

Console

Dans Google Cloud Console, une icône de chargement indique qu'un test est en cours d'exécution. En arrière-plan, l'état de l'opération de test est surveillé en permanence. Une fois le test terminé, les résultats finaux sont consultables dans le panneau Résultats détaillés.

Pour en savoir plus sur les pages de Cloud Console, consultez la page Créer et exécuter des tests de connectivité.

gcloud

Pour vérifier l'état d'une opération de test en cours d'exécution à l'aide de la ligne de commande gcloud, spécifiez l'option --async. Sinon, seuls les résultats finaux s'afficheront.

  1. Par exemple, si vous créez le test suivant en spécifiant l'option --async, vous obtiendrez immédiatement sur la ligne de commande l'ID de ressource de l'opération. Vous pouvez ensuite utiliser cet ID dans une commande describe ultérieure pour vérifier l'état du test pendant que celui-ci est toujours en cours d'exécution.

    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
    

    Remplacez les valeurs suivantes :

    • NAME : nom des tests de connectivité
    • DESTINATION_PROJECT : ID de projet du point de terminaison de destination
    • SOURCE_IP_ADDRESS : adresse IP source interne ou externe à partir de laquelle vous effectuez les tests. Une adresse IPv6 n'est autorisée que lorsque la destination du test est une adresse IP virtuelle d'équilibreur de charge global
    • DESTINATION_IP_ADDRESS : adresse IP source interne ou externe que vous testez. Une adresse IPv6 n'est autorisée que lorsque la destination du test est une adresse IP virtuelle d'équilibreur de charge global
    • PROTOCOL : protocole compatible pour les tests de connectivité
    • SOURCE_PROJECT : ID de projet du point de terminaison source

    Le résultat est le suivant :

    Create request issued for: [gcloud-example]
    Check operation [projects/reachability-e2e-test/locations/global/operations/operation-1580411210002-59d6028c56f71-85ef2899-54d8bc13] for status
    
  2. Utilisez l'ID de ressource de l'opération avec la commande describe pour vérifier l'état du test :

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

    Remplacez les valeurs suivantes :

    • SOURCE_PROJECT : ID de projet du point de terminaison source.
    • OPERATION_RESOURCE_ID : ID de ressource de l'opération en cours de vérification que vous vérifiez (par exemple, operation-1580411210002-59d6028c56f71-85ef2899-54d8bc13)

    L'exemple de résultat suivant pour la commande précédente indique done: false. Une fois le test terminé, ce champ devient 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. Répétez la commande describe précédente jusqu'à ce que le résultat affiche done: true.

API

L'API Network Management est toujours en mode async (asynchrone). Lorsque vous envoyez une commande à l'API, vous recevez immédiatement l'ID de l'opération. Vous pouvez utiliser cet ID pour vérifier régulièrement l'état du test.

Python

L'API Network Management est toujours en mode async (asynchrone). Lorsque vous utilisez le client Python de l'API pour émettre une requête, vous recevez immédiatement un ID d'opération. Vous pouvez utiliser cet ID pour vérifier régulièrement l'état du test.

Consultez l'exemple ci-dessous :

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

Remplacez les valeurs suivantes :

  • PROJECT_ID : ID du projet dans lequel vous avez créé le test.
  • OPERATION_ID : ID de ressource de l'opération en cours de vérification que vous vérifiez (par exemple, operation-1580411210002-59d6028c56f71-85ef2899-54d8bc13)

Étape suivante