NorthStar API v2

The Juniper Networks NorthStar API enables querying of topology, management of topology planning parameters, and management of TE-LSP.

NorthStar API v2 is introduced in NorthStar Controller version 2.1, and is not backwards compatible.

This version allows node and link objects to have separate names and ids. You, as the API user, can control names, while ids are under NorthStar control.

In addition, P2MP groups and SRLG/Facilities are newly available through the API, and you can use a notification from NorthStar Controller to dynamically push updates to REST API clients.

You access the API through the NorthStar server (as in northstar.example.net), through HTTP port 8091 and HTTPS port 8443, on base URLs like the following:

  • http://northstar.example.net:8091/NorthStar/API/

  • https://northstar.example.net:8443/NorthStar/API/

All of the NorthStar RESTful APIS use JSON-formatted data that conforms to the JSON-Schema specification. The main schema is topology_v2.json , and it contains links to the other data types. All schema can be found in this archive. Common data types are described in common.json . The following kinds of data and functionality are accessible and can be manipulated using the RESTful API:

  • Nodes: communication endpoints.

  • Links: lines or channels through which data is transmitted.

  • Topology: A collection of nodes and links.

  • TE-LSPs: Traffic-engineered label-switched paths.

  • P2MP groups.

  • SRLGs/Facilities.

  • Path Computation.

  • Cluster health info.

  • NorthStar Controller Management, including High Availability status and prefs, and Transport Controllers

You will find some example code associated with the API reference information. In addition, several examples that illustrate common usage can be found later in this document . In our example requests, we use HTTP, however the same functionality is available over HTTPS.

Notification API

NorthStar provides a socket.io interface on which object updates are sent. The socket.io namespace used is /restNotifications-v2, and the list of events is described in the next table. Unless noted, the new value of an object (or the index of the object upon object removal) is sent in the event.

NorthStar /restNotifications-v2 events
Event Schema Description
nodeEvent topology_v2.json#/definitions/nodeNotification Node event notification.
linkEvent topology_v2.json#/definitions/linkNotification Link event notification.
lspEvent topology_v2.json#/definitions/lspNotification Node event notification.
p2mpEvent topology_v2.json#/definitions/p2mpGroupNotification P2MP group event notification. The lsp in the update are reduced to their lspIndex to reduce the size of the event
facilityEvent topology_v2.json#/definitions/facilityNotification Facility/SRLG event notification.
haEvent topology_v2.json#/definitions/haHostNotification Node state event notification. Only update (no add or remove) events are supported. The notification does not include the list of processes and only contains operational information.
healthEvent topology_v2.json#/definitions/healthNotification Node health event notification. Only update (no add or remove) events are supported. The notifications include utilization of CPU, disk, memory that exceed certain threshold, and processes status.
componentStatus topology_v2.json#/definitions/statusComponentNotification Indicating LSP reconciliation during NS bringup or Switchover.

The following example is a simple python client for receiving all NorthStar Notifications:


                #!/usr/bin/env python
from socketIO_client import SocketIO, BaseNamespace
import requests,json,sys
serverURL = 'https://northstar.example.net'
username = 'user'
password = 'password'
class NSNotificationNamespace(BaseNamespace):
    def on_connect(self):
        print('Connected to %s:8443/restNotifications-v2'%serverURL)
    def on_event(key,name,data):
        print "NorthStar Event: %r,data:%r"%(name,json.dumps(data))
# First use NorhtStar OAuth2 authentication API to get a token
payload = {'grant_type': 'password','username': username,'password': password}
r = requests.post(serverURL + ':8443/oauth2/token',data=payload,verify=False,auth=(username, password))
data =r.json()
if "token_type" not in data or "access_token" not in data:
    print "Error: Invalid credentials"
    sys.exit(1)
headers= {'Authorization': "{token_type} {access_token}".format(**data)}
socketIO = SocketIO(serverURL, 8443,verify=False,headers= headers)
ns = socketIO.define(NSNotificationNamespace, '/restNotifications-v2')
socketIO.wait() 

Topology

Use these endpoints to get lists of tolopogies, nodes and links, and to get component and topology status.

The topology schema is: topology_v2.json . The operations are:

  • https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/topology/topologies [GET: get a list of topologies]

  • https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/topology/<topology-id> [GET: get all Nodes and Links]

  • https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/topology/< topology-id>/status [GET: get status of all NorthStar components]

  • https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/topology/<topology-id>/status/multilayerTopology [GET: get multi-layer topology status]

GET
v2/tenant/​{tenant_id}​/topology
Gets list of topologies

List available topologies.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

Response example:
[
   {
      "topologyIndex": 1,
      "topoObjectType": "topology"
   }
]

This operation does not accept a request body.

GET
v2/tenant/​{tenant_id}​/topology/​{topology_id}​
Get topological elements

Lists topological elements. The example shows three nodes, and two point-to-point links between node 11 and node 8. One node is PCEP-enabled (node 8, name 62.0.0.104) and one node is a pseudo node (node 2). Pseudo nodes do not have router-ids in their respective protocol object and have the pseudoNode attribute set to TRUE.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

topologyId URI xsd:int

A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1.

Response example:
{
    "links": [
        {
            "endA": {
                "TEcolor": 0,
                "TEmetric": 10,
                "bandwidth": 10000000000,
                "ipv4Address": {
                    "address": "62.104.107.1",
                    "topoObjectType": "ipv4"
                },
                "node": {
                    "name": "62.0.0.104",
                    "topoObjectType": "node",
                    "topologyIndex": 1
                },
                "protocols": {
                    "ISIS": {
                        "TEMetric": 10,
                        "level": "L2",
                        "srlgs": [{"srlgValue": 407}]
                    },
                    "RSVP": {"bandwidth": 10000000000}
                },
                "srlgs": [{"srlgValue": 407 }],
                "topoObjectType": "interface",
                "unreservedBw": [9989999616, 9989999616, 9989999616, 9989999616, 9489999872, 9489999872, 9489999872, 9489999872  ]
            },
            "endZ": {
                "TEcolor": 0,
                "TEmetric": 10,
                "bandwidth": 10000000000,
                "ipv4Address": {
                    "address": "62.104.107.2",
                    "topoObjectType": "ipv4"
                },
                "node": {
                    "name": "62.0.0.107",
                    "topoObjectType": "node",
                    "topologyIndex": 1
                },
                "protocols": {
                    "ISIS": {
                        "TEMetric": 10,
                        "level": "L2",
                        "srlgs": [ { "srlgValue": 407 }]
                    },
                    "RSVP": {"bandwidth": 10000000000 }
                },
                "srlgs": [{"srlgValue": 407}],
                "topoObjectType": "interface",
                "unreservedBw": [9989999616, 9989999616, 9989999616, 9989999616, 9989999616, 9989999616,9989999616,9489999872]
            },
            "linkIndex": 6,
            "name": "L62.104.107.1_62.104.107.2",
            "operationalStatus": "Up",
            "topoObjectType": "link",
            "topologyIndex": 1
        },
        {
            "endA": {
                "TEcolor": 0,
                "TEmetric": 10,
                "bandwidth": 10000000000,
                "ipv4Address": {
                    "address": "62.114.117.1",
                    "topoObjectType": "ipv4"
                },
                "node": {
                    "name": "62.0.0.104",
                    "topoObjectType": "node",
                    "topologyIndex": 1
                },
                "protocols": {
                    "ISIS": {
                        "TEMetric": 10,
                        "level": "L2",
                        "srlgs": [{"srlgValue": 407}]
                    },
                    "RSVP": { "bandwidth": 10000000000 }
                },
                "srlgs": [{"srlgValue": 407} ],
                "topoObjectType": "interface",
                "unreservedBw": [ 10000000000, 10000000000, 10000000000, 10000000000, 10000000000, 10000000000, 10000000000, 10000000000]
            },
            "endZ": {
                "TEcolor": 0,
                "TEmetric": 10,
                "bandwidth": 10000000000,
                "ipv4Address": {
                    "address": "62.114.117.2",
                    "topoObjectType": "ipv4"
                },
                "node": {
                    "name": "62.0.0.107",
                    "topoObjectType": "node",
                    "topologyIndex": 1
                },
                "protocols": {
                    "ISIS": {
                        "TEMetric": 10,
                        "level": "L2",
                        "srlgs": [{"srlgValue": 407}]
                    },
                    "RSVP": {"bandwidth": 10000000000}
                },
                "srlgs": [{"srlgValue": 407}],
                "topoObjectType": "interface",
                "unreservedBw": [9600000000,600000000,9600000000,9600000000,9600000000,9600000000,9600000000,9600000000]
            },
            "linkIndex": 7,
            "name": "L62.114.117.1_62.114.117.2",
            "operationalStatus": "Up",
            "topoObjectType": "link",
            "topologyIndex": 1
        }
    ],
    "nodes": [
        {
            "AutonomousSystem": {"asNumber": 62},
            "hostName": "vmx104-62",
            "layer": "IP",
            "name": "62.0.0.104",
            "nodeIndex": 8,
            "protocols": {
                "ISIS": {
                    "TERouterId": "62.0.0.104",
                    "area": "490062",
                    "isoAddress": "0620.0000.0104",
                    "routerId": "62.0.0.104"
                },
                "PCEP": {
                    "pccAddress": "62.0.0.104"
                }
            },
            "topoObjectType": "node",
            "topologyIndex": 1
        },
        {
            "AutonomousSystem": {"asNumber": 62},
            "hostName": "vmx105-62-p107",
            "layer": "IP",
            "name": "62.0.0.107",
            "nodeIndex": 11,
            "protocols": {
                "ISIS": {
                    "TERouterId": "62.0.0.107",
                    "area": "490062",
                    "isoAddress": "0620.0000.0107",
                    "routerId": "62.0.0.107"
                }
            },
            "topoObjectType": "node",
            "topologyIndex": 1
        },
	{
	    "topoObjectType": "node",
	    "topologyIndex": 1,
	    "name": "0620.0000.0101.02",
	    "nodeIndex": 2,
            "AutonomousSystem": {"asNumber": 62},
	    "layer": "IP",
	    "pseudoNode": true,
	    "protocols": {
		"ISIS": { }
	    }
	}
    ],
    "topoObjectType": "topology",
    "topologyIndex": 1
}

This operation does not accept a request body.

DELETE
v2/tenant/​{tenant_id}​/topology/​{topology_id}​
Delete the Topology

Deletes all the topology planned data. The information acquired through BGP-LS reappears immediately.

 
Normal response codes
204
Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

topologyId URI xsd:int

A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1.

This operation does not accept a request body and does not return a response body.

GET
v2/tenant/​{tenant_id}​/topology/​{topology_id}​/status
Get NorthStar Components status

Retrieves status of all NorthStar components.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

topologyId URI xsd:int

A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1.

Response example:

The JSON document returned follows: topology_v2.json#/definitions/componentStatusList .

[
  {
    "component": "PCE",
    "status": "PCE is up.",
    "statusTimestamp": 1468006441666,
    "statusTimestampTime": "2016-07-08T19:34:01.666Z"
  },
  {
    "component": "Topology acquisition",
    "status": "Connected to NTAD: 172.16.16.2 port: 450",
    "statusTimestamp": 1468006441632,
    "statusTimestampTime": "2016-07-08T19:34:01.632Z"
  },
  {
    "component": "Path Computation Server",
    "status": "Active Path Stat: 3 up 0 down 0 detoured 0 being provisioned. Link Stat: 19 up 0 down. Node Stat: 7 active nodes, 0 PCC nodes",
    "statusTimestamp": 1468153795771,
    "statusTimestampTime": "2016-07-10T12:29:55.771Z"
  },
  {
    "component": "Transport Topology acquisition",
    "status": "Up",
    "childs": [
      {
        "status": "Up; current peer: hostname='' ip='192.0.2.10'",
        "statusTimestamp": 1468153845392,
        "statusTimestampTime": "2016-07-10T12:30:45.392062Z",
        "component": "VendorX"
      }
    ],
    "statusTimestamp": 1468153853495,
    "statusTimestampTime": "2016-07-10T12:30:53.495Z"
  }
]

This operation does not accept a request body.

GET
v2/tenant/​{tenant_id}​/topology/​{topology_id}​/status/pce
Get PCEP protocol adapter status

Retrieves the status of the PCEP protocol adapter component.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

topologyId URI xsd:int

A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1.

Response example:
{
    "component": "PCE",
    "status": "PCE is up.",
    "statusTimestamp": 0
}

This operation does not accept a request body.

GET
v2/tenant/​{tenant_id}​/topology/​{topology_id}​/status/topologyAcquisition
Get BGP-LS protocol adapter status

Retrieves the status of the Network Topology Acquisition Daemon (NTAD, BGP-LSP protocol adapter) component.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

topologyId URI xsd:int

A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1.

Response example:
{
    "component": "Topology acquisition",
    "status": "Connected to NTAD: 62.105.199.2 port: 450",
    "statusTimestamp": 1427167092212
}

This operation does not accept a request body.

GET
v2/tenant/​{tenant_id}​/topology/​{topology_id}​/status/pathComputationServer
Get Path Computation Server status

Retrieves the status of the Path Computation Server component.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

topologyId URI xsd:int

A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1.

Response example:
  {
    "component": "Path Computation Server",
    "status": "Active Path Stat: 3 up 0 down 0 detoured 0 being provisioned. Link Stat: 19 up 0 down. Node Stat: 7 active nodes, 0 PCC nodes",
    "statusTimestamp": 1468153795771,
    "statusTimestampTime": "2016-07-10T12:29:55.771Z"
  }

This operation does not accept a request body.

GET
v2/tenant/​{tenant_id}​/topology/​{topology_id}​/status/transportTopologyAcquisition
Get Transport topology acquisition status

Retrieves the status of the Transport Network Topology Acquisition Daemon.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

topologyId URI xsd:int

A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1.

Response example:
  {
    "component": "Transport Topology acquisition",
    "status": "Up",
    "childs": [
      {
        "status": "Up; current peer: hostname='' ip='192.0.2.10'",
        "statusTimestamp": 1468153845392,
        "statusTimestampTime": "2016-07-10T12:30:45.392062Z",
        "component": "VendorX"
      }
    ],
    "statusTimestamp": 1468153853495,
    "statusTimestampTime": "2016-07-10T12:30:53.495Z"
  }

This operation does not accept a request body.

GET
v2/tenant/​{tenant_id}​/topology/​{topology_id}​/status/analyticsCollection
Get Analytics data collection component status

Analytics data collection status.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

topologyId URI xsd:int

A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1.

Response example:
{
    "component": "Analytics data collection",
    "status": "host=pcs-server, status=OK",
    "statusTimestampTime": "2017-07-27T04:09:05.239Z",
    "statusTimestamp": 1501128545239
}

This operation does not accept a request body.

GET
v2/tenant/​{tenant_id}​/topology/​{topology_id}​/status/analyticsDatabase
Get Analytics data collection database status

Analytics data collection database status.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

topologyId URI xsd:int

A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1.

Response example:
{
    "component": "Analytics database",
    "status": "Analytics Database Status:green Cluster NorthStar nodes count:1 (1 data nodes)",
    "statusTimestamp": 1501129483764,
    "statusTimestampTime": "2017-07-27T04:24:43.764Z"
}

This operation does not accept a request body.

Node

Use these endpoints for access to the nodes retrieved through BGP-LS and planned nodes.

The node schema is: node_v2.json . The operations are:

  • https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/topology/<topology-id>/nodes [GET : get all nodes, POST : create a new node]

  • https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/topology/<topology-id>/nodes/search URL parameters : name, AS, queryType=OR [ GET : search nodes (name/as)]

  • https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/topology/<topology-id>/nodes/<nodeIndex> [ GET : get node, POST : modify node , DELETE]

  • https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/topology/<topology-id>/nodes/<nodeIndex>/history [ GET : node history]

GET
v2/tenant/​{tenant_id}​/topology/​{topology_id}​/nodes
Get Nodes

Retrieves the full list of nodes.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

topologyId URI xsd:int

A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1.

Response example:
[
    {
        "AutonomousSystem": {"asNumber": 62},
        "layer": "IP",
        "name": "0620.0000.0101.02",
        "nodeIndex": 2,
        "protocols": {
            "ISIS": {}
        },
	"pseudoNode": true,
        "topoObjectType": "node",
        "topologyIndex": 1
    },
    {
        "AutonomousSystem": {"asNumber": 62},
        "hostName": "vmx101-62",
        "layer": "IP",
        "name": "62.0.0.101",
        "nodeIndex": 1,
        "protocols": {
            "ISIS": {
                "TERouterId": "62.0.0.101",
                "area": "490062",
                "isoAddress": "0620.0000.0101",
                "routerId": "62.0.0.101"
            },
            "PCEP": {
                "pccAddress": "62.0.0.101"
            }
        },
        "topoObjectType": "node",
        "topologyIndex": 1
    },
    {
        "AutonomousSystem": {"asNumber": 62},
        "hostName": "vmx105-62-p105",
        "layer": "IP",
        "name": "62.0.0.105",
        "nodeIndex": 9,
        "protocols": {
            "ISIS": {
                "TERouterId": "62.0.0.105",
                "area": "490062",
                "isoAddress": "0620.0000.0105",
                "routerId": "62.0.0.105"
            }
        },
        "topoObjectType": "node",
        "topologyIndex": 1
    },
    {
        "AutonomousSystem": {"asNumber": 62},
        "hostName": "vmx105-62-p106",
        "layer": "IP",
        "name": "62.0.0.106",
        "nodeIndex": 10,
        "protocols": {
            "ISIS": {
                "TERouterId": "62.0.0.106",
                "area": "490062",
                "isoAddress": "0620.0000.0106",
                "routerId": "62.0.0.106"
            }
        },
        "topoObjectType": "node",
        "topologyIndex": 1
    },
    {
        "AutonomousSystem": {"asNumber": 62},
        "hostName": "vmx105-62-p107",
        "layer": "IP",
        "name": "62.0.0.107",
        "nodeIndex": 11,
        "protocols": {
            "ISIS": {
                "TERouterId": "62.0.0.107",
                "area": "490062",
                "isoAddress": "0620.0000.0107",
                "routerId": "62.0.0.107"
            }
        },
	"topology": {
	    "coordinates": {
		"type": "Point",
		"coordinates": [-0.025,-49.459999]
	    }
	}
        "topoObjectType": "node",
        "topologyIndex": 1
    }
]

This operation does not accept a request body.

POST
v2/tenant/​{tenant_id}​/topology/​{topology_id}​/nodes
Create a planned Node

Creates a planned node. The request must follow the schema: node_v2.json#/definitions/createNode .

 
Normal response codes
201
Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

topologyId URI xsd:int

A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1.

Request example:

The following JSON sample shows the minimum required information to add a planned node. The Following parameters are required:

Create Node Required Attributes
Attribute Type Description Fixed
name string No Node Name
topologyIndex integer Yes 1
topoObjectType string Yes node

The following parameters can be set:

  • Name

  • Autonomous System

  • management address

  • hostName

  • nodeType

  • design paramater: canFail

  • Node coordinates

{
    "name": "PlannedNode",
    "topoObjectType": "node",
    "topologyIndex": 1
}
Response example:
{
    "layer": "IP",
    "name": "PlannedNode",
    "nodeIndex": 12,
    "protocols": {},
    "topoObjectType": "node",
    "topologyIndex": 1
}
GET
v2/tenant/​{tenant_id}​/topology/​{topology_id}​/nodes/search
Search Nodes

Searchs the node list based on the URI parameters. For example, search?name=62.0.0.101 must return one node.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

topologyId URI xsd:int

A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1.

name (Optional) query xsd:string

Filters on node name. The parameter is treated as a regular expression. Simple strings such as 62.0.0.101 are accepted. Javasript regexp (for example, /^62/) is also accepted.

hostName (Optional) query xsd:int

Filters on hostname

AS (Optional) query xsd:int

Filters on AS number

queryType (Optional) query xsd:string

The queryType parameter sets the logical operator to be used between the query parameters. By default, the queryType is AND. If queryType is set to OR, node is included in the result if any of the query parameters matches.

Response example:
[
    {
        "AutonomousSystem": {"asNumber": 62},
        "layer": "IP",
        "name": "0620.0000.0101.02",
        "nodeIndex": 2,
        "protocols": {
            "ISIS": {}
        },
	"pseudoNode": true,
        "topoObjectType": "node",
        "topologyIndex": 1
    },
    {
        "AutonomousSystem": {"asNumber": 62},
        "hostName": "vmx101-62",
        "layer": "IP",
        "name": "62.0.0.101",
        "nodeIndex": 1,
        "protocols": {
            "ISIS": {
                "TERouterId": "62.0.0.101",
                "area": "490062",
                "isoAddress": "0620.0000.0101",
                "routerId": "62.0.0.101"
            },
            "PCEP": {
                "pccAddress": "62.0.0.101"
            }
        },
        "topoObjectType": "node",
        "topologyIndex": 1
    },
    {
        "AutonomousSystem": {"asNumber": 62},
        "hostName": "vmx105-62-p105",
        "layer": "IP",
        "name": "62.0.0.105",
        "nodeIndex": 9,
        "protocols": {
            "ISIS": {
                "TERouterId": "62.0.0.105",
                "area": "490062",
                "isoAddress": "0620.0000.0105",
                "routerId": "62.0.0.105"
            }
        },
        "topoObjectType": "node",
        "topologyIndex": 1
    },
    {
        "AutonomousSystem": {"asNumber": 62},
        "hostName": "vmx105-62-p106",
        "layer": "IP",
        "name": "62.0.0.106",
        "nodeIndex": 10,
        "protocols": {
            "ISIS": {
                "TERouterId": "62.0.0.106",
                "area": "490062",
                "isoAddress": "0620.0000.0106",
                "routerId": "62.0.0.106"
            }
        },
        "topoObjectType": "node",
        "topologyIndex": 1
    },
    {
        "AutonomousSystem": {"asNumber": 62},
        "hostName": "vmx105-62-p107",
        "layer": "IP",
        "name": "62.0.0.107",
        "nodeIndex": 11,
        "protocols": {
            "ISIS": {
                "TERouterId": "62.0.0.107",
                "area": "490062",
                "isoAddress": "0620.0000.0107",
                "routerId": "62.0.0.107"
            }
        },
	"topology": {
	    "coordinates": {
		"type": "Point",
		"coordinates": [-0.025,-49.459999]
	    }
	}
        "topoObjectType": "node",
        "topologyIndex": 1
    }
]
GET
v2/tenant/​{tenant_id}​/topology/​{topology_id}​/nodes/​{nodeIndex}​
Get a single Node

Retrieves details of a node.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

topologyId URI xsd:int

A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1.

nodeIndex URI xsd:int

The unique nodeIndex.

Response example:
{
    "AutonomousSystem": {
        "asNumber": 62
    },
    "hostName": "vmx101-62",
    "layer": "IP",
    "name": "62.0.0.101",
    "nodeIndex": 1,
    "protocols": {
        "ISIS": {
            "TERouterId": "62.0.0.101",
            "area": "490062",
            "isoAddress": "0620.0000.0101",
            "routerId": "62.0.0.101"
        },
        "PCEP": {
            "pccAddress": "62.0.0.101"
        }
    },
    "topoObjectType": "node",
    "topologyIndex": 1
}

This operation does not accept a request body.

PUT
v2/tenant/​{tenant_id}​/topology/​{topology_id}​/nodes/​{nodeIndex}​
Update Node properties

Updates a node. The request must follow the schema: node_v2.json#/definitions/updateNode

 
Normal response codes
202
Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

topologyId URI xsd:int

A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1.

nodeIndex URI xsd:int

The unique nodeIndex.

Request example:
{
    "layer": "IP",
    "name": "PlannedNode",
    "hostName" : "plannedNode.domain.example.com",
    "nodeIndex": 12,
    "protocols": {},
    "topoObjectType": "node",
    "topologyIndex": 1,
}
Response example:
{
    "layer": "IP",
    "name": "PlannedNode",
    "hostName" : "plannedNode.domain.example.com",
    "nodeIndex": 12,
    "protocols": {},
    "topoObjectType": "node",
    "topologyIndex": 1,
}
DELETE
v2/tenant/​{tenant_id}​/topology/​{topology_id}​/nodes/​{nodeIndex}​
Delete a node

Deletes a Node. You cannot delete a live node; it reappears on the next update from Topology server.

 
Normal response codes
204
Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

topologyId URI xsd:int

A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1.

nodeIndex URI xsd:int

The unique nodeIndex.

This operation does not accept a request body and does not return a response body.

GET
v2/tenant/​{tenant_id}​/topology/​{topology_id}​/nodes/​{nodeIndex}​/history
Retrieve the Node event history

Retrieves the history for a Node.

 

The history contains a list of timestamped (unix timestamp) events for the node resource.

Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

topologyId URI xsd:int

A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1.

nodeIndex URI xsd:int

The unique nodeIndex.

start (Optional) query xsd:int

Start timestamp: Include only the events with timestamps beginning at and after the specified starting timestamp.

end (Optional) query xsd:int

End timestamp: Include only the events with timestamps before (but not including) the ending timestamp.

Response example:
[
    {
	"topoObjectType": "node",
	"topologyIndex": 1,
	"name": "62.0.0.101",
	"nodeIndex": 1,
	"AutonomousSystem": {
	    "asNumber": 62
	},
	"layer": "IP",
	"protocols": {
	    "ISIS": {
		"routerId": "62.0.0.101",
		"TERouterId": "62.0.0.101",
		"isoAddress": "0620.0000.0101",
		"area": "490062"
	    }
	},
	"hostName": "vmx101-62",
	"timestamp": 1427130726939
    },
    {
	"topoObjectType": "node",
	"topologyIndex": 1,
	"name": "62.0.0.101",
	"nodeIndex": 1,
	"AutonomousSystem": {
	    "asNumber": 62
	},
	"layer": "IP",
	"protocols": {
	    "ISIS": {
		"routerId": "62.0.0.101",
		"TERouterId": "62.0.0.101",
		"isoAddress": "0620.0000.0101",
		"area": "490062"
	    }
	},
	"hostName": "vmx101-62",
	"timestamp": 1427130727025
    },
    {
	"topoObjectType": "node",
	"topologyIndex": 1,
	"name": "62.0.0.101",
	"nodeIndex": 1,
	"AutonomousSystem": {
	    "asNumber": 62
	},
	"layer": "IP",
	"protocols": {
	    "ISIS": {
		"routerId": "62.0.0.101",
		"TERouterId": "62.0.0.101",
		"isoAddress": "0620.0000.0101",
		"area": "490062"
	    }
	},
	"hostName": "vmx101-62",
	"timestamp": 1427135395317
    },
    {
	"topoObjectType": "node",
	"topologyIndex": 1,
	"name": "62.0.0.101",
	"nodeIndex": 1,
	"AutonomousSystem": {
	    "asNumber": 62
	},
	"layer": "IP",
	"protocols": {
	    "ISIS": {
		"routerId": "62.0.0.101",
		"TERouterId": "62.0.0.101",
		"isoAddress": "0620.0000.0101",
		"area": "490062"
	    }
	},
	"hostName": "CHI",
	"topology": {
	    "coordinates": {
		"type": "Point",
		"coordinates": [
		    4.29167,
		    2.9
		]
	    }
	},
	"timestamp": 1427168112286
    }
]

TE-LSPs

Use these endpoints for access to TE-LSPs and information about them. You can perform searches and work with LSPs individually or in bulk.

The TE-LSP schema is: lsp.json . The operations are:

  • https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/topology/<topology-id>/te-lsps/ [GET : get all te-lsps, POST : create one LSP]

  • https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/topology/<topology-id>/te-lsps/search search parameters : name={nameFilter}, from={fromIpV4} operStatus={operationalStatus} queryType=OR [ GET : search LSPs ()]

  • https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/topology/<topology-id>/te-lsps/bulk Bulk LSP operations: allows to create/update/delete a list of te-lsps [ POST : create LSPs , PUT : update lsps, DELETE : delete]

  • https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/topology/<topology-id>/te-lsps/<lspIndex> [ GET : get te-lsp, PUT : update, DELETE : delete]

  • https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/topology/<topology-id>/te-lsps/<lspIndex>/history [ GET : get historical index of te-lsps]

GET
v2/tenant/​{tenant_id}​/topology/​{topology_id}​/te-lsps
Get TE-LSPs

Retrieve the full list of TE-LSPs.

 

The example contains 10 TE-LSPs:

  • A simple delegated LSP (index 1, named LSP_Node101_Node102). A delegated LSP is configured in the PCC and delegated to NorthStar. NorthStar will control the path and some attributes of the LSP.

  • A delegated LSP with a configured explicit path (index 2, name LSP_101_103). The path name in the router is Path_Node101_Node103_Strict_1.

  • Protected tunnel with a primary and secondary path. The two paths (each represented as a TE-LSP) of a tunnel (index 3 and 4). The tunnel is named LSP_Node102_Node104_with_secondary and each path has a pathName. The tunnel name is used for correlation. One path (index3) is the primary path, while the other is the secondary path. The secondary path will be activated upon primary path failure. LSPs carrying traffic are marked as Active rather than Up.

  • Protected tunnel with a primary and secondary standby path (index 5 and 6). The model is similar to a tunnel with a secondary path, the difference is the standby path has a pathType set to standby and the path is signaled in the control plane (hence its operational Status Up).

  • A set of three TE-LSPs in a TE++ configuration (index 7,8,9). The TE-LSPs are named TEplusplus-Node102-Node103-<index>. Correlation of the entries can be done using the liveProperties, options, TEPlusPlusId. Those LSPs are not delegated to NorthStar, as indicated by the attribute controlType set to PCC. NorthStar will not modify those LSPs.

  • A PCE-Initiated LSP (index 10).

Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

topologyId URI xsd:int

A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1.

Response example:
[
    {
        "lspIndex": 1,
        "name": "LSP_Node101_Node102",
        "from": {"address": "62.0.0.101", "topoObjectType": "ipv4"},
        "to":   {"address": "62.0.0.102", "topoObjectType": "ipv4"},
	"plannedProperties": {
	    "bandwidth": "500M",
	    "setupPriority": 1,
	    "holdingPriority": 1,
	    "adminStatus": "Up",
	    "operationalStatus": "Up",
	    "lastStatusString": "<Active PCS initialization"
	},
        "liveProperties": {
            "adminStatus": "Up",
            "bandwidth": 500000000,
            "ero": [
                {"address": "62.101.105.2", "loose": false, "topoObjectType": "ipv4" },
                {"address": "62.102.105.1", "loose": false, "topoObjectType": "ipv4" }
            ],
            "holdingPriority": 1,
            "metric": 25,
            "rro": [
                {"address": "62.0.0.105",   "protectionAvailable": true, "protectionInUse": false, "topoObjectType": "ipv4"},
                {"address": "62.101.105.2", "protectionAvailable": true, "protectionInUse": false, "topoObjectType": "ipv4"},
                {"address": "62.0.0.102",   "protectionAvailable": false, "protectionInUse": false, "topoObjectType": "ipv4"},
                {"address": "62.102.105.1", "protectionAvailable": false, "protectionInUse": false, "topoObjectType": "ipv4"}
            ],
            "setupPriority": 1
        },
        "controlType": "Delegated",
        "operationalStatus": "Active",
        "pathType": "primary",
        "tunnelId": 56615
    },
    {
        "lspIndex": 2,
        "name": "LP_101_103",
        "from": {"address": "62.0.0.101", "topoObjectType": "ipv4"},
        "to":   {"address": "62.0.0.103", "topoObjectType": "ipv4"},
        "controlType": "Delegated",
	"plannedProperties": {
	    "bandwidth": "10M",
	    "setupPriority": 7,
	    "holdingPriority": 0,
	    "calculatedEro": [
		{"topoObjectType": "ipv4","address": "62.101.105.2","loose": false},
		{"topoObjectType": "ipv4","address": "62.102.105.1","loose": false},
		{"topoObjectType": "ipv4","address": "62.102.106.2","loose": false},
		{"topoObjectType": "ipv4","address": "62.104.106.1","loose": false},
		{"topoObjectType": "ipv4","address": "62.104.107.2","loose": false},
		{"topoObjectType": "ipv4","address": "62.103.107.1","loose": false}
	    ],
	    "pathName": "Path_Node101_Node103_Strict_1",
	    "adminStatus": "Up",
	    "operationalStatus": "Up",
	    "lastStatusString": "<Active PCS initialization"
	},
        "liveProperties": {
            "adminStatus": "Up",
            "bandwidth": 10000000,
            "ero": [
                {"address": "62.101.105.2", "loose": false, "topoObjectType": "ipv4" },
                {"address": "62.105.107.2", "loose": false, "topoObjectType": "ipv4" },
                {"address": "62.103.107.1", "loose": false, "topoObjectType": "ipv4" }
            ],
            "holdingPriority": 0,
            "metric": 40,
            "pathName": "Path_Node101_Node103_Strict_1",
            "rro": [
                {"address": "62.0.0.105",   "protectionAvailable": true, "protectionInUse": false, "topoObjectType": "ipv4"},
                {"address": "62.101.105.2", "protectionAvailable": true, "protectionInUse": false, "topoObjectType": "ipv4"},
                {"address": "62.0.0.107",   "protectionAvailable": false, "protectionInUse": false, "topoObjectType": "ipv4"},
                {"address": "62.105.107.2", "protectionAvailable": false, "protectionInUse": false, "topoObjectType": "ipv4"},
                {"address": "62.0.0.103",   "protectionAvailable": false, "protectionInUse": false, "topoObjectType": "ipv4"},
                {"address": "62.103.107.1", "protectionAvailable": false, "protectionInUse": false, "topoObjectType": "ipv4"}
            ],
            "setupPriority": 7
        },
        "operationalStatus": "Active",
        "pathType": "primary",
        "tunnelId": 56614
    },
    {
        "lspIndex": 3,
        "name": "LSP_Node102_Node104_with_secondary",
        "from": {"address": "62.0.0.102", "topoObjectType": "ipv4"},
        "to":   {"address": "62.0.0.104", "topoObjectType": "ipv4"},
	"plannedProperties": {
	    "bandwidth": "400M",
	    "setupPriority": 5,
	    "holdingPriority": 5,
	    "calculatedEro": [
                {"address": "62.102.106.2", "protectionAvailable": true, "protectionInUse": false, "topoObjectType": "ipv4"},
                {"address": "62.104.106.1", "protectionAvailable": false, "protectionInUse": false, "topoObjectType": "ipv4"}
	    ],
	    "pathName": "102_104_secondary",
	    "adminStatus": "Up",
	    "operationalStatus": "Up",
	    "lastStatusString": "<Active"
	},
        "liveProperties": {
            "adminStatus": "Up",
            "bandwidth": 400000000,
            "ero": [
                {"address": "62.102.106.2", "loose": false, "topoObjectType": "ipv4" },
                {"address": "62.104.106.1", "loose": false, "topoObjectType": "ipv4" }
            ],
            "holdingPriority": 5,
            "metric": 40,
            "pathName": "102_104_primary",
            "rro": [
                {"address": "62.0.0.106", "protectionAvailable": true, "protectionInUse": false, "topoObjectType": "ipv4"},
                {"address": "62.102.106.2", "protectionAvailable": true, "protectionInUse": false, "topoObjectType": "ipv4"},
                {"address": "62.0.0.104", "protectionAvailable": false, "protectionInUse": false, "topoObjectType": "ipv4"},
                {"address": "62.104.106.1", "protectionAvailable": false, "protectionInUse": false, "topoObjectType": "ipv4"}
            ],
            "setupPriority": 5
        },
        "controlType": "Delegated",
        "operationalStatus": "Active",
        "pathType": "primary",
        "tunnelId": 10304
    },
    {
        "lspIndex": 4,
        "name": "LSP_Node102_Node104_with_secondary",
        "from": {"address": "62.0.0.102", "topoObjectType": "ipv4"},
        "to":   {"address": "62.0.0.104", "topoObjectType": "ipv4"},
	"plannedProperties": {
	    "bandwidth": "400M",
	    "setupPriority": 5,
	    "holdingPriority": 5,
	    "calculatedEro": [
		{"address": "62.102.105.2", "protectionAvailable": false, "protectionInUse": false, "topoObjectType": "ipv4"},
		{"address": "62.105.107.2", "protectionAvailable": false, "protectionInUse": false, "topoObjectType": "ipv4"},
		{"address": "62.104.107.1", "protectionAvailable": false, "protectionInUse": false, "topoObjectType": "ipv4"}
	    ],
	    "pathName": "102_104_secondary",
	    "adminStatus": "Up",
	    "operationalStatus": "Down",
	    "lastStatusString": "<Down"
	},	
        "liveProperties": {
            "adminStatus": "Up",
            "bandwidth": 400000000,
            "ero": [],
            "holdingPriority": 5,
            "metric": 0,
            "pathName": "102_104_secondary",
            "rro": [],
            "setupPriority": 5
        },
        "controlType": "Delegated",
        "operationalStatus": "Down",
        "pathType": "secondary",
        "tunnelId": 0
    },
    {
        "lspIndex": 5,
        "name": "LSP_Node102_Node104_with_standby",
        "from": {"address": "62.0.0.102", "topoObjectType": "ipv4"},
        "to":   {"address": "62.0.0.104", "topoObjectType": "ipv4"},
	"plannedProperties": {
	    "bandwidth": "500M",
	    "setupPriority": 7,
	    "holdingPriority": 7,
	    "calculatedEro": [
                {"address": "62.102.106.2", "loose": false, "topoObjectType": "ipv4" },
                {"address": "62.104.106.1", "loose": false, "topoObjectType": "ipv4" }
	    ],
	    "pathName": "102_104_primary",
	    "adminStatus": "Up",
	    "operationalStatus": "Up",
	    "preference": 10,
	    "lastStatusString": "<Active"
	},	
        "liveProperties": {
            "adminStatus": "Up",
            "bandwidth": 500000000,
            "ero": [
                {"address": "62.102.106.2", "loose": false, "topoObjectType": "ipv4" },
                {"address": "62.104.106.1", "loose": false, "topoObjectType": "ipv4" }
            ],
            "holdingPriority": 7,
            "metric": 40,
            "pathName": "102_104_primary",
            "rro": [
                {"address": "62.0.0.106", "protectionAvailable": true, "protectionInUse": false, "topoObjectType": "ipv4"},
                {"address": "62.102.106.2", "protectionAvailable": true, "protectionInUse": false, "topoObjectType": "ipv4"},
                {"address": "62.0.0.104", "protectionAvailable": false, "protectionInUse": false, "topoObjectType": "ipv4"},
                {"address": "62.104.106.1", "protectionAvailable": false, "protectionInUse": false, "topoObjectType": "ipv4"}
            ],
            "setupPriority": 7
        },
        "controlType": "Delegated",
        "operationalStatus": "Active",
        "pathType": "primary",
        "tunnelId": 10305
    },
    {
        "lspIndex": 6,
        "name": "LSP_Node102_Node104_with_standby",
        "from": {"address": "62.0.0.102", "topoObjectType": "ipv4"},
        "to":   {"address": "62.0.0.104", "topoObjectType": "ipv4"},
	"plannedProperties": {
	    "bandwidth": "500M",
	    "setupPriority": 7,
	    "holdingPriority": 7,
	    "calculatedEro": [
                {"address": "62.102.105.2", "loose": false, "topoObjectType": "ipv4" },
                {"address": "62.105.107.2", "loose": false, "topoObjectType": "ipv4" },
                {"address": "62.104.107.1", "loose": false, "topoObjectType": "ipv4" }
	    ],
	    "pathName": "102_104_secondary",
	    "adminStatus": "Up",
	    "operationalStatus": "Up",
	    "lastStatusString": "<Up"
	},
        "liveProperties": {
            "adminStatus": "Up",
            "bandwidth": 500000000,
            "ero": [
                {"address": "62.102.105.2", "loose": false, "topoObjectType": "ipv4" },
                {"address": "62.105.107.2", "loose": false, "topoObjectType": "ipv4" },
                {"address": "62.104.107.1", "loose": false, "topoObjectType": "ipv4" }
            ],
            "holdingPriority": 7,
            "metric": 40,
            "pathName": "102_104_secondary",
            "rro": [
                {"address": "62.0.0.105",   "protectionAvailable": true, "protectionInUse": false, "topoObjectType": "ipv4"},
                {"address": "62.102.105.2", "protectionAvailable": true, "protectionInUse": false, "topoObjectType": "ipv4"},
                {"address": "62.0.0.107",   "protectionAvailable": true, "protectionInUse": false, "topoObjectType": "ipv4"},
                {"address": "62.105.107.2", "protectionAvailable": true, "protectionInUse": false, "topoObjectType": "ipv4"},
                {"address": "62.0.0.104",   "protectionAvailable": false, "protectionInUse": false, "topoObjectType": "ipv4"},
                {"address": "62.104.107.1", "protectionAvailable": false, "protectionInUse": false, "topoObjectType": "ipv4"}
            ],
            "setupPriority": 7
        },
        "controlType": "Delegated",
        "operationalStatus": "Up",
        "pathType": "standby",
        "tunnelId": 10306
    },
    {
	"lspIndex": 7,
	"name": "TEplusplus-Node102-Node103-1",
	"from": { "topoObjectType": "ipv4", "address": "62.0.0.102"
	},
	"to": { "topoObjectType": "ipv4", "address": "62.0.0.103"
	},
	"tunnelId": 10310,	
	"liveProperties": {
	    "bandwidth": 100000000,
	    "metric": 40,
	    "setupPriority": 7,
	    "holdingPriority": 0,
	    "adminStatus": "Up",
	    "ero": [
		{"topoObjectType": "ipv4", "address": "62.102.105.2", "loose": false},
		{"topoObjectType": "ipv4", "address": "62.105.107.2", "loose": false},
		{"topoObjectType": "ipv4", "address": "62.103.107.1", "loose": false}
	    ],
	    "rro": [
		{"topoObjectType": "ipv4", "address": "62.102.105.2","protectionInUse": false, "protectionAvailable": false},
		{"topoObjectType": "ipv4", "address": "62.105.107.2","protectionInUse": false, "protectionAvailable": false},
		{"topoObjectType": "ipv4", "address": "62.103.107.1","protectionInUse": false, "protectionAvailable": false}
	    ],
	    "options": {
		"TEPlusPlusId": 2
	    }
	},
	"operationalStatus": "Active",
	"controlType": "PCC",
	"pathType": "primary"
    },
    {
	"lspIndex": 8,
	"name": "TEplusplus-Node102-Node103-2",
	"from": { "topoObjectType": "ipv4", "address": "62.0.0.102"
	},
	"to": { "topoObjectType": "ipv4", "address": "62.0.0.103"
	},
	"tunnelId": 10311,
	"liveProperties": {
	    "bandwidth": 100000000,
	    "metric": 40,
	    "setupPriority": 7,
	    "holdingPriority": 0,
	    "adminStatus": "Up",
	    "ero": [
		{"topoObjectType": "ipv4", "address": "62.102.105.2", "loose": false},
		{"topoObjectType": "ipv4", "address": "62.105.107.2", "loose": false},
		{"topoObjectType": "ipv4", "address": "62.103.107.1", "loose": false}
	    ],
	    "rro": [
		{"topoObjectType": "ipv4", "address": "62.102.105.2","protectionInUse": false, "protectionAvailable": false},
		{"topoObjectType": "ipv4", "address": "62.105.107.2","protectionInUse": false, "protectionAvailable": false},
		{"topoObjectType": "ipv4", "address": "62.103.107.1","protectionInUse": false, "protectionAvailable": false}
	    ],
	    "options": {
		"TEPlusPlusId": 2
	    }
	},
	"operationalStatus": "Active",
	"controlType": "PCC",
	"pathType": "primary"
    },
    {
	"lspIndex": 9,
	"name": "TEplusplus-Node102-Node103-3",
	"from": { "topoObjectType": "ipv4", "address": "62.0.0.102"
	},
	"to": { "topoObjectType": "ipv4", "address": "62.0.0.103"
	},
	"tunnelId": 10312,
	"liveProperties": {
	    "bandwidth": 100000000,
	    "metric": 40,
	    "setupPriority": 7,
	    "holdingPriority": 0,
	    "adminStatus": "Up",
	    "ero": [
		{"topoObjectType": "ipv4", "address": "62.102.105.2", "loose": false },
		{"topoObjectType": "ipv4", "address": "62.105.107.2", "loose": false},
		{"topoObjectType": "ipv4", "address": "62.103.107.1", "loose": false}
	    ],
	    "rro": [
		{"topoObjectType": "ipv4", "address": "62.102.105.2", "protectionInUse": false, "protectionAvailable": false},
		{"topoObjectType": "ipv4", "address": "62.105.107.2", "protectionInUse": false, "protectionAvailable": false},
		{"topoObjectType": "ipv4", "address": "62.103.107.1", "protectionInUse": false, "protectionAvailable": false}
	    ],
	    "options": {
		"TEPlusPlusId": 2
	    }
	},
	"operationalStatus": "Active",
	"controlType": "PCC",
	"pathType": "primary"
    },
    {
	"lspIndex": 10,
	"name": "PCE_Initiated_LSP",
	"from": { "topoObjectType": "ipv4", "address": "62.0.0.101"},
	"to":   { "topoObjectType": "ipv4", "address": "62.0.0.103"},
	"tunnelId": 56694,
	"plannedProperties": {
	    "bandwidth": "10M",
	    "setupPriority": 7,
	    "holdingPriority": 7,
	    "adminStatus": "Up",
	    "operationalStatus": "Up",
	    "lastStatusString": "<Active"
	},
	"liveProperties": {
	    "bandwidth": 10000000,
	    "metric": 40,
	    "setupPriority": 7,
	    "holdingPriority": 7,
	    "adminStatus": "Up",
	    "ero": [
		{"topoObjectType": "ipv4", "address": "62.101.105.2", "loose": false},
		{"topoObjectType": "ipv4", "address": "62.105.107.2", "loose": false},
		{"topoObjectType": "ipv4", "address": "62.103.107.1", "loose": false}
	    ],
	    "rro": [
		{"topoObjectType": "ipv4", "address": "62.101.105.2","protectionInUse": false, "protectionAvailable": false},
		{"topoObjectType": "ipv4", "address": "62.105.107.2","protectionInUse": false, "protectionAvailable": false},
		{"topoObjectType": "ipv4", "address": "62.103.107.1","protectionInUse": false, "protectionAvailable": false}
	    ]
	},
	"operationalStatus": "Active",
	"controlType": "PCEInitiated",
	"pathType": "primary"
    }
]

This operation does not accept a request body.

POST
v2/tenant/​{tenant_id}​/topology/​{topology_id}​/te-lsps
Create a TE-LSP

Creates a TE-LSP. The accepted data is described by JSON schema lsp.json#/definitions/createLSP .

 
Normal response codes
201
Error response codes
400
Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

topologyId URI xsd:int

A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1.

Request example:

Create LSP Required Attributes.
Attribute Type Description Fixed
name string No Tunnel name
from/address string No Tunnel ingress
to/address string No Tunnel egress

The following example shows the creation of a LSP with a bandwidth of 100M:

{
    "name": "Rest_LSP_1",
    "from": {
	"topoObjectType": "ipv4",
	"address": "62.0.0.101"
    },
    "to": {
	"topoObjectType": "ipv4",
	"address": "62.0.0.103"
    },
    "plannedProperties": {
	"bandwidth": "100M",
	"setupPriority": 7,
	"holdingPriority": 7
    }
}

The following two requests show the creation of primary and standby LSPs. The source (from), destination (to), and name must be the same. The standby (and secondary) LSPs must have a pathName attribute set in order to differentiate them. The Primary LSP may have a pathName set.

{
    "name": "REST_LSP_2", 
    "from": {"address": "62.0.0.102", "topoObjectType": "ipv4"}, 
    "to": {"address": "62.0.0.104", "topoObjectType": "ipv4"},
    "pathType": "primary", 
    "plannedProperties": {	
	"bandwidth": "400M", 
	"setupPriority": 7, 
	"holdingPriority": 7
    }
}
{
    "name": "REST_LSP_2", 
    "from": {"address": "62.0.0.102", "topoObjectType": "ipv4"}, 
    "to": {"address": "62.0.0.104", "topoObjectType": "ipv4"},
    "pathType": "standby", 
    "plannedProperties": {	
	"pathName" : "standby_path_for_second_LSP",
	"bandwidth": "100M", 
	"setupPriority": 7, 
	"holdingPriority": 7
    }
}

The third example shows a request to create an LSP with a loose explicit route. The loose hop must follow a hop; if no other hop can be supplied, usual best practice is use of the ingress node ID.

{

    "name": "REST_LPS_with_explicit_route",
    "from": {"topoObjectType": "ipv4","address": "62.0.0.101"},
    "to":   {"topoObjectType": "ipv4","address": "62.0.0.103"},
    "plannedProperties": {
	"bandwidth": 10000000,
	"setupPriority": 7,
	"holdingPriority": 7,
	"ero" : [
            {"topoObjectType": "ipv4","address": "62.0.0.101","loose": false},
            {"topoObjectType": "ipv4","address": "62.0.0.102","loose": true},
	]
    }
}
Response example:

The following example shows the creation of an LSP with a bandwidth of 100M:

{
    "lspIndex": 20,
    "name": "Rest_LSP_1",
    "from": {"address": "62.0.0.101", "topoObjectType": "ipv4"},
    "to":   {"address": "62.0.0.103", "topoObjectType": "ipv4"},
    "controlType": "PCEInitiated",
    "plannedProperties": {
	"adminStatus": "Up",
	"bandwidth": "100M",
	"setupPriority": 7,
	"holdingPriority": 7,
	"lastStatusString": "Provisioning Order from REST Interface",
	"operationalStatus": "Unknown"
    },
    "operationalStatus": "Unknown",
    "pathType": "primary"
}

If the input does not follow the JSON schema, a response with HTTP Error 400 and the validation errors are returned.

{
  "error": "Input Validation error :Invalid type: number (expected string) /name"
}
GET
v2/tenant/​{tenant_id}​/topology/​{topology_id}​/te-lsps/search
Search LSPs

Searches the LSP list based on the URI parameters. For example, search?name=62.101.105 should return one Link.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

topologyId URI xsd:int

A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1.

name (Optional) query xsd:string

Filters on specified LSP Name, which is treated as a regular expression. Simple strings like LP_ are acceptable, as are javasript regexp (for example, /104$/).

from (Optional) query xsd:string

Filters on the LSP from/address property.

operationalStatus (Optional) query xsd:string

Filters based on the LSP operationalStatus property.

queryType (Optional) query xsd:string

The queryType parameter sets the logical operator to be used between the query parameters. By default, the queryType is AND. If the queryType is set to OR, LSP is included in the result if and when any of the query parameters matches.

Response example:
[
    {
        "lspIndex": 1,
        "name": "LSP_Node101_Node102",
        "from": {"address": "62.0.0.101", "topoObjectType": "ipv4"},
        "to":   {"address": "62.0.0.102", "topoObjectType": "ipv4"},
	"plannedProperties": {
	    "bandwidth": "500M",
	    "setupPriority": 1,
	    "holdingPriority": 1,
	    "adminStatus": "Up",
	    "operationalStatus": "Up",
	    "lastStatusString": "<Active PCS initialization"
	},
        "liveProperties": {
            "adminStatus": "Up",
            "bandwidth": 500000000,
            "ero": [
                {"address": "62.101.105.2", "loose": false, "topoObjectType": "ipv4" },
                {"address": "62.102.105.1", "loose": false, "topoObjectType": "ipv4" }
            ],
            "holdingPriority": 1,
            "metric": 25,
            "rro": [
                {"address": "62.0.0.105",   "protectionAvailable": true, "protectionInUse": false, "topoObjectType": "ipv4"},
                {"address": "62.101.105.2", "protectionAvailable": true, "protectionInUse": false, "topoObjectType": "ipv4"},
                {"address": "62.0.0.102",   "protectionAvailable": false, "protectionInUse": false, "topoObjectType": "ipv4"},
                {"address": "62.102.105.1", "protectionAvailable": false, "protectionInUse": false, "topoObjectType": "ipv4"}
            ],
            "setupPriority": 1
        },
        "controlType": "Delegated",
        "operationalStatus": "Active",
        "pathType": "primary",
        "tunnelId": 56615
    },
    {
        "lspIndex": 2,
        "name": "LP_101_103",
        "from": {"address": "62.0.0.101", "topoObjectType": "ipv4"},
        "to":   {"address": "62.0.0.103", "topoObjectType": "ipv4"},
        "controlType": "Delegated",
	"plannedProperties": {
	    "bandwidth": "10M",
	    "setupPriority": 7,
	    "holdingPriority": 0,
	    "calculatedEro": [
		{"topoObjectType": "ipv4","address": "62.101.105.2","loose": false},
		{"topoObjectType": "ipv4","address": "62.102.105.1","loose": false},
		{"topoObjectType": "ipv4","address": "62.102.106.2","loose": false},
		{"topoObjectType": "ipv4","address": "62.104.106.1","loose": false},
		{"topoObjectType": "ipv4","address": "62.104.107.2","loose": false},
		{"topoObjectType": "ipv4","address": "62.103.107.1","loose": false}
	    ],
	    "pathName": "Path_Node101_Node103_Strict_1",
	    "adminStatus": "Up",
	    "operationalStatus": "Up",
	    "lastStatusString": "<Active PCS initialization"
	},
        "liveProperties": {
            "adminStatus": "Up",
            "bandwidth": 10000000,
            "ero": [
                {"address": "62.101.105.2", "loose": false, "topoObjectType": "ipv4" },
                {"address": "62.105.107.2", "loose": false, "topoObjectType": "ipv4" },
                {"address": "62.103.107.1", "loose": false, "topoObjectType": "ipv4" }
            ],
            "holdingPriority": 0,
            "metric": 40,
            "pathName": "Path_Node101_Node103_Strict_1",
            "rro": [
                {"address": "62.0.0.105",   "protectionAvailable": true, "protectionInUse": false, "topoObjectType": "ipv4"},
                {"address": "62.101.105.2", "protectionAvailable": true, "protectionInUse": false, "topoObjectType": "ipv4"},
                {"address": "62.0.0.107",   "protectionAvailable": false, "protectionInUse": false, "topoObjectType": "ipv4"},
                {"address": "62.105.107.2", "protectionAvailable": false, "protectionInUse": false, "topoObjectType": "ipv4"},
                {"address": "62.0.0.103",   "protectionAvailable": false, "protectionInUse": false, "topoObjectType": "ipv4"},
                {"address": "62.103.107.1", "protectionAvailable": false, "protectionInUse": false, "topoObjectType": "ipv4"}
            ],
            "setupPriority": 7
        },
        "operationalStatus": "Active",
        "pathType": "primary",
        "tunnelId": 56614
    },
    {
        "lspIndex": 3,
        "name": "LSP_Node102_Node104_with_secondary",
        "from": {"address": "62.0.0.102", "topoObjectType": "ipv4"},
        "to":   {"address": "62.0.0.104", "topoObjectType": "ipv4"},
	"plannedProperties": {
	    "bandwidth": "400M",
	    "setupPriority": 5,
	    "holdingPriority": 5,
	    "calculatedEro": [
                {"address": "62.102.106.2", "protectionAvailable": true, "protectionInUse": false, "topoObjectType": "ipv4"},
                {"address": "62.104.106.1", "protectionAvailable": false, "protectionInUse": false, "topoObjectType": "ipv4"}
	    ],
	    "pathName": "102_104_secondary",
	    "adminStatus": "Up",
	    "operationalStatus": "Up",
	    "lastStatusString": "<Active"
	},
        "liveProperties": {
            "adminStatus": "Up",
            "bandwidth": 400000000,
            "ero": [
                {"address": "62.102.106.2", "loose": false, "topoObjectType": "ipv4" },
                {"address": "62.104.106.1", "loose": false, "topoObjectType": "ipv4" }
            ],
            "holdingPriority": 5,
            "metric": 40,
            "pathName": "102_104_primary",
            "rro": [
                {"address": "62.0.0.106", "protectionAvailable": true, "protectionInUse": false, "topoObjectType": "ipv4"},
                {"address": "62.102.106.2", "protectionAvailable": true, "protectionInUse": false, "topoObjectType": "ipv4"},
                {"address": "62.0.0.104", "protectionAvailable": false, "protectionInUse": false, "topoObjectType": "ipv4"},
                {"address": "62.104.106.1", "protectionAvailable": false, "protectionInUse": false, "topoObjectType": "ipv4"}
            ],
            "setupPriority": 5
        },
        "controlType": "Delegated",
        "operationalStatus": "Active",
        "pathType": "primary",
        "tunnelId": 10304
    },
    {
        "lspIndex": 4,
        "name": "LSP_Node102_Node104_with_secondary",
        "from": {"address": "62.0.0.102", "topoObjectType": "ipv4"},
        "to":   {"address": "62.0.0.104", "topoObjectType": "ipv4"},
	"plannedProperties": {
	    "bandwidth": "400M",
	    "setupPriority": 5,
	    "holdingPriority": 5,
	    "calculatedEro": [
		{"address": "62.102.105.2", "protectionAvailable": false, "protectionInUse": false, "topoObjectType": "ipv4"},
		{"address": "62.105.107.2", "protectionAvailable": false, "protectionInUse": false, "topoObjectType": "ipv4"},
		{"address": "62.104.107.1", "protectionAvailable": false, "protectionInUse": false, "topoObjectType": "ipv4"}
	    ],
	    "pathName": "102_104_secondary",
	    "adminStatus": "Up",
	    "operationalStatus": "Down",
	    "lastStatusString": "<Down"
	},	
        "liveProperties": {
            "adminStatus": "Up",
            "bandwidth": 400000000,
            "ero": [],
            "holdingPriority": 5,
            "metric": 0,
            "pathName": "102_104_secondary",
            "rro": [],
            "setupPriority": 5
        },
        "controlType": "Delegated",
        "operationalStatus": "Down",
        "pathType": "secondary",
        "tunnelId": 0
    },
    {
        "lspIndex": 5,
        "name": "LSP_Node102_Node104_with_standby",
        "from": {"address": "62.0.0.102", "topoObjectType": "ipv4"},
        "to":   {"address": "62.0.0.104", "topoObjectType": "ipv4"},
	"plannedProperties": {
	    "bandwidth": "500M",
	    "setupPriority": 7,
	    "holdingPriority": 7,
	    "calculatedEro": [
                {"address": "62.102.106.2", "loose": false, "topoObjectType": "ipv4" },
                {"address": "62.104.106.1", "loose": false, "topoObjectType": "ipv4" }
	    ],
	    "pathName": "102_104_primary",
	    "adminStatus": "Up",
	    "operationalStatus": "Up",
	    "preference": 10,
	    "lastStatusString": "<Active"
	},	
        "liveProperties": {
            "adminStatus": "Up",
            "bandwidth": 500000000,
            "ero": [
                {"address": "62.102.106.2", "loose": false, "topoObjectType": "ipv4" },
                {"address": "62.104.106.1", "loose": false, "topoObjectType": "ipv4" }
            ],
            "holdingPriority": 7,
            "metric": 40,
            "pathName": "102_104_primary",
            "rro": [
                {"address": "62.0.0.106", "protectionAvailable": true, "protectionInUse": false, "topoObjectType": "ipv4"},
                {"address": "62.102.106.2", "protectionAvailable": true, "protectionInUse": false, "topoObjectType": "ipv4"},
                {"address": "62.0.0.104", "protectionAvailable": false, "protectionInUse": false, "topoObjectType": "ipv4"},
                {"address": "62.104.106.1", "protectionAvailable": false, "protectionInUse": false, "topoObjectType": "ipv4"}
            ],
            "setupPriority": 7
        },
        "controlType": "Delegated",
        "operationalStatus": "Active",
        "pathType": "primary",
        "tunnelId": 10305
    },
    {
        "lspIndex": 6,
        "name": "LSP_Node102_Node104_with_standby",
        "from": {"address": "62.0.0.102", "topoObjectType": "ipv4"},
        "to":   {"address": "62.0.0.104", "topoObjectType": "ipv4"},
	"plannedProperties": {
	    "bandwidth": "500M",
	    "setupPriority": 7,
	    "holdingPriority": 7,
	    "calculatedEro": [
                {"address": "62.102.105.2", "loose": false, "topoObjectType": "ipv4" },
                {"address": "62.105.107.2", "loose": false, "topoObjectType": "ipv4" },
                {"address": "62.104.107.1", "loose": false, "topoObjectType": "ipv4" }
	    ],
	    "pathName": "102_104_secondary",
	    "adminStatus": "Up",
	    "operationalStatus": "Up",
	    "lastStatusString": "<Up"
	},
        "liveProperties": {
            "adminStatus": "Up",
            "bandwidth": 500000000,
            "ero": [
                {"address": "62.102.105.2", "loose": false, "topoObjectType": "ipv4" },
                {"address": "62.105.107.2", "loose": false, "topoObjectType": "ipv4" },
                {"address": "62.104.107.1", "loose": false, "topoObjectType": "ipv4" }
            ],
            "holdingPriority": 7,
            "metric": 40,
            "pathName": "102_104_secondary",
            "rro": [
                {"address": "62.0.0.105",   "protectionAvailable": true, "protectionInUse": false, "topoObjectType": "ipv4"},
                {"address": "62.102.105.2", "protectionAvailable": true, "protectionInUse": false, "topoObjectType": "ipv4"},
                {"address": "62.0.0.107",   "protectionAvailable": true, "protectionInUse": false, "topoObjectType": "ipv4"},
                {"address": "62.105.107.2", "protectionAvailable": true, "protectionInUse": false, "topoObjectType": "ipv4"},
                {"address": "62.0.0.104",   "protectionAvailable": false, "protectionInUse": false, "topoObjectType": "ipv4"},
                {"address": "62.104.107.1", "protectionAvailable": false, "protectionInUse": false, "topoObjectType": "ipv4"}
            ],
            "setupPriority": 7
        },
        "controlType": "Delegated",
        "operationalStatus": "Up",
        "pathType": "standby",
        "tunnelId": 10306
    },
    {
	"lspIndex": 7,
	"name": "TEplusplus-Node102-Node103-1",
	"from": { "topoObjectType": "ipv4", "address": "62.0.0.102"
	},
	"to": { "topoObjectType": "ipv4", "address": "62.0.0.103"
	},
	"tunnelId": 10310,	
	"liveProperties": {
	    "bandwidth": 100000000,
	    "metric": 40,
	    "setupPriority": 7,
	    "holdingPriority": 0,
	    "adminStatus": "Up",
	    "ero": [
		{"topoObjectType": "ipv4", "address": "62.102.105.2", "loose": false},
		{"topoObjectType": "ipv4", "address": "62.105.107.2", "loose": false},
		{"topoObjectType": "ipv4", "address": "62.103.107.1", "loose": false}
	    ],
	    "rro": [
		{"topoObjectType": "ipv4", "address": "62.102.105.2","protectionInUse": false, "protectionAvailable": false},
		{"topoObjectType": "ipv4", "address": "62.105.107.2","protectionInUse": false, "protectionAvailable": false},
		{"topoObjectType": "ipv4", "address": "62.103.107.1","protectionInUse": false, "protectionAvailable": false}
	    ],
	    "options": {
		"TEPlusPlusId": 2
	    }
	},
	"operationalStatus": "Active",
	"controlType": "PCC",
	"pathType": "primary"
    },
    {
	"lspIndex": 8,
	"name": "TEplusplus-Node102-Node103-2",
	"from": { "topoObjectType": "ipv4", "address": "62.0.0.102"
	},
	"to": { "topoObjectType": "ipv4", "address": "62.0.0.103"
	},
	"tunnelId": 10311,
	"liveProperties": {
	    "bandwidth": 100000000,
	    "metric": 40,
	    "setupPriority": 7,
	    "holdingPriority": 0,
	    "adminStatus": "Up",
	    "ero": [
		{"topoObjectType": "ipv4", "address": "62.102.105.2", "loose": false},
		{"topoObjectType": "ipv4", "address": "62.105.107.2", "loose": false},
		{"topoObjectType": "ipv4", "address": "62.103.107.1", "loose": false}
	    ],
	    "rro": [
		{"topoObjectType": "ipv4", "address": "62.102.105.2","protectionInUse": false, "protectionAvailable": false},
		{"topoObjectType": "ipv4", "address": "62.105.107.2","protectionInUse": false, "protectionAvailable": false},
		{"topoObjectType": "ipv4", "address": "62.103.107.1","protectionInUse": false, "protectionAvailable": false}
	    ],
	    "options": {
		"TEPlusPlusId": 2
	    }
	},
	"operationalStatus": "Active",
	"controlType": "PCC",
	"pathType": "primary"
    },
    {
	"lspIndex": 9,
	"name": "TEplusplus-Node102-Node103-3",
	"from": { "topoObjectType": "ipv4", "address": "62.0.0.102"
	},
	"to": { "topoObjectType": "ipv4", "address": "62.0.0.103"
	},
	"tunnelId": 10312,
	"liveProperties": {
	    "bandwidth": 100000000,
	    "metric": 40,
	    "setupPriority": 7,
	    "holdingPriority": 0,
	    "adminStatus": "Up",
	    "ero": [
		{"topoObjectType": "ipv4", "address": "62.102.105.2", "loose": false },
		{"topoObjectType": "ipv4", "address": "62.105.107.2", "loose": false},
		{"topoObjectType": "ipv4", "address": "62.103.107.1", "loose": false}
	    ],
	    "rro": [
		{"topoObjectType": "ipv4", "address": "62.102.105.2", "protectionInUse": false, "protectionAvailable": false},
		{"topoObjectType": "ipv4", "address": "62.105.107.2", "protectionInUse": false, "protectionAvailable": false},
		{"topoObjectType": "ipv4", "address": "62.103.107.1", "protectionInUse": false, "protectionAvailable": false}
	    ],
	    "options": {
		"TEPlusPlusId": 2
	    }
	},
	"operationalStatus": "Active",
	"controlType": "PCC",
	"pathType": "primary"
    },
    {
	"lspIndex": 10,
	"name": "PCE_Initiated_LSP",
	"from": { "topoObjectType": "ipv4", "address": "62.0.0.101"},
	"to":   { "topoObjectType": "ipv4", "address": "62.0.0.103"},
	"tunnelId": 56694,
	"plannedProperties": {
	    "bandwidth": "10M",
	    "setupPriority": 7,
	    "holdingPriority": 7,
	    "adminStatus": "Up",
	    "operationalStatus": "Up",
	    "lastStatusString": "<Active"
	},
	"liveProperties": {
	    "bandwidth": 10000000,
	    "metric": 40,
	    "setupPriority": 7,
	    "holdingPriority": 7,
	    "adminStatus": "Up",
	    "ero": [
		{"topoObjectType": "ipv4", "address": "62.101.105.2", "loose": false},
		{"topoObjectType": "ipv4", "address": "62.105.107.2", "loose": false},
		{"topoObjectType": "ipv4", "address": "62.103.107.1", "loose": false}
	    ],
	    "rro": [
		{"topoObjectType": "ipv4", "address": "62.101.105.2","protectionInUse": false, "protectionAvailable": false},
		{"topoObjectType": "ipv4", "address": "62.105.107.2","protectionInUse": false, "protectionAvailable": false},
		{"topoObjectType": "ipv4", "address": "62.103.107.1","protectionInUse": false, "protectionAvailable": false}
	    ]
	},
	"operationalStatus": "Active",
	"controlType": "PCEInitiated",
	"pathType": "primary"
    }
]
GET
v2/tenant/​{tenant_id}​/topology/​{topology_id}​/te-lsps/​{lspIndex}​
Get a single TE-LSP

Retrieves the details for a TE-LSP.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

topologyId URI xsd:int

A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1.

lspIndex URI xsd:int

The unique lspIndex.

Response example:
{
    "lspIndex": 2,
    "name": "LP_101_103",
    "from": {"address": "62.0.0.101", "topoObjectType": "ipv4"},
    "to":   {"address": "62.0.0.103", "topoObjectType": "ipv4"},
    "controlType": "Delegated",
    "plannedProperties": {
	"bandwidth": "10M",
	"setupPriority": 7,
	"holdingPriority": 0,
	"calculatedEro": [
	    {"topoObjectType": "ipv4","address": "62.101.105.2","loose": false},
	    {"topoObjectType": "ipv4","address": "62.102.105.1","loose": false},
	    {"topoObjectType": "ipv4","address": "62.102.106.2","loose": false},
	    {"topoObjectType": "ipv4","address": "62.104.106.1","loose": false},
	    {"topoObjectType": "ipv4","address": "62.104.107.2","loose": false},
	    {"topoObjectType": "ipv4","address": "62.103.107.1","loose": false}
	],
	"pathName": "Path_Node101_Node103_Strict_1",
	"adminStatus": "Up",
	"operationalStatus": "Up",
	"lastStatusString": "<Active PCS initialization"
    },
    "liveProperties": {
        "adminStatus": "Up",
        "bandwidth": 10000000,
        "ero": [
            {"address": "62.101.105.2", "loose": false, "topoObjectType": "ipv4" },
            {"address": "62.105.107.2", "loose": false, "topoObjectType": "ipv4" },
            {"address": "62.103.107.1", "loose": false, "topoObjectType": "ipv4" }
        ],
        "holdingPriority": 0,
        "metric": 40,
        "pathName": "Path_Node101_Node103_Strict_1",
        "rro": [
            {"address": "62.0.0.105",   "protectionAvailable": true, "protectionInUse": false, "topoObjectType": "ipv4"},
            {"address": "62.101.105.2", "protectionAvailable": true, "protectionInUse": false, "topoObjectType": "ipv4"},
            {"address": "62.0.0.107",   "protectionAvailable": false, "protectionInUse": false, "topoObjectType": "ipv4"},
            {"address": "62.105.107.2", "protectionAvailable": false, "protectionInUse": false, "topoObjectType": "ipv4"},
            {"address": "62.0.0.103",   "protectionAvailable": false, "protectionInUse": false, "topoObjectType": "ipv4"},
            {"address": "62.103.107.1", "protectionAvailable": false, "protectionInUse": false, "topoObjectType": "ipv4"}
        ],
        "setupPriority": 7
    },
    "operationalStatus": "Active",
    "pathType": "primary",
    "tunnelId": 56614
}

This operation does not accept a request body.

PUT
v2/tenant/​{tenant_id}​/topology/​{topology_id}​/te-lsps/​{lspIndex}​
Update TE-LSP

Updates a TE-LSP. The accepted data is described by JSON schema lsp.json#/definitions/updateLSP .

 
Normal response codes
202
Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

topologyId URI xsd:int

A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1.

lspIndex URI xsd:int

The unique lspIndex.

Request example:

The update does accept the same parameters as the create, except for some parameters which cannot be modified (from, to, name, pathName, pathType).

{
    "lspIndex": 31,
    "name": "Rest_LSP_1",
    "from": {"topoObjectType": "ipv4","address": "62.0.0.101" },
    "to": {"topoObjectType": "ipv4","address": "62.0.0.103"  },
    "pathType": "primary",
    "plannedProperties": {
	"bandwidth": "15M",
	"setupPriority": 7,
	"holdingPriority": 7	
    }
}
Response example:
{
    "lspIndex": 20,
    "name": "Rest_LSP_1",
    "from": {"address": "62.0.0.101", "topoObjectType": "ipv4"},
    "to":   {"address": "62.0.0.103", "topoObjectType": "ipv4"},
    "controlType": "PCEInitiated",
    "plannedProperties": {
	"adminStatus": "Up",
	"bandwidth": "100M",
	"setupPriority": 7,
	"holdingPriority": 7,
	"lastStatusString": "Provisioning Order from REST Interface",
	"operationalStatus": "Unknown"
    },
    "operationalStatus": "Unknown",
    "pathType": "primary"
}
DELETE
v2/tenant/​{tenant_id}​/topology/​{topology_id}​/te-lsps/​{lspIndex}​
Delete a TE-lsp

Requests a TE-LSP to be deleted. This is possible only for PCE-Initiated LSPs. PCC-Controlled and PCC-Delegated LSPs cannot be deleted from NorthStar. They must be deleted in the node.

 
Normal response codes
204
Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

topologyId URI xsd:int

A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1.

lspIndex URI xsd:int

The unique lspIndex.

This operation does not accept a request body and does not return a response body.

POST
v2/tenant/​{tenant_id}​/topology/​{topology_id}​/te-lsps/bulk
Create a list of TE-LSPs

Creates several TE-LSPs. The accepted data is described by JSON schema lsp.json#/definitions/createLSPOrResponseList .

 
Normal response codes
201
Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

topologyId URI xsd:int

A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1.

Request example:

The request must contain a list of LSPs to be created. The LSP parameters are the same as individual LSP creation. The following example shows the creation of two diverse LSPs at the same time.

[
    {
        "name": "REST_LSP_DIVERSE_1", 
        "from": {"address": "62.0.0.102", "topoObjectType": "ipv4"}, 
        "to":   {"address": "62.0.0.104", "topoObjectType": "ipv4"},
        "plannedProperties": {	
	    "bandwidth": "100M", 
	    "setupPriority": 7, 
	    "holdingPriority": 7,
            "design" : {"diversityLevel":"srlg","diversityGroup":"DiverseGroup1"}
        }
    },
    {
        "name": "REST_LSP_DIVERSE_2", 
        "from": {"address": "62.0.0.103", "topoObjectType": "ipv4"}, 
        "to":   {"address": "62.0.0.101", "topoObjectType": "ipv4"},
        "plannedProperties": {	
	    "bandwidth": "100M", 
	    "setupPriority": 7, 
	    "holdingPriority": 7,
            "design" : {"diversityLevel":"srlg","diversityGroup":"DiverseGroup1"}
        }
    }
]
Response example:
[
    {
        "name": "REST_LSP_DIVERSE_1", 
        "from": {"address": "62.0.0.102", "topoObjectType": "ipv4"}, 
        "to":   {"address": "62.0.0.104", "topoObjectType": "ipv4"},
        "lspIndex": 21,
        "plannedProperties": {	
	    "bandwidth": "100M", 
	    "setupPriority": 7, 
	    "holdingPriority": 7,
            "adminStatus": "Up",
            "operationalStatus": "Unknown",
            "design" : {"diversityLevel":"srlg","diversityGroup":"DiverseGroup1"},
            "lastStatusString": ">Provisioning Order from REST Interface"
        },
        "controlType": "PCEInitiated",
        "operationalStatus": "Unknown"
    },
    {
        "name": "REST_LSP_DIVERSE_2", 
        "from": {"address": "62.0.0.103", "topoObjectType": "ipv4"}, 
        "to":   {"address": "62.0.0.101", "topoObjectType": "ipv4"},
        "lspIndex": 22,       
        "plannedProperties": {	
	    "bandwidth": "100M", 
	    "setupPriority": 7, 
	    "holdingPriority": 7,
            "adminStatus": "Up",
            "operationalStatus": "Unknown",
            "design" : {"diversityLevel":"srlg","diversityGroup":"DiverseGroup1"},
            "lastStatusString": ">Provisioning Order from REST Interface"
        },
        "controlType": "PCEInitiated",
        "operationalStatus": "Unknown"
    }
]

PUT
v2/tenant/​{tenant_id}​/topology/​{topology_id}​/te-lsps/bulk
Update a list of TE-LSPs

Updates several TE-LSPs. The accepted data is described by JSON schema lsp.json#/definitions/lspListUpdate .

 
Normal response codes
202
Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

topologyId URI xsd:int

A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1.

Request example:

The bulk update accepts a list of LSP updates. The same parameter and logic as for the single LSP update apply to each entry.

Response example:

The response contains a list of individual update responses (see TE-LSP update).

DELETE
v2/tenant/​{tenant_id}​/topology/​{topology_id}​/te-lsps/bulk
Delete a list of TE-LSPs

Requests a list of TE-LSPs to be deleted. This is possible only for PCE-Initiated LSPs. PCC-Controlled and PCC-Delegated LSPs cannot be deleted from NorthStar. They must be deleted in the node.

 
Normal response codes
204
Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

topologyId URI xsd:int

A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1.

This operation does not accept a request body and does not return a response body.

GET
v2/tenant/​{tenant_id}​/topology/​{topology_id}​/te-lsps/​{lspIndex}​/history
Retrieve the LSP event history

Retrieves the history for a TE-LSP.

 

The history contains a list of timestamped (unix timestamp) events for the LSP resource.

Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

topologyId URI xsd:int

A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1.

lspIndex URI xsd:int

The unique lspIndex.

start (Optional) query xsd:int

Start timestamp: Include only the events with timestamps beginning at and after the specified starting timestamp.

end (Optional) query xsd:int

End timestamp: Include only the events with timestamps before (but not including) the ending timestamp.

Response example:
[
    {
	"plannedProperties": {
	    "bandwidth": "0",
	    "setupPriority": 7,
	    "holdingPriority": 0,
	    "adminStatus": "Up",
	    "operationalStatus": "Down"
	},
	"controlType": "PCC",
	"eventStatusString": "<Down",
	"timestamp": 1427128941053,
	"operation": "State Change"
    },
    {
	"plannedProperties": {
	    "bandwidth": "0",
	    "setupPriority": 7,
	    "holdingPriority": 0,
	    "adminStatus": "Up",
	    "operationalStatus": "Down"
	},
	"controlType": "PCC",
	"eventStatusString": "<Down PCS initialization",
	"timestamp": 1427128941057,
	"operation": "State Change"
    },
    {
	"plannedProperties": {
	    "bandwidth": "10M",
	    "setupPriority": 7,
	    "holdingPriority": 0,
	    "pathName": "VMX103_VMX101",
	    "adminStatus": "Up",
	    "operationalStatus": "Down"
	},
	"controlType": "Delegated",
	"eventStatusString": "reprovision:provisioning new delegated lsp",
	"timestamp": 1427132006714,
	"operation": "State Change"
    },
    {
	"plannedProperties": {
	    "bandwidth": "10M",
	    "setupPriority": 7,
	    "holdingPriority": 0,
	    "pathName": "Node103_Node101",
	    "adminStatus": "Up",
	    "operationalStatus": "Down"
	},
	"controlType": "Delegated",
	"eventStatusString": "Down",
	"timestamp": 1427132006720,
	"operation": "State Change"
    },
    {
	"plannedProperties": {
	    "bandwidth": "10M",
	    "setupPriority": 7,
	    "holdingPriority": 0,
	    "pathName": "Node103_Node101",
	    "adminStatus": "Up",
	    "operationalStatus": "Down"
	},
	"controlType": "Delegated",
	"eventStatusString": "Down",
	"timestamp": 1427132006780,
	"operation": "State Change"
    },
    {
	"plannedProperties": {
	    "bandwidth": "10M",
	    "setupPriority": 7,
	    "holdingPriority": 0,
	    "pathName": "Node103_Node101",
	    "adminStatus": "Up",
	    "operationalStatus": "Up"
	},
	"controlType": "Delegated",
	"eventStatusString": "Up",
	"timestamp": 1427132007053,
	"operation": "State Change"
    },
    {
	"plannedProperties": {
	    "bandwidth": "10M",
	    "setupPriority": 7,
	    "holdingPriority": 0,
	    "pathName": "Node103_Node101",
	    "adminStatus": "Up",
	    "operationalStatus": "Up"
	},
	"controlType": "Delegated",
	"eventStatusString": "Active",
	"timestamp": 1427132007069,
	"operation": "State Change"
    },
    {
	"plannedProperties": {
	    "bandwidth": "10M",
	    "setupPriority": 7,
	    "holdingPriority": 0,
	    "pathName": "Node103_Node101",
	    "adminStatus": "Up",
	    "operationalStatus": "Up"
	},
	"controlType": "Delegated",
	"eventStatusString": "Active",
	"timestamp": 1427132009764,
	"operation": "State Change"
    },
    {
	"plannedProperties": {
	    "bandwidth": "10M",
	    "setupPriority": 7,
	    "holdingPriority": 0,
	    "pathName": "Node103_Node101",
	    "adminStatus": "Up",
	    "operationalStatus": "Up"
	},
	"controlType": "Delegated",
	"eventStatusString": "Active",
	"timestamp": 1427135406437,
	"operation": "State Change"
    },
    {
	"plannedProperties": {
	    "bandwidth": "10M",
	    "setupPriority": 7,
	    "holdingPriority": 0,
	    "pathName": "Path_Node101_Node103_Strict_1",
	    "adminStatus": "Up",
	    "operationalStatus": "Down"
	},
	"controlType": "Delegated",
	"eventStatusString": "reprovision:Provision using planned data",
	"timestamp": 1427167092366,
	"operation": "State Change"
    },
    {
	"plannedProperties": {
	    "bandwidth": "10M",
	    "setupPriority": 7,
	    "holdingPriority": 0,
	    "pathName": "Path_Node101_Node103_Strict_1",
	    "adminStatus": "Up",
	    "operationalStatus": "Down"
	},
	"controlType": "Delegated",
	"eventStatusString": "Down, PCS initialization",
	"timestamp": 1427167092372,
	"operation": "State Change"
    },
    {
	"plannedProperties": {
	    "bandwidth": "10M",
	    "setupPriority": 7,
	    "holdingPriority": 0,
	    "pathName": "Path_Node101_Node103_Strict_1",
	    "adminStatus": "Up",
	    "operationalStatus": "Down"
	},
	"controlType": "Delegated",
	"eventStatusString": "Down",
	"timestamp": 1427167092475,
	"operation": "State Change"
    },
    {
	"plannedProperties": {
	    "bandwidth": "10M",
	    "setupPriority": 7,
	    "holdingPriority": 0,
	    "pathName": "Path_Node101_Node103_Strict_1",
	    "adminStatus": "Up",
	    "operationalStatus": "Down"
	},
	"controlType": "Delegated",
	"eventStatusString": "Down",
	"timestamp": 1427167092516,
	"operation": "State Change"
    },
    {
	"plannedProperties": {
	    "bandwidth": "10M",
	    "setupPriority": 7,
	    "holdingPriority": 0,
	    "pathName": "Path_Node101_Node103_Strict_1",
	    "adminStatus": "Up",
	    "operationalStatus": "Up"
	},
	"controlType": "Delegated",
	"eventStatusString": "Active",
	"timestamp": 1427167092865,
	"operation": "State Change"
    }
]

Device Profiles

Use these endpoints to work with device profiles.

The device profile schema is: deviceProfile.json . The operations are:

  • https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/topology/<topology-id>/netconf/profiles/ [GET : get all device profile, POST : create new device profiles, PUT: update device profiles, DELETE : delete device profiles]

  • https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/topology/<topology-id>/te-lsps/<lspIndex> [ GET : get te-lsp, PUT : update, DELETE : delete]

  • https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/topology/<topology-id>/netconf/netconfCollection/liveNetwork [ POST: create a collection job with requested device profile ids ]

  • https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/topology/<topology-id>/netconf/netconfCollection/<id> [ GET: get a collection job status with requested job id ]

GET
v2/tenant/​{tenant_id}​/netconf/profiles
Get all Profiles

Gets all profiles.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

Response example:

The JSON document returned follows: deviceProfile.json#/definitions/profileList .

This operation does not accept a request body.

POST
v2/tenant/​{tenant_id}​/netconf/profiles
Create new profiles

Creates new profiles.

 
Normal response codes
201
Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

Request example:

The JSON document request follows: deviceProfile.json#/definitions/profileList .

Response example:

The JSON document returned follows: deviceProfile.json#/definitions/profileList

PUT
v2/tenant/​{tenant_id}​/netconf/profiles
Update profiles

Updates profiles.

 
Normal response codes
202
Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

Request example:

The JSON document request follows: deviceProfile.json#/definitions/profileList and must contain an id in each profile: deviceProfile.json#/definitions/profile

Response example:

The JSON document returned follows: deviceProfile.json#/definitions/profileList

DELETE
v2/tenant/​{tenant_id}​/netconf/profiles
Delete profiles

Deletes profiles.

 
Normal response codes
204
Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

Request example:

The JSON document request follows: deviceProfile.json#/definitions/profileList and must contain an id in each profile: deviceProfile.json#/definitions/profile

Response example:

The JSON document returned follows: deviceProfile.json#/definitions/profileList

POST
v2/tenant/​{tenant_id}​/netconf/netconfCollection/liveNetwork
Create a new collect

Creates a new collection.

 
Normal response codes
201
Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

Request example:

The JSON document request follows: deviceProfile.json#/definitions/startCollection .

Response example:

The JSON document returned follows: deviceProfile.json#/definitions/collectionStatus .

GET
v2/tenant/​{tenant_id}​/netconf/netconfCollection/liveNetwork/​{id}​
Get the status of a collection job

Gets the status of a collection job.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

collectionJobId URI xsd:int

The unique identifier of the collection job.

Response example:

The JSON document returned follows: deviceProfile.json#/definitions/collectionStatus .

This operation does not accept a request body.

Facilities

Use these endpoints to work with facilities.

The facilities schema is: facilities.json . The operations are:

  • https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/topology/<topology-id>/facilities/ [GET : get all facilities]

  • https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/topology/<topology-id>/te-lsps/<facilityIndex> [ GET : get a facilitity, PUT : update, DELETE: delete]

GET
v2/tenant/​{tenant_id}​/topology/​{topology_id}​/facilities

Gets all Facilities.

 

The JSON document returned follows: facilities.json#/definitions/facilityList .

Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

topologyId URI xsd:int

A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1.

This operation does not accept a request body and does not return a response body.

GET
v2/tenant/​{tenant_id}​/topology/​{topology_id}​/facilities/​{facilityIndex}​

Gets a Facility.

 

The JSON document returned follows: facilities.json#/definitions/facility .

Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

topologyId URI xsd:int

A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1.

facilityIndex URI xsd:int

Program ID for facility.

This operation does not accept a request body and does not return a response body.

v2/tenant/​{tenant_id}​/topology/​{topology_id}​/facilities/​{facilityIndex}​
 
Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

topologyId URI xsd:int

A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1.

facilityIndex URI xsd:int

Program ID for facility.

This operation does not accept a request body and does not return a response body.

PUT
v2/tenant/​{tenant_id}​/topology/​{topology_id}​/facilities/​{facilityIndex}​

Updates a facility

 

The JSON document returned follows: facilities.json#/definitions/facility .

Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

topologyId URI xsd:int

A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1.

facilityIndex URI xsd:int

Program ID for facility.

This operation does not accept a request body and does not return a response body.

DELETE
v2/tenant/​{tenant_id}​/topology/​{topology_id}​/facilities/​{facilityIndex}​

Deletes a facility.

 
Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

topologyId URI xsd:int

A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1.

facilityIndex URI xsd:int

Program ID for facility.

This operation does not accept a request body and does not return a response body.

P2MP

Use these endpoints to get lists of and work with P2MP groups.

The P2MP schema is: p2mp.json . The operations are:

  • https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/topology/<topology-id>/p2mp/ [GET : get all P2MP groups]

  • https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/topology/<topology-id>/te-lsps/<p2mpGroupIndex> [ GET : get a P2MP group specified by index]

  • https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/topology/<topology-id>/te-lsps/<p2mpGroupIndex>/<lspIndex> [ GET : get a P2MP branch specified by index]

GET
v2/tenant/​{tenant_id}​/topology/​{topology_id}​/p2mp

Gets all P2MP groups.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

topologyId URI xsd:int

A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1.

Response example:

The JSON document returned follows: p2mp.json#/definitions/p2mpList .

This operation does not accept a request body.

GET
v2/tenant/​{tenant_id}​/topology/​{topology_id}​/p2mp/​{p2mpGroupIndex}​

Gets a specified P2MP group.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

topologyId URI xsd:int

A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1.

p2mpGroupIndex URI xsd:int

Signaling protocol p2mp id, which may be empty, and is the same for all TE-LSP of a tunnel.

Response example:

The JSON document returned follows: lsp.json#/definitions/lspList .

This operation does not accept a request body.

GET
v2/tenant/​{tenant_id}​/topology/​{topology_id}​/p2mp/​{p2mpGroupIndex}​/​{lspIndex}​

Gets a given P2MP Branch.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

topologyId URI xsd:int

A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1.

p2mpGroupIndex URI xsd:int

Signaling protocol p2mp id, which may be empty, and is the same for all TE-LSP of a tunnel.

lspIndex URI xsd:int

The unique lspIndex.

Response example:

The JSON document returned follows: lsp.json#/definitions/lsp .

This operation does not accept a request body.

Transport Topology acquisition

Enables configuration of the NorthStar connection to the transport controller for retrieval of abstracted transport topology and automation of addition of information to the IP layer.

The corresponding schema is: transportController.json .

The following tables show the set of parameters describing a transport controller configuration.

Create Transport controller Attributes
Attribute Type Fixed Description
name string No Transport controller name
notifyUrl string No The REST/RESTCONF URL publishing (via Server-Sent-event) topology notifications
profileName string No The profile group name the NorthStar controller must use to connect to the transport controller instances.
topologyUrl string No The URL providing the abstract topology, following the IETF model supported by NorthStar .
topoObjectType string Yes transportController

The other parameters are:

Create Transport controller optional Attributes
Attribute Type Fixed Description
interfaceType string No Indicates whether the transport controller interface follows the RESTCONF draft or a more simple REST interface. This does not affect the NorthStar Operation.
pollUrl string No The URL on the server to poll server liveliness, by default /.well-known/host-meta.
reconnectTimeout string No The time, in seconds, between two reconnect attempts between controller instances.
rootUrl string No Default root URL for RESTCONF datastores.
srlgPrefix string No Use the SRLG prefix to generate the SRLGs for the IP topology. If set, the SRLGs will be TSRLG_<srlgPrefix>_<SRLG>, otherwise TSRLG_<SRLG>. This permits you to either separate or merge two controller SRLG spaces. By default, SRLG is not set, or it has an empty string which corresponds to merging the SRLGs space.
topologyToUse string No The transport controller might return several topologies. This field permits you to select a specific topology to apply as a filter to the model te-topology-id field.

GET
v2/tenant/​{tenant_id}​/transportControllers
Get transport controller list

Retrieves the full list of transport controllers. The schema describing the response is: transportController.json#/definitions/transportControllerList

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

Response example:
[
  {
    "transportControllerIndex": 1,
    "name": "Nortel",
    "interfaceType": "RESTCONF",
    "notifyUrl": "/streams/NETCONF-JSON",
    "pollUrl": "",
    "profileName": "NortelProfile",
    "reconnectTimeout": 10,
    "rootUrl": "",
    "srlgPrefix": "",
    "topologyToUse": "",
    "topologyUrl": "/restconf/data/ietf-te-topology:te-topologies-state",
    "topoObjectType": "transportController"
  }
]

This operation does not accept a request body.

POST
v2/tenant/​{tenant_id}​/transportControllers
Create a transport controller configuration

Creates transport controller. The request must follow the schema: transportControllers.json#/definitions/createTransportController

 
Normal response codes
201
Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

Request example:

{
    "name": "Nortel",
    "interfaceType": "RESTCONF",
    "notifyUrl": "/streams/NETCONF-JSON",
    "profileName": "NortelProfile",
    "reconnectTimeout": 10,
    "topologyUrl": "/restconf/data/ietf-te-topology:te-topologies-state",
    "topoObjectType": "transportController"
}

Response example:
{
  "name": "Nortel",
  "interfaceType": "RESTCONF",
  "notifyUrl": "/streams/NETCONF-JSON",
  "profileName": "NortelProfile",
  "reconnectTimeout": 10,
  "topologyUrl": "/restconf/data/ietf-te-topology:te-topologies-state",
  "topoObjectType": "transportController",
  "transportControllerIndex": 1
}
GET
v2/tenant/​{tenant_id}​/transportControllers/​{transportControllerIndex}​
Get a transport controller configuration

Retrieves the details for a transport controller configuration.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

transportControllerIndex URI xsd:int

The unique transportControllerIndex.

Response example:

The JSON document returned follows: transportControllers.json#/definitions/transportController .

{
  "name": "Nortel",
  "interfaceType": "RESTCONF",
  "notifyUrl": "/streams/NETCONF-JSON",
  "profileName": "NortelProfile",
  "reconnectTimeout": 10,
  "topologyUrl": "/restconf/data/ietf-te-topology:te-topologies-state",
  "topoObjectType": "transportController",
  "transportControllerIndex": 1
}

This operation does not accept a request body.

PUT
v2/tenant/​{tenant_id}​/transportControllers/​{transportControllerIndex}​
Update transport controller configuration

Updates a transport controller. The request must follow the schema: transportControllers.json#/definitions/updateTransportController The parameters are the same as for transport controller creation. A parameter change triggers reconnection to the transport controller using the new parameters.

 
Normal response codes
202
Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

transportControllerIndex URI xsd:int

The unique transportControllerIndex.

Request example:
{
  "name": "Nortel",
  "interfaceType": "RESTCONF",
  "notifyUrl": "/streams/NETCONF-JSON",
  "profileName": "NortelProfile",
  "reconnectTimeout": 10,
  "topologyUrl": "/restconf/data/ietf-te-topology:te-topologies-state",
  "srlgPrefix": "space1",
  "topoObjectType": "transportController",
  "transportControllerIndex": 1
}
Response example:
{
  "name": "Nortel",
  "interfaceType": "RESTCONF",
  "notifyUrl": "/streams/NETCONF-JSON",
  "profileName": "NortelProfile",
  "reconnectTimeout": 10,
  "topologyUrl": "/restconf/data/ietf-te-topology:te-topologies-state",
  "srlgPrefix": "space1",
  "topoObjectType": "transportController",
  "transportControllerIndex": 1
}
DELETE
v2/tenant/​{tenant_id}​/transportControllers/​{transportControllerIndex}​
Delete transport controller configuration

Deletes a transport controller configuration. The transport node, link, and circuits created from that transport controller are not deleted. You must delete them manually, if required.

 
Normal response codes
204
Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

transportControllerIndex URI xsd:int

The unique transportControllerIndex.

This operation does not accept a request body and does not return a response body.

Transport Topology devices

Manages a set of instances of a transport controller.

The corresponding schema is: transportControllerEndpoint.json .

The devices are managed as group of devices. For each device the following parameters can be managed:

Create Transport controller Attributes
Attribute Type Fixed Description
ipAddr string No IP address to connect
accessMethod string No Either HTTP or HTTPS
authMethod string No Authentication method; can be BASIC or NOAUTH

The other parameters are:

Create transport controller optional attributes
Attribute Type Fixed Description
hostName string No Device name.
httpPort int No HTTP port.
login string Yes Login to be used for the BASIC auth.
passwd string Yes Encrypted password to be used for the BASIC auth.
retry int No Number of retries for the heartbeat, before the device is considered down.
timeout int No Request timeout for the device.

GET
v2/tenant/​{tenant_id}​/transportControllerGroups
Get transport controller device groups

Retrieves the full list of transport controller groups. The schema describing the response is: transportControllerEndpoint.json#/definitions/transportControllerGroupList .

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

Response example:
[  
  {
    "name": "NortelProfile"
  },
  {
    "name": "Default"
  }
]

This operation does not accept a request body.

POST
v2/tenant/​{tenant_id}​/transportControllerGroups
Create a transport controller device group

Creates a group for transport controller. The request must follow the schema: transportControllerEndpoint.json#/definitions/transportControllerGroupDescription .

 

The request must contain the group name to be created, as shown in the example.

Normal response codes
201
Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

Request example:
{
    "name": "NortelProfile",
    "profileType": "Network Controllers"
}
Response example:
{
  "success": true
}
DELETE
v2/tenant/​{tenant_id}​/transportControllerGroups
Delete a transport controller device group

Deletes a group of transport controller devices. The request must follow the schema: transportControllerEndpoint.json#/definitions/transportControllerGroupDescription

 

The request must contain the group name to be deleted, as shown in the example.

Normal response codes
201
Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

Request example:
{
    "name": "NortelProfile",
    "profileType": "Network Controllers"
}
Response example:
{
  "success": true
}
GET
v2/tenant/​{tenant_id}​/transportControllerGroups/​{transportControllerGroupName}​
Get transport controller device groups

Retrieves a transport controller group, which is a list of devices. The schema describing the response is: transportControllerEndpoint.json#/definitions/transportControllerGroup The password is set by empty strings.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

transportControllerGroupName URI xsd:string

The name of the transport controller devices group.

Response example:
[
  {
    "id": "91172e83-7b45-422c-ac1e-1940fb9a7ddf",
    "accessMethod": "HTTP",
    "authMethod": "BASIC",
    "hostName": "",
    "httpPort": 80,
    "ipAddr": "10.0.1.3",
    "login": "Login2",
    "passwd": "",
    "retry": 3,
    "timeout": 2
  },
  {
    "id": "7bcf5b8a-30f4-46ad-9a51-29daac671587",
    "accessMethod": "HTTP",
    "authMethod": "BASIC",
    "hostName": "",
    "httpPort": 80,
    "ipAddr": "10.0.1.2",
    "login": "Login",
    "passwd": "",
    "retry": 3,
    "timeout": 2
  }
]

This operation does not accept a request body.

POST
v2/tenant/​{tenant_id}​/transportControllerGroups/​{transportControllerGroupName}​
Create new devices in the group

Creates devices in the group. The request must follow the schema: transportControllerEndpoint.json#/definitions/transportControllerGroup

 

The request contains a list of devices to be created.

Normal response codes
201
Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

transportControllerGroupName URI xsd:string

The name of the transport controller devices group.

Request example:
[
    {
        "accessMethod": "HTTP",
        "authMethod": "BASIC",
        "hostName": "",
        "httpPort": 80,
        "ipAddr": "10.0.1.2",
        "login": "Login",
        "passwd" : "XYXYXYXYXYX",
        "retry": 3,
        "timeout": 2
    },
    {
        "accessMethod": "HTTP",
        "authMethod": "BASIC",
        "hostName": "",
        "httpPort": 80,
        "ipAddr": "10.0.1.3",
        "login": "Login2",
        "passwd" : "XYXYXYXYXYX",
        "retry": 3,
        "timeout": 2
  }
]
Response example:
{
  "success": true
}
PUT
v2/tenant/​{tenant_id}​/transportControllerGroups/​{transportControllerGroupName}​
Update devices in the group

Updates devices in the group. The request must follow the schema: transportControllerEndpoint.json#/definitions/transportControllerGroup

 

The request contains a list of devices to be updated. The id parameter is required.

Normal response codes
201
Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

transportControllerGroupName URI xsd:string

The name of the transport controller devices group.

Request example:
[
  {
    "id": "91172e83-7b45-422c-ac1e-1940fb9a7ddf",
    "accessMethod": "HTTP",
    "authMethod": "BASIC",
    "hostName": "",
    "httpPort": 80,
    "ipAddr": "10.0.1.3",
    "login": "Login3",
    "passwd": "",
    "retry": 3,
    "timeout": 2
  }
]
Response example:
{
  "success": true
}
DELETE
v2/tenant/​{tenant_id}​/transportControllerGroups/​{transportControllerGroupName}​
Delete devices from the group

Deletes devices from the group. The request must follow the schema: transportControllerEndpoint.json#/definitions/transportControllerGroup

 

The request contains a list of devices to be deleted. The id parameter is required, while other parameters are ignored.

Normal response codes
201
Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

transportControllerGroupName URI xsd:string

The name of the transport controller devices group.

Request example:
[
  {
    "id": "91172e83-7b45-422c-ac1e-1940fb9a7ddf"
  }
]
Response example:
{
  "success": true
}

High Availability API

Permits monitoring and configuration of NorthStar high availability cluster.

The corresponding schema is: ha.json .

GET
v2/tenant/​{tenant_id}​/highAvailability/hosts
Get the status of the cluster

Get the status of all the nodes and processes of the cluster.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

Response example:

The JSON document returned follows ha.json#/definitions/hosts . The data indicates the nodes that are part of the cluster and the processes running on each node. The role indicates the current role of the node and has the following two components: - Indicator for Active or Standby; the Active node is where the path computation is running. - Indicator for whether node is running as HA coordinator. This does not reflect the status of the zookeeper master available in a different URL.

[
  {
    "hostname": "northstar-cluster-3",
    "ipv4": "10.0.0.1",
    "status": "Up",
    "role": "Standby,Coordinator",
    "version": "2.0.0-20160216_081948.x86_64",
    "processes": [
      {
        "processId": 26683,
        "processName": "junosvm",
        "startTime": "2016-02-16T19:24:07.000Z",
        "role": "Standby"
      },
      {
        "processId": 8389,
        "processName": "zookeeper",
        "startTime": "2016-02-16T22:54:15.000Z",
        "role": "Standby"
      },
      {
        "processId": 12347,
        "processName": "ha_agent",
        "startTime": "2016-02-16T23:07:09.000Z",
        "role": "Standby"
      },
      {
        "processId": 12276,
        "processName": "npat",
        "startTime": "2016-02-16T23:06:56.000Z",
        "role": "Standby"
      },
      {
        "processId": 12243,
        "processName": "pceserver",
        "startTime": "2016-02-16T23:06:54.000Z",
        "role": "Standby"
      },
      {
        "processId": 12192,
        "processName": "nodejs",
        "startTime": "2016-02-16T23:06:44.000Z",
        "role": "Standby"
      },
      {
        "processId": 7821,
        "processName": "rabbitmq",
        "startTime": "2016-02-16T22:54:12.000Z",
        "role": "Standby"
      },
      {
        "processName": "keepalived",
        "startTime": "2016-02-16T19:59:46.000Z",
        "role": "Standby"
      },
      {
        "processId": 12248,
        "processName": "toposerver",
        "startTime": "2016-02-16T23:06:54.000Z",
        "role": "Standby"
      },
      {
        "processId": 8138,
        "processName": "cassandra",
        "startTime": "2016-02-16T22:54:12.000Z",
        "role": "Standby"
      },
      {
        "processId": 3455,
        "processName": "haproxy",
        "startTime": "2016-02-16T19:59:46.000Z",
        "role": "Standby"
      },
      {
        "processId": 8453,
        "processName": "listener1_00",
        "startTime": "2016-02-16T22:54:12.000Z",
        "role": "Standby"
      },
      {
        "processId": 12255,
        "processName": "pcserver",
        "startTime": "2016-02-16T23:06:54.000Z",
        "role": "Standby"
      },
      {
        "processId": 12268,
        "processName": "mladapter",
        "startTime": "2016-02-16T23:06:56.000Z",
        "role": "Standby"
      },
      {
        "processId": 12242,
        "processName": "npat_ro",
        "startTime": "2016-02-16T23:06:54.000Z",
        "role": "Standby"
      }
    ]
  },
  {
    "hostname": "northstar-cluster-2",
    "ipv4": "10.0.0.2",
    "status": "Up",
    "role": "Standby",
    "version": "2.0.0-20160216_081948.x86_64",
    "processes": [
      {
        "processId": 5427,
        "processName": "junosvm",
        "startTime": "2016-02-16T19:23:29.000Z",
        "role": "Standby"
      },
      {
        "processId": 18452,
        "processName": "zookeeper",
        "startTime": "2016-02-16T22:49:58.000Z",
        "role": "Standby"
      },
      {
        "processId": 22489,
        "processName": "ha_agent",
        "startTime": "2016-02-16T23:08:13.000Z",
        "role": "Standby"
      },
      {
        "processId": 22419,
        "processName": "npat",
        "startTime": "2016-02-16T23:08:01.000Z",
        "role": "Standby"
      },
      {
        "processId": 22387,
        "processName": "pceserver",
        "startTime": "2016-02-16T23:07:59.000Z",
        "role": "Standby"
      },
      {
        "processId": 22344,
        "processName": "nodejs",
        "startTime": "2016-02-16T23:07:49.000Z",
        "role": "Standby"
      },
      {
        "processId": 17884,
        "processName": "rabbitmq",
        "startTime": "2016-02-16T22:49:55.000Z",
        "role": "Standby"
      },
      {
        "processName": "keepalived",
        "startTime": "2016-02-16T19:44:45.000Z",
        "role": "Standby"
      },
      {
        "processId": 22393,
        "processName": "toposerver",
        "startTime": "2016-02-16T23:07:59.000Z",
        "role": "Standby"
      },
      {
        "processId": 18196,
        "processName": "cassandra",
        "startTime": "2016-02-16T22:49:55.000Z",
        "role": "Standby"
      },
      {
        "processId": 11334,
        "processName": "haproxy",
        "startTime": "2016-02-16T19:44:45.000Z",
        "role": "Standby"
      },
      {
        "processId": 18516,
        "processName": "listener1_00",
        "startTime": "2016-02-16T22:49:55.000Z",
        "role": "Standby"
      },
      {
        "processId": 22404,
        "processName": "pcserver",
        "startTime": "2016-02-16T23:07:59.000Z",
        "role": "Standby"
      },
      {
        "processId": 22411,
        "processName": "mladapter",
        "startTime": "2016-02-16T23:08:00.000Z",
        "role": "Standby"
      },
      {
        "processId": 22386,
        "processName": "npat_ro",
        "startTime": "2016-02-16T23:07:59.000Z",
        "role": "Standby"
      }
    ]
  },
  {
    "hostname": "northstar-cluster-1",
    "ipv4": "10.0.0.3",
    "status": "Up",
    "role": "Active",
    "version": "2.0.0-20160216_081948.x86_64",
    "processes": [
      {
        "processId": 11420,
        "processName": "junosvm",
        "startTime": "2016-02-16T19:24:28.000Z",
        "role": "Active"
      },
      {
        "processId": 23745,
        "processName": "zookeeper",
        "startTime": "2016-02-16T22:47:26.000Z",
        "role": "Active"
      },
      {
        "processId": 27746,
        "processName": "ha_agent",
        "startTime": "2016-02-16T23:08:19.000Z",
        "role": "Active"
      },
      {
        "processId": 28375,
        "processName": "npat",
        "startTime": "2016-02-16T23:10:57.000Z",
        "role": "Active"
      },
      {
        "processId": 27799,
        "processName": "pceserver",
        "startTime": "2016-02-16T23:08:35.000Z",
        "role": "Active"
      },
      {
        "processId": 27604,
        "processName": "nodejs",
        "startTime": "2016-02-16T23:07:55.000Z",
        "role": "Active"
      },
      {
        "processId": 23190,
        "processName": "rabbitmq",
        "startTime": "2016-02-16T22:47:23.000Z",
        "role": "Active"
      },
      {
        "processId": 28379,
        "processName": "keepalived",
        "startTime": "2016-02-16T23:10:57.000Z",
        "role": "Active"
      },
      {
        "processId": 28358,
        "processName": "toposerver",
        "startTime": "2016-02-16T23:10:56.000Z",
        "role": "Active"
      },
      {
        "processId": 23505,
        "processName": "cassandra",
        "startTime": "2016-02-16T22:47:23.000Z",
        "role": "Active"
      },
      {
        "processId": 13960,
        "processName": "haproxy",
        "startTime": "2016-02-16T19:29:31.000Z",
        "role": "Active"
      },
      {
        "processId": 23806,
        "processName": "listener1_00",
        "startTime": "2016-02-16T22:47:23.000Z",
        "role": "Active"
      },
      {
        "processId": 27848,
        "processName": "pcserver",
        "startTime": "2016-02-16T23:08:45.000Z",
        "role": "Active"
      },
      {
        "processId": 28360,
        "processName": "mladapter",
        "startTime": "2016-02-16T23:10:56.000Z",
        "role": "Active"
      },
      {
        "processId": 28357,
        "processName": "npat_ro",
        "startTime": "2016-02-16T23:10:56.000Z",
        "role": "Active"
      }
    ]
  }
]

This operation does not accept a request body.

GET
v2/tenant/​{tenant_id}​/highAvailability/zkstatus
Get zookeeper cluster status

Gets status of all the zookeeper clusters. .

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

Response example:

The JSON document returned follows ha.json#/definitions/zookeeperStatus . NorthStar uses a zookeeper cluster to coordinate nodes. The endpoint provides the the zookeeper subsystem's status. During normal maintenance, you must check this information, because a failure of the zookeeper master could, in some cases, trigger a switchover.

{
  "master": "northstar-cluster-2",
  "followers": [
    {
      "ip": "10.0.0.1",
      "synced": true,
      "host": "northstar-cluster-3"
    },
    {
      "ip": "10.0.0.3",
      "synced": true,
      "host": "northstar-cluster-1"
    }
  ]
}

This operation does not accept a request body.

GET
v2/tenant/​{tenant_id}​/highAvailability/highAvailability
Retrieve the list of preferences

Retrieves the list of preferences.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

Response example:

The JSON document returned follows: ha.json#/definitions/highAvailability .

[
  {
    "preferenceType": "primaryNode",
    "host": "northstar-cluster-3",
    "priority": 0
  },
  {
    "preferenceType": "primaryNode",
    "host": "northstar-cluster-2",
    "priority": 0
  },
  {
    "preferenceType": "primaryNode",
    "host": "northstar-cluster-1",
    "priority": 0
  }
]

This operation does not accept a request body.

PUT
v2/tenant/​{tenant_id}​/highAvailability/highAvailability
Modify the node preferences

Sets the node preferences.

 
Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

Request example:

The JSON document should follow: ha.json#/definitions/highAvailability You must set the new preferences for the node.

This operation does not return a response body.

POST
v2/tenant/​{tenant_id}​/highAvailability/stepdown
Request the primary node to step down

Triggers a switchover.

 
Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

Request example:

The request body must be empty.

This operation does not return a response body.

Path Computation API

Allows computation of a path on the TE-topology without creating an LSP.

POST
v2/tenant/​{tenant_id}​/topology/​{topology_id}​/pathComputation

Request a path computation.

 

The request body must follow the schema: pathComputation.json#/definitions/pathComputationRequests . The response returned by the server conform to: pathComputation.json#/definitions/pathComputationResponses .

The request/response example illustrates a set of 3 path computation requests where only the first is successfull, while the 2 subsequent requests cannot be computed due to routing constraints because there is no path with less than 2 hops and no path that can carry 100G in the topology. All the paths in the request list are computed in the order they are specified. This API does NOT re-shuffle the request order to optimize the solution or the constraints. No bandwidth is reserved by the path computation request. For example, if only 5G is available between 2 nodes, one path computation requesting 2 paths with 3G each will return a partial result, where only the first path is calculated.

Normal response codes
201
Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

topologyId URI xsd:int

A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1.

Request example:
{"requests" :
 [
    {"from": {"topoObjectType": "ipv4","address": "11.0.0.101"},
     "to"  : {"topoObjectType": "ipv4","address": "11.0.0.104"},
     "bandwidth" : 1000000,"design" :{"maxDelay":5},"extra" :"allowed"
    },
    {"from": {"topoObjectType": "ipv4","address": "11.0.0.104"},
     "to"  : {"topoObjectType": "ipv4","address": "11.0.0.101"},
    "bandwidth" : 1000000,"design" :{"maxHop":2}
    },
    {"from": {"topoObjectType": "ipv4","address": "11.0.0.102"},
     "to"  : {"topoObjectType": "ipv4","address": "11.0.0.103"},
     "bandwidth" : "100G"}
 ]
}
Response example:
{
  "result": "partial",
  "responses": [
      {"from": {"topoObjectType": "ipv4","address": "11.0.0.101"},
       "to"  : {"topoObjectType": "ipv4","address": "11.0.0.104"},
       "bandwidth" : 1000000,"design" :{"maxDelay":5},"extra" :"allowed",
       "status": "success",
       "path": [
           {"topoObjectType": "ipv4","address": "11.101.105.2"},
           {"topoObjectType": "ipv4","address": "11.105.107.2"},
           {"topoObjectType": "ipv4","address": "11.114.117.1"}
       ]
      },
      {"from": {"topoObjectType": "ipv4","address": "11.0.0.104"},
       "to"  : {"topoObjectType": "ipv4","address": "11.0.0.101"},
       "bandwidth" : 1000000,"design" :{"maxHop":2},
       "status": "noPathAvailable"
      },
      {"from": {"topoObjectType": "ipv4","address": "11.0.0.102"},
       "to"  : {"topoObjectType": "ipv4","address": "11.0.0.103"},
       "bandwidth" : "100G",    
       "status": "noPathAvailable"
      }    
  ]
}

Cluster health info

Use these endpoints to get cluster health status.

The health schema is: health.json . The operations are:

  • https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/health [GET: get all Cluster Nodes Health info summary]

  • https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/health/nodes [GET: get all Nodes Health info ]

  • https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/health/nodes/<nodeId> [GET: get specific Node Health info]

  • https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/health/nodes/<nodeId>/time [GET: get specific Node time info]

  • https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/health/nodes/<nodeId>/<processName> [GET: get specific Node specific process status info]

  • https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/health/nodes/<nodeId>/<processName>/history [GET: get specific Node specific process status history info]

  • https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/health/thresholds [GET: get thresholds info]

  • https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/health/thresholds [PUT: update thresholds info]

  • https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/health/thresholds/diskUtilization [GET: get disk util thresholds info]

  • https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/health/thresholds/diskUtilization [PUT: update disk util thresholds info]

  • https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/health/smtpconfig [GET: get SMTP config]

  • https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/health/smtpconfig [PUT: update SMTP config]

  • https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/health/subscribers [PUT: update Email Alert subscribers list]

  • https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/health/subscribers [DELETE: delete Email Alert subscriber]

GET
v2/tenant/​{tenant_id}​/health
Get system health API summary

Get Northstar system health API summary.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

Response example:
{
    "links": [
        {
            "href": "nodes",
            "rel": "nodes",
            "type": "application/json"
        },
        {
            "href": "nodes/{nodeId}",
            "rel": "node",
            "type": "application/json"
        },
        {
            "href": "nodes/{nodeId}/time",
            "rel": "node",
            "type": "application/json"
        },
        {
            "href": "nodes/{nodeId}/{processName}",
            "rel": "processDetail",
            "type": "application/json"
        },
        {
            "href": "nodes/{nodeId}/{processName}/history",
            "rel": "processDetailHistory",
            "type": "application/json"
        },
        {
            "href": "thresholds",
            "rel": "thresholds",
            "type": "application/json"
        },
        {
            "href": "thresholds/<threshholdId>",
            "rel": "threshold",
            "type": "application/json"
        },
        {
            "href": "smtpconfig",
            "rel": "smtpconfig",
            "type": "application/json"
        },
        {
            "href": "subscribers",
            "rel": "subscribers",
            "type": "application/json"
        }
    ]
}

This operation does not accept a request body.

GET
v2/tenant/​{tenant_id}​/health/nodes
Get Northstar system all nodes health info

Get Northstar system all nodes health info.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

Response example:
[
    {
        "nodeType": [
            "northstar",
            "dataCollector"
        ],
        "node": "pcs-q-pod08",
        "clusterIPs": [
            "10.49.161.46"
        ],
        "memory": {
            "free": 165941248,
            "usage": 6105755648,
            "total": 6271696896
        },
        "disk": {
            "partitions": [
                {
                    "total": 59362,
                    "used": 5368,
                    "free": 50972,
                    "usage": 10,
                    "partition": "/"
                },
                {
                    "total": 2927,
                    "used": 0,
                    "free": 2927,
                    "usage": 0,
                    "partition": "/dev/shm"
                }
            ]
        },
        "processes": [
            {
                "timestamp": "2017-08-02T10:03:46.922Z",
                "name": "elasticsearch",
                "status": "RUNNING",
                "pid": 6077,
                "pcpu": "16.8",
                "rss": 530132,
                "vsz": 5285472,
                "user": "pcs",
                "group": "pcs",
                "time": "P6DT06H01M51S",
                "cmd": "/usr/bin/java -Xms256m -Xmx1g -Djava.awt.headless=true -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+HeapDumpOnOutOfMemoryError -XX:+DisableExplicitGC -Dfile.encoding=UTF-8 -Djna.nosys=true -Des.path.home=/opt/northstar/thirdparty/elasticsearch -cp /opt/northstar/thirdparty/elasticsearch/lib/elasticsearch-2.4.0.jar:/opt/northstar/thirdparty/elasticsearch/lib/* org.elasticsearch.bootstrap.Elasticsearch start -p /opt/northstar/data/elasticsearch/elasticsearch.pid -Des.default.path.home=/opt/northstar/thirdparty/elasticsearch -Des.default.path.logs=/opt/northstar/logs -Des.default.path.data=/opt/northstar/data/elasticsearch -Des.default.path.conf=/opt/northstar/data/elasticsearch/config"
            },
            {
                "timestamp": "2017-08-02T10:03:46.951Z",
                "name": "esauthproxy",
                "status": "RUNNING",
                "pid": 6046,
                "pcpu": "0.0",
                "rss": 66820,
                "vsz": 4925568,
                "user": "pcs",
                "group": "pcs",
                "time": "P6DT06H01M52S",
                "cmd": "/opt/northstar/thirdparty/node-v6.10.1-linux-x64/bin/node /opt/northstar/esauthproxy/esauthproxy.js"
            },
            {
                "timestamp": "2017-08-02T10:03:46.972Z",
                "name": "logstash",
                "status": "RUNNING",
                "pid": 6541,
                "pcpu": "6.0",
                "rss": 471176,
                "vsz": 5783868,
                "user": "pcs",
                "group": "pcs",
                "time": "P6DT06H01M22S",
                "cmd": "/usr/bin/java -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -Djava.awt.headless=true -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+HeapDumpOnOutOfMemoryError -Djava.io.tmpdir=/opt/northstar/thirdparty/logstash -Xmx2g -Xss2048k -Djffi.boot.library.path=/opt/northstar/thirdparty/logstash/vendor/jruby/lib/jni -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -Djava.awt.headless=true -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+HeapDumpOnOutOfMemoryError -Djava.io.tmpdir=/opt/northstar/thirdparty/logstash -XX:HeapDumpPath=/opt/northstar/thirdparty/logstash/heapdump.hprof -Xbootclasspath/a:/opt/northstar/thirdparty/logstash/vendor/jruby/lib/jruby.jar -classpath : -Djruby.home=/opt/northstar/thirdparty/logstash/vendor/jruby -Djruby.lib=/opt/northstar/thirdparty/logstash/vendor/jruby/lib -Djruby.script=jruby -Djruby.shell=/bin/sh org.jruby.Main --1.9 /opt/northstar/thirdparty/logstash/lib/bootstrap/environment.rb logstash/runner.rb agent -f /opt/northstar/data/logstash/config -l /opt/northstar/logs/logstash.log --allow-env"
            },
            {
                "timestamp": "2017-08-02T10:03:47.000Z",
                "name": "cassandra",
                "status": "RUNNING",
                "pid": 4959,
                "pcpu": "0.3",
                "rss": 1396380,
                "vsz": 3471516,
                "user": "pcs",
                "group": "pcs",
                "time": "P6DT06H03M44S",
                "cmd": "/opt/northstar/thirdparty/jdk//bin/java -ea -javaagent:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/jamm-0.3.0.jar -XX:+CMSClassUnloadingEnabled -XX:+UseThreadPriorities -XX:ThreadPriorityPolicy=42 -Xms1495M -Xmx1495M -Xmn373M -XX:+HeapDumpOnOutOfMemoryError -Xss256k -XX:StringTableSize=1000003 -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:SurvivorRatio=8 -XX:MaxTenuringThreshold=1 -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+UseTLAB -XX:+PerfDisableSharedMem -XX:CompileCommandFile=/opt/northstar/data/apache-cassandra/conf/hotspot_compiler -XX:CMSWaitDuration=10000 -XX:+CMSParallelInitialMarkEnabled -XX:+CMSEdenChunksRecordAlways -XX:CMSWaitDuration=10000 -Djava.net.preferIPv4Stack=true -Dcassandra.jmx.local.port=7199 -XX:+DisableExplicitGC -Djava.library.path=/opt/northstar/thirdparty/apache-cassandra/bin/../lib/sigar-bin -Dlogback.configurationFile=logback.xml -Dcassandra.logdir=/opt/northstar/thirdparty/apache-cassandra/bin/../logs -Dcassandra.storagedir=/opt/northstar/thirdparty/apache-cassandra/bin/../data -Dcassandra-foreground=yes -cp /opt/northstar/data/apache-cassandra/conf:/opt/northstar/thirdparty/apache-cassandra/bin/../build/classes/main:/opt/northstar/thirdparty/apache-cassandra/bin/../build/classes/thrift:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/airline-0.6.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/antlr-runtime-3.5.2.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/apache-cassandra-2.2.4.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/apache-cassandra-clientutil-2.2.4.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/apache-cassandra-thrift-2.2.4.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/cassandra-driver-core-2.2.0-rc2-SNAPSHOT-20150617-shaded.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/commons-cli-1.1.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/commons-codec-1.2.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/commons-lang3-3.1.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/commons-math3-3.2.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/compress-lzf-0.8.4.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/concurrentlinkedhashmap-lru-1.4.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/crc32ex-0.1.1.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/disruptor-3.0.1.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/ecj-4.4.2.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/guava-16.0.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/high-scale-lib-1.0.6.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/jackson-core-asl-1.9.2.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/jackson-mapper-asl-1.9.2.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/jamm-0.3.0.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/javax.inject.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/jbcrypt-0.3m.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/jcl-over-slf4j-1.7.7.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/jna-4.0.0.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/joda-time-2.4.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/json-simple-1.1.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/libthrift-0.9.2.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/log4j-over-slf4j-1.7.7.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/logback-classic-1.1.3.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/logback-core-1.1.3.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/lz4-1.3.0.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/metrics-core-3.1.0.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/metrics-logback-3.1.0.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/netty-all-4.0.23.Final.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/ohc-core-0.3.4.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/ohc-core-j8-0.3.4.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/reporter-config3-3.0.0.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/reporter-config-base-3.0.0.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/sigar-1.6.4.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/slf4j-api-1.7.7.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/snakeyaml-1.11.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/snappy-java-1.1.1.7.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/ST4-4.0.8.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/stream-2.5.2.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/super-csv-2.1.0.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/thrift-server-0.3.7.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/jsr223/*/*.jar org.apache.cassandra.service.CassandraDaemon"
            },
            {
                "timestamp": "2017-08-02T10:03:47.029Z",
                "name": "ha_agent",
                "status": "RUNNING",
                "pid": 4588,
                "pcpu": "2.8",
                "rss": 10248,
                "vsz": 369696,
                "user": "root",
                "group": "root",
                "time": "P6DT06H03M50S",
                "cmd": "/opt/northstar/thirdparty/python/bin/python /opt/northstar/haagent/ha_agent.py"
            },
            {
                "timestamp": "2017-08-02T10:03:47.050Z",
                "name": "healthmonitor",
                "status": "RUNNING",
                "pid": 4590,
                "pcpu": "0.1",
                "rss": 52324,
                "vsz": 5130260,
                "user": "pcs",
                "group": "pcs",
                "time": "P6DT06H03M50S",
                "cmd": "/opt/northstar/thirdparty/node-v6.10.1-linux-x64/bin/node /opt/northstar/healthMonitor/index.js"
            },
            {
                "timestamp": "2017-08-02T10:03:47.071Z",
                "name": "license_monitor",
                "status": "RUNNING",
                "pid": 4589,
                "pcpu": "0.0",
                "rss": 4688,
                "vsz": 435532,
                "user": "pcs",
                "group": "pcs",
                "time": "P6DT06H03M50S",
                "cmd": "/opt/northstar/thirdparty/python/bin/python /opt/northstar/haagent/license_watcher.py"
            },
            {
                "timestamp": "2017-08-02T10:03:47.091Z",
                "name": "nodejs",
                "status": "RUNNING",
                "pid": 6391,
                "pcpu": "0.0",
                "rss": 129960,
                "vsz": 5866768,
                "user": "pcs",
                "group": "pcs",
                "time": "P6DT06H01M39S",
                "cmd": "/opt/northstar/thirdparty/node-v6.10.1-linux-x64/bin/node /opt/pcs/NodeJS/app.js"
            },
            {
                "timestamp": "2017-08-02T10:03:47.114Z",
                "name": "prunedb",
                "status": "RUNNING",
                "pid": 4585,
                "pcpu": "0.0",
                "rss": 43300,
                "vsz": 4917432,
                "user": "pcs",
                "group": "pcs",
                "time": "P6DT06H03M50S",
                "cmd": "/opt/northstar/thirdparty/node-v6.10.1-linux-x64/bin/node /opt/pcs/NodeJS/util/prune_db.js"
            },
            {
                "timestamp": "2017-08-02T10:03:47.136Z",
                "name": "rabbitmq",
                "status": "RUNNING",
                "pid": 4769,
                "pcpu": "0.9",
                "rss": 39068,
                "vsz": 2334576,
                "user": "pcs",
                "group": "pcs",
                "time": "P6DT06H03M48S",
                "cmd": "/opt/northstar/thirdparty/erlang/lib/erlang/erts-7.0/bin/beam.smp -W w -A 64 -P 1048576 -K true -- -root /opt/northstar/thirdparty/erlang/lib/erlang -progname erl -- -home /opt/northstar/ -- -pa /opt/northstar/thirdparty/rabbitmq/sbin/../ebin -noshell -noinput -s rabbit boot -sname rabbit@pcs-q-pod08 -boot start_sasl -config /opt/northstar/thirdparty/rabbitmq/sbin/../etc/rabbitmq/rabbitmq -kernel inet_default_connect_options [{nodelay,true}] -sasl errlog_type error -sasl sasl_error_logger false -rabbit error_logger {file,\"/opt/northstar/thirdparty/rabbitmq/sbin/../var/log/rabbitmq/rabbit@pcs-q-pod08.log\"} -rabbit sasl_error_logger {file,\"/opt/northstar/thirdparty/rabbitmq/sbin/../var/log/rabbitmq/rabbit@pcs-q-pod08-sasl.log\"} -rabbit enabled_plugins_file \"/opt/northstar/thirdparty/rabbitmq/sbin/../etc/rabbitmq/enabled_plugins\" -rabbit plugins_dir \"/opt/northstar/thirdparty/rabbitmq/sbin/../plugins\" -rabbit plugins_expand_dir \"/opt/northstar/thirdparty/rabbitmq/sbin/../var/lib/rabbitmq/mnesia/rabbit@pcs-q-pod08-plugins-expand\" -os_mon start_cpu_sup false -os_mon start_disksup false -os_mon start_memsup false -mnesia dir \"/opt/northstar/thirdparty/rabbitmq/sbin/../var/lib/rabbitmq/mnesia/rabbit@pcs-q-pod08\" -kernel inet_dist_listen_min 25672 -kernel inet_dist_listen_max 25672"
            },
            {
                "timestamp": "2017-08-02T10:03:47.162Z",
                "name": "zookeeper",
                "status": "RUNNING",
                "pid": 4943,
                "pcpu": "0.0",
                "rss": 87992,
                "vsz": 4608868,
                "user": "pcs",
                "group": "pcs",
                "time": "P6DT06H03M44S",
                "cmd": "/opt/northstar/thirdparty/jdk//bin/java -Dzookeeper.log.dir=/opt/northstar/thirdparty/zookeeper/bin/../logs -Dzookeeper.log.file=zookeeper--server-pcs-q-pod08.log -Dzookeeper.root.logger=INFO,CONSOLE -XX:+HeapDumpOnOutOfMemoryError -XX:OnOutOfMemoryError=kill -9 %p -cp /opt/northstar/thirdparty/zookeeper/bin/../build/classes:/opt/northstar/thirdparty/zookeeper/bin/../build/lib/*.jar:/opt/northstar/thirdparty/zookeeper/bin/../lib/slf4j-log4j12-1.7.5.jar:/opt/northstar/thirdparty/zookeeper/bin/../lib/slf4j-api-1.7.5.jar:/opt/northstar/thirdparty/zookeeper/bin/../lib/servlet-api-2.5-20081211.jar:/opt/northstar/thirdparty/zookeeper/bin/../lib/netty-3.10.5.Final.jar:/opt/northstar/thirdparty/zookeeper/bin/../lib/log4j-1.2.17.jar:/opt/northstar/thirdparty/zookeeper/bin/../lib/jline-2.11.jar:/opt/northstar/thirdparty/zookeeper/bin/../lib/jetty-util-6.1.26.jar:/opt/northstar/thirdparty/zookeeper/bin/../lib/jetty-6.1.26.jar:/opt/northstar/thirdparty/zookeeper/bin/../lib/javacc.jar:/opt/northstar/thirdparty/zookeeper/bin/../lib/jackson-mapper-asl-1.9.11.jar:/opt/northstar/thirdparty/zookeeper/bin/../lib/jackson-core-asl-1.9.11.jar:/opt/northstar/thirdparty/zookeeper/bin/../lib/commons-cli-1.2.jar:/opt/northstar/thirdparty/zookeeper/bin/../zookeeper-3.5.2-alpha.jar:/opt/northstar/thirdparty/zookeeper/bin/../src/java/lib/*.jar:/opt/northstar/thirdparty/zookeeper/bin/../conf: -Xmx1000m -Dzookeeper.admin.enableServer=false -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dzookeeper.jmx.log4j.disable=true org.apache.zookeeper.server.quorum.QuorumPeerMain /opt/northstar/thirdparty/zookeeper/bin/../conf/zoo.cfg"
            },
            {
                "timestamp": "2017-08-02T10:03:47.189Z",
                "name": "listener1_00",
                "status": "RUNNING",
                "pid": 4584,
                "pcpu": "2.9",
                "rss": 9904,
                "vsz": 390752,
                "user": "root",
                "group": "root",
                "time": "P6DT06H03M50S",
                "cmd": "/opt/northstar/thirdparty/python/bin/python /opt/northstar/haagent/event_listener.py"
            },
            {
                "timestamp": "2017-08-02T10:03:47.212Z",
                "name": "mladapter",
                "status": "RUNNING",
                "pid": 6389,
                "pcpu": "0.0",
                "rss": 30592,
                "vsz": 706084,
                "user": "pcs",
                "group": "pcs",
                "time": "P6DT06H01M39S",
                "cmd": "/opt/northstar/thirdparty/python/bin/python /opt/northstar/mlAdapter/mlAdapter.py"
            },
            {
                "timestamp": "2017-08-02T10:03:47.234Z",
                "name": "npat",
                "status": "RUNNING",
                "pid": 6002,
                "pcpu": "0.0",
                "rss": 796,
                "vsz": 16080,
                "user": "pcs",
                "group": "pcs",
                "time": "P6DT06H01M54S",
                "cmd": "/opt/pcs/bin/npatserver 7000 0"
            },
            {
                "timestamp": "2017-08-02T10:03:47.256Z",
                "name": "pceserver",
                "status": "RUNNING",
                "pid": 5833,
                "pcpu": "0.0",
                "rss": 3512,
                "vsz": 85192,
                "user": "root",
                "group": "root",
                "time": "P6DT06H02M12S",
                "cmd": "/usr/local/bin/pce_server -d"
            },
            {
                "timestamp": "2017-08-02T10:03:47.290Z",
                "name": "scheduler",
                "status": "RUNNING",
                "pid": 6004,
                "pcpu": "0.0",
                "rss": 1456,
                "vsz": 108192,
                "user": "pcs",
                "group": "pcs",
                "time": "P6DT06H01M54S",
                "cmd": "/bin/sh /opt/pcs/bin/dcJobScheduler.sh"
            },
            {
                "timestamp": "2017-08-02T10:03:47.313Z",
                "name": "toposerver",
                "status": "RUNNING",
                "pid": 6266,
                "pcpu": "0.0",
                "rss": 11524,
                "vsz": 961784,
                "user": "pcs",
                "group": "pcs",
                "time": "P6DT06H01M49S",
                "cmd": "/opt/pcs/bin/TopoServer /opt/northstar/data/northstar.cfg"
            },
            {
                "timestamp": "2017-08-02T10:03:47.334Z",
                "name": "PCServer",
                "status": "RUNNING",
                "pid": 6907,
                "pcpu": "0.0",
                "rss": 445508,
                "vsz": 1384368,
                "user": "pcs",
                "group": "pcs",
                "time": "P6DT05H59M51S",
                "cmd": "/opt/pcs/bin/PCServer -port 7003 -handlerPort 7915"
            },
            {
                "timestamp": "2017-08-02T10:03:47.352Z",
                "name": "PCViewer",
                "status": "RUNNING",
                "pid": 6906,
                "pcpu": "0.0",
                "rss": 437540,
                "vsz": 1230508,
                "user": "pcs",
                "group": "pcs",
                "time": "P6DT05H59M51S",
                "cmd": "/opt/pcs/bin/PCViewer"
            },
            {
                "timestamp": "2017-08-02T10:03:47.373Z",
                "name": "configServer",
                "status": "RUNNING",
                "pid": 6908,
                "pcpu": "0.0",
                "rss": 436548,
                "vsz": 1230512,
                "user": "pcs",
                "group": "pcs",
                "time": "P6DT05H59M51S",
                "cmd": "/opt/pcs/bin/configServer"
            }
        ],
        "time": "2017-08-02T10:03:47.391Z",
        "role": [
            "Standalone"
        ],
        "CPU": {
            "pcpu": "2.76",
            "cpus": [
                {
                    "pcpu": "4.04"
                },
                {
                    "pcpu": "4.04"
                },
                {
                    "pcpu": "2.97"
                },
                {
                    "pcpu": "0.00"
                }
            ]
        },
        "status": "Up"
    }
]

This operation does not accept a request body.

GET
v2/tenant/​{tenant_id}​/health/nodes/​{nodeId}​
Get Northstar system one node health info

Get Northstar system one node health info

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

nodeId query xsd:string

Unique node name

Response example:
{
    "nodeType": [
        "northstar",
        "dataCollector"
    ],
    "node": "pcs-q-pod08",
    "clusterIPs": [
        "10.49.161.46"
    ],
    "memory": {
        "free": 289800192,
        "usage": 5981896704,
        "total": 6271696896
    },
    "disk": {
        "partitions": [
            {
                "total": 59362,
                "used": 3957,
                "free": 52383,
                "usage": 8,
                "partition": "/"
            },
            {
                "total": 2927,
                "used": 0,
                "free": 2927,
                "usage": 0,
                "partition": "/dev/shm"
            }
        ]
    },
    "processes": [
        {
            "timestamp": "2017-07-28T05:20:10.409Z",
            "name": "elasticsearch",
            "status": "RUNNING",
            "pid": 6077,
            "pcpu": "16.9",
            "rss": 489404,
            "vsz": 4816320,
            "user": "pcs",
            "group": "pcs",
            "time": "P1DT01H18M15S",
            "cmd": "/usr/bin/java -Xms256m -Xmx1g -Djava.awt.headless=true -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+HeapDumpOnOutOfMemoryError -XX:+DisableExplicitGC -Dfile.encoding=UTF-8 -Djna.nosys=true -Des.path.home=/opt/northstar/thirdparty/elasticsearch -cp /opt/northstar/thirdparty/elasticsearch/lib/elasticsearch-2.4.0.jar:/opt/northstar/thirdparty/elasticsearch/lib/* org.elasticsearch.bootstrap.Elasticsearch start -p /opt/northstar/data/elasticsearch/elasticsearch.pid -Des.default.path.home=/opt/northstar/thirdparty/elasticsearch -Des.default.path.logs=/opt/northstar/logs -Des.default.path.data=/opt/northstar/data/elasticsearch -Des.default.path.conf=/opt/northstar/data/elasticsearch/config"
        },
        {
            "timestamp": "2017-07-28T05:20:10.436Z",
            "name": "esauthproxy",
            "status": "RUNNING",
            "pid": 6046,
            "pcpu": "0.0",
            "rss": 68528,
            "vsz": 4925568,
            "user": "pcs",
            "group": "pcs",
            "time": "P1DT01H18M16S",
            "cmd": "/opt/northstar/thirdparty/node-v6.10.1-linux-x64/bin/node /opt/northstar/esauthproxy/esauthproxy.js"
        },
        {
            "timestamp": "2017-07-28T05:20:10.452Z",
            "name": "logstash",
            "status": "RUNNING",
            "pid": 6541,
            "pcpu": "3.3",
            "rss": 470352,
            "vsz": 5783868,
            "user": "pcs",
            "group": "pcs",
            "time": "P1DT01H17M46S",
            "cmd": "/usr/bin/java -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -Djava.awt.headless=true -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+HeapDumpOnOutOfMemoryError -Djava.io.tmpdir=/opt/northstar/thirdparty/logstash -Xmx2g -Xss2048k -Djffi.boot.library.path=/opt/northstar/thirdparty/logstash/vendor/jruby/lib/jni -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -Djava.awt.headless=true -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+HeapDumpOnOutOfMemoryError -Djava.io.tmpdir=/opt/northstar/thirdparty/logstash -XX:HeapDumpPath=/opt/northstar/thirdparty/logstash/heapdump.hprof -Xbootclasspath/a:/opt/northstar/thirdparty/logstash/vendor/jruby/lib/jruby.jar -classpath : -Djruby.home=/opt/northstar/thirdparty/logstash/vendor/jruby -Djruby.lib=/opt/northstar/thirdparty/logstash/vendor/jruby/lib -Djruby.script=jruby -Djruby.shell=/bin/sh org.jruby.Main --1.9 /opt/northstar/thirdparty/logstash/lib/bootstrap/environment.rb logstash/runner.rb agent -f /opt/northstar/data/logstash/config -l /opt/northstar/logs/logstash.log --allow-env"
        },
        {
            "timestamp": "2017-07-28T05:20:10.473Z",
            "name": "cassandra",
            "status": "RUNNING",
            "pid": 4959,
            "pcpu": "0.5",
            "rss": 918716,
            "vsz": 3502228,
            "user": "pcs",
            "group": "pcs",
            "time": "P1DT01H20M07S",
            "cmd": "/opt/northstar/thirdparty/jdk//bin/java -ea -javaagent:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/jamm-0.3.0.jar -XX:+CMSClassUnloadingEnabled -XX:+UseThreadPriorities -XX:ThreadPriorityPolicy=42 -Xms1495M -Xmx1495M -Xmn373M -XX:+HeapDumpOnOutOfMemoryError -Xss256k -XX:StringTableSize=1000003 -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:SurvivorRatio=8 -XX:MaxTenuringThreshold=1 -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+UseTLAB -XX:+PerfDisableSharedMem -XX:CompileCommandFile=/opt/northstar/data/apache-cassandra/conf/hotspot_compiler -XX:CMSWaitDuration=10000 -XX:+CMSParallelInitialMarkEnabled -XX:+CMSEdenChunksRecordAlways -XX:CMSWaitDuration=10000 -Djava.net.preferIPv4Stack=true -Dcassandra.jmx.local.port=7199 -XX:+DisableExplicitGC -Djava.library.path=/opt/northstar/thirdparty/apache-cassandra/bin/../lib/sigar-bin -Dlogback.configurationFile=logback.xml -Dcassandra.logdir=/opt/northstar/thirdparty/apache-cassandra/bin/../logs -Dcassandra.storagedir=/opt/northstar/thirdparty/apache-cassandra/bin/../data -Dcassandra-foreground=yes -cp /opt/northstar/data/apache-cassandra/conf:/opt/northstar/thirdparty/apache-cassandra/bin/../build/classes/main:/opt/northstar/thirdparty/apache-cassandra/bin/../build/classes/thrift:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/airline-0.6.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/antlr-runtime-3.5.2.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/apache-cassandra-2.2.4.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/apache-cassandra-clientutil-2.2.4.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/apache-cassandra-thrift-2.2.4.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/cassandra-driver-core-2.2.0-rc2-SNAPSHOT-20150617-shaded.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/commons-cli-1.1.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/commons-codec-1.2.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/commons-lang3-3.1.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/commons-math3-3.2.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/compress-lzf-0.8.4.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/concurrentlinkedhashmap-lru-1.4.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/crc32ex-0.1.1.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/disruptor-3.0.1.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/ecj-4.4.2.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/guava-16.0.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/high-scale-lib-1.0.6.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/jackson-core-asl-1.9.2.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/jackson-mapper-asl-1.9.2.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/jamm-0.3.0.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/javax.inject.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/jbcrypt-0.3m.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/jcl-over-slf4j-1.7.7.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/jna-4.0.0.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/joda-time-2.4.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/json-simple-1.1.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/libthrift-0.9.2.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/log4j-over-slf4j-1.7.7.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/logback-classic-1.1.3.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/logback-core-1.1.3.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/lz4-1.3.0.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/metrics-core-3.1.0.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/metrics-logback-3.1.0.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/netty-all-4.0.23.Final.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/ohc-core-0.3.4.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/ohc-core-j8-0.3.4.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/reporter-config3-3.0.0.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/reporter-config-base-3.0.0.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/sigar-1.6.4.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/slf4j-api-1.7.7.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/snakeyaml-1.11.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/snappy-java-1.1.1.7.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/ST4-4.0.8.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/stream-2.5.2.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/super-csv-2.1.0.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/thrift-server-0.3.7.jar:/opt/northstar/thirdparty/apache-cassandra/bin/../lib/jsr223/*/*.jar org.apache.cassandra.service.CassandraDaemon"
        },
        {
            "timestamp": "2017-07-28T05:20:10.496Z",
            "name": "ha_agent",
            "status": "RUNNING",
            "pid": 4588,
            "pcpu": "2.8",
            "rss": 29292,
            "vsz": 369696,
            "user": "root",
            "group": "root",
            "time": "P1DT01H20M13S",
            "cmd": "/opt/northstar/thirdparty/python/bin/python /opt/northstar/haagent/ha_agent.py"
        },
        {
            "timestamp": "2017-07-28T05:20:10.511Z",
            "name": "healthmonitor",
            "status": "RUNNING",
            "pid": 4590,
            "pcpu": "0.1",
            "rss": 71832,
            "vsz": 5132096,
            "user": "pcs",
            "group": "pcs",
            "time": "P1DT01H20M13S",
            "cmd": "/opt/northstar/thirdparty/node-v6.10.1-linux-x64/bin/node /opt/northstar/healthMonitor/index.js"
        },
        {
            "timestamp": "2017-07-28T05:20:10.527Z",
            "name": "license_monitor",
            "status": "RUNNING",
            "pid": 4589,
            "pcpu": "0.0",
            "rss": 6988,
            "vsz": 435532,
            "user": "pcs",
            "group": "pcs",
            "time": "P1DT01H20M13S",
            "cmd": "/opt/northstar/thirdparty/python/bin/python /opt/northstar/haagent/license_watcher.py"
        },
        {
            "timestamp": "2017-07-28T05:20:10.543Z",
            "name": "nodejs",
            "status": "RUNNING",
            "pid": 6391,
            "pcpu": "0.0",
            "rss": 151800,
            "vsz": 5863816,
            "user": "pcs",
            "group": "pcs",
            "time": "P1DT01H18M02S",
            "cmd": "/opt/northstar/thirdparty/node-v6.10.1-linux-x64/bin/node /opt/pcs/NodeJS/app.js"
        },
        {
            "timestamp": "2017-07-28T05:20:10.558Z",
            "name": "prunedb",
            "status": "RUNNING",
            "pid": 4585,
            "pcpu": "0.0",
            "rss": 60412,
            "vsz": 4915760,
            "user": "pcs",
            "group": "pcs",
            "time": "P1DT01H20M13S",
            "cmd": "/opt/northstar/thirdparty/node-v6.10.1-linux-x64/bin/node /opt/pcs/NodeJS/util/prune_db.js"
        },
        {
            "timestamp": "2017-07-28T05:20:10.574Z",
            "name": "rabbitmq",
            "status": "RUNNING",
            "pid": 4769,
            "pcpu": "0.9",
            "rss": 56856,
            "vsz": 2333552,
            "user": "pcs",
            "group": "pcs",
            "time": "P1DT01H20M11S",
            "cmd": "/opt/northstar/thirdparty/erlang/lib/erlang/erts-7.0/bin/beam.smp -W w -A 64 -P 1048576 -K true -- -root /opt/northstar/thirdparty/erlang/lib/erlang -progname erl -- -home /opt/northstar/ -- -pa /opt/northstar/thirdparty/rabbitmq/sbin/../ebin -noshell -noinput -s rabbit boot -sname rabbit@pcs-q-pod08 -boot start_sasl -config /opt/northstar/thirdparty/rabbitmq/sbin/../etc/rabbitmq/rabbitmq -kernel inet_default_connect_options [{nodelay,true}] -sasl errlog_type error -sasl sasl_error_logger false -rabbit error_logger {file,\"/opt/northstar/thirdparty/rabbitmq/sbin/../var/log/rabbitmq/rabbit@pcs-q-pod08.log\"} -rabbit sasl_error_logger {file,\"/opt/northstar/thirdparty/rabbitmq/sbin/../var/log/rabbitmq/rabbit@pcs-q-pod08-sasl.log\"} -rabbit enabled_plugins_file \"/opt/northstar/thirdparty/rabbitmq/sbin/../etc/rabbitmq/enabled_plugins\" -rabbit plugins_dir \"/opt/northstar/thirdparty/rabbitmq/sbin/../plugins\" -rabbit plugins_expand_dir \"/opt/northstar/thirdparty/rabbitmq/sbin/../var/lib/rabbitmq/mnesia/rabbit@pcs-q-pod08-plugins-expand\" -os_mon start_cpu_sup false -os_mon start_disksup false -os_mon start_memsup false -mnesia dir \"/opt/northstar/thirdparty/rabbitmq/sbin/../var/lib/rabbitmq/mnesia/rabbit@pcs-q-pod08\" -kernel inet_dist_listen_min 25672 -kernel inet_dist_listen_max 25672"
        },
        {
            "timestamp": "2017-07-28T05:20:10.597Z",
            "name": "zookeeper",
            "status": "RUNNING",
            "pid": 4943,
            "pcpu": "0.0",
            "rss": 97164,
            "vsz": 4608868,
            "user": "pcs",
            "group": "pcs",
            "time": "P1DT01H20M07S",
            "cmd": "/opt/northstar/thirdparty/jdk//bin/java -Dzookeeper.log.dir=/opt/northstar/thirdparty/zookeeper/bin/../logs -Dzookeeper.log.file=zookeeper--server-pcs-q-pod08.log -Dzookeeper.root.logger=INFO,CONSOLE -XX:+HeapDumpOnOutOfMemoryError -XX:OnOutOfMemoryError=kill -9 %p -cp /opt/northstar/thirdparty/zookeeper/bin/../build/classes:/opt/northstar/thirdparty/zookeeper/bin/../build/lib/*.jar:/opt/northstar/thirdparty/zookeeper/bin/../lib/slf4j-log4j12-1.7.5.jar:/opt/northstar/thirdparty/zookeeper/bin/../lib/slf4j-api-1.7.5.jar:/opt/northstar/thirdparty/zookeeper/bin/../lib/servlet-api-2.5-20081211.jar:/opt/northstar/thirdparty/zookeeper/bin/../lib/netty-3.10.5.Final.jar:/opt/northstar/thirdparty/zookeeper/bin/../lib/log4j-1.2.17.jar:/opt/northstar/thirdparty/zookeeper/bin/../lib/jline-2.11.jar:/opt/northstar/thirdparty/zookeeper/bin/../lib/jetty-util-6.1.26.jar:/opt/northstar/thirdparty/zookeeper/bin/../lib/jetty-6.1.26.jar:/opt/northstar/thirdparty/zookeeper/bin/../lib/javacc.jar:/opt/northstar/thirdparty/zookeeper/bin/../lib/jackson-mapper-asl-1.9.11.jar:/opt/northstar/thirdparty/zookeeper/bin/../lib/jackson-core-asl-1.9.11.jar:/opt/northstar/thirdparty/zookeeper/bin/../lib/commons-cli-1.2.jar:/opt/northstar/thirdparty/zookeeper/bin/../zookeeper-3.5.2-alpha.jar:/opt/northstar/thirdparty/zookeeper/bin/../src/java/lib/*.jar:/opt/northstar/thirdparty/zookeeper/bin/../conf: -Xmx1000m -Dzookeeper.admin.enableServer=false -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dzookeeper.jmx.log4j.disable=true org.apache.zookeeper.server.quorum.QuorumPeerMain /opt/northstar/thirdparty/zookeeper/bin/../conf/zoo.cfg"
        },
        {
            "timestamp": "2017-07-28T05:20:10.627Z",
            "name": "listener1_00",
            "status": "RUNNING",
            "pid": 4584,
            "pcpu": "2.8",
            "rss": 15544,
            "vsz": 390752,
            "user": "root",
            "group": "root",
            "time": "P1DT01H20M13S",
            "cmd": "/opt/northstar/thirdparty/python/bin/python /opt/northstar/haagent/event_listener.py"
        },
        {
            "timestamp": "2017-07-28T05:20:10.645Z",
            "name": "mladapter",
            "status": "RUNNING",
            "pid": 6389,
            "pcpu": "0.0",
            "rss": 40624,
            "vsz": 706084,
            "user": "pcs",
            "group": "pcs",
            "time": "P1DT01H18M02S",
            "cmd": "/opt/northstar/thirdparty/python/bin/python /opt/northstar/mlAdapter/mlAdapter.py"
        },
        {
            "timestamp": "2017-07-28T05:20:10.663Z",
            "name": "npat",
            "status": "RUNNING",
            "pid": 6002,
            "pcpu": "0.0",
            "rss": 884,
            "vsz": 16080,
            "user": "pcs",
            "group": "pcs",
            "time": "P1DT01H18M17S",
            "cmd": "/opt/pcs/bin/npatserver 7000 0"
        },
        {
            "timestamp": "2017-07-28T05:20:10.681Z",
            "name": "pceserver",
            "status": "RUNNING",
            "pid": 5833,
            "pcpu": "0.0",
            "rss": 5104,
            "vsz": 85192,
            "user": "root",
            "group": "root",
            "time": "P1DT01H18M35S",
            "cmd": "/usr/local/bin/pce_server -d"
        },
        {
            "timestamp": "2017-07-28T05:20:10.709Z",
            "name": "scheduler",
            "status": "RUNNING",
            "pid": 6004,
            "pcpu": "0.0",
            "rss": 1456,
            "vsz": 108192,
            "user": "pcs",
            "group": "pcs",
            "time": "P1DT01H18M17S",
            "cmd": "/bin/sh /opt/pcs/bin/dcJobScheduler.sh"
        },
        {
            "timestamp": "2017-07-28T05:20:10.725Z",
            "name": "toposerver",
            "status": "RUNNING",
            "pid": 6266,
            "pcpu": "0.0",
            "rss": 16884,
            "vsz": 961784,
            "user": "pcs",
            "group": "pcs",
            "time": "P1DT01H18M12S",
            "cmd": "/opt/pcs/bin/TopoServer /opt/northstar/data/northstar.cfg"
        },
        {
            "timestamp": "2017-07-28T05:20:10.741Z",
            "name": "PCServer",
            "status": "RUNNING",
            "pid": 6907,
            "pcpu": "0.0",
            "rss": 447792,
            "vsz": 1384368,
            "user": "pcs",
            "group": "pcs",
            "time": "P1DT01H16M14S",
            "cmd": "/opt/pcs/bin/PCServer -port 7003 -handlerPort 7915"
        },
        {
            "timestamp": "2017-07-28T05:20:10.756Z",
            "name": "PCViewer",
            "status": "RUNNING",
            "pid": 6906,
            "pcpu": "0.0",
            "rss": 439740,
            "vsz": 1230508,
            "user": "pcs",
            "group": "pcs",
            "time": "P1DT01H16M14S",
            "cmd": "/opt/pcs/bin/PCViewer"
        },
        {
            "timestamp": "2017-07-28T05:20:10.773Z",
            "name": "configServer",
            "status": "RUNNING",
            "pid": 6908,
            "pcpu": "0.0",
            "rss": 438700,
            "vsz": 1230512,
            "user": "pcs",
            "group": "pcs",
            "time": "P1DT01H16M14S",
            "cmd": "/opt/pcs/bin/configServer"
        }
    ],
    "time": "2017-07-28T05:20:10.790Z",
    "role": [
        "Standalone"
    ],
    "CPU": {
        "pcpu": "16.24",
        "cpus": [
            {
                "pcpu": "6.00"
            },
            {
                "pcpu": "4.04"
            },
            {
                "pcpu": "3.00"
            },
            {
                "pcpu": "5.00"
            }
        ]
    }
}
GET
v2/tenant/​{tenant_id}​/health/nodes/​{nodeId}​/time
Get Node specific time

Get Node specific time

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

nodeId query xsd:string

Unique node name

Response example:
{
    "node": "pcs-q-pod08",
    "time": "2017-07-27T07:59:15.730Z"
}
GET
v2/tenant/​{tenant_id}​/health/nodes/​{nodeId}​/​{processName}​
Process status of a specific node

Process status of a specific node

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

nodeId query xsd:string

Unique node name

processName query xsd:string

Process name

Response example:
{
    "timestamp": "2017-07-27T08:03:43.828Z",
    "name": "elasticsearch",
    "status": "RUNNING",
    "pid": 6077,
    "pcpu": "7.0",
    "rss": 429736,
    "vsz": 4723060,
    "user": "pcs",
    "group": "pcs",
    "time": "PT04H01M48S",
    "cmd": "/usr/bin/java -Xms256m -Xmx1g -Djava.awt.headless=true -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+HeapDumpOnOutOfMemoryError -XX:+DisableExplicitGC -Dfile.encoding=UTF-8 -Djna.nosys=true -Des.path.home=/opt/northstar/thirdparty/elasticsearch -cp /opt/northstar/thirdparty/elasticsearch/lib/elasticsearch-2.4.0.jar:/opt/northstar/thirdparty/elasticsearch/lib/* org.elasticsearch.bootstrap.Elasticsearch start -p /opt/northstar/data/elasticsearch/elasticsearch.pid -Des.default.path.home=/opt/northstar/thirdparty/elasticsearch -Des.default.path.logs=/opt/northstar/logs -Des.default.path.data=/opt/northstar/data/elasticsearch -Des.default.path.conf=/opt/northstar/data/elasticsearch/config",
    "history": [
        {
            "timestamp": "2017-07-27T07:01:29.503Z",
            "pcpu": "6.2",
            "rss": 428192,
            "vsz": 4718616
        },
        {
            "timestamp": "2017-07-27T07:11:31.072Z",
            "pcpu": "6.3",
            "rss": 428384,
            "vsz": 4719296
        },
        {
            "timestamp": "2017-07-27T07:21:32.679Z",
            "pcpu": "6.4",
            "rss": 430732,
            "vsz": 4719968
        },
        {
            "timestamp": "2017-07-27T07:31:34.302Z",
            "pcpu": "6.6",
            "rss": 431048,
            "vsz": 4723216
        },
        {
            "timestamp": "2017-07-27T07:41:35.871Z",
            "pcpu": "6.7",
            "rss": 428768,
            "vsz": 4721548
        },
        {
            "timestamp": "2017-07-27T07:51:37.577Z",
            "pcpu": "6.8",
            "rss": 431556,
            "vsz": 4724820
        },
        {
            "timestamp": "2017-07-27T08:01:39.141Z",
            "pcpu": "6.9",
            "rss": 429764,
            "vsz": 4722932
        },
        {
            "timestamp": "2017-07-27T04:11:02.034Z",
            "pcpu": "11.6",
            "rss": 366572,
            "vsz": 4702888
        },
        {
            "timestamp": "2017-07-27T04:21:03.676Z",
            "pcpu": "8.3",
            "rss": 409876,
            "vsz": 4703492
        },
        {
            "timestamp": "2017-07-27T04:31:05.404Z",
            "pcpu": "6.8",
            "rss": 410432,
            "vsz": 4705336
        },
        {
            "timestamp": "2017-07-27T04:41:07.051Z",
            "pcpu": "6.2",
            "rss": 413532,
            "vsz": 4705724
        },
        {
            "timestamp": "2017-07-27T04:51:08.634Z",
            "pcpu": "5.8",
            "rss": 414224,
            "vsz": 4706860
        },
        {
            "timestamp": "2017-07-27T05:01:10.208Z",
            "pcpu": "5.6",
            "rss": 415696,
            "vsz": 4709092
        },
        {
            "timestamp": "2017-07-27T05:11:11.925Z",
            "pcpu": "5.5",
            "rss": 416604,
            "vsz": 4711372
        },
        {
            "timestamp": "2017-07-27T05:21:13.443Z",
            "pcpu": "5.4",
            "rss": 416448,
            "vsz": 4711280
        },
        {
            "timestamp": "2017-07-27T05:31:15.085Z",
            "pcpu": "5.4",
            "rss": 417620,
            "vsz": 4712728
        },
        {
            "timestamp": "2017-07-27T05:41:16.629Z",
            "pcpu": "5.5",
            "rss": 416912,
            "vsz": 4712464
        },
        {
            "timestamp": "2017-07-27T05:51:18.274Z",
            "pcpu": "5.6",
            "rss": 417344,
            "vsz": 4713424
        },
        {
            "timestamp": "2017-07-27T06:01:19.797Z",
            "pcpu": "5.6",
            "rss": 420080,
            "vsz": 4716988
        },
        {
            "timestamp": "2017-07-27T06:11:21.449Z",
            "pcpu": "5.7",
            "rss": 419820,
            "vsz": 4715032
        },
        {
            "timestamp": "2017-07-27T06:21:23.354Z",
            "pcpu": "5.8",
            "rss": 426464,
            "vsz": 4715688
        },
        {
            "timestamp": "2017-07-27T06:31:24.903Z",
            "pcpu": "5.9",
            "rss": 427692,
            "vsz": 4716340
        },
        {
            "timestamp": "2017-07-27T06:41:26.482Z",
            "pcpu": "6.0",
            "rss": 427884,
            "vsz": 4717164
        },
        {
            "timestamp": "2017-07-27T06:51:27.999Z",
            "pcpu": "6.1",
            "rss": 427984,
            "vsz": 4717912
        }
    ]
}
GET
v2/tenant/​{tenant_id}​/health/nodes/​{nodeId}​/​{processName}​/history
Process status history of a specific node

Process status history of a specific node.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

nodeId query xsd:string

Unique node name

processName query xsd:string

Process name

Response example:
[
    {
        "timestamp": "2017-07-27T07:01:29.503Z",
        "pcpu": "6.2",
        "rss": 428192,
        "vsz": 4718616
    },
    {
        "timestamp": "2017-07-27T07:11:31.072Z",
        "pcpu": "6.3",
        "rss": 428384,
        "vsz": 4719296
    },
    {
        "timestamp": "2017-07-27T07:21:32.679Z",
        "pcpu": "6.4",
        "rss": 430732,
        "vsz": 4719968
    },
    {
        "timestamp": "2017-07-27T07:31:34.302Z",
        "pcpu": "6.6",
        "rss": 431048,
        "vsz": 4723216
    },
    {
        "timestamp": "2017-07-27T07:41:35.871Z",
        "pcpu": "6.7",
        "rss": 428768,
        "vsz": 4721548
    },
    {
        "timestamp": "2017-07-27T07:51:37.577Z",
        "pcpu": "6.8",
        "rss": 431556,
        "vsz": 4724820
    },
    {
        "timestamp": "2017-07-27T08:01:39.141Z",
        "pcpu": "6.9",
        "rss": 429764,
        "vsz": 4722932
    },
    {
        "timestamp": "2017-07-27T04:11:02.034Z",
        "pcpu": "11.6",
        "rss": 366572,
        "vsz": 4702888
    },
    {
        "timestamp": "2017-07-27T04:21:03.676Z",
        "pcpu": "8.3",
        "rss": 409876,
        "vsz": 4703492
    },
    {
        "timestamp": "2017-07-27T04:31:05.404Z",
        "pcpu": "6.8",
        "rss": 410432,
        "vsz": 4705336
    },
    {
        "timestamp": "2017-07-27T04:41:07.051Z",
        "pcpu": "6.2",
        "rss": 413532,
        "vsz": 4705724
    },
    {
        "timestamp": "2017-07-27T04:51:08.634Z",
        "pcpu": "5.8",
        "rss": 414224,
        "vsz": 4706860
    },
    {
        "timestamp": "2017-07-27T05:01:10.208Z",
        "pcpu": "5.6",
        "rss": 415696,
        "vsz": 4709092
    },
    {
        "timestamp": "2017-07-27T05:11:11.925Z",
        "pcpu": "5.5",
        "rss": 416604,
        "vsz": 4711372
    },
    {
        "timestamp": "2017-07-27T05:21:13.443Z",
        "pcpu": "5.4",
        "rss": 416448,
        "vsz": 4711280
    },
    {
        "timestamp": "2017-07-27T05:31:15.085Z",
        "pcpu": "5.4",
        "rss": 417620,
        "vsz": 4712728
    },
    {
        "timestamp": "2017-07-27T05:41:16.629Z",
        "pcpu": "5.5",
        "rss": 416912,
        "vsz": 4712464
    },
    {
        "timestamp": "2017-07-27T05:51:18.274Z",
        "pcpu": "5.6",
        "rss": 417344,
        "vsz": 4713424
    },
    {
        "timestamp": "2017-07-27T06:01:19.797Z",
        "pcpu": "5.6",
        "rss": 420080,
        "vsz": 4716988
    },
    {
        "timestamp": "2017-07-27T06:11:21.449Z",
        "pcpu": "5.7",
        "rss": 419820,
        "vsz": 4715032
    },
    {
        "timestamp": "2017-07-27T06:21:23.354Z",
        "pcpu": "5.8",
        "rss": 426464,
        "vsz": 4715688
    },
    {
        "timestamp": "2017-07-27T06:31:24.903Z",
        "pcpu": "5.9",
        "rss": 427692,
        "vsz": 4716340
    },
    {
        "timestamp": "2017-07-27T06:41:26.482Z",
        "pcpu": "6.0",
        "rss": 427884,
        "vsz": 4717164
    },
    {
        "timestamp": "2017-07-27T06:51:27.999Z",
        "pcpu": "6.1",
        "rss": 427984,
        "vsz": 4717912
    }
]
GET
v2/tenant/​{tenant_id}​/health/nodes/thresholds
Get Thresholds

Get Thresholds

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

Response example:
[
    {
        "id": "diskUtilization",
        "partition": "/",
        "node": "pcs-q-pod08",
        "critical": "95%",
        "warning": "80%"
    }
]

This operation does not accept a request body.

GET
v2/tenant/​{tenant_id}​/health/nodes/thresholds/diskUtilization
Get Disk Util Thresholds

Get Disk Util Thresholds

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

Response example:
[
    {
        "id": "diskUtilization",
        "partition": "/",
        "node": "pcs-q-pod08",
        "critical": "95%",
        "warning": "80%"
    }
]

This operation does not accept a request body.

PUT
v2/tenant/​{tenant_id}​/health/nodes/thresholds/diskUtilization
Update Disk Util Thresholds

Update Disk Util Thresholds. The request must follow the schema: health.json#/definitions/diskThreshold

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

Response example:
{
    "links": [
        {
            "href": "nodes",
            "rel": "nodes",
            "type": "application/json"
        },
        {
            "href": "nodes/{nodeId}",
            "rel": "node",
            "type": "application/json"
        },
        {
            "href": "nodes/{nodeId}/time",
            "rel": "node",
            "type": "application/json"
        },
        {
            "href": "nodes/{nodeId}/{processName}",
            "rel": "processDetail",
            "type": "application/json"
        },
        {
            "href": "nodes/{nodeId}/{processName}/history",
            "rel": "processDetailHistory",
            "type": "application/json"
        },
        {
            "href": "thresholds",
            "rel": "thresholds",
            "type": "application/json"
        },
        {
            "href": "thresholds/<threshholdId>",
            "rel": "threshold",
            "type": "application/json"
        },
        {
            "href": "smtpconfig",
            "rel": "smtpconfig",
            "type": "application/json"
        },
        {
            "href": "subscribers",
            "rel": "subscribers",
            "type": "application/json"
        }
    ]
}

This operation does not accept a request body.

GET
v2/tenant/​{tenant_id}​/health/nodes/smtpconfig
GET SMTP Config

GET SMTP Config.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

Response example:
{
    "enabled": true,
    "isPasswdSet": true
}

This operation does not accept a request body.

PUT
v2/tenant/​{tenant_id}​/health/nodes/smtpconfig
Update SMTP Config

Update SMTP Config. The request must follow the schema: health.json#/definitions/updateSmtpconfig and sample

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

host query xsd:string

Host address

port query xsd:int

Port

secure query xsd:bool

Is it using SSL ?

username query xsd:string

Username

password query xsd:string

Password

enabled query xsd:bool

SMTP server enabled ?

Request example:
{
	"host":"127.0.0.1",
	"secure":false,
	"username":"sample",
	"password":"sample123",
	"port":587,
    "enabled": true
}
Response example:
{
    "host": "127.0.0.1",
    "secure": false,
    "username": "test",
    "port": 587,
    "enabled": true
}
PUT
v2/tenant/​{tenant_id}​/health/nodes/subscribers
Update Email Alert subscribers

Update Email Alert subscribers. The request must follow the schema: health.json#/definitions/subscriberList

 
Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

This operation does not accept a request body and does not return a response body.

DELETE
v2/tenant/​{tenant_id}​/health/nodes/subscribers
Delete Email Alert subscribers

Delete Email Alert subscribers. The request must follow the schema: health.json#/definitions/subscriber

 
Request parameters
Parameter Style Type Description
tenant_id URI xsd:int

A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1.

This operation does not accept a request body and does not return a response body.

Notification examples

Node events

Node update example

                        {"action": "update", "notificationType": "node", "object":   {
    "topoObjectType": "node","topologyIndex": 1,"id": "192.0.2.1","nodeIndex": 1,"layer": "IP","AutonomousSystem": {"asNumber": 11},
    "protocols": {"ISIS": {
        "routerId": "192.0.2.1",
        "TERouterId": "192.0.2.1",
        "isoAddress": "0110.0000.0101",
        "area": "490011"},
      "PCEP": {"operationalStatus": "Up","pccAddress": "192.0.2.1"}}}}

                    

Node removal example

                        {"action": "remove", "notificationType": "node", "object": {"nodeIndex": 1, "topologyIndex": 1, "id": "192.0.2.1", "topoObjectType": "node"}}

                    

Link events

Link update example

                        {"action": "remove", "notificationType": "link","object": {
    "topoObjectType": "link","topologyIndex": 1,
    "linkIndex": 1,"id": "L192.0.2.13_192.0.2.14",   
    "endA": {
        "topoObjectType": "interface","TEcolor": 0, "TEmetric": 10,	"delay" : 600,
        "bandwidth": 40000000000,
        "node"       : {"id": "192.0.2.3","topoObjectType": "node","topologyIndex": 1},
        "ipv4Address": {"address": "192.0.2.13","topoObjectType": "ipv4"},
        "protocols": {"ISIS": { "TEMetric": 10,"level": "L2"},
                      "RSVP": {"bandwidth": 40000000000}},        
        "unreservedBw": [39970000896, 39970000896, 39970000896, 39469998080, 39469998080, 39469998080, 39469998080, 39469998080]
    },
    "endZ": {
        "topoObjectType": "interface","TEcolor": 0, "TEmetric": 10,	"delay" : 600,
        "bandwidth": 40000000000,
        "node"       : {"id": "192.0.2.7","topoObjectType": "node","topologyIndex": 1},
        "ipv4Address": {"address": "192.0.2.14","topoObjectType": "ipv4"},
        "protocols": {"ISIS": { "TEMetric": 10,"level": "L2"},
                      "RSVP": {"bandwidth": 40000000000}}, 
        "unreservedBw": [39289999360, 38790000640, 38790000640, 38790000640, 38790000640, 38790000640, 38790000640, 38790000640]
    },        
    "operationalStatus": "Up"}}


                    

Link removal example

                        {"action": "remove", "object": {"id": "192.0.2.13", "topologyIndex": 1, "linkIndex": 1, "topoObjectType": "link"}, "notificationType": "link"},

                    

TE-LSPs events

LSP update example

                        {"action": "remove", "notificationType": "lsp","object":{
    "lspIndex": 2,
    "name": "LP_101_103",
    "from": {"address": "62.0.0.101", "topoObjectType": "ipv4"},
    "to":   {"address": "62.0.0.103", "topoObjectType": "ipv4"},
    "controlType": "Delegated",
    "plannedProperties": {
	"bandwidth": "10M",
	"setupPriority": 7,
	"holdingPriority": 0,
	"calculatedEro": [
	    {"topoObjectType": "ipv4","address": "62.101.105.2","loose": false},
	    {"topoObjectType": "ipv4","address": "62.102.105.1","loose": false},
	    {"topoObjectType": "ipv4","address": "62.102.106.2","loose": false},
	    {"topoObjectType": "ipv4","address": "62.104.106.1","loose": false},
	    {"topoObjectType": "ipv4","address": "62.104.107.2","loose": false},
	    {"topoObjectType": "ipv4","address": "62.103.107.1","loose": false}
	],
	"pathName": "Path_Node101_Node103_Strict_1",
	"adminStatus": "Up",
	"operationalStatus": "Up",
	"lastStatusString": "<Active PCS initialization"
    },
    "liveProperties": {
        "adminStatus": "Up",
        "bandwidth": 10000000,
        "ero": [
            {"address": "62.101.105.2", "loose": false, "topoObjectType": "ipv4" },
            {"address": "62.105.107.2", "loose": false, "topoObjectType": "ipv4" },
            {"address": "62.103.107.1", "loose": false, "topoObjectType": "ipv4" }
        ],
        "holdingPriority": 0,
        "metric": 40,
        "pathName": "Path_Node101_Node103_Strict_1",
        "rro": [
            {"address": "62.0.0.105",   "protectionAvailable": true, "protectionInUse": false, "topoObjectType": "ipv4"},
            {"address": "62.101.105.2", "protectionAvailable": true, "protectionInUse": false, "topoObjectType": "ipv4"},
            {"address": "62.0.0.107",   "protectionAvailable": false, "protectionInUse": false, "topoObjectType": "ipv4"},
            {"address": "62.105.107.2", "protectionAvailable": false, "protectionInUse": false, "topoObjectType": "ipv4"},
            {"address": "62.0.0.103",   "protectionAvailable": false, "protectionInUse": false, "topoObjectType": "ipv4"},
            {"address": "62.103.107.1", "protectionAvailable": false, "protectionInUse": false, "topoObjectType": "ipv4"}
        ],
        "setupPriority": 7
    },
    "operationalStatus": "Active",
    "pathType": "primary",
    "tunnelId": 56614
}}

                    

LSP removal example

                        {"action": "remove", "object": {"lspIndex": 74}, "notificationType": "lsp"},

                    

P2MP Groups

P2MP update example

The following example illustrates updating a P2MP group with a new LSP. The result is, in fact, two updates, one for the group and one for the newly added LSP. The results are similar when an LSP is removed from the group; the group is updated (or removed if no LSP remains), then the member itself is removed.


                        {"action": "update", "object": {"from": {"address": "11.0.0.101", "topoObjectType": "ipv4"}, "name": "1-d", "lsps": [{"lspIndex": 90}, {"lspIndex": 91}], "p2mpIndex": 184549477, "topoObjectType": "p2mpGroup", "p2mpGroupIndex": 8}, "notificationType": "p2mpGroup"},

                    

                        {"action": "add", "object": {"p2mpName": "1-d", "from": {"address": "11.0.0.101", "topoObjectType": "ipv4"}, "name": "p2mpMember-02", "p2mpIndex": 184549477, "liveProperties": {"adminStatus": "Up", "rro": [{"address": "11.101.105.2", "protectionAvailable": false, "protectionInUse": false, "topoObjectType": "ipv4"}, {"address": "11.105.107.2", "protectionAvailable": false, "protectionInUse": false, "topoObjectType": "ipv4"}, {"address": "11.104.107.1", "protectionAvailable": false, "protectionInUse": false, "topoObjectType": "ipv4"}], "setupPriority": 7, "metric": 0, "bandwidth": 0, "holdingPriority": 0, "ero": []}, "pathType": "primary", "to": {"address": "11.0.0.104", "topoObjectType": "ipv4"}, "controller": "External", "operationalStatus": "Up", "controlType": "PCC", "lspIndex": 91}, "notificationType": "lsp"},

                    

P2MP group removal example

When the Last LSP of the P2MP group is removed, the P2MP group is removed.

NOTE: LSP removal notification is described in the LSP notification examples.


                        {"action": "remove", "object": {"p2mpGroupIndex": 8, "topologyIndex": 1, "topoObjectType": "p2mpGroup"}, "notificationType": "p2mpGroup"},

                    

Facilities events

Facility update example

                        {"action": "add", "object": {"topologyIndex": 1, "elements": [{"id": "L11.105.106.1_11.105.106.2", "topoObjectType": "link"}, {"id": "L11.104.107.1_11.104.107.2", "topoObjectType": "link"}], "facilityIndex": 15, "id": "65284", "topoObjectType": "facility"}, "notificationType": "facility"}

                    

Facility removal example

                        {"action": "remove", "object": {"topologyIndex": 1, "elements": [], "facilityIndex": 20, "id": "13", "topoObjectType": "facility"}, "notificationType": "facility"},

                    

High Availability events

Node status update

                        {"action": "add","notificationType": "host","object" :{
    "hostname" : "node1.northstar.example.net",
    "status" : "Up",
    "role" : "Active"
}}