Como verificar uma operação de execução de testes

O Connectivity Tests oferece suporte à verificação periódica do status de uma operação de teste em execução, como create, update ou delete. Você ainda pode revisar os resultados finais do teste quando o teste for concluído.

Console

O Console do Google Cloud usa um ícone giratório para mostrar um teste em execução. Nos bastidores, o Connectivity Tests pesquisa continuamente o status da operação de teste. Quando o teste for concluído, você poderá verificar os resultados finais no painel Detalhes do resultado.

Para mais informações sobre as páginas do Console do Cloud, consulte Como executar testes de conectividade.

gcloud

Para usar a linha de comando gcloud para verificar uma operação de teste em execução, especifique a opção --async. Se você não especificar esta opção, verá apenas os resultados finais do teste.

  1. Por exemplo, criar o teste a seguir usando a opção --async retorna imediatamente um ID de recurso de operação para a linha de comando. Você pode usar esse código em um comando describe subsequente para verificar o status do teste enquanto o teste ainda está em execução.

    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
    

    Substitua os seguintes valores:

    • NAME: o nome dos testes de conectividade
    • DESTINATION_PROJECT: o ID do projeto do endpoint de destino
    • SOURCE_IP_ADDRESS: o endereço IP de origem interno ou externo que você está testando. Um endereço IPv6 só é permitido quando o destino do teste é um VIP do balanceador de carga global
    • DESTINATION_IP_ADDRESS: o endereço IP de origem interno ou externo que você está testando. Um endereço IPv6 só é permitido quando o destino do teste é um VIP do balanceador de carga global
    • PROTOCOL: um protocolo compatível para testes de conectividade
    • SOURCE_PROJECT: o ID do projeto do endpoint de origem

    A saída é esta:

    Create request issued for: [gcloud-example]
    Check operation [projects/reachability-e2e-test/locations/global/operations/operation-1580411210002-59d6028c56f71-85ef2899-54d8bc13] for status
    
  2. Use o ID do recurso de operação com o comando describe para verificar o status do teste:

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

    Substitua os seguintes valores:

    • SOURCE_PROJECT: o ID do projeto do endpoint de origem
    • OPERATION_RESOURCE_ID: o ID do recurso da operação em andamento que você está verificando (por exemplo, operation-1580411210002-59d6028c56f71-85ef2899-54d8bc13)

    A seguinte amostra de saída para o comando anterior mostra done: false. Quando o teste é concluído, este campo muda para 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. Repita o comando describe anterior até que a saída mostre done: true.

API

A API de gerenciamento de rede está sempre no modo async. Ao emitir um comando para a API, você recebe imediatamente um código da operação. Você pode usar esse código para verificar periodicamente o status do teste.

Python

A API de gerenciamento de rede está sempre no modo async. Ao usar o cliente Python da API para emitir uma solicitação, você recebe imediatamente um ID de operação. Você pode usar esse ID para verificar periodicamente o status do teste.

Veja o exemplo a seguir:

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

Substitua os seguintes valores:

  • PROJECT_ID: o ID do projeto em que você criou o teste
  • OPERATION_ID: o ID do recurso da operação em andamento que você está verificando (por exemplo, operation-1580411210002-59d6028c56f71-85ef2899-54d8bc13)

A seguir