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

Os testes de conetividade suportam a verificação periódica do estado de uma operação de teste em execução, como create, update ou delete. Pode continuar a rever os resultados finais do teste quando este estiver concluído.

Consola

A Google Cloud consola usa um ícone de roda giratória para mostrar um teste em execução. Nos bastidores, os testes de conetividade sondam continuamente o estado da operação de teste. Quando o teste estiver concluído, pode verificar os resultados finais no painel Detalhes dos resultados.

Para mais informações sobre as Google Cloud páginas da consola, consulte o artigo Crie e execute testes de conetividade.

gcloud

Para usar a CLI gcloud para verificar uma operação de teste em execução, especifique a opção --async. Se não especificar esta opção, são apresentados apenas os resultados finais do teste.

  1. Por exemplo, a criação do seguinte teste através da opção --async devolve imediatamente um ID do recurso de operação à linha de comandos. Em seguida, pode usar este ID num comando describe subsequente para verificar o estado 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 conetividade
    • DESTINATION_PROJECT: o ID do projeto do ponto final de destino
    • SOURCE_IP_ADDRESS: o endereço IP de origem interno ou externo a partir do qual está a fazer o teste; só é permitido um endereço IPv6 quando o destino do teste é um VIP do balanceador de carga global
    • DESTINATION_IP_ADDRESS: o endereço IP de origem interno ou externo para o qual está a fazer o teste; só é permitido um endereço IPv6 quando o destino do teste é um VIP do balanceador de carga global
    • PROTOCOL: um protocolo suportado para testes de conetividade
    • SOURCE_PROJECT: o ID do projeto do ponto final de origem

    O resultado é o seguinte:

    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 da operação com o comando describe para verificar o estado 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 ponto final de origem
    • OPERATION_RESOURCE_ID: o ID do recurso da operação em curso que está a verificar (por exemplo, operation-1580411210002-59d6028c56f71-85ef2899-54d8bc13)

    O seguinte exemplo de saída para o comando anterior mostra done: false. Quando o teste estiver 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é o resultado mostrar done: true.

API

A API Network Management está sempre no modo async. Quando emite um comando para a API, recebe imediatamente um ID da operação. Pode usar este ID para verificar periodicamente o estado do teste.

Python

A API Network Management está sempre no modo async. Quando usa o cliente Python da API para emitir um pedido, recebe imediatamente um ID da operação. Pode usar este ID para verificar periodicamente o estado do teste.

Veja o exemplo seguinte:

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 no qual criou o teste
  • OPERATION_ID: o ID do recurso da operação em curso que está a verificar (por exemplo, operation-1580411210002-59d6028c56f71-85ef2899-54d8bc13)

O que se segue?