Después de enviar una solicitud de actualización de configuración para una sesión de VPN de IPSec, puede comprobar si el estado solicitado se procesó correctamente en el plano de control local NSX en los nodos de transporte.

Cuando se crea una sesión de VPN de IPSec, se crean varias entidades: un perfil de IKE, un perfil de DPD, un perfil de túnel, un endpoint local, el servicio de VPN de IPSec y una sesión de VPN de IPSec. Todas estas entidades comparten el mismo intervalo de IPSecVPNSession, por lo que es posible obtener el estado de realización de todas las entidades de la sesión de VPN de IPSec usando la misma llamada API de GET. Puede comprobar el estado de realización solo con la API.

Requisitos previos

Procedimiento

  1. Envíe una solicitud de llamada API de POST, PUT o DELETE.
    Por ejemplo:
    PUT https://<nsx-mgr>/api/v1/vpn/ipsec/sessions/8dd1c386-9b2c-4448-85b8-51ff649fae4f
    {
       "resource_type": "PolicyBasedIPSecVPNSession",
       "id": "8dd1c386-9b2c-4448-85b8-51ff649fae4f",
       "display_name": "Test RZ_UPDATED",
       "ipsec_vpn_service_id": "7adfa455-a6fc-4934-a919-f5728957364c",
       "peer_endpoint_id":  "17263ca6-dce4-4c29-bd8a-e7d12bd1a82d",
       "local_endpoint_id": "91ebfa0a-820f-41ab-bd87-f0fb1f24e7c8",
       "enabled": true,
       "policy_rules": [
           {
               "id": "1026",
               "sources": [
                   {
                       "subnet": "1.1.1.0/24"
                   }
               ],
               "logged": true,
               "destinations": [
                   {
                       "subnet": "2.1.4..0/24"
                   }
               ],
               "action": "PROTECT",
               "enabled": true,
               "_revision": 1
           }
       ]
    }
  2. Busque y copie el valor de x-nsx-requestid en el encabezado de respuesta devuelto.
    Por ejemplo:
    x-nsx-requestid   e550100d-f722-40cc-9de6-cf84d3da3ccb
  3. Solicite el estado de realización de la sesión de VPN de IPSec mediante la siguiente llamada de GET.
    GET https://<nsx-mgr>/api/v1/vpn/ipsec/sessions/<ipsec-vpn-session-id>/state?request_id=<request-id>
    La siguiente llamada API utiliza los valores de id y x-nsx-requestid en los ejemplos de los pasos anteriores.
    GET https://<nsx-mgr>/api/v1/vpn/ipsec/sessions/8dd1c386-9b2c-4448-85b8-51ff649fae4f/state?request_id=e550100d-f722-40cc-9de6-cf84d3da3ccb
    A continuación, se muestra un ejemplo de una respuesta recibida cuando el estado de realización es in_progress.
    {
      "details": [
        {
          "sub_system_type": "TransportNode",
          "sub_system_id": "fe651e63-04bd-43a4-a8ec-45381a3b71b9",
          "state": "in_progress",
          "failure_message": "CCP Id:ab5958df-d98a-468e-a72b-d89dcdae5346, Message:State realization is in progress at the node."
        },
        {
          "sub_system_type": "TransportNode",
          "sub_system_id": "ebe174ac-e4f1-4135-ba72-3dd2eb7099e3",
          "state": "in_sync"
        }
      ],
      "state": "in_progress",
      "failure_message": "The state realization is in progress at transport nodes."
    }
    A continuación, se muestra un ejemplo de una respuesta recibida cuando el estado de realización es in_sync.
    {
        "details": [
            {
                "sub_system_type": "TransportNode",
                "sub_system_id":  "7046e8f4-a680-11e8-9bc3-020020593f59",
                "state": "in_sync"
            }
        ],
        "state": "in_sync"
    }
    Los siguientes son ejemplos de posibles respuestas que aparecen cuando el estado de realización es unknown.
    {
        "state": "unknown",
        "failure_message": "Unable to get response from any CCP node. Please retry operation after some time."
    }
    {
        "details": [
           {
              "sub_system_type": "TransportNode",
              "sub_system_id": "3e643776-5def-11e8-94ae-020022e7749b",
              "state": "unknown", 
              "failure_message": "CCP Id:ab5958df-d98a-468e-a72b-d89dcdae5346, Message: Unable to get response from the node. Please retry operation after some time."
           },
           {
              "sub_system_type": "TransportNode",
              "sub_system_id": "4784ca0a-5def-11e8-93be-020022f94b73",
              "state": "in_sync"
           }
        ],
        "state": "unknown",
        "failure_message": "The state realization is unknown at transport nodes"
    }
    Después de realizar una operación DELETE de una entidad, podría recibir el estado NOT_FOUND, tal como se muestra en el ejemplo siguiente.
    {
       "http_status": "NOT_FOUND",
       "error_code": 600, 
       "module_name": "common-services",
       "error_message": "The operation failed because object identifier LogicalRouter/61746f54-7ab8-4702-93fe-6ddeb804 is missing: Object identifiers are case sensitive.."
    }
    Si el servicio de VPN de IPSec asociado a la sesión está deshabilitado, recibirá como respuesta BAD_REQUEST, como se muestra en el ejemplo siguiente.
    {
        "httpStatus": "BAD_REQUEST",
        "error_code": 110199,
        "module_name": "VPN",
        "error_message": "VPN service f9cfe508-05e3-4e1d-b253-fed096bb2b63 associated with the session 8dd1c386-9b2c-4448-85b8-51ff649fae4f is disabled. Can not get the realization status."
    }