Tests de connectivité 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 la Google Cloud console, une icône de chargement indique qu'un test est en cours d'exécution. En arrière-plan, les tests de connectivité interrogent en permanence l'état de l'opération de test. 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 la Google 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 gcloud CLI, spécifiez l'option --async. Sinon, seuls les résultats finaux s'afficheront.
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 commandedescribeulté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 du projet du point de terminaison de destinationSOURCE_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 mondialDESTINATION_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 mondialPROTOCOL: protocole compatible pour les tests de connectivitéSOURCE_PROJECT: ID du 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
Utilisez l'ID de ressource de l'opération avec la commande
describepour 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 du projet du point de terminaison sourceOPERATION_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 devientdone: 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.
Répétez la commande
describeprécédente jusqu'à ce que le résultat affichedone: 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)