7 Network Service Orchestration RESTful API Reference

This chapter provides reference information about the Oracle Communications Network Service Orchestration RESTful API resources.

About the Network Service Orchestration RESTful APIs

The Network Service Orchestration RESTful API requests provide the northbound interface to Network Service Orchestration. Operation support systems (OSS) and VNF managers query the resource inventory for data.

The RESTful API requests enable you to perform various functions by using a RESTful API client.

The root URL for the Network Service Orchestration RESTful API resources is:

  • HTTP connection: http://nso_host:port/ocnso/1.1

  • SSL connection: https://nso_host:ssl_port/ocnso/1.1

    where:

    • nso_host is the name of the host on which Oracle Communications Unified Inventory Management (UIM) is installed

    • port is the port number of the machine on which UIM is installed

    • ssl_port is the SSL port number of the machine on which UIM is installed

To access the Network Service Orchestration RESTful API resources, in your RESTful API client, choose Basic Authentication and specify the user name and password of the machine on which UIM is installed.

Note:

If you use HTTPS-enabled OpenStack Keystone RESTful APIs, add the Certified Authority certificate to the TrustStore that your application server uses. If OpenStack Keystone is configured with self-signed certificate, then add the self-signed certificate to the TrustStore of the application server. See the Oracle WebLogic Server documentation for information about configuring the TrustStore.

The ora_nso_webservices.war file is included in the inventory.ear file and is deployed once the UIM installation is complete.

Network Service Orchestration RESTful API Resources

Table 7-1 lists the Network Service Orchestration RESTful API requests provided, along with the method, resource and description for each. This table is ordered first by entity and then by the method with the order of POST, PUT, GET and DELETE.

Table 7-1 Network Service Orchestration RESTful API Resources

Request Method Resource Description

Register VIM

POST

/ocnso/1.1/vim

Registers the IP address, port, user name and password of the Virtual Infrastructure Manager (VIM) with Network Service Orchestration.

Discover VIM Resources

POST

/ocnso/1.1/vim/vimId/discovery?infoLevel=vim_information

Discovers the resources of the registered VIM and adds them to inventory.

Update VIM

PUT

/ocnso/1.1/vim/vimId

Updates the attributes (for example IP address, port, user name, password, and project name) of an existing VIM in Network Service Orchestration.

Get VIM Details

GET

/ocnso/1.1/vim/vimId

Returns information about a VIM that is registered with Network Service Orchestration.

Instantiate Network Service

POST

/ocnso/1.1/ns

Instantiates a network service and its constituent Virtual Network Functions (VNFs).

Scale Network Service

POST

/ocnso/1.1/ns/networkServiceId/scale/vnfId

Scales a VNF in a network service.

Get Network Services

GET

/ocnso/1.1/ns/nsdName=nsdName

Returns a list of all active network services that are created based on the given network service descriptor.

Get Network Service Details

GET

/ocnso/1.1/ns/networkServiceId

Returns details about a network service.

Get Network Service VNFs

GET

/ocnso/1.1/ns/networkServiceId/vnfs

Returns details about VNFs in a network service.

Get Network Service Networks

GET

/ocnso/1.1/ns/networkServiceId/networks

Returns details about networks in a network service.

Get Network Service End Points

GET

/ocnso/1.1/ns/networkServiceId/endpoints

Returns details about endpoints in a network service.

Get Network Service Status

GET

/ocnso/1.1/ns/networkServiceId/status

Returns status information of a network service.

Terminate Network Service

DELETE

/ocnso/1.1/ns/networkServiceId

Terminates a network service and the constituent VNFs.

Add VNF to Network Service

POST

/ocnso/1.1/ns/networkServiceId/vnfs

Adds VNFs to a network service.

Terminate VNF in a Network Service

DELETE

/ocnso/1.1/ns/networkServiceId/vnfs

Terminates a VNF in a network service.

Heal VNF

POST

/ocnso/1.1/vnf/vnfId/heal?action=action

Heals a VNF by rebooting or replacing the VM.

Available values for the action parameter are:

  • replace

  • reboot

Configure VNF Capabilities

POST

/ocnso/1.1/vnf/configure

Configures the capabilities of a VNF service.

Upgrade VNF

PUT

/ocnso/1.1/vnf/vnfId/upgrade/vnfVersion

Upgrades the software image version of a VNF.

Get VNF Details

GET

/ocnso/1.1/vnf/vnfId

Returns details about a VNF.

Get VNF Status

GET

/ocnso/1.1/vnf/vnfId/status

Returns status information about a VNF.

Register PNF

POST

/ocnso/1.1/pnfs

Registers or creates a Physical Network Function (PNF) in inventory.

Update PNF

PUT

/ocnso/1.1/pnfs/pnfId

Updates an existing registered PNF.

Get PNFs

GET

/ocnso/1.1/pnfs?descriptorName=pnfdName

Returns the list of PNFs given the input descriptor name.

Get PNF Details

GET

/ocnso/1.1/pnfs/pnfId

Returns the PNF details given the input PNF identifier.

Unregister PNF

DELETE

/ocnso/1.1/pnfs/pnfId

Unregisters an existing PNF.

Register EMS

POST

/ocnso/1.1/ems

Registers or creates an Element Management System (EMS) in inventory.

Update EMS

PUT

/ocnso/1.1/ems/emsId

Updates an existing registered EMS.

Get EMSs

GET

/ocnso/1.1/ems?descriptorName=emsdName

Returns the list of EMSs given the input descriptor name.

Get EMS Details

GET

/ocnso/1.1/ems/emsId

Returns the EMS details given the input EMS identifier.

Unregister EMS

DELETE

/ocnso/1.1/ems/emsId

Unregisters an existing EMS.

Get Network Service Descriptors

GET

/ocnso/1.1/nsd

Returns a list of all network service descriptors that are deployed in Network Service Orchestration.

Get Network Service Descriptor Details

GET

/ocnso/1.1/nsd/nsdName

Returns details about a network service descriptor.

Get Network Service Descriptor VNFDs

GET

/ocnso/1.1/nsd/nsdName/vnfds

Returns a list of VNF descriptors in a network service descriptor.

Get Network Service Descriptor Flavors

GET

/ocnso/1.1/nsd/nsdName/flavors

Returns a list of all constituent service flavors that are defined for a network service descriptor.

Get VNF Descriptor Details

GET

/ocnso/1.1/vnfd/vnfdName

Returns details about a VNF descriptor.

Get VNF Descriptor Versions

GET

/ocnso/1.1/vnfd/vnfdName/versions

Returns a list of supported versions for a VNF descriptor.

Get VNF Descriptor Flavors

GET

/ocnso/1.1/vnfd/vnfdName/flavors

Returns a list of deployment flavors that are defined for a VNF descriptor.


RESTful API Responses

This section describes the fields and possible values for the responses returned from Network Service Orchestration RESTful API calls.

Table 7-2 describes the fields that are contained in a response.

Table 7-2 Fields in the Response

Response Field Description

status

This field contains the status of the request processing. The following are the valid values:

  • SUCCESS

  • ACCEPTED

  • FAILURE

code

This field contains the HTTP status code value. Table 7-3 describes the possible values.

message

This optional field contains a high-level error message and is present only for a failed request.

data

This optional field contains the response information from the request and it only exists for successful requests. This field may not be relevant to all requests.

exception

This optional field contains information when an exception occurs for a failed request.

errors

This optional field contains an array of information when an error occurs for a failed request.

warnings

This optional field contains an array of information when a warning occurs for a failed request.


Example 7-1 shows a success response for a network service instantiation request. The data portion contains the operation-specific information and message about the successful request.

Example 7-1 Sample Response Snippet on Success

{
  "status": "SUCCESS",
  "code": "202",
  "message": "[INV-430902] Network Service instantiation is in progress.",
  "data": {
    "id": "1125001",
    "descriptorName": "NPaaS_NSD",
    "name": "NSO_NPassService_1",
    "status": "PENDING",
    "businessInteractionId": "1275003",
    "businessInteractionStatus": "IN_PROGRESS"
     .
     .
     .
  }
}

Example 7-2 shows a response to a failed request.

Example 7-2 Sample Response on Failure

{
  "status": "FAILURE",
  "code": "500",
  "message": "No Network service exists with provided Network Service id 100.",
  "errors": [],
  "exception": {
    "code": "INV-430355",
    "message": "No Network service exists with provided Network Service id 100."
  }
}

Table 7-3 describes the HTTP response status codes for the RESTful API resources.

Table 7-3 HTTP Response Status Codes for the RESTful API Resources

Response Code Description

200 OK

The request is successful.

The information returned in the response depends on the method used in the request. For example:

  • GET returns one or more entities corresponding to the requested resource.

  • POST returns an entity describing or containing the result of the action.

202 Accepted

The request has been accepted for processing, but processing has not yet started.

The request might or might not eventually be acted upon; it might be disallowed when the request is processed.

400 Bad Request

The request could not be understood by the server due to incorrect syntax. Correct the syntax before repeating the request.

401 Unauthorized

The request could not be authorized by the server due to invalid authentication or the absence of a valid user name and password. All requests require valid user authentication. See "About the Network Service Orchestration RESTful APIs" for more information.

404 Not Found

The server has not found a matching request or URI.

500 Internal Server Error

The server encountered an unexpected condition that prevented it from fulfilling the request.


Sample Requests and Responses

The following sections provide sample JSON requests and responses for the Network Service Orchestration RESTful API resources.

Register VIM

Registers details about the VIM with Network Service Orchestration such as the following:

  • Host IP address

  • Port

  • User name

  • Password

This resource results in the creation of a VIM.

Method

POST

URL

http://nso_host:port/ocnso/1.1/vim

Sample Request

{
  "id": "VimID_1",
  "name": "OpenStack VIM-1",
  "host": "192.0.2.251",
  "port": "12345",
  "userName": "nso",
  "pswd": "password",
  "projectName": "test",
  "domainName": "default",
  "version": "3",
  "sslEnabled": "false",
  "type": "OpenStack",
  "cpuOvercommitRatio": "15",
  "memoryOvercommitRatio": "1.5",
  "diskOvercommitRatio": "1.0"
}

Sample Response

{
  "status": "SUCCESS",
  "code": "200",
  "message": "[INV-430914] OpenStack VIM-1 is successfully registered with NSO."
}

Discover VIM Resources

Discovers the resources that are available on the VIM. For example, it creates the following resources as custom objects:

  • Availability zones

  • Flavors

  • Hosts

  • Virtual Data Center (VDC)

Method

POST

URL

http://nso_host:port/ocnso/1.1/vim/vimId/discovery?infoLevel=vimInformation

where:

  • vimId is the identifier of the VIM whose resources you want to discover

  • vimInformation is the level of information about the VIM that you want to receive in the response. The values for infoLevel are:

    • summary: Include a summary of the VIM resources.

    • details: Include complete details about all the VIM resources.

Sample Request

This API does not require any request parameters.

Sample Response

This is a sample response when the infoLevel parameter in the URL is set to summary:

{
   "status": "SUCCESS",
   "code": "200",
   "data": {
      "summary": {
         "Number of Subnets": 80,
         "Number of Flavors": 26,
         "Number of Hosts": 4,
         "Number of Networks": 80,
         "Number of Zones": 3
      }
   }
}

The following is a sample response when the infoLevel parameter in the URL is set to details:

{
  "data": {
    "availabilityZones": [
      {
        "zone": "CustomerTermination",
        "hosts": [
          "compute2"
        ]
      },
      {
        "zone": "nova",
        "hosts": [
          "compute4"
        ]
      }
    ],
    "networks": [
      {
        "network": "ext-net",
        "subnets": [
          "ext-subnet"
        ]
      },
      {
        "network": "QANetwork",
        "subnets": [
          "QASubnet"
        ]
      }
    ],
    "flavors": [
      "m1.tiny",
      "m1.small",
      "m1.large"
    ]
  }
}

Update VIM

Updates details about an existing VIM in Network Service Orchestration. For example, you can update the following attributes:

  • Host IP address

  • Port

  • User name

  • Password

  • Project name

The update persists the new attribute values to the inventory database.

Method

PUT

URL

http://nso_host:port/ocnso/1.1/vim/vimId

where vimId is the identifier of the VIM that you want to update.

Sample Request

{
   "host": "192.0.2.252",
   "port": "12345",
   "userName": "nso",
   "pswd": "password",
   "projectName": "test",
   "domainName": "default",
   "version": "3",
   "sslEnabled": "false",
   "cpuOvercommitRatio": "15",
   "memoryOvercommitRatio": "1.5",
   "diskOvercommitRatio": "1.0"
}

Sample Response

{
   "status": "SUCCESS",
   "code": "200",
   "message": "[INV-430921] OpenStack VIM-2 updated successfully."
}

Get VIM Details

Retrieves the details of a VIM that is registered in inventory.

Method

GET

URL

http://nso_host:port/ocnso/1.1/vim/vimId

where vimId is the identifier of the VIM.

Sample Response

{
   "status": "SUCCESS",
   "code": "200",
   "data": {
      "id": "OpenStack",
      "name": "OpenStack",
      "host": "192.0.2.249",
      "port": "8001",
      "userName": "admin",
      "pswd": "password",
      "projectName": "admin",
      "domainName": "default",
      "type": "OpenStack",
      "version": "3",
      "sslEnabled": false,
      "cpuOvercommitRatio": "15",
      "memoryOvercommitRatio": "1.5",
      "diskOvercommitRatio": "1.0"
   }
}

Instantiate Network Service

Creates a network service, the related resources, and starts the VNFs in the network service. This resource can optionally include PNFs. See the additional sample request and response including PNFs.

Method

POST

URL

http://nso_host:port/ocnso/1.1/ns

Sample Request with VNFs

{
   "name": "NSO_NPassService_1",
   "descriptorName": "NPaaS_NSD",
   "flavorName": "Checkpoint",
   "vnfs": [
      {
         "name": "NSO_CheckPointVNF_1",
         "flavorName": "checkpoint",
         "descriptorName": "Checkpoint_NG_FW_VNFD",
         "version": "1.0"
      }
   ],
   "endPoints": [
      {
         "name": "Test1103",
         "parameters": [
            {
               "name": "ipAddress",
               "value": "192.0.2.250"
            },
            {
               "name": "vlanId",
               "value": "101"
            },
            {
               "name": "serviceLocation",
               "value": "Chicago 04"
            }
         ]
      }
   ]
}

Sample Response with VNFs

{
  "status": "SUCCESS",
  "code": "202",
  "message": "[INV-430902] Network Service instantiation is in progress.",
  "data": {
    "id": "15",
    "name": "NSO_NPassService_1",
    "descriptorName": "NPaaS_NSD",
    "status": "PENDING",
    "businessInteractionId": "30",
    "businessInteractionStatus": "IN_PROGRESS",
    "serviceDeploymentFlavorName": "Juniper",
    "parameters": [
      {
        "name": "vimId",
        "value": "ONAP21"
      },
      {
        "name": "dataCenterName",
        "value": "ONAP21"
      }
    ],
    "networks": [
      {
        "name": "15_Data_IN(ONAP21)",
        "status": "PENDING_REFERENCE"
      },
      {
        "name": "15_Data_OUT(ONAP21)",
        "status": "PENDING_REFERENCE"
      },
      {
        "name": "nfvo-poc3-mgmt(ONAP21)",
        "status": "PENDING_REFERENCE"
      }
    ],
    "endpoints": [
      {
        "id": "14",
        "name": "NSO_SGPcnsmr2",
        "descriptorName": "NSSubscriber",
        "status": "Pending Reference"
      }
    ],
    "vnfs": [
      {
        "id": "2",
        "name": "NSO_NPassService_VNF1",
        "status": "Pending Assign",
        "descriptorName": "Juniper_vSRX_VNFD",
        "version": "1.0",
        "imageName": "vsrx-12.1X47-D20.7-npaas-v0.3",
        "availabilityZoneName": "CustomerTermination",
        "dataCenterName": "ONAP21",
        "deploymentFlavorInfo": {
          "name": "vsrx.small",
          "vcpus": 2,
          "memory": "2 GB",
          "disk": "20 GB"
        }
      }
    ]
  }
}

Sample Request with VNFs and PNFs

{
  "name": "NSO_NPassService_2_with_PNFs",
  "descriptorName": "ResidentialGateway_NSD",
  "flavorName": "RGW",
  "vnfs": [
    {
      "name": "NSO_NPassService_VNF",
      "flavorName": "vsrx.small",
      "descriptorName": "Juniper_vSRX_VNFD",
      "version": "1.0"
    }
  ],
  "pnfs": [
    {
      "id": "675001",
      "descriptorName": "Cisco_xRV_PNFD"
    }
  ],
  "endPoints": [
    {
      "name": "NSO_EP_2",
      "parameters": [
        {
          "name": "ipAddress",
          "value": "192.0.2.231"
        },
        {
          "name": "vlanId",
          "value": "101"
        },
        {
          "name": "serviceLocation",
          "value": "CityPQ03"
        }
      ]
    }
  ]
}

Sample Response with VNFs and PNFs

{
  "status": "SUCCESS",
  "code": "202",
  "message": "[INV-430902] Network Service instantiation is in progress.",
  "data": {
    "id": "300085",
    "name": "NSO_NPassService_2_with_PNFs",
    "descriptorName": "ResidentialGateway_NSD",
    "status": "PENDING",
    "businessInteractionId": "150091",
    "businessInteractionStatus": "IN_PROGRESS",
    "serviceDeploymentFlavorName": "RGW",
    "parameters": [
      {
        "name": "vimId",
        "value": "OpenStack"
      },
      {
        "name": "dataCenterName",
        "value": "OpenStack"
      }
    ],
    "networks": [
      {
        "name": "300085_Data1(OpenStack)",
        "status": "PENDING_REFERENCE"
      },
      {
        "name": "nfvo-poc3-mgmt(OpenStack)",
        "status": "PENDING_REFERENCE"
      },
      {
        "name": "300085_Data2(OpenStack)",
        "status": "PENDING_REFERENCE"
      }
    ],
    "endpoints": [
      {
        "id": "450002",
        "name": "NSO_EP_2",
        "descriptorName": "NSSubscriber",
        "status": "Pending Reference"
      }
    ],
    "vnfs": [
      {
        "id": "675029",
        "name": "NSO_NPassService_VNF",
        "status": "Pending Assign",
        "descriptorName": "Juniper_vSRX_VNFD",
        "version": "1.0",
        "imageName": "vsrx-12.1X47-D20.7-npaas-v0.3",
        "availabilityZoneName": "nova",
        "dataCenterName": "OpenStack",
        "deploymentFlavorInfo": {
          "name": "vsrx.small",
          "vcpus": 2,
          "memory": "2 GB",
          "disk": "20 GB"
        },
        "securityGroups": "sgall,default"
      }
    ],
    "pnfs": [
      {
        "id": "675001",
        "name": "xtv862",
        "descriptorName": "Cisco_xRV_PNFD",
        "ipAddress": "192.0.2.155",
        "userName": "user",
        "pswd": "password",
        "sslEnabled": false,
        "sshKey": "",
        "parameters": [
          {}
        ]
      }
    ]
  }
}

Scale Network Service

Scales a network service by either cloning a VNF instance or removing an existing VNF.

Method

POST

URL

http://nso_host:port/ocnso/1.1/ns/networkServiceId/scale/vnfId?action=action

where:

  • networkServiceId is the required identifier of the network service for the VNF.

  • vnfId is the required identifier of the VNF to scale.

  • action is the scale action. Specify one of the following values:

    • scale-in: Removes the specified VNF.

    • scale-out: Clones the specified VNF. This is the default action if the action is not specified.

Sample Request

This API does not require a request body.

Sample Response

{
  "status": "SUCCESS",
  "code": "202",
  "message": "[INV-431002] VNF scale operation is in progress.",
  "data": {
    "id": "18",
    "name": "NSO_NPassService_1",
    "descriptorName": "NPaaS_NSD",
    "status": "IN_SERVICE",
    "vnfs": [
      {
        "id": "5",
        "name": "Juniper_vSRX_VNFD_1471441956301",
        "status": "Pending Assign",
        "descriptorName": "Juniper_vSRX_VNFD"
      }
    ]
  }
} 

Get Network Services

Retrieves the list of active network services that are related to the input network service descriptor.

Method

GET

URL

http://nso_host:port/ocnso/1.1/ns?nsdName=nsdName

where nsdName is the name of the network service descriptor.

Sample Response

{
   "status": "SUCCESS",
   "code": "200",
   "data": [
      {
         "id": "1050001",
         "descriptorName": "NPaaS_NSD",
         "name": "NSO_NPassService_1",
         "status": "IN_SERVICE"
      },
      {
         "id": "1050005",
         "descriptorName": "NPaaS_NSD",
         "name": "NSO_NPassService_2",
         "status": "IN_SERVICE"
      },
      {
         "id": "1125001",
         "descriptorName": "NPaaS_NSD",
         "name": "NSO_NPassService_3",
         "status": "IN_SERVICE"
      }
   ]
}

Get Network Service Details

Retrieves the details of a network service.

Method

GET

URL

http://nso_host:port/ocnso/1.1/ns/networkServiceId

where networkServiceId is the identifier of the network service whose details you want to retrieve.

Sample Response

{
  "status": "SUCCESS",
  "code": "200",
  "data": {
    "id": "22",
    "name": "NPassService_Juniper55_Service",
    "descriptorName": "NPaaS_NSD",
    "status": "IN_SERVICE",
    "businessInteractionId": "47",
    "businessInteractionStatus": "COMPLETED",
    "serviceDeploymentFlavorName": "Juniper",
    "parameters": [
      {
        "name": "vimId",
        "value": "ONAP21"
      },
      {
        "name": "dataCenterName",
        "value": "ONAP21"
      }
    ],
    "networks": [
      {
        "name": "22_Data_OUT(ONAP21)",
        "status": "REFERENCED"
      },
      {
        "name": "22_Data_IN(ONAP21)",
        "status": "REFERENCED"
      },
      {
        "name": "nfvo-poc3-mgmt(ONAP21)",
        "status": "REFERENCED"
      }
    ],
    "endpoints": [
      {
        "id": "14",
        "name": "NSO_SGPcnsmr2",
        "descriptorName": "NSSubscriber",
        "status": "Referenced"
      }
    ],
    "vnfs": [
      {
        "id": "6",
        "name": "Juniper_VNF_6",
        "status": "Assigned",
        "descriptorName": "Juniper_vSRX_VNFD"
      }
    ]
  }
}

Get Network Service VNFs

Retrieves the details about the VNFs in a network service.

Method

GET

URL

http://nso_host:port/ocnso/1.1/ns/networkServiceId/vnfs

where networkServiceId is the identifier of the network service for the VNFs.

Sample Response

{
  "status": "SUCCESS",
  "code": "200",
  "data": {
    "id": "22",
    "name": "29_1.3_AMns_Service",
    "descriptorName": "NPaaS_NSD",
    "status": "IN_SERVICE",
    "vnfs": [
      {
        "id": "6",
        "name": "VNF_1",
        "status": "Assigned",
        "descriptorName": "Juniper_vSRX_VNFD",
        "vmStatus": "ACTIVE",
        "version": "1.0",
        "externalId": "6e941ad7-c45f-4dfb-bf26-2bb50234fadc",
        "imageName": "vsrx-12.1X47-D20.7-npaas-v0.3",
        "availabilityZoneName": "CustomerTermination",
        "dataCenterName": "ONAP21",
        "host": "b73c2706400313820fd7db7086d90025ed6c2ab95a558d589c578c0a",
        "deploymentFlavorInfo": {
          "name": "vsrx.small",
          "vcpus": 2,
          "memory": "2 GB",
          "disk": "20 GB"
        },
        "connectionPoints": [
          {
            "id": "6-1",
            "name": "CP01",
            "ipAddress": {
              "address": "192.0.2.231",
              "network": "22_Data_IN(ONAP21)",
              "externalId": "c83177ff-632e-4a19-97a7-3539c96c3d4c"
            }
          },
          {
            "id": "6-2",
            "name": "CP02",
            "ipAddress": {
              "address": "192.0.2.232",
              "network": "22_Data_OUT(ONAP21)",
              "externalId": "f937cdc6-11bb-42b7-9b9e-f9685f7b71e2"
            }
          },
          {
            "id": "6-3",
            "name": "CP03",
            "ipAddress": {
              "address": "192.0.2.233",
              "network": "nfvo-poc3-mgmt(ONAP21)",
              "externalId": "c5272351-905d-47ca-b7ac-0f18f01d724d"
            }
          }
        ],
        "capabilities": [
          {
            "serviceId": "24",
            "serviceName": "PRAYAVAR_Aug17_06_Capabilities_24",
            "serviceStatus": "PENDING_ASSIGN",
            "serviceDescriptorName": "Juniper_vSRX_Capabilities_ServiceDescriptor",
            "businessInteractionId": "50"
          }
        ]
      }
    ]
  }
}

Get Network Service Networks

Retrieves the details about the networks within a network service.

Method

GET

URL

http://nso_host:port/ocnso/1.1/ns/networkServiceId/networks

where networkServiceId is the identifier of the network service.

Sample Response

{
  "status": "SUCCESS",
  "code": "200",
  "data": {
    "id": "750001",
    "name": "NSO_NetworkService",
    "descriptorName": "NPaaS_NSD",
    "status": "IN_SERVICE",
    "networks": [
      {
        "name": "750001_Data_IN(OpenStack)",
        "id": "750001_Data_IN(OpenStack)",
        "externalId": "b246b28c-9e98-490f-b046-4601da09a28a",
        "status": "REFERENCED",
        "subnets": [
          {
            "startIP": "192.0.2.209",
            "prefix": "27",
            "externalId": "d8bb391a-f216-4fc2-8465-fec0cccbb5ef"
          }
        ]
      },
      {
        "name": "nfvo-poc3-mgmt(OpenStack)",
        "id": "nfvo-poc3-mgmt(OpenStack)",
        "externalId": "109ae4cf-3cea-4729-a24f-957c4ed6d3c6",
        "status": "REFERENCED",
        "subnets": [
          {
            "startIP": "192.0.2.208",
            "prefix": "24",
            "externalId": "fb791563-7c8b-454c-a1eb-87399e6837dc"
          }
        ]
      },
      {
        "name": "750001_Data_OUT(OpenStack)",
        "id": "750001_Data_OUT(OpenStack)",
        "externalId": "ba96e7e3-4080-49c8-aa4d-e9af6e5ab2e9",
        "status": "REFERENCED",
        "subnets": [
          {
            "startIP": "192.0.2.207",
            "prefix": "27",
            "externalId": "f88688ee-aecb-47fc-bb58-e48c6a277eb9"
          }
        ]
      }
    ]
  }
}

Get Network Service End Points

Retrieves the details about the endpoints in a network service.

Method

GET

URL

http://nso_host:port/ocnso/1.1/ns/networkServiceId/endpoints

where networkServiceId is the identifier of the network service.

Sample Response

{
  "status": "SUCCESS",
  "code": "200",
  "data": {
    "id": "22",
    "name": "NPaaS_Service",
    "descriptorName": "NPaaS_NSD",
    "status": "IN_SERVICE",
    "endpoints": [
      {
        "id": "14",
        "name": "NSO_SGPcnsmr2",
        "descriptorName": "NSSubscriber",
        "ipAddress": "192.0.2.218",
        "forwardingGraphDescriptorName": "Data",
        "status": "Referenced",
        "serviceLocation": "MTRLPQ03"
      }
    ]
  }
}

Get Network Service Status

Retrieves the status information for a network service.

Method

GET

URL

http://nso_host:port/ocnso/1.1/ns/networkServiceId/status

where networkServiceId is the identifier of the network service whose status information you want to retrieve.

Sample Response

{
   "status": "SUCCESS",
   "code": "200",
   "data": {
      "id": "22",
      "name": "Sample NS",
      "descriptorName": "NPaaS_NSD",
      "status": "IN_SERVICE",
      "businessInteractionId": "47",
      "businessInteractionStatus": "COMPLETED",
      "networks": [
         {
            "name": "22_Data_OUT(ONAP21)",
            "status": "REFERENCED"
         },
         {
            "name": "22_Data_IN(ONAP21)",
            "status": "REFERENCED"
         },
         {
            "name": "nfvo-poc3-mgmt(ONAP21)",
            "status": "REFERENCED"
         }
      ],
      "endpoints": [
         {
            "id": "14",
            "name": "NSO_smr2",
            "descriptorName": "NSSubscriber",
            "status": "Referenced"
         }
      ],
      "vnfs": [
         {
            "id": "6",
            "name": "VNF-1_06",
            "status": "Assigned",
            "descriptorName": "Juniper_vSRX_VNFD",
            "vmStatus": "ACTIVE",
            "externalId": "6e941ad7-c45f-4dfb-bf26-2bb50234fadc"
         }
      ]
   }
}

Terminate Network Service

Terminates a network service. This API undeploys the constituent VNFs in the network service and releases all the resources that were allocated to the service.

Method

DELETE

URL

http://nso_host:port/ocnso/1.1/ns/networkServiceId

where networkServiceId is the identifier of the network service that you want to terminate.

Sample Request

This API does not require a request body. Specify the network service identifier in the URL.

Sample Response

{
   "status": "SUCCESS",
   "code": "202",
   "message": "[INV-430907] Network Service termination is in progress.",
   "data": {
      "id": "750001",
      "name": "NSO_NPassService_1",
      "descriptorName": "NPaaS_NSD",
      "status": "PENDING_DISCONNECT",
      "businessInteractionId": "1275001",
      "businessInteractionStatus": "IN_PROGRESS",
      "serviceDeploymentFlavorName": "Juniper",
      "parameters": [
         {
            "name": "vimId",
            "value": "OpenStack"
         },
         {
            "name": "flavorName",
            "value": "Juniper"
         },
         {
            "name": "dataCenterName",
            "value": "OpenStack"
         }
      ],
      "networks": [
         {
            "name": "750001_Data_IN(OpenStack)",
            "status": "PENDING_UNREFERENCE"
         },
         {
            "name": "nfvo-poc3-mgmt(OpenStack)",
            "status": "PENDING_UNREFERENCE"
         },
         {
            "name": "750001_Data_OUT(OpenStack)",
            "status": "PENDING_UNREFERENCE"
         }
      ],
      "vnfs": [
      {
         "id": "675001",
         "name": "Juniper VNF_10",
         "status": "Pending Unassign",
         "descriptorName": "Juniper_vSRX_VNFD",
         "vmStatus": "ACTIVE",
         "version": "1.0",
         "externalId": "db788029-e3cc-4651-bab7-da2511ff6e9b",
         "imageName": "vsrx-12.1X47-D20.7-npaas-v0.3",
         "availabilityZoneName": "CustomerTermination",
         "dataCenterName": "ONAP21",
         "host": "b73c2706400313820fd7db7086d90025ed6c2ab95a558d589c578c0a",
         "deploymentFlavorInfo": {
            "name": "vsrx.small",
            "vcpus": 2,
            "memory": "2 GB",
            "disk": "20 GB"
            }
         }
      ],
      "endpoints": [
         {
            "id": "1",
            "name": "NSO_EP_2",
            "descriptorName": "NSSubscriber",
            "status": "PENDING_UNREFERENCE"
         }
      ]
   }
}

Add VNF to Network Service

Adds new VNFs to an existing network service.

Method

POST

URL

http://nso_host:port/ocnso/1.1/ns/networkServiceId/vnfs

where networkServiceId is the identifier of the existing network service to add the VNF to.

Sample Request

[
   {
      "name": "VNF1",
      "flavorName": "vsrx.small",
      "descriptorName": "Juniper_vSRX_VNFD",
      "version": "1.0"
   }
]

Sample Response

{
   "status": "SUCCESS",
   "code": "202",
   "message": "[INV-430903] Adding VNF to Network Service is in progress.",
   "data": {
      "id": "750001",
      "name": "NSO_NPassService_1",
      "descriptorName": "NPaaS_NSD",
      "status": "IN_SERVICE",
      "vnfs": [
         {
            "id": "675004",
            "name": "VNF1",
            "status": "Pending Assign",
            "descriptorName": "Juniper_vSRX_VNFD"
         }
      ]
   }
}

Terminate VNF in a Network Service

Terminate a VNF in an existing network service and undeploys it in the VIM.

Method

DELETE

URL

http://nso_host:port/ocnso/1.1/ns/networkServiceId/vnfs

where networkServiceId is the identifier of the existing network service for the VNF.

Sample Request

[
  {
    "id": "675004"
  }
]

The input id is the identifier of the VNF to terminate, represented as a logical device in UIM.

Sample Response

{
   "status": "SUCCESS",
   "code": "202",
   "message": "[INV-430904] Deleting VNF from Network Service is in progress.",
   "data": {
      "id": "450002",
      "name": "NSO_NPassService_1",
      "descriptorName": "NPaaS_NSD",
      "status": "IN_SERVICE",
      "vnfs": [
         {
            "id": "675004",
            "name": "VNF1",
            "status": "Pending Unassign",
            "descriptorName": "Juniper_vSRX_VNFD"
         }
      ]
   }
}

Heal VNF

Heals a VNF by either rebooting or replacing the virtual machine on which the VNF is deployed.

Method

POST

URL

http://nso_host:port/ocnso/1.1/vnf/vnfId/heal?action=action

where:

  • vnfId is the required identifier of the VNF.

  • action is the optional action that you want to perform on the VNF. Specify one of the following values:

    • reboot: Reboots the virtual machine on which the VNF is deployed. This is the default action if the action is not specified.

    • replace: Undeploys the existing VNF and deploys a new VNF with the same attributes.

Sample Request

This API does not require a request body.

Sample Response

The following is a sample response when the action parameter in the URL is set to reboot:

{
  "status": "SUCCESS",
  "code": "200",
  "message": "VNF has been rebooted successfully.",
  "data": {
    "id": "4",
    "name": "VNF_05",
    "status": "Assigned",
    "descriptorName": "Juniper_vSRX_VNFD",
    "vmStatus": "REBOOT",
    "version": "1.0",
    "externalId": "8d303b96-4f21-4172-aeaf-1b7ac36970e0",
    "imageName": "vsrx-12.1X47-D20.7-npaas-v0.3",
    "availabilityZoneName": "CustomerTermination",
    "dataCenterName": "ONAP21",
    "host": "b73c2706400313820fd7db7086d90025ed6c2ab95a558d589c578c0a",
    "deploymentFlavorInfo": {
      "name": "vsrx.small",
      "vcpus": 2,
      "memory": "2 GB",
      "disk": "20 GB"
    },
    "connectionPoints": [
      {
        "id": "4-1",
        "name": "CP01",
        "ipAddress": {
          "address": "192.0.2.168",
          "network": "18_Data_IN(ONAP21)",
          "externalId": "2c901de9-c868-401d-9238-4a880dd7c266"
        }
      },
      {
        "id": "4-2",
        "name": "CP02",
        "ipAddress": {
          "address": "192.0.2.34",
          "network": "18_Data_OUT(ONAP21)",
          "externalId": "c7689e70-059a-437f-86d0-a5f773489dea"
        }
      },
      {
        "id": "4-3",
        "name": "CP03",
        "ipAddress": {
          "address": "192.0.2.35",
          "network": "nfvo-poc3-mgmt(ONAP21)",
          "externalId": "7dce6c90-7aae-4c7e-829e-b8a35f806398"
        }
      }
    ]
  }
}

The following is a sample response when the action parameter in the URL is set to replace:

{
  "status": "SUCCESS",
  "code": "202",
  "message": "Replace VNF is in progress.",
  "data": {
    "id": "5",
    "name": "Juniper_vSRX_VNFD_1471",
    "status": "Assigned",
    "descriptorName": "Juniper_vSRX_VNFD",
    "vmStatus": "ACTIVE",
    "version": "1.0",
    "externalId": "5159e90e-4166-4d1e-879f-da1109e8073d",
    "imageName": "vsrx-12.1X47-D20.7-npaas-v0.3",
    "availabilityZoneName": "CustomerTermination",
    "dataCenterName": "ONAP21",
    "host": "b73c2706400313820fd7db7086d90025ed6c2ab95a558d589c578c0a",
    "deploymentFlavorInfo": {
      "name": "vsrx.small",
      "vcpus": 2,
      "memory": "2 GB",
      "disk": "20 GB"
    },
    "connectionPoints": [
      {
        "id": "5-1",
        "name": "CP01",
        "ipAddress": {
          "address": "192.0.2.87",
          "network": "18_Data_IN(ONAP21)",
          "externalId": "b4fe843c-e122-4f44-90ec-6853f6a939de"
        }
      },
      {
        "id": "5-2",
        "name": "CP02",
        "ipAddress": {
          "address": "192.0.2.44",
          "network": "18_Data_OUT(ONAP21)",
          "externalId": "64409652-5f29-45ae-a26e-7170598409a7"
        }
      },
      {
        "id": "5-3",
        "name": "CP03",
        "ipAddress": {
          "address": "192.0.2.4",
          "network": "nfvo-poc3-mgmt(ONAP21)",
          "externalId": "ba07082a-d8f7-48f0-9e7a-d38e8fcd9549"
        }
      }
    ]
  }
}

Configure VNF Capabilities

Configures the capabilities of a VNF in a network service.

Method

POST

URL

http://nso_host:port/ocnso/1.1/vnf/configure

Sample Request

{
   "id": "12345",
   "capabilities": [
      {
         "name": "WebFilter",
         "parameters": [
            {
               "name": "Id",
               "value": "WebFilter-vnfID"
            },
            {
               "name": "Action",
               "value": "Create"
            }
         ],
         "configuration": {
            "items": [
               {
                  "name": "WebFilterRuleset",
                  "parameters": [
                     {
                        "name": "Id",
                        "value": "WebFilter_RulesetvnfID"
                     },
                     {
                        "name": "Action",
                        "value": "Add"
                     }
                  ],
                  "items": [
                     {
                        "name": "WebFilterRule",
                        "parameters": [
                           {
                              "name": "Id",
                              "value": "WebFilter_Rule_UniqueNumber"
                           },
                           {
                              "name": "Action",
                              "value": "Add"
                           },
                           {
                              "name": "BlockURL",
                              "value": "www.example.com"
                           }
                        ]
                     }
                  ]
               }
            ]
         }
      }
   ]
}

Sample Response

{
  "status": "SUCCESS",
  "code": "200",
  "message": "VNF Configuration is in progress",
  "data": {
    "id": "123",
    "name": "Sample_VNF_Name_123",
    "status": "Assigned",
    "descriptorName": "Juniper_vSRX_VNFD",
    "capabilities": [
      {
        "serviceId": "24",
        "serviceName": "Service_Capabilities_24",
        "serviceStatus": "PENDING_ASSIGN",
        "serviceDescriptorName": "Juniper_vSRX_Capabilities_ServiceDescriptor"
      }
    ]
  }
}

Upgrade VNF

Upgrades the software version of a VNF image in a network service.

Method

PUT

URL

http://nso_host:port/ocnso/1.1/vnf/vnfId/upgrade/vnfVersion

where:

  • vnfId is the required identifier of the VNF whose image you want to upgrade.

  • vnfVersion is the required version number of the VNF image that you want to upgrade to. The version number must already exist in the VNF descriptor file.

Sample Request

This API does not require a request body. Specify the VNF identifier and the VNF version number you want to upgrade to in the URL.

Sample Response

{
   "status": "SUCCESS",
   "code": "202",
   "data": {
      "id": "675001",
      "businessInteractionId": "975001"
   }
}

Get VNF Details

Retrieves the details about a VNF given the input VNF identifier.

Method

GET

URL

http://nso_host:port/ocnso/1.1/vnf/vnfId

where vnfId is the identifier of the VNF.

Sample Response

{
   "status": "SUCCESS",
   "code": "200",
   "data": {
      "id": "6",
      "name": "VNF_17_06",
      "status": "Assigned",
      "descriptorName": "Juniper_vSRX_VNFD",
      "vmStatus": "ACTIVE",
      "version": "1.0",
      "externalId": "6e941ad7-c45f-4dfb-bf26-2bb50234fadc",
      "imageName": "vsrx-12.1X47-D20.7-npaas-v0.3",
      "availabilityZoneName": "CustomerTermination",
      "dataCenterName": "ONAP21",
      "host": "b73c2706400313820fd7db7086d90025ed6c2ab95a558d589c578c0a",
      "deploymentFlavorInfo": {
         "name": "vsrx.small",
         "vcpus": 2,
         "memory": "2 GB",
         "disk": "20 GB"
      },
      "connectionPoints": [
         {
            "id": "6-1",
            "name": "CP01",
            "ipAddress": {
               "address": "192.0.2.240",
               "network": "22_Data_IN(ONAP21)",
               "externalId": "c83177ff-632e-4a19-97a7-3539c96c3d4c"
            }
         },
         {
            "id": "6-2",
            "name": "CP02",
            "ipAddress": {
               "address": "192.0.2.241",
               "network": "22_Data_OUT(ONAP21)",
               "externalId": "f937cdc6-11bb-42b7-9b9e-f9685f7b71e2"
            }
         },
         {
            "id": "6-3",
            "name": "CP03",
            "ipAddress": {
               "address": "192.0.2.242",
               "network": "nfvo-poc3-mgmt(ONAP21)",
               "externalId": "c5272351-905d-47ca-b7ac-0f18f01d724d"
            }
         }
      ],
      "capabilities": [
         {
            "serviceId": "24",
            "serviceName": "Capabilities_24",
            "serviceStatus": "PENDING_ASSIGN",
            "serviceDescriptorName": "Juniper_vSRX_Capabilities_ServiceDescriptor",
            "businessInteractionId": "50"
         }
      ]
   }
}

Get VNF Status

Retrieves the status information of a VNF and the VIM given the input VNF identifier.

Method

GET

URL

http://nso_host:port/ocnso/1.1/vnf/vnfId/status

where vnfId is the identifier of the VNF.

Sample Response

{
   "status": "SUCCESS",
   "code": "200",
   "data": {
      "id": "75085",
      "name": "ChkptVNF_CP_B253",
      "status": "Assigned",
      "descriptorName": "Checkpoint_NG_FW_VNFD"
   }
}

Register PNF

Registers or creates a new PNF in inventory.

Method

POST

URL

http://nso_host:port/ocnso/1.1/pnfs

Sample Request

{
  "name": "xtv59",
  "descriptorName": "Cisco_xRV_PNFD",
  "description": "",
  "userName": "user",
  "pswd": "password",
  "sslEnabled": false,
  "sshKey": "7b:ab:75:32:9e:b6:6c:4b:29:dc",
  "ipAddress": "192.0.2.252",
  "management": {
    "id": "225001",
    "name": "ems5111",
    "mgmtInterface": "EMS",
    "descriptorName": "Cisco_xRV_EMS"
  },
  "parameters": []
}

Sample Response

{
  "status": "SUCCESS",
  "code": "200",
  "data": {
    "id": "525003",
    "name": "xtv598912",
    "descriptorName": "Cisco_xRV_PNFD",
    "description": "",
    "ipAddress": "192.0.2.252",
    "userName": "user",
    "pswd": "password",
    "sslEnabled": false,
    "sshKey": "7b:ab:75:32:9e:b6:6c:4b:29:dc",
    "parameters": [
      {}
    ],
    "management": {
      "id": "225001",
      "name": "ems5111",
      "mgmtInterface": "EMS",
      "descriptorName": "Cisco_xRV_EMS"
    }
  }
}

Update PNF

Updates an existing registered PNF. The update persists the new attribute values to the inventory database.

Method

PUT

URL

http://nso_host:port/ocnso/1.1/pnfs/pnfId

where pnfId is the identifier of the PNF that you want to update.

Sample Request

{
   "pswd": "password",
   "sshKey": "7b:ab:75:32:9e:b6:6c:4b:29:dc"
}

Sample Response

{
  "status": "SUCCESS",
  "code": "200",
  "data": {
    "id": "525003",
    "name": "xtv598912",
    "descriptorName": "Cisco_xRV_PNFD",
    "description": "",
    "ipAddress": "192.0.2.252",
    "userName": "user",
    "pswd": "password",
    "sslEnabled": false,
    "sshKey": "7b:ab:75:32:9e:b6:6c:4b:29:dc",
    "parameters": [
      {}
    ]
  }
}

Get PNFs

Retrieves the list of active PNFs that are related to the input PNF descriptor.

Method

GET

URL

http://nso_host:port/ocnso/1.1/pnfs?descriptorName=pnfdName

where pnfdName is the name of the PNF descriptor.

Sample Response

{
   "status": "SUCCESS",
   "code": "200",
   "data": [
      {
         "id": "22001",
         "name": "xtv0018",
         "descriptorName": "Cisco_xRV_PNFD",
         "ipAddress": "192.0.2.228",
         "userName": "user2",
         "pswd": "password",
         "sslEnabled": false,
         "sshKey": "",
         "parameters": [
            {}
         ],
         "management": {}
      },
      {
         "id": "300012",
         "name": "xtv592",
         "descriptorName": "Cisco_xRV_PNFD",
         "ipAddress": "192.0.2.226",
         "userName": "user8",
         "pswd": "password",
         "sslEnabled": false,
         "sshKey": "",
         "parameters": [
            {}
         ],
         "management": {
            "id": "75007",
            "name": "ems363",
            "mgmtInterface": "EMS",
            "descriptorName": "Cisco_xRV_EMS"
         }
      },
      {
         "id": "300016",
         "name": "xtv595",
         "descriptorName": "Cisco_xRV_PNFD",
         "ipAddress": "192.0.2.227",
         "userName": "user5",
         "pswd": "password",
         "sslEnabled": false,
         "sshKey": "",
         "parameters": [
            {}
         ],
         "management": {}
      }
   ]
}

Get PNF Details

Retrieves the details of a PNF given the PNF identifier.

Method

GET

URL

http://<host>:<port>/ocnso/1.1/pnfs/pnfId

where pnfdId is the identifier of the PNF that you want to retrieve.

Sample Response

{
   "status": "SUCCESS",
   "code": "200",
   "data": {
      "id": "525003",
      "name": "xtv59",
      "descriptorName": "Cisco_xRV_PNFD",
      "description": "",
      "ipAddress": "192.0.2.224",
      "userName": "user",
      "pswd": "password",
      "sslEnabled": false,
      "sshKey": "",
      "parameters": [
         {}
      ],
      "management": {
         "id": "225001",
         "name": "ems5111",
         "mgmtInterface": "EMS",
         "descriptorName": "Cisco_xRV_EMS"
      }
   }
}

Unregister PNF

Unregisters an existing PNF. The request deletes the PNF matching the input identifier value from the inventory database.

Method

DELETE

URL

http://nso_host:port/ocnso/1.1/pnfs/pnfId

where pnfId is the identifier of the PNF that you want to unregister.

Sample Request

This API does not require a request body.

Sample Response

{
   "status": "SUCCESS",
   "code": "200",
   "message": "[INV-430925] PNF 300007 is deleted successfully."
}

Register EMS

Register or create a new EMS in inventory.

Method

POST

URL

http://nso_host:port/ocnso/1.1/ems

Sample Request

{
   "name": "ems574",
   "descriptorName": "Cisco_xRV_EMS",
   "description": "Sample Description",
   "userName": "user",
   "pswd": "password",
   "ipAddress": "192.0.2.212",
   "port": "7001",
   "sslEnabled": false,
   "protocol": "REST"
}

Sample Response

{
   "status": "SUCCESS",
   "code": "200",
   "data": {
      "id": "375003",
      "name": "ems574",
      "descriptorName": "Cisco_xRV_EMS",
      "description": "Sample Description",
      "ipAddress": "192.0.2.212",
      "port": "7001",
      "userName": "user",
      "pswd": "password",
      "sslEnabled": false,
      "protocol": "REST",
      "parameters": [
         {}
      ]
   }
}

Update EMS

Updates the details of a registered EMS in inventory. The update persists the new attribute values to the inventory database.

Method

PUT

URL

http://nso_host:port/ocnso/1.1/ems/emsId

where emsId is the identifier of the EMS that you want to update.

Sample Request

{
   "description": "New EMS description",
   "userName": "sys_user_1",
   "pswd": "password"
}

Sample Response

{
  "status": "SUCCESS",
  "code": "200",
  "data": {
    "id": "375003",
    "name": "ems574236312",
    "descriptorName": "Cisco_xRV_EMS",
    "description": "New EMS description",
    "ipAddress": "192.0.2.212",
    "port": "7001",
    "userName": "sys_user_1",
    "pswd": "password",
    "sslEnabled": false,
    "protocol": "REST",
    "parameters": [
      {}
    ]
  }
}

Get EMSs

Retrieves the list of active EMSs that are related to the input EMS descriptor.

Method

GET

URL

http://nso_host:port/ocnso/1.1/ems?descriptorName=emsdName

where emsdName is the name of the EMS descriptor.

Sample Response

{
   "status": "SUCCESS",
   "code": "200",
   "data": [
      {
         "id": "225001",
         "name": "ems5111",
         "descriptorName": "Cisco_xRV_EMS",
         "description": "description",
         "ipAddress": "192.0.2.221",
         "port": "1234",
         "userName": "user",
         "pswd": "password",
         "sslEnabled": false,
         "protocol": "REST",
         "parameters": [
            {}
         ]
      },
      {
         "id": "375001",
         "name": "ems5742",
         "descriptorName": "Cisco_xRV_EMS",
         "description": "description",
         "ipAddress": "192.0.2.222",
         "port": "12345",
         "userName": "user",
         "pswd": "password",
         "sslEnabled": false,
         "protocol": "REST",
         "parameters": [
            {}
         ]
      }
   ]
}

Get EMS Details

Retrieves the details of an EMS given the EMS identifier.

Method

GET

URL

http://<host>:<port>/ocnso/1.1/ems/emsId

where emsId is the identifier of the EMS that you want to retrieve.

Sample Response

{
   "status": "SUCCESS",
   "code": "200",
   "data": {
      "id": "375003",
      "name": "ems5742",
      "descriptorName": "Cisco_xRV_EMS",
      "description": "description",
      "ipAddress": "192.0.2.220",
      "port": "1234",
      "userName": "user11",
      "pswd": "password",
      "sslEnabled": false,
      "protocol": "REST",
      "parameters": [
         {}
      ]
   }
}

Unregister EMS

Unregisters an existing EMS. The request deletes the EMS matching the input identifier value from the inventory database.

Method

DELETE

URL

http://nso_host:port/ocnso/1.1/ems/emsId

where emsId is the identifier of the EMS that you want to unregister.

Sample Request

This API does not require a request body.

Sample Response

{
  "status": "SUCCESS",
  "code": "200",
  "message": "[INV-430936] EMS 75003 is deleted successfully."
}

Get Network Service Descriptors

Retrieves a list of deployed network service descriptors.

Method

GET

URL

http://nso_host:port/ocnso/1.1/nsd

Sample Response

{
   "status": "SUCCESS",
   "code": "200",
   "data": [
      "NPaaS_NSD"
   ]
}

Get Network Service Descriptor Details

Retrieves details about a specified network service descriptor.

Method

GET

URL

http://nso_host:port/ocnso/1.1/nsd/nsdName

where nsdName is the name of the network service descriptor.

Sample Response

{
   "status": "SUCCESS",
   "code": "200",
   "data": {
      "referencedVnfds": [
         "Checkpoint_NG_FW_VNFD",
         "Juniper_vSRX_VNFD"
      ],
      "serviceDeploymentFlavors": [
         {
            "name": "Checkpoint",
            "constituentVNFDs": [
               {
                  "vnfd": {
                     "name": "Checkpoint_NG_FW_VNFD",
                     "vNetworkInterfaces": 0
                  },
                  "assuranceParameters": [
                     {
                        "name": "Low CPU Utilization",
                        "id": "cpu_util",
                        "condition": "eq",
                        "value": "0.0",
                        "action": "heal"
                     },
                     {
                        "name": "High CPU Utilization",
                        "id": "cpu_util",
                        "condition": "gt",
                        "value": "80.0",
                        "action": "scale"
                     }
                  ]
               }
            ]
         },
         {
            "name": "Juniper",
            "constituentVNFDs": [
               {
                  "vnfd": {
                     "name": "Juniper_vSRX_VNFD",
                     "vNetworkInterfaces": 0
                  },
                  "assuranceParameters": [
                     {
                        "name": "Low CPU Utilization",
                        "id": "cpu_util",
                        "condition": "eq",
                        "value": "0.0",
                        "action": "heal"
                     },
                     {
                        "name": "High CPU Utilization",
                        "id": "cpu_util",
                        "condition": "gt",
                        "value": "80.0",
                        "action": "scale"
                     }
                  ]
               }
            ]
         }
      ]
   }
}

Get Network Service Descriptor VNFDs

Retrieves a list of VNF descriptors that a network service descriptor references.

Method

GET

URL

http://nso_host:port/ocnso/1.1/nsd/nsdName/vnfds

where nsdName is the name of the network service descriptor.

Sample Response

{
   "status": "SUCCESS",
   "code": "200",
   "data": [
      "Checkpoint_NG_FW_VNFD",
      "Juniper_vSRX_VNFD"
   ]
}

Get Network Service Descriptor Flavors

Retrieves a list of deployment flavors for a specified network service descriptor.

Method

GET

URL

http://nso_host:port/ocnso/1.1/nsd/nsdName/flavors

where nsdName is the name of the network service descriptor.

Sample Response

{
   "status": "SUCCESS",
   "code": "200",
   "data": [
      {
         "name": "Checkpoint",
         "constituentVNFDs": [
            {
               "vnfd": {
                  "name": "Checkpoint_NG_FW_VNFD",
                  "vNetworkInterfaces": 0
               },
               "assuranceParameters": [
                  {
                     "name": "Low CPU Utilization",
                     "id": "cpu_util",
                     "condition": "eq",
                     "value": "0.0",
                     "action": "heal"
                  },
                  {
                     "name": "High CPU Utilization",
                     "id": "cpu_util",
                     "condition": "gt",
                     "value": "80.0",
                     "action": "scale"
                  }
               ]
            }
         ]
      },
      {
         "name": "Juniper",
         "constituentVNFDs": [
            {
               "vnfd": {
                  "name": "Juniper_vSRX_VNFD",
                  "vNetworkInterfaces": 0
               },
               "assuranceParameters": [
                  {
                     "name": "Low CPU Utilization",
                     "id": "cpu_util",
                     "condition": "eq",
                     "value": "0.0",
                     "action": "heal"
                  },
                  {
                     "name": "High CPU Utilization",
                     "id": "cpu_util",
                     "condition": "gt",
                     "value": "80.0",
                     "action": "scale"
                  }
               ]
            }
         ]
      }
   ]
}

Get VNF Descriptor Details

Retrieves details about a specified VNF descriptor.

Method

GET

URL

http://nso_host:port/ocnso/1.1/vnfd/vnfdName

where vnfdName is the name of the VNF descriptor.

Sample Response

{
   "status": "SUCCESS",
   "code": "200",
   "data": {
      "deploymentFlavors": [
         {
            "name": "vsrx.small",
            "vcpus": 2,
            "memory": 2,
            "disk": 20
         },
         {
            "name": "vsrx.medium",
            "vcpus": 2,
            "memory": 4,
            "disk": 20
         }
      ],
      "connectionPoints": [
         {
            "name": "CP01",
            "isExternal": false,
            "order": -1
         },
         {
            "name": "CP02",
            "isExternal": false,
            "order": -1
         }
      ],
      "versions": [
         {
            "number": "1.0",
            "imageName": "vsrx-12.1X47-D20.7-npaas-v0.3",
            "imageUserName": "",
            "imagePasswd": ""
         },
         {
            "number": "1.1",
            "imageName": "vsrx-12.1X47-D20.7-npaas-v0.4",
            "imageUserName": "",
            "imagePasswd": ""
         }
      ]
   }
}

Get VNF Descriptor Versions

Retrieves the list of VNF versions of the specified VNF descriptor.

Method

GET

URL

http://nso_host:port/ocnso/1.1/vnfd/vnfdName/versions

where vnfdName is the name of the VNF descriptor.

Sample Response

{
   "status": "SUCCESS",
   "code": "200",
   "data": [
      {
         "number": "1.0",
         "imageName": "npaas-srx-poc3-nso",
         "imageUserName": "",
         "imagePasswd": ""
      },
      {
         "number": "1.1",
         "imageName": "npaas-srx-poc3-nso2",
         "imageUserName": "",
         "imagePasswd": ""
      },
      {
         "number": "1.3",
         "imageName": "vsrx-12.1X47-D20.7-npaas-v0.3",
         "imageUserName": "",
         "imagePasswd": ""
      },
      {
         "number": "1.4",
         "imageName": "vsrx-npaas-v0.4",
         "imageUserName": "",
         "imagePasswd": ""
      }
   ]
}

Get VNF Descriptor Flavors

Retrieves the list of VNF flavors of a specified VNF descriptor.

Method

GET

URL

http://nso_host:port/ocnso/1.1/vnfd/vnfdName/flavors

where vnfdName is the name of the VNF descriptor.

Sample Response

{
   "status": "SUCCESS",
   "code": "200",
   "data": [
      {
         "name": "vsrx.small",
         "vcpus": 2,
         "memory": 2,
         "disk": 20
      },
      {
         "name": "vsrx.medium",
         "vcpus": 2,
         "memory": 4,
         "disk": 20
      },
      {
         "name": "m1.medium",
         "vcpus": 2,
         "memory": 4,
         "disk": 40
      }
   ]
}