Verificar uma operação de teste em execução

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 Criar e 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