The Juniper Networks NorthStar API enables querying of topology, management of topology planning parameters, and management of TE-LSP.
NorthStar API v2 was introduced in NorthStar Controller version 2.1 for id/name separation and is not backwards compatible with v1.
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.
NorthStar 6.0 introduces the following REST API changes:
Topology can now be augmented with CE and Site nodes, see topology section
P2MP Tree Design and provisioning now supports CE and Site nodes as destination nodes.
P2MP groups and SRLG/Facilities are available through the API since NorthStar 4.2 , and you can use a notification from NorthStar Controller to dynamically push updates to REST API clients.
Use the P2MP REST API calls to create P2MP groups and manage the following P2MP group common attributes:
Bandwidth
Setup/Holding Priority
Coloring Attributes
You can use the TE-LSP API calls or the new P2MP REST API calls to delete the P2MP leaves. For more information, see the P2MP section
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.
NorthStar Controller Management, including High Availability status and prefs, and Transport Controllers
VRFs.
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.
Existing REST APIs that reference plannedProperties/operationalStatus needs to be changed to plannedProperties/routingStatus as backwards compatibility will not be maintained from this release going forward. The reason for the change is based on the feedback from users that under plannedProperties, routingStatus would be more clear than operationalStatus. For an example, please see "LSP update example" under TE-LSPs events section below.
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
Event | Schema | Description |
---|---|---|
topologyEvent | topology_v2.json#/definitions/topologyNotification | Event affecting the complete topology, for instance when the administrator does a topology reset or resync. The notification sent can be as follows. First an add notification with empty topology indicating that the Topology has been re-synched or reseted. Second an update notification with a topology object containing only node or link set. This indicates that the complete node (resp. link) should be re-synched. This may happen in high-load situation where the notification rate is too big (northstar.cfg *_state_refresh_threshold). |
nodeEvent | topology_v2.json#/definitions/nodeNotification | Node event notification. |
linkEvent | topology_v2.json#/definitions/linkNotification | Link event notification. |
lspEvent | topology_v2.json#/definitions/lspNotification | TE-LSP event notification. |
lspTopologyEvent | topology_v2.json#/definitions/lspTopologyEvent | This notification is sent when there is a burst of LSP notification, it indicates that the complete set of TE-LSPs is potentially changed. See northstar.cfg lsp_state_refresh_threshold |
demandEvent | topology_v2.json#/definitions/demandNotification | Demand event notification. |
demandTopologyEvent | topology_v2.json#/definitions/lspTopologyEvent | This notification is sent when there is a burst of LSP or demand notification, it indicates that the complete set of TE-LSPs is potentially changed. See northstar.cfg lsp_state_refresh_threshold (This is intentionally the same as TE-LSPs). |
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. |
teContainerEvent | topology_v2.json#/definitions/containerNotification | TE Container event notification. |
maintenanceEvent | topology_v2.json#/definitions/maintenanceNotification | Maintenance resource 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. |
ipePolicyEvent | topology_v2.json#/definitions/ipePolicyNotification | IPE Policy event notification. |
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()
Use the endpoints to retrieve the following information:
Topology list
Node list
Links
TE-LSPs
Demands
Facilities
P2MP group
TE-Containers
Maintenances
Interfaces
Component status
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]
The topology is typically populated using BGP-LS peering with NorthStar, but it is possible to add nodes and links using the REST API for modelling purposes. Since NorthStar 6.0, two node attributes are used to refine how nodes added using the REST API are considered for path computation, typically to model CE and Site nodes. The first attribute is a new attribute (ipRole) that models how the node is used with regard to LSP termination/transit. The attribute accepts the values: Regular, Access and Core and are defined below. Access nodes cannot act as transit, while core nodes can be transit but cannot terminate LSPs from access nodes directly. Regular nodes can act as transit nodes. The second attribute is an existing attribute (Vendor) with special values (CE or SITE) and control how the LSP is installed in the network:CE and Site nodes are pruned from the signaled path. Please see Nodes section for example on how to create Site and CE nodes.
Returns a list of the topologies that are available.
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. |
[
{
"topologyIndex": 1,
"topoObjectType": "topology"
}
]
This operation does not accept a request body.
Lists topological elements
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. |
The following examples show different set of results:
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). A pseudo node does not have router-ids in its protocol object. It's pseudoNode attribute set to TRUE.
{
"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
}
The example shows two PE nodes (PE3 and PE4 - discovered from BGP-LS), two CE nodes (CE1 and CE2 - manually created using Node API) and three Sites (SiteA, SiteB and SiteC - manually created using Node API) nodes, and links between PE3 and PE4 (id: L10.0.1.10_10.0.1.9 - discovered from BGP-LS), and manually created link using Links API which are PE3 and SiteA (id: L0100.0000.0003_SiteA_PE3-SiteA), PE4 and SiteB (id: L0100.0000.0004_SiteB_PE4-SiteB), PE3 and CE1 (id: L0100.0000.0003_CE1_PE3-CE1), CE1 and SiteO (id: LCE1_SiteO_CE1-SiteO) and CE2 and SiteO (id: LCE2_SiteO_CE2-SiteO).
{
"topologyIndex":1,
"topoObjectType": "topology",
"nodes": [
{
"topoObjectType": "node",
"topologyIndex": 1,
"id": "0100.0000.0003",
"nodeIndex": 3,
"layer": "IP",
"live": true,
"AutonomousSystem": {
"asNumber": 100
},
"routerId": "10.0.0.3",
"protocols": {
"ISIS": {
"routerId": "10.0.0.3",
"TERouterId": "10.0.0.3",
"isoAddress": "0100.0000.0003",
"area": "490001"
},
"NETCONF": {
"operationalStatus": "Up",
"operationalState": "Connected",
"clientAddress": "10.0.0.3",
"sessionParameters": {
"keepalive": 300
},
"clientCapabilities": [
"http://xml.juniper.net/dmi/system/1.0",
"http://xml.juniper.net/netconf/junos/1.0",
"urn:ietf:params:netconf:base:1.0",
"urn:ietf:params:netconf:capability:candidate:1.0",
"urn:ietf:params:netconf:capability:confirmed-commit:1.0",
"urn:ietf:params:netconf:capability:url:1.0?scheme=http,ftp,file",
"urn:ietf:params:netconf:capability:validate:1.0",
"urn:ietf:params:xml:ns:netconf:base:1.0",
"urn:ietf:params:xml:ns:netconf:capability:candidate:1.0",
"urn:ietf:params:xml:ns:netconf:capability:confirmed-commit:1.0",
"urn:ietf:params:xml:ns:netconf:capability:url:1.0?scheme=http,ftp,file",
"urn:ietf:params:xml:ns:netconf:capability:validate:1.0",
"urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring"
]
},
"PCEP": {
"operationalStatus": "Up",
"pccAddress": "10.0.0.3",
"sessionParameters": {
"keepalive": 0,
"deadtimer": 0,
"maximumStackDepth": 0
},
"peerStatefullCapabilities": {
"lspUpdate": true,
"lspInstantiation": true,
"p2mp": true,
"p2mpUpdate": true,
"p2mpInstantiation": true,
"SRCapability": false
}
},
"management": {
"address": "10.0.0.3",
"vendor": "JUNIPER",
"operatingSystem": "JUNOS",
"operatingSystemVersion": "19.4R1.10"
}
},
"hostName": "PE3",
"configurationDataSource": {
"latest": {
"href": "/NorthStar/API/v2/tenant/1/topology/1/nodes/3/device/configurationDataSource/latest"
}
}
},
{
"topoObjectType": "node",
"topologyIndex": 1,
"id": "0100.0000.0004",
"nodeIndex": 4,
"layer": "IP",
"live": true,
"AutonomousSystem": {
"asNumber": 100
},
"routerId": "10.0.0.4",
"protocols": {
"ISIS": {
"routerId": "10.0.0.4",
"TERouterId": "10.0.0.4",
"isoAddress": "0100.0000.0004",
"area": "490001"
},
"NETCONF": {
"operationalStatus": "Up",
"operationalState": "Connected",
"clientAddress": "10.0.0.4",
"sessionParameters": {
"keepalive": 300
},
"clientCapabilities": [
"http://xml.juniper.net/dmi/system/1.0",
"http://xml.juniper.net/netconf/junos/1.0",
"urn:ietf:params:netconf:base:1.0",
"urn:ietf:params:netconf:capability:candidate:1.0",
"urn:ietf:params:netconf:capability:confirmed-commit:1.0",
"urn:ietf:params:netconf:capability:url:1.0?scheme=http,ftp,file",
"urn:ietf:params:netconf:capability:validate:1.0",
"urn:ietf:params:xml:ns:netconf:base:1.0",
"urn:ietf:params:xml:ns:netconf:capability:candidate:1.0",
"urn:ietf:params:xml:ns:netconf:capability:confirmed-commit:1.0",
"urn:ietf:params:xml:ns:netconf:capability:url:1.0?scheme=http,ftp,file",
"urn:ietf:params:xml:ns:netconf:capability:validate:1.0",
"urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring"
]
},
"PCEP": {
"operationalStatus": "Up",
"pccAddress": "10.0.0.4",
"sessionParameters": {
"keepalive": 0,
"deadtimer": 0,
"maximumStackDepth": 0
},
"peerStatefullCapabilities": {
"lspUpdate": true,
"lspInstantiation": true,
"p2mp": true,
"p2mpUpdate": true,
"p2mpInstantiation": true,
"SRCapability": false
}
},
"management": {
"address": "10.0.0.4",
"vendor": "JUNIPER",
"operatingSystem": "JUNOS",
"operatingSystemVersion": "19.4R1.10"
}
},
"hostName": "PE4",
"configurationDataSource": {
"latest": {
"href": "/NorthStar/API/v2/tenant/1/topology/1/nodes/4/device/configurationDataSource/latest"
}
}
},
{
"topoObjectType": "node",
"topologyIndex": 1,
"id": "SiteA",
"nodeIndex": 11,
"layer": "Service",
"live": false,
"routerId": "11.0.0.1",
"ipRole": "Access",
"protocols": {
"ISIS": {
"routerId": "11.0.0.1",
"TERouterId": "11.0.0.1"
},
"management": {
"vendor": "SITE"
}
},
"hostName": "SiteA",
"name": "SiteA"
},
{
"topoObjectType": "node",
"topologyIndex": 1,
"id": "SiteB",
"nodeIndex": 12,
"layer": "Service",
"live": false,
"routerId": "11.0.0.2",
"ipRole": "Access",
"protocols": {
"ISIS": {
"routerId": "11.0.0.2",
"TERouterId": "11.0.0.2"
},
"management": {
"vendor": "SITE"
}
},
"hostName": "SiteB",
"name": "SiteB"
},
{
"topoObjectType": "node",
"topologyIndex": 1,
"id": "SiteO",
"nodeIndex": 25,
"layer": "Service",
"live": false,
"routerId": "11.0.0.15",
"ipRole": "Access",
"protocols": {
"ISIS": {
"routerId": "11.0.0.15",
"TERouterId": "11.0.0.15"
},
"management": {
"vendor": "SITE"
}
},
"hostName": "SiteO",
"name": "SiteO"
},
{
"topoObjectType": "node",
"topologyIndex": 1,
"id": "CE1",
"nodeIndex": 31,
"layer": "Service",
"live": false,
"routerId": "11.0.0.101",
"ipRole": "Regular",
"protocols": {
"ISIS": {
"routerId": "11.0.0.101",
"TERouterId": "11.0.0.101"
},
"management": {
"vendor": "CE"
}
},
"hostName": "CE1",
"name": "CE1"
},
{
"topoObjectType": "node",
"topologyIndex": 1,
"id": "CE2",
"nodeIndex": 32,
"layer": "Service",
"live": false,
"routerId": "11.0.0.102",
"ipRole": "Regular",
"protocols": {
"ISIS": {
"routerId": "11.0.0.102",
"TERouterId": "11.0.0.102"
},
"management": {
"vendor": "CE"
}
},
"hostName": "CE2",
"name": "CE2"
}
],
"links": [
{
"topoObjectType": "link",
"linkIndex": 6,
"id": "L10.0.1.10_10.0.1.9",
"live": true,
"topologyIndex": 1,
"operationalStatus": "Up",
"endZ": {
"ipv4Address": {
"topoObjectType": "ipv4",
"address": "10.0.1.10"
},
"protocols": {
"RSVP": {
"bandwidth": 10000000
},
"ISIS": {
"level": "L2",
"TEMetric": 10
}
},
"bandwidth": 10000000,
"interfaceName": "ge-0/0/1.0",
"TEcolor": 0,
"TEmetric": 10,
"unreservedBw": [
10000000,
10000000,
10000000,
10000000,
10000000,
10000000,
10000000,
10000000
],
"node": {
"topoObjectType": "node",
"id": "0100.0000.0004",
"topologyIndex": 1
},
"topoObjectType": "interface",
"utilization": {
"utilization": 0,
"availableBandwidth": 10000000,
"usedBandwidth": 0,
"measuredDelay": 0.87,
"interfaceUtilization": 0.00107,
"interfaceTraffic": 10700,
"tunnelUtilization": 0,
"tunnelLiveUtilization": 0
}
},
"endA": {
"ipv4Address": {
"topoObjectType": "ipv4",
"address": "10.0.1.9"
},
"protocols": {
"RSVP": {
"bandwidth": 10000000
},
"ISIS": {
"level": "L2",
"TEMetric": 10
}
},
"bandwidth": 10000000,
"interfaceName": "ge-0/0/0.0",
"TEmetric": 10,
"unreservedBw": [
10000000,
10000000,
10000000,
10000000,
10000000,
10000000,
10000000,
10000000
],
"node": {
"topoObjectType": "node",
"id": "0100.0000.0003",
"topologyIndex": 1
},
"topoObjectType": "interface",
"utilization": {
"utilization": 0,
"availableBandwidth": 10000000,
"usedBandwidth": 0,
"measuredDelay": 0.87,
"interfaceUtilization": 0.00158,
"interfaceTraffic": 15800,
"tunnelUtilization": 0,
"tunnelLiveUtilization": 0,
"lastUpdate": "2020-04-30T17:07:08Z"
}
}
},
{
"topoObjectType": "link",
"linkIndex": 13,
"id": "L0100.0000.0003_SiteA_PE3-SiteA",
"live": false,
"topologyIndex": 1,
"operationalStatus": "Unknown",
"name": "PE3-SiteA",
"endZ": {
"node": {
"topoObjectType": "node",
"id": "SiteA",
"topologyIndex": 1
},
"topoObjectType": "interface",
"utilization": {
"utilization": 0,
"availableBandwidth": 1000000000,
"usedBandwidth": 0,
"tunnelUtilization": 0,
"tunnelLiveUtilization": 0
}
},
"endA": {
"node": {
"topoObjectType": "node",
"id": "0100.0000.0003",
"topologyIndex": 1
},
"topoObjectType": "interface",
"utilization": {
"utilization": 0,
"availableBandwidth": 1000000000,
"usedBandwidth": 0,
"tunnelUtilization": 0,
"tunnelLiveUtilization": 0,
"lastUpdate": "2020-04-30T07:34:55Z"
}
}
},
{
"topoObjectType": "link",
"linkIndex": 46,
"id": "L0100.0000.0003_CE1_PE3-CE1",
"live": false,
"topologyIndex": 1,
"operationalStatus": "Unknown",
"name": "PE3-CE1",
"endZ": {
"node": {
"topoObjectType": "node",
"id": "CE1",
"topologyIndex": 1
},
"topoObjectType": "interface",
"utilization": {
"utilization": 0,
"availableBandwidth": 1000000000,
"usedBandwidth": 0,
"tunnelUtilization": 0,
"tunnelLiveUtilization": 0
}
},
"endA": {
"node": {
"topoObjectType": "node",
"id": "0100.0000.0003",
"topologyIndex": 1
},
"topoObjectType": "interface",
"utilization": {
"utilization": 0,
"availableBandwidth": 1000000000,
"usedBandwidth": 0,
"tunnelUtilization": 0,
"tunnelLiveUtilization": 0,
"lastUpdate": "2020-04-30T07:34:55Z"
}
}
},
{
"topoObjectType": "link",
"linkIndex": 62,
"id": "LCE1_SiteO_CE1-SiteO",
"live": false,
"topologyIndex": 1,
"operationalStatus": "Unknown",
"name": "CE1-SiteO",
"endZ": {
"node": {
"topoObjectType": "node",
"id": "SiteO",
"topologyIndex": 1
},
"topoObjectType": "interface",
"utilization": {
"utilization": 0,
"availableBandwidth": 1000000000,
"usedBandwidth": 0,
"tunnelUtilization": 0,
"tunnelLiveUtilization": 0
}
},
"endA": {
"node": {
"topoObjectType": "node",
"id": "CE1",
"topologyIndex": 1
},
"topoObjectType": "interface",
"utilization": {
"utilization": 0,
"availableBandwidth": 1000000000,
"usedBandwidth": 0,
"tunnelUtilization": 0,
"tunnelLiveUtilization": 0,
"lastUpdate": "2020-04-30T07:34:55Z"
}
}
},
{
"topoObjectType": "link",
"linkIndex": 63,
"id": "LCE2_SiteO_CE2-SiteO",
"live": false,
"topologyIndex": 1,
"operationalStatus": "Unknown",
"name": "CE2-SiteO",
"endZ": {
"node": {
"topoObjectType": "node",
"id": "SiteO",
"topologyIndex": 1
},
"topoObjectType": "interface",
"utilization": {
"utilization": 0,
"availableBandwidth": 1000000000,
"usedBandwidth": 0,
"tunnelUtilization": 0,
"tunnelLiveUtilization": 0
}
},
"endA": {
"node": {
"topoObjectType": "node",
"id": "CE2",
"topologyIndex": 1
},
"topoObjectType": "interface",
"utilization": {
"utilization": 0,
"availableBandwidth": 1000000000,
"usedBandwidth": 0,
"tunnelUtilization": 0,
"tunnelLiveUtilization": 0,
"lastUpdate": "2020-04-30T07:34:55Z"
}
}
},
{
"topoObjectType": "link",
"linkIndex": 15,
"id": "L0100.0000.0004_SiteB_PE4-SiteB",
"live": false,
"topologyIndex": 1,
"operationalStatus": "Unknown",
"name": "PE4-SiteB",
"endZ": {
"node": {
"topoObjectType": "node",
"id": "SiteB",
"topologyIndex": 1
},
"topoObjectType": "interface",
"utilization": {
"utilization": 0,
"availableBandwidth": 1000000000,
"usedBandwidth": 0,
"tunnelUtilization": 0,
"tunnelLiveUtilization": 0
}
},
"endA": {
"node": {
"topoObjectType": "node",
"id": "0100.0000.0004",
"topologyIndex": 1
},
"topoObjectType": "interface",
"utilization": {
"utilization": 0,
"availableBandwidth": 1000000000,
"usedBandwidth": 0,
"tunnelUtilization": 0,
"tunnelLiveUtilization": 0,
"lastUpdate": "2020-04-30T07:34:55Z"
}
}
}
]
}
This operation does not accept a request body.
Deletes all of the topology planned data. The information acquired through BGP-LS reappears immediately.
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.
See EventSource for format. The notifications send on that stream are only topologyEvent. The data will contain a JSON document (see NorthStar Notification API).
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.
Returns the status of all NorthStar components.
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. |
Returns the following JSON document: 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.
Returns the status of the PCEP protocol adapter component.
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. |
{
"component": "PCE",
"status": "PCE is up.",
"statusTimestamp": 0
}
This operation does not accept a request body.
Returns the status of the Network Topology Acquisition Daemon (NTAD, BGP-LSP protocol adapter) component.
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. |
{
"component": "Topology acquisition",
"status": "Connected to NTAD: 62.105.199.2 port: 450",
"statusTimestamp": 1427167092212
}
This operation does not accept a request body.
Returns the status of the Path Computation Server component.
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. |
{
"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.
Returns the status of the Transport Network Topology Acquisition Daemon.
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. |
{
"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.
Returns the status of the analytics data collection.
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. |
{
"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.
Returns the status of the analytics data collection database.
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. |
{
"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.
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]
Returns a full list of nodes.
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. |
[
{
"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.
Creates a node using the following schema: node_v2.json#/definitions/createNode .
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. |
The following JSON sample shows the minimum required information to add a planned node. The Following parameters are required:
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 parameter: canFail
Node coordinates
ipRole: Regular or Access or Core
vendor: CE or SITE
Create Node examples:
In this example, create planned node
{
"name": "PlannedNode",
"topoObjectType": "node",
"topologyIndex": 1
}
The response is:
{
"layer": "IP",
"name": "PlannedNode",
"nodeIndex": 12,
"protocols": {},
"topoObjectType": "node",
"topologyIndex": 1
}
In this example, create Site node with Access role. The node will not be used as transit node during path computation (due to ipRole=Transit) and won't be included in P2MP tree signaling (due to vendor=SITE)
{
"topoObjectType":"node",
"topologyIndex":1,
"name":"SiteZ",
"ipRole":"Access",
"protocols":{
"management":{
"vendor":"SITE"
}
}
}
The response is:
{
"nodeIndex":46,
"layer":"IP",
"name":"SiteZ",
"ipRole":"Access",
"topoObjectType":"node",
"live":false,
"topologyIndex":1,
"location":"/NorthStar/API/v2/tenant/1/topology/1/nodes/46",
"id":"SiteZ",
"protocols":{
"management":{
"vendor":"SITE"
}
}
}
In this example, create CE node with Regular role. Compared to the previous example (Site), this node will be used as transit for path computation (ipRole=Regular).
{
"topoObjectType":"node",
"topologyIndex":1,
"name":"CEZ1",
"ipRole":"Regular",
"protocols":{
"management":{
"vendor":"CE"
}
}
}
The response is:
{
"nodeIndex":58,
"layer":"IP",
"name":"CEZ1",
"ipRole":"Regular",
"topoObjectType":"node",
"live":false,
"topologyIndex":1,
"location":"/NorthStar/API/v2/tenant/1/topology/1/nodes/58",
"id":"CEZ1",
"protocols":{
"management":{
"vendor":"CE"
}
}
}
The responses are shown per example in the request section. In general the response is a JSON document conforming to node_v2.json#/definitions/createNode.
Searches the list of nodes for specific URI parameters. For example, search?name=62.0.0.101 must return one node.
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. JavaScript 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. |
[
{
"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
}
]
See EventSource for format. The notifications send on that stream are only nodeEvent. The data will contain a JSON document (see NorthStar Notification API).
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.
Returns details for a node.
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. |
{
"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.
Updates a node using the following schema: node_v2.json#/definitions/updateNode
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. |
{
"layer": "IP",
"id": "PlannedNode",
"hostName" : "plannedNode.domain.example.com",
"nodeIndex": 12,
"protocols": {},
"topoObjectType": "node",
"topologyIndex": 1
}
{
"layer": "IP",
"id": "PlannedNode",
"hostName" : "plannedNode.domain.example.com",
"nodeIndex": 12,
"protocols": {},
"topoObjectType": "node",
"topologyIndex": 1
}
Updates a node using a RFC6902 patch: json-patch.json. The result of the patch must conform to node_v2.json#/definitions/updateNode. The REST server remove all operational parameters like operationalStatus, ..etc. .
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. |
The Patched update accepts the same parameters as the update
[{"op" : "add", "path":"/protocols/PCEP/extensions/lsp-association-protection" , "value" : false}]
{
"layer": "IP",
"id": "PlannedNode",
"hostName" : "plannedNode.domain.example.com",
"nodeIndex": 12,
"protocols": {},
"topoObjectType": "node",
"topologyIndex": 1,
"protocols" : {
"PCEP" : {
"extensions" : {
"lsp-association-protection" : false
}
}
}
}
Deletes a node. (You cannot delete a live node; it reappears on the next update from Topology server.)
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.
Returns the event history for a node.
The history contains a list of Unix-timestamped events for the node resource.
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 events with the starting timetime and later. |
end (Optional) | query | xsd:int |
End timestamp: Include events before (but not including) the ending timestamp. |
[
{
"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
}
]
Creates several Nodes using the following JSON schema: node_v2.json#/definitions/createNodeList .
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. |
The request must contain a list of Nodes to be created. The individual node parameters are the same as creating an single node.
[
{"name": "PlannedNode2","topoObjectType": "node","topologyIndex": 1},
{"name": "PlannedNode3","topoObjectType": "node","topologyIndex": 1}
]
[
{"topoObjectType": "node","topologyIndex": 1, "id": "PlannedNode2","name": "PlannedNode2","nodeIndex": 9,"layer": "IP","live": false},
{"topoObjectType": "node","topologyIndex": 1, "id": "PlannedNode3","name": "PlannedNode3","nodeIndex": 10,"layer": "IP","live": false}
]
Updates several Nodes using the following JSON schema: node_v2.json#/definitions/nodeListUpdate .
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. |
The bulk update accepts a list of Node updates. Each entry requires the same parameters and logic as updating a single Node.
[
{"nodeIndex": 9,"topoObjectType": "node","topologyIndex": 1, "hostName" : "testHostName"},
{"nodeIndex": 10,"topoObjectType": "node","topologyIndex": 1,"comment" : "This is a comment"}
]
The response contains a list of individual update responses (see Node update).
[
{"topoObjectType": "node","topologyIndex": 1, "id": "PlannedNode2","nodeIndex": 9,"layer": "IP","live": false,"hostName" : "testHostName"},
{"topoObjectType": "node","topologyIndex": 1, "id": "PlannedNode3","nodeIndex": 10,"layer": "IP","live": false,"comment" : "This is a comment"}
]
Updates several Nodes using the following JSON schema: node_v2.json#/definitions/nodeListPatch .
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. |
The bulk PATCH accepts a list consisting of nodeIndex and patch:
[
{"nodeIndex": 9, "patch" : [{"op" : "add", "path" : "/comment", "value": "Updated"}]},
{"nodeIndex": 10,"patch" : [{"op" : "add", "path" : "/comment", "value": "Updated-1"}]}
]
The response contains a list of individual update responses.
[
{"topoObjectType": "node","topologyIndex": 1, "id": "PlannedNode2","nodeIndex": 9,"layer": "IP","live": false,"hostName" : "testHostName","comment" : "Updated"},
{"topoObjectType": "node","topologyIndex": 1, "id": "PlannedNode3","nodeIndex": 10,"layer": "IP","live": false,"comment" : "Updated1"}
]
Deletes a list of Nodess. The payload must conform to node_v2.json#/definitions/nodeListDelete
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.
Use these endpoints for access to links and information about them.
The link schema is: link_v2.json . The operations are:
https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/topology/<topology-id>/links [GET : get all links, POST: create link]
https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/topology/<topology-id>/links/search URL parameters : name, address, queryType=OR [ GET : search links )]
https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/topology/<topology-id>/links/<linkId> [GET: get property, PUT: modify link, DELETE]
https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/topology/<topology-id>/links/<linkId>/history [GET : get link history]
Returns a full list of links.
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. |
The example shows three links:
One point-to-point link (link #6, named "L62.104.107.1_62.104.107.2").
Two broadcast links (link 1 and 8). Broadcast links do not have protocols on one end (pseudo node end).
[
{
"endA": {
"topoObjectType": "interface",
"TEcolor": 0,
"TEmetric": 10,
"bandwidth": 10000000000,
"ipv4Address": {
"address": "62.104.107.1",
"topoObjectType": "ipv4"
},
"node": {
"id": "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": {
"topoObjectType": "interface",
"TEcolor": 0,
"TEmetric": 10,
"bandwidth": 10000000000,
"ipv4Address": {
"address": "62.104.107.2",
"topoObjectType": "ipv4"
},
"node": {
"id": "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": {
"topoObjectType": "interface",
"node": {
"topoObjectType": "node",
"id": "0620.0000.0101.02",
"topologyIndex": 1
}
},
"endZ": {
"topoObjectType": "interface",
"TEcolor": 0,
"TEmetric": 10,
"bandwidth": 40000000000,
"ipv4Address": {
"address": "62.101.105.1",
"topoObjectType": "ipv4"
},
"node": {
"id": "62.0.0.101",
"topoObjectType": "node",
"topologyIndex": 1
},
"protocols": {
"ISIS": {
"TEMetric": 10,
"level": "L2",
"srlgs": [{"srlgValue": 100}]
},
"RSVP": {"bandwidth": 40000000000}
},
"srlgs": [{"srlgValue": 100}],
"topoObjectType": "interface",
"unreservedBw": [39990001664, 39489998848, 39489998848, 39489998848, 39489998848, 39489998848, 39489998848, 39489998848]
},
"linkIndex": 1,
"name": "L_62.101.105.1",
"operationalStatus": "Up",
"topoObjectType": "link",
"topologyIndex": 1
},
{
"endA": {
"topoObjectType": "interface",
"node": {
"topoObjectType": "node",
"id": "0620.0000.0101.02",
"topologyIndex": 1
}
},
"endZ": {
"topoObjectType": "interface",
"TEcolor": 0,
"TEmetric": 10,
"bandwidth": 40000000000,
"ipv4Address": {
"address": "62.101.105.2",
"topoObjectType": "ipv4"
},
"node": {
"id": "62.0.0.105",
"topoObjectType": "node",
"topologyIndex": 1
},
"protocols": {
"ISIS": {
"TEMetric": 10,
"level": "L2"
},
"RSVP": {"bandwidth": 40000000000}
},
"topoObjectType": "interface",
"unreservedBw": [39570001920, 39570001920, 39570001920, 39070003200, 38570004480, 38570004480, 38570004480, 38570004480]
},
"linkIndex": 8,
"name": "L_62.101.105.2",
"operationalStatus": "Up",
"topoObjectType": "link",
"topologyIndex": 1
}
]
This operation does not accept a request body.
Creates a link using optional and required parameters defined in the following schema: link_v2.json#/definitions/createLink .
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. |
The example shows the creation of a numbered 40G planned link between node 62.0.0.102 and PlannedNode.
Attribute | Type | Description | Fixed |
---|---|---|---|
endA/node | string | No | Link source node |
endZ/node | string | No | Link destination node |
topologyIndex | integer | Yes | 1 |
topoObjectType | string | Yes | link |
Create Link examples:
In this example, create planned link
{
"topoObjectType": "link",
"topologyIndex": 1,
"endA": {
"topoObjectType": "interface",
"node": {
"topoObjectType": "node","name": "62.0.0.102","topologyIndex": 1
},
"ipv4Address": { "topoObjectType": "ipv4","address": "62.102.166.1"},
"bandwidth": 40000000000,
"TEmetric": 10,
"protocols": {
"RSVP": {
"bandwidth": 40000000000
}
}
},
"endZ": {
"topoObjectType": "interface",
"node": {
"topoObjectType": "node", "name": "PlannedNode","topologyIndex": 1
},
"ipv4Address": { "topoObjectType": "ipv4","address": "62.102.166.2"},
"bandwidth": 40000000000,
"TEmetric": 10,
"protocols": {
"RSVP": {
"bandwidth": 40000000000
}
}
}
}
The response is:
{
"topoObjectType": "link",
"topologyIndex": 1,
"name": "L62.102.166.1_62.102.166.2",
"operationalStatus": "Planned",
"linkIndex": 16,
"endA": {
"topoObjectType": "interface",
"ipv4Address": {"topoObjectType": "ipv4","address": "62.102.166.1"},
"protocols": {
"RSVP": {
"bandwidth": 40000000000
}
},
"bandwidth": 40000000000,
"node": {"topoObjectType": "node","name": "62.0.0.102","topologyIndex": 1}
},
"endZ": {
"topoObjectType": "interface",
"ipv4Address": {"topoObjectType": "ipv4","address": "62.102.166.2"},
"protocols": {
"RSVP": {
"bandwidth": 40000000000
}
},
"bandwidth": 40000000000,
"node": {"topoObjectType": "node","name": "PlannedNode","topologyIndex": 1}
}
}
In this example, create a link between PE (id: 0100.0000.0003) and CE (id: CEZ1) node
{
"topoObjectType":"link",
"topologyIndex":1,
"endA":{
"topoObjectType":"interface",
"node":{
"topoObjectType":"node",
"id":"0100.0000.0003",
"topologyIndex":1
}
},
"endZ":{
"topoObjectType":"interface",
"node":{
"topoObjectType":"node",
"id":"CEZ1",
"topologyIndex":1
}
}
}
The response is:
{
"endZ":{
"node":{
"topologyIndex":1,
"id":"CEZ1",
"topoObjectType":"node"
},
"topoObjectType":"interface"
},
"linkIndex":74,
"endA":{
"node":{
"topologyIndex":1,
"id":"0100.0000.0003",
"topoObjectType":"node"
},
"topoObjectType":"interface"
},
"live":false,
"operationalStatus":"Unknown",
"topologyIndex":1,
"location":"/NorthStar/API/v2/tenant/1/topology/1/links/74",
"topoObjectType":"link",
"id":"L0100.0000.0003_CEZ1"
}
In this example, create a link between PE (id: 0100.0000.0003) and Site (id: SiteA1) node
{
"topoObjectType":"link",
"topologyIndex":1,
"endA":{
"topoObjectType":"interface",
"node":{
"topoObjectType":"node",
"id":"0100.0000.0003",
"topologyIndex":1
}
},
"endZ":{
"topoObjectType":"interface",
"node":{
"topoObjectType":"node",
"id":"SiteA1",
"topologyIndex":1
}
}
}
The response is:
{
"endZ":{
"node":{
"topologyIndex":1,
"id":"SiteA1",
"topoObjectType":"node"
},
"topoObjectType":"interface"
},
"linkIndex":86,
"endA":{
"node":{
"topologyIndex":1,
"id":"0100.0000.0003",
"topoObjectType":"node"
},
"topoObjectType":"interface"
},
"live":false,
"operationalStatus":"Unknown",
"topologyIndex":1,
"location":"/NorthStar/API/v2/tenant/1/topology/1/links/86",
"topoObjectType":"link",
"id":"L0100.0000.0003_SiteA1"
}
In this example, create a link between CE (id: CEZ1) and Site (id: SiteZ) node
{
"topoObjectType":"link",
"topologyIndex":1,
"endA":{
"topoObjectType":"interface",
"node":{
"topoObjectType":"node",
"id":"CEZ1",
"topologyIndex":1
}
},
"endZ":{
"topoObjectType":"interface",
"node":{
"topoObjectType":"node",
"id":"SiteZ",
"topologyIndex":1
}
}
}
The response is:
{
"endZ":{
"node":{
"topologyIndex":1,
"id":"SiteZ",
"topoObjectType":"node"
},
"topoObjectType":"interface"
},
"linkIndex":98,
"endA":{
"node":{
"topologyIndex":1,
"id":"CEZ1",
"topoObjectType":"node"
},
"topoObjectType":"interface"
},
"live":false,
"operationalStatus":"Unknown",
"topologyIndex":1,
"location":"/NorthStar/API/v2/tenant/1/topology/1/links/98",
"topoObjectType":"link",
"id":"LCEZ1_SiteZ"
}
The responses are shown per example in the request section. In general the response is a JSON document conforming to link_v2.json#/definitions/createLink.
Searches the link list based on URI parameters. For example, search?name=62.101.105 must return one Link.
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 based on the link name. The parameter is treated as a regular expression. Simple strings such as L62 are accepted. JavaScript regexp (for example, /^L62/) is also accepted |
address (Optional) | query | xsd:string |
Filters based on the link address (endA/ipv4Address/address and endZ/ipv4Address/address). |
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, a link is included in the results if any of the query parameters matches. |
[
{
"endA": {
"topoObjectType": "interface",
"TEcolor": 0,
"TEmetric": 10,
"bandwidth": 10000000000,
"ipv4Address": {
"address": "62.104.107.1",
"topoObjectType": "ipv4"
},
"node": {
"id": "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": {
"topoObjectType": "interface",
"TEcolor": 0,
"TEmetric": 10,
"bandwidth": 10000000000,
"ipv4Address": {
"address": "62.104.107.2",
"topoObjectType": "ipv4"
},
"node": {
"id": "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": {
"topoObjectType": "interface",
"node": {
"topoObjectType": "node",
"id": "0620.0000.0101.02",
"topologyIndex": 1
}
},
"endZ": {
"topoObjectType": "interface",
"TEcolor": 0,
"TEmetric": 10,
"bandwidth": 40000000000,
"ipv4Address": {
"address": "62.101.105.1",
"topoObjectType": "ipv4"
},
"node": {
"id": "62.0.0.101",
"topoObjectType": "node",
"topologyIndex": 1
},
"protocols": {
"ISIS": {
"TEMetric": 10,
"level": "L2",
"srlgs": [{"srlgValue": 100}]
},
"RSVP": {"bandwidth": 40000000000}
},
"srlgs": [{"srlgValue": 100}],
"topoObjectType": "interface",
"unreservedBw": [39990001664, 39489998848, 39489998848, 39489998848, 39489998848, 39489998848, 39489998848, 39489998848]
},
"linkIndex": 1,
"name": "L_62.101.105.1",
"operationalStatus": "Up",
"topoObjectType": "link",
"topologyIndex": 1
},
{
"endA": {
"topoObjectType": "interface",
"node": {
"topoObjectType": "node",
"id": "0620.0000.0101.02",
"topologyIndex": 1
}
},
"endZ": {
"topoObjectType": "interface",
"TEcolor": 0,
"TEmetric": 10,
"bandwidth": 40000000000,
"ipv4Address": {
"address": "62.101.105.2",
"topoObjectType": "ipv4"
},
"node": {
"id": "62.0.0.105",
"topoObjectType": "node",
"topologyIndex": 1
},
"protocols": {
"ISIS": {
"TEMetric": 10,
"level": "L2"
},
"RSVP": {"bandwidth": 40000000000}
},
"topoObjectType": "interface",
"unreservedBw": [39570001920, 39570001920, 39570001920, 39070003200, 38570004480, 38570004480, 38570004480, 38570004480]
},
"linkIndex": 8,
"name": "L_62.101.105.2",
"operationalStatus": "Up",
"topoObjectType": "link",
"topologyIndex": 1
}
]
See EventSource for format. The notifications send on that stream are only linkEvent. The data will contain a JSON document (see NorthStar Notification API).
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.
Returns the details for a link.
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. |
linkIndex | URI | xsd:int |
The unique linkIndex. |
{
"endA": {
"TEcolor": 0,
"TEmetric": 10,
"delay" : 600,
"bandwidth": 40000000000,
"ipv4Address": {
"address": "192.0.2.13",
"topoObjectType": "ipv4"
},
"node": {
"id": "192.0.2.3",
"topoObjectType": "node",
"topologyIndex": 1
},
"protocols": {
"ISIS": {
"TEMetric": 10,
"level": "L2"
},
"RSVP": {
"bandwidth": 40000000000
}
},
"topoObjectType": "interface",
"unreservedBw": [39970000896, 39970000896, 39970000896, 39469998080, 39469998080, 39469998080, 39469998080, 39469998080]
},
"endZ": {
"TEcolor": 0,
"TEmetric": 10,
"delay": 600,
"bandwidth": 40000000000,
"ipv4Address": {
"address": "192.0.2.14",
"topoObjectType": "ipv4"
},
"node": {
"id": "192.0.2.7",
"topoObjectType": "node",
"topologyIndex": 1
},
"protocols": {
"ISIS": {
"TEMetric": 10,
"level": "L2"
},
"RSVP": {
"bandwidth": 40000000000
}
},
"unreservedBw": [39289999360, 38790000640, 38790000640, 38790000640, 38790000640, 38790000640, 38790000640, 38790000640]
},
"linkIndex": 1,
"id": "L192.0.2.13_192.0.2.14",
"operationalStatus": "Up",
"topoObjectType": "link",
"topologyIndex": 1
}
This operation does not accept a request body.
Updates a planned link using the optional and required parameters defined in the following schema: link_v2.json#/definitions/updateLink .
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. |
linkIndex | URI | xsd:int |
The unique linkIndex. |
The following example sets the link delay for the link L62.103.107.1_62.103.107.2
{
"topoObjectType":"link", "topologyIndex":1,
"linkIndex":4,
"endA":{
"topoObjectType":"interface",
"ipv4Address" : {"topoObjectType":"ipv4","address":"62.103.107.1"},
"protocols":{
"ISIS" : {
"TEMetric":10,
"level":"L2",
"metric":10
},
"RSVP":{"bandwidth":40000000000}
},
"bandwidth":40000000000,
"TEmetric":10,
"TEcolor":0,
"delay":600,
"node":{"topoObjectType":"node","name":"62.0.0.103","topologyIndex":1}
},"endZ" : {
"topoObjectType":"interface",
"ipv4Address":{"topoObjectType":"ipv4","address":"62.103.107.2"},
"protocols":{
"ISIS":{
"TEMetric":10,
"level":"L2",
"metric":10
},
"RSVP":{"bandwidth":40000000000}
},
"bandwidth":40000000000,
"TEmetric":10,
"TEcolor":0,
"delay":600,
"node":{"topoObjectType":"node","name":"62.0.0.107","topologyIndex":1}
}
}
{
"topoObjectType":"link", "topologyIndex":1,
"name":"L62.103.107.1_62.103.107.2",
"linkIndex":4,
"operationalStatus": "Up",
"endA":{
"topoObjectType":"interface",
"ipv4Address" : {"topoObjectType":"ipv4","address":"62.103.107.1"},
"protocols":{
"ISIS" : {
"TEMetric":10,
"level":"L2",
"metric":10
},
"RSVP":{"bandwidth":40000000000}
},
"bandwidth":40000000000,
"TEmetric":10,
"TEcolor":0,
"delay":600,
"node":{"topoObjectType":"node","name":"62.0.0.103","topologyIndex":1}
},"endZ" : {
"topoObjectType":"interface",
"ipv4Address":{"topoObjectType":"ipv4","address":"62.103.107.2"},
"protocols":{
"ISIS":{
"TEMetric":10,
"level":"L2",
"metric":10
},
"RSVP":{"bandwidth":40000000000}
},
"bandwidth":40000000000,
"TEmetric":10,
"TEcolor":0,
"delay":600,
"node":{"topoObjectType":"node","name":"62.0.0.107","topologyIndex":1}
}
}
Updates a link using a RFC6902 patch: json-patch.json. The result of the patch must conform to link_v2.json#/definitions/updateLink. The REST server remove all operational parameters like operationalStatus, ..etc. .
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. |
linkIndex | URI | xsd:int |
The unique linkIndex. |
The Patched update accepts the same parameters as the update
[{"op" : "add", "path" : "/endZ/designParameters/userCost", "value": 40}]
{
"topoObjectType": "link",
"linkIndex": 10,
"id": "L11.101.202.1_11.101.202.2",
"name": "L11.101.202.1_11.101.202.2",
"live": false,
"topologyIndex": 1,
"operationalStatus": "Unknown",
"endA": {
"topoObjectType": "interface",
"ipv4Address": {
"topoObjectType": "ipv4",
"address": "11.101.202.1"
},
"node": {
"topoObjectType": "node",
"id": "11.0.0.101",
"topologyIndex": 1
}
},
"endZ": {
"topoObjectType": "interface",
"ipv4Address": {
"topoObjectType": "ipv4",
"address": "11.101.202.2"
},
"node": {
"topoObjectType": "node",
"id": "11.0.0.103",
"topologyIndex": 1
},
"designParameters" : {"userCost":40}
}
}
Deletes a link. Live links reappear on the next update from the Topology server.
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. |
linkIndex | URI | xsd:int |
The unique linkIndex. |
This operation does not accept a request body and does not return a response body.
Returns a list of links only containing the endA/endZ utilization
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. |
The example shows three links:
One point-to-point link (link #6, named "L62.104.107.1_62.104.107.2").
Two broadcast links (link 1 and 8). Broadcast links do not have protocols on one end (pseudo node end).
[
{
"endA": {
"topoObjectType": "interface",
"node": {"id": "62.0.0.104","topoObjectType": "node","topologyIndex": 1},
"utilization" : {
"lastUpdate" : "2016-03-24T01:37:24.192474Z",
"utilization" : 10,
"availableBandwidth" : 9000000000,
"usedBandwidth" : 100000000,
"tunnelUtilization" : 15,
"tunnelLiveUtilization" : 10
}
},
"endZ": {
"topoObjectType": "interface",
"node": {"id": "62.0.0.107","topoObjectType": "node","topologyIndex": 1},
"utilization" : {
"lastUpdate" : "2016-03-24T01:37:24.192474Z",
"utilization" : 20,
"availableBandwidth" : 8000000000,
"usedBandwidth" : 200000000,
"tunnelUtilization" : 15,
"tunnelLiveUtilization" : 20
}
},
"linkIndex": 6,
"name": "L62.104.107.1_62.104.107.2",
"topoObjectType": "link",
"topologyIndex": 1
},
{
"endA": {
"topoObjectType": "interface",
"node": {"id": "62.0.0.102","topoObjectType": "node","topologyIndex": 1},
"utilization" : {
"lastUpdate" : "2016-03-24T01:37:24.192474Z",
"utilization" : 20,
"availableBandwidth" : 8000000000,
"usedBandwidth" : 200000000,
"tunnelUtilization" : 20,
"tunnelLiveUtilization" : 20
}
},
"endZ": {
"topoObjectType": "interface",
"node": {"id": "62.0.0.105","topoObjectType": "node","topologyIndex": 1},
"utilization" : {
"lastUpdate" : "2016-03-24T01:37:24.192474Z",
"utilization" : 20,
"availableBandwidth" : 8000000000,
"usedBandwidth" : 200000000,
"tunnelUtilization" : 15,
"tunnelLiveUtilization" : 20
}
},
"linkIndex": 6,
"name": "L62.102.105.1_62.102.105.2",
"topoObjectType": "link",
"topologyIndex": 1
}
]
This operation does not accept a request body.
Returns the history for a Link.
The history contains a list of Unix-timestamped events for the link resource.
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. |
linkIndex | URI | xsd:int |
The unique linkIndex. |
start (Optional) | query | xsd:int |
Start timestamp: Include events with the starting timetime and later. |
end (Optional) | query | xsd:int |
End timestamp: Include events before (but not including) the ending timestamp. |
[
{
"topoObjectType": "link",
"topologyIndex": 1,
"name": "L62.103.107.1_62.103.107.2",
"operationalStatus": "Up",
"linkIndex": 4,
"endA": {
"topoObjectType": "interface",
"ipv4Address": {"topoObjectType": "ipv4","address": "62.103.107.1" },
"protocols": {
"ISIS": {
"TEMetric": 10,
"level": "L2",
"metric": 10
},
"RSVP": {"bandwidth": 40000000000}
},
"bandwidth": 40000000000,
"TEmetric": 10,
"TEcolor": 0,
"unreservedBw": [40000000000,40000000000,40000000000,40000000000,40000000000,40000000000,40000000000,40000000000],
"node": {"topoObjectType": "node","name": "62.0.0.103","topologyIndex": 1}
},
"endZ": {
"topoObjectType": "interface",
"ipv4Address": {"topoObjectType": "ipv4","address": "62.103.107.2"},
"protocols": {
"ISIS": {
"TEMetric": 10,
"level": "L2",
"metric": 10
},
"RSVP": {"bandwidth": 40000000000}
},
"bandwidth": 40000000000,
"TEmetric": 10,
"TEcolor": 0,
"unreservedBw": [39469998080,38969999360,38470000640,38470000640,37970001920,37970001920,37970001920,37970001920],
"node": {"topoObjectType": "node","name": "62.0.0.107","topologyIndex": 1}
},
"timestamp": 1427129349771
},
{
"topoObjectType": "link",
"topologyIndex": 1,
"name": "L62.103.107.1_62.103.107.2",
"operationalStatus": "Up",
"linkIndex": 4,
"endA": {
"topoObjectType": "interface",
"ipv4Address": {"topoObjectType": "ipv4","address": "62.103.107.1"},
"protocols": {
"ISIS": {
"TEMetric": 10,
"level": "L2",
"metric": 10
},
"RSVP": {"bandwidth": 40000000000}
},
"bandwidth": 40000000000,
"TEmetric": 10,
"TEcolor": 0,
"unreservedBw": [39970000896,39970000896,39970000896,38470000640,38470000640,38470000640,38470000640,38470000640],
"node": {"topoObjectType": "node","name": "62.0.0.103","topologyIndex": 1}
},
"endZ": {
"topoObjectType": "interface",
"ipv4Address": {"topoObjectType": "ipv4","address": "62.103.107.2"},
"protocols": {
"ISIS": {
"TEMetric": 10,
"level": "L2",
"metric": 10
},
"RSVP": {"bandwidth": 40000000000}
},
"bandwidth": 40000000000,
"TEmetric": 10,
"TEcolor": 0,
"unreservedBw": [39469998080,38969999360,38470000640,38470000640,37970001920,37970001920,37970001920,37970001920],
"node": {"topoObjectType": "node","name": "62.0.0.107","topologyIndex": 1}
},
"timestamp": 1427129349871
}
]
Use these endpoints to access TE-LSPs and the related information.
The TE-LSP schema is: lsp.json .
You can perform the following operations using the TE-LSP endpoints:
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/PATCH : 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/PATCH : 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]
Note: Use this API to create point-to-point LSPs only. The API supports RSVP and SR LSPs. Starting from Northstar release 4.1 onwards, binding SID SR LSPs are supported. Do not use this API to create the P2MP members. Ensure that you use the P2MP resources to create P2MP resources.
The TE-LSP API does allow diverse LSPs to be computed. This is controlled using the following set of attributes:
diversityGroup: the LSPs are grouped together using a diversityGroup. If LSP1 and LSP2 should be diverse to each other, they should be in the same diversityGroup.
diversityLevel (site, srlg or link): the level of requested diversity. NorthStar will try to compute path that reach that diversity level, if this cannot be achieved, it will try to route the path as diverse as possible, unless minimumDiversityLevel is specified.
minimumDiversityLevel (site, srlg or link): the minimum acceptable diversity level. If NorthStar cannot achieve diversity as good or better than minimumDiversityLevel, the routing is considered as failed.
Returns the TE-LSP list.
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 controls 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.
A 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".
A 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 that the standby path has a pathType set to standby and the path is signaled in the control plane (making 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 liveProperties, options, and 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).
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. |
[
{
"operationalStatus": "Active",
"plannedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 0,
"calculatedEro": [
{
"topoObjectType": "ipv4",
"address": "11.105.107.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.106.107.1",
"loose": false
}
],
"routingStatus": "Down",
"adminStatus": "Up",
"design": {
"routingMethod": "routeByDevice"
},
"lastStatusString": "[PCServer]<Down controller_state=Path found on down lsp",
"controllerStatus": {
"status": "Path found on down lsp"
},
"correlatedRROHopCount": 2
},
"name": "rsvp-105-106",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.105"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.106"
},
"lspIndex": 13,
"controlType": "PCC",
"provisioningType": "RSVP",
"collectedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 0,
"calculatedEro": [
{
"topoObjectType": "ipv4",
"address": "11.0.0.105",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.106.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.0.0.106",
"loose": false
}
],
"routingStatus": "Up",
"adminStatus": "Up",
"correlatedRROHopCount": 1
},
"tunnelId": 60274,
"liveProperties": {
"bandwidth": 0,
"metric": 10,
"setupPriority": 7,
"holdingPriority": 0,
"operationalStatus": "Active",
"adminStatus": "Up",
"ero": [],
"rro": [
{
"topoObjectType": "ipv4",
"address": "11.105.106.2",
"protectionInUse": false,
"protectionAvailable": false
}
]
},
"controller": "External"
},
{
"operationalStatus": "Active",
"name": "11.0.0.101:11.0.0.104:300:vpls:vpn_200",
"p2mpIndex": 184549480,
"p2mpName": "11.0.0.104:300:vpls:vpn_200",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.104"
},
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.101"
},
"liveProperties": {
"bandwidth": 0,
"metric": 0,
"setupPriority": 7,
"holdingPriority": 0,
"operationalStatus": "Active",
"adminStatus": "Up",
"ero": [],
"rro": [
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"protectionInUse": false,
"protectionAvailable": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.107.1",
"protectionInUse": false,
"protectionAvailable": false
},
{
"topoObjectType": "ipv4",
"address": "11.101.105.1",
"protectionInUse": false,
"protectionAvailable": false
}
]
},
"controlType": "PCC",
"controller": "External",
"pathType": "primary",
"lspIndex": 14
},
{
"operationalStatus": "Active",
"name": "11.0.0.103:11.0.0.104:300:vpls:vpn_200",
"p2mpIndex": 184549480,
"p2mpName": "11.0.0.104:300:vpls:vpn_200",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.104"
},
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.103"
},
"liveProperties": {
"bandwidth": 0,
"metric": 0,
"setupPriority": 7,
"holdingPriority": 0,
"operationalStatus": "Active",
"adminStatus": "Up",
"ero": [],
"rro": [
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"protectionInUse": false,
"protectionAvailable": false
},
{
"topoObjectType": "ipv4",
"address": "11.103.107.1",
"protectionInUse": false,
"protectionAvailable": false
}
]
},
"controlType": "PCC",
"controller": "External",
"pathType": "primary",
"lspIndex": 15
},
{
"operationalStatus": "Active",
"name": "11.0.0.106:11.0.0.104:300:vpls:vpn_200",
"p2mpIndex": 184549480,
"p2mpName": "11.0.0.104:300:vpls:vpn_200",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.104"
},
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.106"
},
"liveProperties": {
"bandwidth": 0,
"metric": 0,
"setupPriority": 7,
"holdingPriority": 0,
"operationalStatus": "Active",
"adminStatus": "Up",
"ero": [],
"rro": [
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"protectionInUse": false,
"protectionAvailable": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.107.1",
"protectionInUse": false,
"protectionAvailable": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.106.2",
"protectionInUse": false,
"protectionAvailable": false
}
]
},
"controlType": "PCC",
"controller": "External",
"pathType": "primary",
"lspIndex": 16
},
{
"operationalStatus": "Active",
"plannedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 0,
"calculatedEro": [
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.107.1",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.101.105.1",
"loose": false
}
],
"routingStatus": "Up",
"adminStatus": "Up",
"lastStatusString": "[PCServer]<PCC ACK request_id=417990091",
"correlatedRROHopCount": 3
},
"name": "Silver-104-101",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.104"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.101"
},
"lspIndex": 17,
"controlType": "Delegated",
"provisioningType": "RSVP",
"initiator": "PCC",
"controller": "NorthStar",
"collectedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 0,
"calculatedEro": [
{
"topoObjectType": "ipv4",
"address": "11.0.0.104",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.107.1",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.101.105.1",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.0.0.101",
"loose": false
}
],
"routingStatus": "Up",
"adminStatus": "Up",
"correlatedRROHopCount": 3
},
"tunnelId": 32533,
"liveProperties": {
"bandwidth": 0,
"metric": 30,
"setupPriority": 7,
"holdingPriority": 0,
"operationalStatus": "Active",
"adminStatus": "Up",
"ero": [
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.107.1",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.101.105.1",
"loose": false
}
],
"rro": [
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"protectionInUse": false,
"protectionAvailable": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.107.1",
"protectionInUse": false,
"protectionAvailable": false
},
{
"topoObjectType": "ipv4",
"address": "11.101.105.1",
"protectionInUse": false,
"protectionAvailable": false
}
]
}
},
{
"operationalStatus": "Active",
"plannedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 0,
"calculatedEro": [
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.107.1",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.102.105.1",
"loose": false
}
],
"routingStatus": "Up",
"adminStatus": "Up",
"lastStatusString": "[PCServer]<PCC ACK request_id=417990082",
"correlatedRROHopCount": 3
},
"name": "Silver-104-102",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.104"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.102"
},
"lspIndex": 18,
"controlType": "Delegated",
"provisioningType": "RSVP",
"initiator": "PCC",
"controller": "NorthStar",
"collectedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 0,
"calculatedEro": [
{
"topoObjectType": "ipv4",
"address": "11.0.0.104",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.107.1",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.102.105.1",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.0.0.102",
"loose": false
}
],
"routingStatus": "Up",
"adminStatus": "Up",
"correlatedRROHopCount": 3
},
"tunnelId": 29910,
"liveProperties": {
"bandwidth": 0,
"metric": 30,
"setupPriority": 7,
"holdingPriority": 0,
"operationalStatus": "Active",
"adminStatus": "Up",
"ero": [
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.107.1",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.102.105.1",
"loose": false
}
],
"rro": [
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"protectionInUse": false,
"protectionAvailable": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.107.1",
"protectionInUse": false,
"protectionAvailable": false
},
{
"topoObjectType": "ipv4",
"address": "11.102.105.1",
"protectionInUse": false,
"protectionAvailable": false
}
]
}
},
{
"operationalStatus": "Active",
"plannedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 0,
"calculatedEro": [
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.103.107.1",
"loose": false
}
],
"routingStatus": "Up",
"adminStatus": "Up",
"lastStatusString": "[PCServer]<PCC ACK request_id=417990087",
"correlatedRROHopCount": 2
},
"name": "Silver-104-103",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.104"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.103"
},
"lspIndex": 19,
"controlType": "Delegated",
"provisioningType": "RSVP",
"initiator": "PCC",
"controller": "NorthStar",
"collectedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 0,
"calculatedEro": [
{
"topoObjectType": "ipv4",
"address": "11.0.0.104",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.103.107.1",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.0.0.103",
"loose": false
}
],
"routingStatus": "Up",
"adminStatus": "Up",
"correlatedRROHopCount": 2
},
"tunnelId": 32451,
"liveProperties": {
"bandwidth": 0,
"metric": 20,
"setupPriority": 7,
"holdingPriority": 0,
"operationalStatus": "Active",
"adminStatus": "Up",
"ero": [
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.103.107.1",
"loose": false
}
],
"rro": [
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"protectionInUse": false,
"protectionAvailable": false
},
{
"topoObjectType": "ipv4",
"address": "11.103.107.1",
"protectionInUse": false,
"protectionAvailable": false
}
]
}
},
{
"operationalStatus": "Active",
"plannedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 0,
"calculatedEro": [
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.107.1",
"loose": false
}
],
"routingStatus": "Down",
"adminStatus": "Up",
"design": {
"routingMethod": "routeByDevice"
},
"lastStatusString": "[PCServer]<Down controller_state=Path found on down lsp",
"controllerStatus": {
"status": "Path found on down lsp"
},
"correlatedRROHopCount": 2
},
"name": "rsvp-104-105",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.104"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.105"
},
"lspIndex": 20,
"controlType": "PCC",
"provisioningType": "RSVP",
"collectedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 0,
"calculatedEro": [
{
"topoObjectType": "ipv4",
"address": "11.0.0.104",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.107.1",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.0.0.105",
"loose": false
}
],
"routingStatus": "Up",
"adminStatus": "Up",
"correlatedRROHopCount": 2
},
"tunnelId": 32072,
"liveProperties": {
"bandwidth": 0,
"metric": 20,
"setupPriority": 7,
"holdingPriority": 0,
"operationalStatus": "Active",
"adminStatus": "Up",
"ero": [],
"rro": [
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"protectionInUse": false,
"protectionAvailable": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.107.1",
"protectionInUse": false,
"protectionAvailable": false
}
]
},
"controller": "External"
}
]
This operation does not accept a request body.
Creates a TE-LSP using the following JSON schema: lsp.json#/definitions/createLSP . For example, protection and custom service mapping parameters set.
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. |
Attribute | Type | Description | Fixed |
---|---|---|---|
name | string | No | Tunnel name |
from/address | string | No | Tunnel ingress |
to/address | string | No | Tunnel egress |
The following examples show different set of parameters and results:
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
}
}
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.
Primary LSP:
{
"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
}
}
Standby LSP:
{
"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
}
}
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}
]
}
}
Creates a TE LSP and associates it with a CCC VPN via userProperties.
{
"name": "lintalphaomega",
"creationConfigurationMethod": "NETCONF",
"provisioningType": "RSVP",
"pathType": "primary",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.101"
},
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.103"
},
"plannedProperties": {
"bandwidth": "24k",
"setupPriority": 7,
"holdingPriority": 7,
"userProperties": {
"ccc-vpn-name": "vpnsisisi",
"ccc-interface": "ge-0/0/7.987",
"transmit-lsp": "lintalphaomega",
"receive-lsp": "lintomegaalpha"
}
}
}
The response is :
{
"plannedProperties": {
"bandwidth": "24K",
"setupPriority": 7,
"holdingPriority": 7,
"pathName": "lintalphaomega_p0",
"adminStatus": "Up",
"preferredEro": [
{
"topoObjectType": "ipv4",
"address": "11.101.105.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.107.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.103.107.1",
"loose": false
}
],
"userProperties": {
"ccc-vpn-name": "vpnsisisi",
"ccc-interface": "ge-0/0/7.987",
"transmit-lsp": "lintalphaomega",
"receive-lsp": "lintomegaalpha"
},
"lastStatusString": "[ConfigServer]<Netconf provisioning order received",
"correlatedRROHopCount": 0
},
"name": "lintalphaomega",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.101"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.103"
},
"lspIndex": 95,
"controlType": "PCC",
"provisioningType": "RSVP"
}
In the following NETCONF SR LSP examples, the following should be noted:
Only Juniper routers are supported.
Only NETCONF provisioning is supported.
The binding SID label, if specified, is checked by the device based on the configured label range.
Only one primary LSP path is supported.
SR LSP examples:
In this example, the SR LSP has a node SID specified for the destination.
{
"name": "restSRNodeSID",
"creationConfigurationMethod": "NETCONF",
"provisioningType": "SR",
"pathType": "primary",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.101"
},
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.103"
},
"plannedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 7,
"ero": [
{
"topoObjectType": "ipv4",
"address": "11.0.0.101",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.0.0.103",
"loose": true
}
],
"design": {
"routingMethod": "routeByDevice",
"adminGroups": {}
}
}
}
The response is:
{
"plannedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 7,
"adminStatus": "Up",
"ero": [
{
"topoObjectType": "ipv4",
"address": "11.0.0.101",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.0.0.103",
"loose": true
}
],
"design": {
"routingMethod": "routeByDevice"
}
},
"name": "restSRNodeSID",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.101"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.103"
},
"lspIndex": 106,
"controlType": "PCC",
"provisioningType": "SR"
}
In this example, the SR LSP has a list of link SIDs specified to reach the destination.
{
"name": "restSRLinkSIDs",
"creationConfigurationMethod": "NETCONF",
"provisioningType": "SR",
"pathType": "primary",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.101"
},
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.104"
},
"plannedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 7,
"ero": [
{
"topoObjectType": "ipv4",
"address": "11.0.0.101",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.101.105.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.106.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.106.107.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.104.107.1",
"loose": false
}
],
"design": {
"adminGroups": {}
}
}
}
The response is:
{
"plannedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 7,
"adminStatus": "Up",
"ero": [
{
"topoObjectType": "ipv4",
"address": "11.0.0.101",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.101.105.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.106.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.106.107.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.104.107.1",
"loose": false
}
]
},
"name": "restSRLinkSIDs",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.101"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.104"
},
"lspIndex": 107,
"controlType": "PCC",
"provisioningType": "SR"
}
In NorthStar, a privateForwardingAdjacency is comprised of a pair of binding SID SR LSPs from node A to node Z and from node Z to node A.
In this example, the Binding SID SR LSP named restBindingSIDSRnodeSID from vmx105 to vmx 107 has a node SID specified for the destination.
{
"name": "restBindingSIDSRnodeSID",
"creationConfigurationMethod": "NETCONF",
"provisioningType": "SR",
"pathType": "primary",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.105"
},
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.107"
},
"plannedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 7,
"bindingSID": 1048048,
"ero": [
{
"topoObjectType": "ipv4",
"address": "11.0.0.105",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.0.0.107",
"loose": true
}
],
"design": {
"routingMethod": "routeByDevice",
"adminGroups": {}
}
}
}
The response is:
{
"plannedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 7,
"adminStatus": "Up",
"ero": [
{
"topoObjectType": "ipv4",
"address": "11.0.0.105",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.0.0.107",
"loose": true
}
],
"design": {
"routingMethod": "routeByDevice"
}
},
"name": "restBindingSIDSRnodeSID",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.105"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.107"
},
"lspIndex": 108,
"controlType": "PCC",
"provisioningType": "SR"
}
In this example, the Binding SID SR LSP named restBindingSIDSRnodeSID from vmx107 to vmx 105 has a node SID specified for the destination.
{
"name": "restBindingSIDSRnodeSID",
"creationConfigurationMethod": "NETCONF",
"provisioningType": "SR",
"pathType": "primary",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.107"
},
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.105"
},
"plannedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 7,
"bindingSID": 1048048,
"ero": [
{
"topoObjectType": "ipv4",
"address": "11.0.0.107",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.0.0.105",
"loose": true
}
],
"design": {
"routingMethod": "routeByDevice",
"adminGroups": {}
}
}
}
The response is:
{
"plannedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 7,
"adminStatus": "Up",
"ero": [
{
"topoObjectType": "ipv4",
"address": "11.0.0.107",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.0.0.105",
"loose": true
}
],
"design": {
"routingMethod": "routeByDevice"
}
},
"name": "restBindingSIDSRnodeSID",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.107"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.105"
},
"lspIndex": 109,
"controlType": "PCC",
"provisioningType": "SR"
}
In this example, the Binding SID SR LSP named restBindingSIDSRlinkSIDs from vmx105 to vmx 107 has a list of SIDs specified to reach the destination.
{
"name": "restBindingSIDSRlinkSIDs",
"creationConfigurationMethod": "NETCONF",
"provisioningType": "SR",
"pathType": "primary",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.105"
},
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.107"
},
"plannedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 7,
"bindingSID": 1048049,
"ero": [
{
"topoObjectType": "ipv4",
"address": "11.0.0.105",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.102.105.1",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.102.106.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.104.106.1",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"loose": false
}
],
"design": {
"adminGroups": {
}
}
}
}
The response is:
{
"plannedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 7,
"adminStatus": "Up",
"ero": [
{
"topoObjectType": "ipv4",
"address": "11.0.0.105",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.102.105.1",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.102.106.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.104.106.1",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"loose": false
}
]
},
"name": "restBindingSIDSRlinkSIDs",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.105"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.107"
},
"lspIndex": 110,
"controlType": "PCC",
"provisioningType": "SR"
}
In this example, the Binding SID SR LSP named restBindingSIDSRlinkSIDs from vmx107 to vmx 105 has a list of SIDs specified to reach the destination.
{
"name": "restBindingSIDSRlinkSIDs",
"creationConfigurationMethod": "NETCONF",
"provisioningType": "SR",
"pathType": "primary",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.107"
},
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.105"
},
"plannedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 7,
"bindingSID": 1048049,
"ero": [
{
"topoObjectType": "ipv4",
"address": "11.0.0.107",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.104.107.1",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.104.106.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.102.106.1",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.102.105.2",
"loose": false
}
],
"design": {
"adminGroups": {
}
}
}
}
The response is:
{
"plannedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 7,
"adminStatus": "Up",
"ero": [
{
"topoObjectType": "ipv4",
"address": "11.0.0.107",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.104.107.1",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.104.106.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.102.106.1",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.102.105.2",
"loose": false
}
]
},
"name": "restBindingSIDSRlinkSIDs",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.107"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.105"
},
"lspIndex": 111,
"controlType": "PCC",
"provisioningType": "SR"
}
In this example, the SR LSP named restSRoverPFA1 from vmx101 to vmx 103 has a list of SIDs specified to reach the destination; along the path, a privateForwardingAdjacency is used.
{
"name": "restSRoverPFA1",
"creationConfigurationMethod": "NETCONF",
"provisioningType": "SR",
"pathType": "primary",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.101"
},
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.103"
},
"plannedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 7,
"ero": [
{
"topoObjectType": "ipv4",
"address": "11.0.0.101",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.101.105.2",
"loose": false
},
{
"topoObjectType": "hopId",
"id": "binding:0110.0000.0105:restBindingSIDSRlinkSIDs",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.103.107.1",
"loose": false
}
],
"design": {
"adminGroups": {
}
}
}
}
The response is:
{
"plannedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 7,
"adminStatus": "Up",
"ero": [
{
"topoObjectType": "ipv4",
"address": "11.0.0.101",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.101.105.2",
"loose": false
},
{
"topoObjectType": "hopId",
"id": "binding:0110.0000.0105:restBindingSIDSRlinkSIDs",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.103.107.1",
"loose": false
}
]
},
"name": "restSRoverPFA1",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.101"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.103"
},
"lspIndex": 112,
"controlType": "PCC",
"provisioningType": "SR"
}
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",
"routingStatus": "Unknown"
},
"operationalStatus": "Unknown",
"pathType": "primary"
}
If the input does not conform to the JSON schema, the response includes an HTTP Error 400 and the validation errors.
{
"error": "Input Validation error :Invalid type: number (expected string) /name"
}
Performs a search in the LSP list based on the URI parameters. For example, "search?name=62.101.105" returns one link.
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 JavaScript regular expressions such as "/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, an LSP is included in the results if any of its parameter values match the query. |
[
{
"operationalStatus": "Active",
"plannedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 0,
"calculatedEro": [
{
"topoObjectType": "ipv4",
"address": "11.105.107.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.106.107.1",
"loose": false
}
],
"routingStatus": "Down",
"adminStatus": "Up",
"design": {
"routingMethod": "routeByDevice"
},
"lastStatusString": "[PCServer]<Down controller_state=Path found on down lsp",
"controllerStatus": {
"status": "Path found on down lsp"
},
"correlatedRROHopCount": 2
},
"name": "rsvp-105-106",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.105"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.106"
},
"lspIndex": 13,
"controlType": "PCC",
"provisioningType": "RSVP",
"collectedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 0,
"calculatedEro": [
{
"topoObjectType": "ipv4",
"address": "11.0.0.105",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.106.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.0.0.106",
"loose": false
}
],
"routingStatus": "Up",
"adminStatus": "Up",
"correlatedRROHopCount": 1
},
"tunnelId": 60274,
"liveProperties": {
"bandwidth": 0,
"metric": 10,
"setupPriority": 7,
"holdingPriority": 0,
"operationalStatus": "Active",
"adminStatus": "Up",
"ero": [],
"rro": [
{
"topoObjectType": "ipv4",
"address": "11.105.106.2",
"protectionInUse": false,
"protectionAvailable": false
}
]
},
"controller": "External"
},
{
"operationalStatus": "Active",
"name": "11.0.0.101:11.0.0.104:300:vpls:vpn_200",
"p2mpIndex": 184549480,
"p2mpName": "11.0.0.104:300:vpls:vpn_200",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.104"
},
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.101"
},
"liveProperties": {
"bandwidth": 0,
"metric": 0,
"setupPriority": 7,
"holdingPriority": 0,
"operationalStatus": "Active",
"adminStatus": "Up",
"ero": [],
"rro": [
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"protectionInUse": false,
"protectionAvailable": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.107.1",
"protectionInUse": false,
"protectionAvailable": false
},
{
"topoObjectType": "ipv4",
"address": "11.101.105.1",
"protectionInUse": false,
"protectionAvailable": false
}
]
},
"controlType": "PCC",
"controller": "External",
"pathType": "primary",
"lspIndex": 14
},
{
"operationalStatus": "Active",
"name": "11.0.0.103:11.0.0.104:300:vpls:vpn_200",
"p2mpIndex": 184549480,
"p2mpName": "11.0.0.104:300:vpls:vpn_200",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.104"
},
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.103"
},
"liveProperties": {
"bandwidth": 0,
"metric": 0,
"setupPriority": 7,
"holdingPriority": 0,
"operationalStatus": "Active",
"adminStatus": "Up",
"ero": [],
"rro": [
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"protectionInUse": false,
"protectionAvailable": false
},
{
"topoObjectType": "ipv4",
"address": "11.103.107.1",
"protectionInUse": false,
"protectionAvailable": false
}
]
},
"controlType": "PCC",
"controller": "External",
"pathType": "primary",
"lspIndex": 15
},
{
"operationalStatus": "Active",
"name": "11.0.0.106:11.0.0.104:300:vpls:vpn_200",
"p2mpIndex": 184549480,
"p2mpName": "11.0.0.104:300:vpls:vpn_200",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.104"
},
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.106"
},
"liveProperties": {
"bandwidth": 0,
"metric": 0,
"setupPriority": 7,
"holdingPriority": 0,
"operationalStatus": "Active",
"adminStatus": "Up",
"ero": [],
"rro": [
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"protectionInUse": false,
"protectionAvailable": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.107.1",
"protectionInUse": false,
"protectionAvailable": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.106.2",
"protectionInUse": false,
"protectionAvailable": false
}
]
},
"controlType": "PCC",
"controller": "External",
"pathType": "primary",
"lspIndex": 16
},
{
"operationalStatus": "Active",
"plannedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 0,
"calculatedEro": [
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.107.1",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.101.105.1",
"loose": false
}
],
"routingStatus": "Up",
"adminStatus": "Up",
"lastStatusString": "[PCServer]<PCC ACK request_id=417990091",
"correlatedRROHopCount": 3
},
"name": "Silver-104-101",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.104"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.101"
},
"lspIndex": 17,
"controlType": "Delegated",
"provisioningType": "RSVP",
"initiator": "PCC",
"controller": "NorthStar",
"collectedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 0,
"calculatedEro": [
{
"topoObjectType": "ipv4",
"address": "11.0.0.104",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.107.1",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.101.105.1",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.0.0.101",
"loose": false
}
],
"routingStatus": "Up",
"adminStatus": "Up",
"correlatedRROHopCount": 3
},
"tunnelId": 32533,
"liveProperties": {
"bandwidth": 0,
"metric": 30,
"setupPriority": 7,
"holdingPriority": 0,
"operationalStatus": "Active",
"adminStatus": "Up",
"ero": [
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.107.1",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.101.105.1",
"loose": false
}
],
"rro": [
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"protectionInUse": false,
"protectionAvailable": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.107.1",
"protectionInUse": false,
"protectionAvailable": false
},
{
"topoObjectType": "ipv4",
"address": "11.101.105.1",
"protectionInUse": false,
"protectionAvailable": false
}
]
}
},
{
"operationalStatus": "Active",
"plannedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 0,
"calculatedEro": [
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.107.1",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.102.105.1",
"loose": false
}
],
"routingStatus": "Up",
"adminStatus": "Up",
"lastStatusString": "[PCServer]<PCC ACK request_id=417990082",
"correlatedRROHopCount": 3
},
"name": "Silver-104-102",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.104"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.102"
},
"lspIndex": 18,
"controlType": "Delegated",
"provisioningType": "RSVP",
"initiator": "PCC",
"controller": "NorthStar",
"collectedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 0,
"calculatedEro": [
{
"topoObjectType": "ipv4",
"address": "11.0.0.104",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.107.1",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.102.105.1",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.0.0.102",
"loose": false
}
],
"routingStatus": "Up",
"adminStatus": "Up",
"correlatedRROHopCount": 3
},
"tunnelId": 29910,
"liveProperties": {
"bandwidth": 0,
"metric": 30,
"setupPriority": 7,
"holdingPriority": 0,
"operationalStatus": "Active",
"adminStatus": "Up",
"ero": [
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.107.1",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.102.105.1",
"loose": false
}
],
"rro": [
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"protectionInUse": false,
"protectionAvailable": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.107.1",
"protectionInUse": false,
"protectionAvailable": false
},
{
"topoObjectType": "ipv4",
"address": "11.102.105.1",
"protectionInUse": false,
"protectionAvailable": false
}
]
}
},
{
"operationalStatus": "Active",
"plannedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 0,
"calculatedEro": [
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.103.107.1",
"loose": false
}
],
"routingStatus": "Up",
"adminStatus": "Up",
"lastStatusString": "[PCServer]<PCC ACK request_id=417990087",
"correlatedRROHopCount": 2
},
"name": "Silver-104-103",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.104"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.103"
},
"lspIndex": 19,
"controlType": "Delegated",
"provisioningType": "RSVP",
"initiator": "PCC",
"controller": "NorthStar",
"collectedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 0,
"calculatedEro": [
{
"topoObjectType": "ipv4",
"address": "11.0.0.104",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.103.107.1",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.0.0.103",
"loose": false
}
],
"routingStatus": "Up",
"adminStatus": "Up",
"correlatedRROHopCount": 2
},
"tunnelId": 32451,
"liveProperties": {
"bandwidth": 0,
"metric": 20,
"setupPriority": 7,
"holdingPriority": 0,
"operationalStatus": "Active",
"adminStatus": "Up",
"ero": [
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.103.107.1",
"loose": false
}
],
"rro": [
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"protectionInUse": false,
"protectionAvailable": false
},
{
"topoObjectType": "ipv4",
"address": "11.103.107.1",
"protectionInUse": false,
"protectionAvailable": false
}
]
}
},
{
"operationalStatus": "Active",
"plannedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 0,
"calculatedEro": [
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.107.1",
"loose": false
}
],
"routingStatus": "Down",
"adminStatus": "Up",
"design": {
"routingMethod": "routeByDevice"
},
"lastStatusString": "[PCServer]<Down controller_state=Path found on down lsp",
"controllerStatus": {
"status": "Path found on down lsp"
},
"correlatedRROHopCount": 2
},
"name": "rsvp-104-105",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.104"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.105"
},
"lspIndex": 20,
"controlType": "PCC",
"provisioningType": "RSVP",
"collectedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 0,
"calculatedEro": [
{
"topoObjectType": "ipv4",
"address": "11.0.0.104",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.107.1",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.0.0.105",
"loose": false
}
],
"routingStatus": "Up",
"adminStatus": "Up",
"correlatedRROHopCount": 2
},
"tunnelId": 32072,
"liveProperties": {
"bandwidth": 0,
"metric": 20,
"setupPriority": 7,
"holdingPriority": 0,
"operationalStatus": "Active",
"adminStatus": "Up",
"ero": [],
"rro": [
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"protectionInUse": false,
"protectionAvailable": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.107.1",
"protectionInUse": false,
"protectionAvailable": false
}
]
},
"controller": "External"
}
]
See EventSource for format. The notifications send on that stream are only lspEvent or lspTopologyEvent. The data will contain a JSON document (see NorthStar Notification API).
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.
Returns the details for a TE-LSP.
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. |
{
"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",
"routingStatus": "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.
Updates a TE-LSP using the JSON schema: lsp.json#/definitions/updateLSP .
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. |
The update accepts the same parameters as the create, except for parameters that 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
}
}
{
"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",
"routingStatus": "Unknown"
},
"operationalStatus": "Unknown",
"pathType": "primary"
}
Updates a TE-LSP using a RFC6902 patch: json-patch.json. The result of the patch must conform to lsp.json#/definitions/updateLsp. The REST server remove all operational parameters like operationalStatus, ..etc. . Using an empty patch (empty list) will result in the LSP to be re-provisioned without parameter changed.
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. |
The Patched update accepts the same parameters as the create, except for parameters that cannot be modified (from, to, name, pathName, pathType).
[{ "op": "replace", "path": "/plannedProperties/bandwidth", "value": "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",
"routingStatus": "Unknown"
},
"operationalStatus": "Unknown",
"pathType": "primary"
}
Deletes a TE-LSP. This function is supported only on the PCE-initiated LSPs. PCC-controlled and PCC-delegated LSPs cannot be deleted from NorthStar. They must be deleted in the node.
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.
Creates several TE-LSPs using the following JSON schema: lsp.json#/definitions/createLSPList .
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. |
The request must contain a list of LSPs to be created. The LSP parameters are the same as creating an individual LSP. 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"}
}
}
]
[
{
"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",
"routingStatus": "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",
"routingStatus": "Unknown",
"design" : {"diversityLevel":"srlg","diversityGroup":"DiverseGroup1"},
"lastStatusString": ">Provisioning Order from REST Interface"
},
"controlType": "PCEInitiated",
"operationalStatus": "Unknown"
}
]
Updates several TE-LSPs using the following JSON schema: lsp.json#/definitions/lspListUpdate .
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. |
The bulk update accepts a list of LSP updates. Each entry requires the same parameters and logic as updating a single LSP.
Response example:The response contains a list of individual update responses (see TE-LSP update).
Updates several TE-LSPs using the following JSON schema: lsp.json#/definitions/lspListPatch .
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. |
The bulk PATCH accepts a list consisting of lspIndex and patch:
[
{"lspIndex" : 1,"patch":[{ "op": "replace", "path": "/plannedProperties/bandwidth", "value": "1M" }]},
{"lspIndex" : 2,"patch":[{ "op": "replace", "path": "/plannedProperties/bandwidth", "value": "2M" }]}
]
The response contains a list of individual update responses (see TE-LSP update).
Deletes a list of TE-LSPs. This function is supported only on the PCE-initiated LSPs. PCC-controlled and PCC-delegated LSPs cannot be deleted from NorthStar. They must be deleted in the node.b The payload must conform to lsp.json#/definitions/lspListDelete
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.
Returns the history for a TE-LSP.
The history contains a list of Unix-timestamped events for the LSP resource.
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 events with the starting timetime and later. |
end (Optional) | query | xsd:int |
End timestamp: Include events before (but not including) the ending timestamp. |
[
{
"plannedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 0,
"adminStatus": "Up",
"routingStatus": "Down"
},
"controlType": "PCC",
"eventStatusString": "<Down",
"timestamp": 1427128941053,
"operation": "State Change"
},
{
"plannedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 0,
"adminStatus": "Up",
"routingStatus": "Down"
},
"controlType": "PCC",
"eventStatusString": "<Down PCS initialization",
"timestamp": 1427128941057,
"operation": "State Change"
},
{
"plannedProperties": {
"bandwidth": "10M",
"setupPriority": 7,
"holdingPriority": 0,
"pathName": "VMX103_VMX101",
"adminStatus": "Up",
"routingStatus": "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",
"routingStatus": "Down"
},
"controlType": "Delegated",
"eventStatusString": "Down",
"timestamp": 1427132006720,
"operation": "State Change"
},
{
"plannedProperties": {
"bandwidth": "10M",
"setupPriority": 7,
"holdingPriority": 0,
"pathName": "Node103_Node101",
"adminStatus": "Up",
"routingStatus": "Down"
},
"controlType": "Delegated",
"eventStatusString": "Down",
"timestamp": 1427132006780,
"operation": "State Change"
},
{
"plannedProperties": {
"bandwidth": "10M",
"setupPriority": 7,
"holdingPriority": 0,
"pathName": "Node103_Node101",
"adminStatus": "Up",
"routingStatus": "Up"
},
"controlType": "Delegated",
"eventStatusString": "Up",
"timestamp": 1427132007053,
"operation": "State Change"
},
{
"plannedProperties": {
"bandwidth": "10M",
"setupPriority": 7,
"holdingPriority": 0,
"pathName": "Node103_Node101",
"adminStatus": "Up",
"routingStatus": "Up"
},
"controlType": "Delegated",
"eventStatusString": "Active",
"timestamp": 1427132007069,
"operation": "State Change"
},
{
"plannedProperties": {
"bandwidth": "10M",
"setupPriority": 7,
"holdingPriority": 0,
"pathName": "Node103_Node101",
"adminStatus": "Up",
"routingStatus": "Up"
},
"controlType": "Delegated",
"eventStatusString": "Active",
"timestamp": 1427132009764,
"operation": "State Change"
},
{
"plannedProperties": {
"bandwidth": "10M",
"setupPriority": 7,
"holdingPriority": 0,
"pathName": "Node103_Node101",
"adminStatus": "Up",
"routingStatus": "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",
"routingStatus": "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",
"routingStatus": "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",
"routingStatus": "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",
"routingStatus": "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",
"routingStatus": "Up"
},
"controlType": "Delegated",
"eventStatusString": "Active",
"timestamp": 1427167092865,
"operation": "State Change"
}
]
Use the following endpoints to access demands and the related information. Demands can be created based on netflow or LDP collection tasks.
The demand resources are described in demands.json .
Returns a full list of Demands.
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. |
[
{
"operationalStatus":"Unknown",
"plannedProperties":{
"bandwidth":"1.684666M",
"setupPriority":7,
"holdingPriority":7,
"calculatedEro":[
{
"topoObjectType":"ipv4",
"address":"11.103.107.2",
"loose":false
},
{
"topoObjectType":"ipv4",
"address":"11.105.107.1",
"loose":false
},
{
"topoObjectType":"ipv4",
"address":"11.101.105.1",
"loose":false
}
],
"routingStatus":"Up",
"pathName":"11.0.0.101",
"adminStatus":"Up",
"lastStatusString":"[PCServer]>demand update",
"controllerStatus":{
"status":""
},
"correlatedRROHopCount":3
},
"name":"vmx103_11.0.0.101/32_NONE_IP",
"from":{
"topoObjectType":"ipv4",
"address":"11.0.0.103"
},
"pathType":"primary",
"to":{
"topoObjectType":"prefix",
"address":"11.0.0.101",
"length":32
},
"demandIndex":30,
"liveProperties":{
"bandwidth":"1.684666M"
}
},
{
"operationalStatus":"Unknown",
"plannedProperties":{
"bandwidth":"1.613733M",
"setupPriority":7,
"holdingPriority":7,
"calculatedEro":[
{
"topoObjectType":"ipv4",
"address":"11.104.107.2",
"loose":false
},
{
"topoObjectType":"ipv4",
"address":"11.105.107.1",
"loose":false
},
{
"topoObjectType":"ipv4",
"address":"11.102.105.1",
"loose":false
}
],
"routingStatus":"Up",
"pathName":"11.0.0.102",
"adminStatus":"Up",
"lastStatusString":"[PCServer]>demand update",
"controllerStatus":{
"status":""
},
"correlatedRROHopCount":3
},
"name":"vmx104_11.0.0.102/32_NONE_IP",
"from":{
"topoObjectType":"ipv4",
"address":"11.0.0.104"
},
"pathType":"primary",
"to":{
"topoObjectType":"prefix",
"address":"11.0.0.102",
"length":32
},
"demandIndex":31,
"liveProperties":{
"bandwidth":"1.613733M"
}
}
]
This operation does not accept a request body.
Create a demand using the following JSON schema: demands.json#/definitions/createDemand .
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. |
{
"plannedProperties":{
"pathName":"11.0.0.11",
"bandwidth":"0",
"setupPriority":7,
"holdingPriority":7,
"design":{
"routingMethod":"default",
"adminGroups":{
}
}
},
"name":"testprefix",
"pathType":"primary",
"from":{
"topoObjectType":"ipv4",
"address":"11.0.0.10"
},
"to":{
"topoObjectType":"ipv4",
"address":"11.0.0.11"
},
"prefix":{
"topoObjectType":"ipv4",
"address":"10.4.10.0",
"length":24
}
}
{
"plannedProperties": {
"bandwidth": 0,
"setupPriority": 7,
"holdingPriority": 7,
"pathName": "11.0.0.11",
"adminStatus": "Up"
},
"name": "testprefix",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.10"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.11"
},
"demandIndex": 17,
"prefix": {
"topoObjectType": "prefix",
"address": "10.4.10.0",
"length": 24
}
}
See EventSource for format. The notifications send on that stream are only demandEvent and demandTopologyEvent. The data will contain a JSON document (see NorthStar Notification API).
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.
Return the details of a specified demand.
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. |
demandIndex | URI | xsd:int |
The unique demandIndex. |
{
"operationalStatus": "Unknown",
"plannedProperties": {
"bandwidth": 0,
"setupPriority": 7,
"holdingPriority": 7,
"pathName": "11.0.0.11",
"adminStatus": "Up",
"calculatedEro": [
{
"topoObjectType": "ipv4",
"address": "10.1.10.1",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "10.1.2.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "10.2.11.11",
"loose": false
}
],
"routingStatus": "Up",
"correlatedRROHopCount": 3,
"lastStatusString": "[PCServer]<demand orders update"
},
"name": "testprefix",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.10"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.11"
},
"demandIndex": 27,
"prefix": {
"topoObjectType": "prefix",
"address": "10.4.10.0",
"length": 24
}
}
This operation does not accept a request body.
Modify a specific demand using the following JSON schema: demands.json#/definitions/updateDemand .
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. |
demandIndex | URI | xsd:int |
The unique demandIndex. |
{
"plannedProperties": {
"bandwidth": 4727,
"setupPriority": 7,
"holdingPriority": 7,
"calculatedEro": [
{
"topoObjectType": "ipv4",
"address": "10.1.10.1",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "10.1.2.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "10.2.11.11",
"loose": false
}
],
"bindingLSP":"sr-color-test",
"routingStatus": "Up",
"pathName": "11.0.0.11",
"adminStatus": "Up",
"lastStatusString": "[PCServer]>new demand",
"correlatedRROHopCount": 3
},
"name": "PE1_10.4.0.0/24_IP",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.10"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.11"
},
"demandIndex": 47,
"prefix": {
"topoObjectType": "prefix",
"address": "10.4.0.0",
"length": 24
}
}
{
"plannedProperties": {
"bandwidth": 4727,
"setupPriority": 7,
"holdingPriority": 7,
"pathName": "11.0.0.11",
"adminStatus": "Up",
"bindingLSP": "sr-color-test"
},
"name": "PE1_10.4.0.0/24_IP",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.10"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.11"
},
"demandIndex": 47,
"prefix": {
"topoObjectType": "prefix",
"address": "10.4.0.0",
"length": 24
}
}
Patch a specific demand using a RFC6902 patch: json-patch.json. The result of the patch must conform to demands.json#/definitions/updateDemand. The REST server remove all operational parameters like operationalStatus, ..etc. .
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. |
demandIndex | URI | xsd:int |
The unique demandIndex. |
[{ "op": "add", "path": "/plannedProperties/bindingLSP", "value": "sr-color-test" }]
{
"plannedProperties": {
"bandwidth": 140019,
"setupPriority": 7,
"holdingPriority": 7,
"pathName": "11.0.0.11",
"adminStatus": "Up",
"bindingLSP": "sr-color-test"
},
"name": "PE1_10.4.0.0/24_IP",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.10"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.11"
},
"demandIndex": 50,
"prefix": {
"topoObjectType": "prefix",
"address": "10.4.0.0",
"length": 24
}
}
Delete a specific demand.
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. |
demandIndex | URI | xsd:int |
The unique demandIndex. |
This operation does not accept a request body and does not return a response body.
Create a set of demands using the following JSON schema: demands.json#/definitions/createDemandList. The resulting list of demands (after the patch is applied) must also conform to demands.json#/definitions/demandListUpdate . The return code indicates the request acceptance.
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. |
[
{
"plannedProperties":{
"pathName":"11.0.0.11",
"bandwidth":"0",
"setupPriority":7,
"holdingPriority":7,
"design":{
"routingMethod":"default",
"adminGroups":{
}
}
},
"name":"testprefix",
"pathType":"primary",
"from":{
"topoObjectType":"ipv4",
"address":"11.0.0.10"
},
"to":{
"topoObjectType":"ipv4",
"address":"11.0.0.11"
},
"prefix":{
"topoObjectType":"ipv4",
"address":"10.4.10.0",
"length":24
}
},
{
"plannedProperties":{
"pathName":"11.0.0.11",
"bandwidth":"0",
"setupPriority":7,
"holdingPriority":7,
"design":{
"routingMethod":"default",
"adminGroups":{
}
}
},
"name":"testprefix2",
"pathType":"primary",
"from":{
"topoObjectType":"ipv4",
"address":"11.0.0.10"
},
"to":{
"topoObjectType":"ipv4",
"address":"11.0.0.11"
},
"prefix":{
"topoObjectType":"ipv4",
"address":"10.4.11.0",
"length":24
}
}
]
[
{
"plannedProperties": {
"bandwidth": 0,
"setupPriority": 7,
"holdingPriority": 7,
"pathName": "11.0.0.11",
"adminStatus": "Up"
},
"name": "testprefix",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.10"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.11"
},
"demandIndex": 51,
"prefix": {
"topoObjectType": "prefix",
"address": "10.4.10.0",
"length": 24
}
},
{
"plannedProperties": {
"bandwidth": 0,
"setupPriority": 7,
"holdingPriority": 7,
"pathName": "11.0.0.11",
"adminStatus": "Up"
},
"name": "testprefix2",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.10"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.11"
},
"demandIndex": 52,
"prefix": {
"topoObjectType": "prefix",
"address": "10.4.11.0",
"length": 24
}
}
]
Update a set of demands using the following JSON schema: demands.json#/definitions/demandListUpdate . The return code indicates the request acceptance.
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. |
[
{
"plannedProperties": {
"bandwidth": 0,
"setupPriority": 7,
"holdingPriority": 7,
"pathName": "11.0.0.11",
"adminStatus": "Up"
},
"name": "testprefix",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.10"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.11"
},
"demandIndex": 51,
"prefix": {
"topoObjectType": "prefix",
"address": "10.4.20.0",
"length": 24
}
},
{
"plannedProperties": {
"bandwidth": 0,
"setupPriority": 7,
"holdingPriority": 7,
"pathName": "11.0.0.11",
"adminStatus": "Up"
},
"name": "testprefix2",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.10"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.11"
},
"demandIndex": 52,
"prefix": {
"topoObjectType": "prefix",
"address": "10.4.21.0",
"length": 24
}
}
]
[
{
"plannedProperties": {
"bandwidth": 0,
"setupPriority": 7,
"holdingPriority": 7,
"pathName": "11.0.0.11",
"adminStatus": "Up"
},
"name": "testprefix",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.10"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.11"
},
"demandIndex": 51,
"prefix": {
"topoObjectType": "prefix",
"address": "10.4.20.0",
"length": 24
}
},
{
"plannedProperties": {
"bandwidth": 0,
"setupPriority": 7,
"holdingPriority": 7,
"pathName": "11.0.0.11",
"adminStatus": "Up"
},
"name": "testprefix2",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.10"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.11"
},
"demandIndex": 52,
"prefix": {
"topoObjectType": "prefix",
"address": "10.4.21.0",
"length": 24
}
}
]
Patch a set of demands using the following JSON schema: demands.json#/definitions/demandListPatch . The return code indicates the request acceptance.
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. |
[
{"demandIndex" : 51,"patch":[{ "op": "replace", "path": "/prefix/address", "value": "10.4.30.0" }]},
{"demandIndex" : 52,"patch":[{ "op": "replace", "path": "/prefix/address", "value": "10.4.31.0" }]}
]
[
{
"plannedProperties": {
"bandwidth": 0,
"setupPriority": 7,
"holdingPriority": 7,
"pathName": "11.0.0.11",
"adminStatus": "Up"
},
"name": "testprefix",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.10"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.11"
},
"demandIndex": 51,
"prefix": {
"topoObjectType": "prefix",
"address": "10.4.30.0",
"length": 24
}
},
{
"plannedProperties": {
"bandwidth": 0,
"setupPriority": 7,
"holdingPriority": 7,
"pathName": "11.0.0.11",
"adminStatus": "Up"
},
"name": "testprefix2",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.10"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.11"
},
"demandIndex": 52,
"prefix": {
"topoObjectType": "prefix",
"address": "10.4.31.0",
"length": 24
}
}
]
Delete a set of demands. The return code indicates the request acceptance.
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. |
[
{"demandIndex":32},
{"demandIndex":31}
]
This operation does not return a response body.
Use these endpoints to work with task scheduler.
The scheduler resources are described in scheduler.json.
The scheduler also provides a socket.io interface on which taskStatusUpdate event updates like task add/remove/update/status-change are sent. The socket.io namespace used is /taskScheduler and event name taskStatusUpdate.
Returns a full list of Tasks as per JSON schema: scheduler.json#/definitions/taskList
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. |
[
{
"taskID": "7660df1e-b8fb-4f71-987e-a3d261c4d78f",
"taskType": "Device Collection",
"taskName": "dc",
"createTime": "2019-04-26T09:45:54.745",
"interval": 1,
"scheduleType": 0,
"startTime": "2019-04-26T09:45:54.745",
"stopTime": null,
"lastExecutionTime": "2019-04-26T09:45:57.755",
"lastExecutionEndTime": "2019-04-26T09:46:30.762",
"lastExecutionStatus": "Completed",
"chainAfter": null,
"taskparam": {
"groupName": "liveNetwork",
"idList": [],
"jobId": 1556271955188,
"opts": {
"useMgmt": true,
"concurrentJob": 16,
"runParsing": true,
"archiveRawData": true
},
"waitingList": [],
"deviceGroups": [],
"collection_commands": "config|interface|tunnel_path|transit_tunnel",
"process_commands": "config,interface,tunnel_path,transit_tunnel,switch_cli,equipment_cli"
},
"lastExecutionLog": [
"IP Address,Hostname,Status,Job Type,Severity",
"11.0.0.101,vmx101-shiva,OK,config|interface|tunnel_path|transit_tunnel,INFO",
"11.0.0.104,vmx104-shiva,OK,config|interface|tunnel_path|transit_tunnel,INFO",
"11.0.0.103,vmx103-shiva,OK,config|interface|tunnel_path|transit_tunnel,INFO",
"11.0.0.102,vmx102-shiva,OK,config|interface|tunnel_path|transit_tunnel,INFO",
",All Devices,COMPLETE,Collection (Dir: /opt/northstar/data/collection/7660df1e-b8fb-4f71-987e-a3d261c4d78f/1556271957755),INFO",
",All Devices,COMPLETE,Processing,INFO"
],
"chainTaskGroup": null,
"taskSize": 1
},
{
"taskID": "fad3d27f-0e20-45b7-bbf1-c027509d75e0",
"taskType": "Network Archive",
"taskName": "NA4",
"createTime": "2019-06-13T06:03:09.795",
"interval": 0,
"scheduleType": 0,
"startTime": "2019-06-13T06:03:09.795",
"stopTime": null,
"lastExecutionTime": "2019-06-13T06:03:12.827",
"lastExecutionEndTime": "2019-06-13T06:05:56.574",
"lastExecutionStatus": "Completed",
"chainAfter": null,
"taskparam": {
"opts": [
"-l"
]
},
"lastExecutionLog": [
"Details,Severity",
"Parsed config files,INFO",
"Parsed tunnel path and added to the spec file,INFO",
"Added interface and tunnel traffic to the spec file,INFO",
"Saved PCS tunnel to optunnel.x and added to the spec file,INFO"
],
"chainTaskGroup": null,
"taskSize": 1
}
]
This operation does not accept a request body.
Returns a list of Tasks by filter tasktype(?tasktype={tasktypeFilter}) as per JSON schema: scheduler.json#/definitions/taskList
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. |
[
{
"taskID": "7660df1e-b8fb-4f71-987e-a3d261c4d78f",
"taskType": "Device Collection",
"taskName": "dc",
"createTime": "2019-04-26T09:45:54.745",
"interval": 1,
"scheduleType": 0,
"startTime": "2019-04-26T09:45:54.745",
"stopTime": null,
"lastExecutionTime": "2019-04-26T09:45:57.755",
"lastExecutionEndTime": "2019-04-26T09:46:30.762",
"lastExecutionStatus": "Completed",
"chainAfter": null,
"taskparam": {
"groupName": "liveNetwork",
"idList": [],
"jobId": 1556271955188,
"opts": {
"useMgmt": true,
"concurrentJob": 16,
"runParsing": true,
"archiveRawData": true
},
"waitingList": [],
"deviceGroups": [],
"collection_commands": "config|interface|tunnel_path|transit_tunnel",
"process_commands": "config,interface,tunnel_path,transit_tunnel,switch_cli,equipment_cli"
},
"lastExecutionLog": [
"IP Address,Hostname,Status,Job Type,Severity",
"11.0.0.101,vmx101-shiva,OK,config|interface|tunnel_path|transit_tunnel,INFO",
"11.0.0.104,vmx104-shiva,OK,config|interface|tunnel_path|transit_tunnel,INFO",
"11.0.0.103,vmx103-shiva,OK,config|interface|tunnel_path|transit_tunnel,INFO",
"11.0.0.102,vmx102-shiva,OK,config|interface|tunnel_path|transit_tunnel,INFO",
",All Devices,COMPLETE,Collection (Dir: /opt/northstar/data/collection/7660df1e-b8fb-4f71-987e-a3d261c4d78f/1556271957755),INFO",
",All Devices,COMPLETE,Processing,INFO"
],
"chainTaskGroup": null,
"taskSize": 1
},
{
"taskID": "c51aea24-1c13-426a-89c9-fbb99ecc87de",
"taskType": "Device Collection",
"taskName": "future",
"createTime": "2019-06-11T12:18:52.112",
"interval": 0,
"scheduleType": 1,
"startTime": "2019-06-28T12:18:00.00",
"stopTime": null,
"lastExecutionTime": null,
"lastExecutionEndTime": null,
"lastExecutionStatus": "Scheduled",
"chainAfter": null,
"taskparam": {
"groupName": "liveNetwork",
"idList": [],
"jobId": 1560255525511,
"opts": {
"useMgmt": true,
"concurrentJob": 16,
"runParsing": true,
"archiveRawData": true
},
"waitingList": [],
"deviceGroups": [],
"collection_commands": "config|interface|tunnel_path|transit_tunnel",
"process_commands": "config,interface,tunnel_path,transit_tunnel,switch_cli,equipment_cli"
},
"lastExecutionLog": [],
"chainTaskGroup": null,
"taskSize": 1
},
{
"taskID": "70c71c06-73b4-4ea6-b4c8-48b831bb1781",
"taskType": "Device Collection",
"taskName": "dc1",
"createTime": "2019-06-10T08:44:04.929",
"interval": 0,
"scheduleType": 0,
"startTime": "2019-06-10T08:44:04.929",
"stopTime": null,
"lastExecutionTime": "2019-06-10T08:44:07.953",
"lastExecutionEndTime": "2019-06-10T08:44:46.30",
"lastExecutionStatus": "Completed",
"chainAfter": null,
"taskparam": {
"groupName": "liveNetwork",
"idList": [],
"jobId": 1560156243979,
"opts": {
"useMgmt": true,
"concurrentJob": 16,
"runParsing": true,
"archiveRawData": true
},
"waitingList": [],
"deviceGroups": [],
"collection_commands": "config|interface|tunnel_path|transit_tunnel",
"process_commands": "config,interface,tunnel_path,transit_tunnel,switch_cli,equipment_cli"
},
"lastExecutionLog": [
"Count,IP Address,Hostname,Status,Job Type,Severity",
"1,11.0.0.101,vmx101-shiva,OK,config|interface|tunnel_path|transit_tunnel,INFO",
"2,11.0.0.104,vmx104-shiva,OK,config|interface|tunnel_path|transit_tunnel,INFO",
"3,11.0.0.103,vmx103-shiva,ACCESS_FAIL,config|interface|tunnel_path|transit_tunnel,CRITIC",
"4,11.0.0.102,vmx102-shiva,OK,config|interface|tunnel_path|transit_tunnel,INFO",
"-,-,All Devices,COMPLETE,Collection (Dir: /opt/northstar/data/collection/70c71c06-73b4-4ea6-b4c8-48b831bb1781/1560156247953),INFO",
"-,-,All Devices,COMPLETE,Processing,INFO",
"Task result:,Devices attempted- 4 | success- 3 | access_fail- 1,,,"
],
"chainTaskGroup": null,
"taskSize": 4
},
{
"taskID": "00e61ebd-adb2-4d97-a18f-b072f6f43504",
"taskType": "Device Collection",
"taskName": "First collection",
"createTime": "2019-06-14T05:24:45.745",
"interval": 1,
"scheduleType": 4,
"startTime": "2019-06-14T05:23:00.00",
"stopTime": null,
"lastExecutionTime": "2019-06-14T05:24:45.759",
"lastExecutionEndTime": "2019-06-14T05:25:32.754",
"lastExecutionStatus": "Scheduled",
"chainAfter": null,
"taskparam": {
"groupName": "liveNetwork",
"idList": [],
"jobId": 1560489792572,
"opts": {
"useMgmt": true,
"concurrentJob": 16,
"runParsing": true,
"archiveRawData": true
},
"waitingList": [],
"deviceGroups": [],
"collection_commands": "config|interface|tunnel_path|transit_tunnel|switch_cli|equipment_cli",
"process_commands": "config,interface,tunnel_path,transit_tunnel,switch_cli,equipment_cli"
},
"lastExecutionLog": [
"Count,IP Address,Hostname,Status,Job Type,Severity",
"1,11.0.0.101,vmx101-shiva,OK,config|interface|tunnel_path|transit_tunnel|switch_cli|equipment_cli,INFO",
"2,11.0.0.104,vmx104-shiva,OK,config|interface|tunnel_path|transit_tunnel|switch_cli|equipment_cli,INFO",
"3,11.0.0.103,vmx103-shiva,ACCESS_FAIL,config|interface|tunnel_path|transit_tunnel|switch_cli|equipment_cli,CRITIC",
"4,11.0.0.102,vmx102-shiva,OK,config|interface|tunnel_path|transit_tunnel|switch_cli|equipment_cli,INFO",
"-,-,All Devices,COMPLETE,Collection (Dir: /opt/northstar/data/collection/00e61ebd-adb2-4d97-a18f-b072f6f43504/1560489885759),INFO",
"-,-,All Devices,COMPLETE,Processing,INFO",
"Task result:,Devices attempted- 4 | success- 3 | access_fail- 1,,,"
],
"chainTaskGroup": null,
"taskSize": 4
},
{
"taskID": "862b6dfb-4494-4230-ab4b-f40849eefc10",
"taskType": "Device Collection",
"taskName": "dc-1day",
"createTime": "2019-02-05T09:09:38.237",
"interval": 1,
"scheduleType": 4,
"startTime": "2019-02-05T09:09:38.237",
"stopTime": null,
"lastExecutionTime": "2019-06-13T09:09:38.278",
"lastExecutionEndTime": "2019-06-13T09:10:13.691",
"lastExecutionStatus": "Scheduled",
"chainAfter": null,
"taskparam": {
"groupName": "liveNetwork",
"idList": [],
"jobId": 1549357765460,
"opts": {
"useMgmt": true,
"concurrentJob": 16,
"runParsing": true,
"archiveRawData": true
},
"waitingList": [],
"deviceGroups": [],
"collection_commands": "config|interface|tunnel_path|transit_tunnel",
"process_commands": "config,interface,tunnel_path,transit_tunnel,switch_cli,equipment_cli"
},
"lastExecutionLog": [
"Count,IP Address,Hostname,Status,Job Type,Severity",
"1,11.0.0.101,vmx101-shiva,OK,config|interface|tunnel_path|transit_tunnel,INFO",
"2,11.0.0.104,vmx104-shiva,OK,config|interface|tunnel_path|transit_tunnel,INFO",
"3,11.0.0.103,vmx103-shiva,ACCESS_FAIL,config|interface|tunnel_path|transit_tunnel,CRITIC",
"4,11.0.0.102,vmx102-shiva,OK,config|interface|tunnel_path|transit_tunnel,INFO",
"-,-,All Devices,COMPLETE,Collection (Dir: /opt/northstar/data/collection/862b6dfb-4494-4230-ab4b-f40849eefc10/1560416978278),INFO",
"-,-,All Devices,COMPLETE,Processing,INFO",
"Task result:,Devices attempted- 4 | success- 3 | access_fail- 1,,,"
],
"chainTaskGroup": "Device Collection_dc-1day",
"taskSize": 4
}
]
This operation does not accept a request body.
Update a task using the following JSON schema: scheduler.json#/definitions/updateTask. Returns response as per JSON schema: scheduler.json#/definitions/responseObject.
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. |
{
"taskID": "00e61ebd-adb2-4d97-a18f-b072f6f43504",
"taskType": "Device Collection",
"taskName": "First collection",
"interval": 1,
"scheduleType": 4,
"chainAfter": null,
"chainTaskGroup": "",
"taskparam": {
"groupName": "liveNetwork",
"idList": [],
"opts": {
"useMgmt": true,
"concurrentJob": 16,
"runParsing": true,
"archiveRawData": true
},
"waitingList": [],
"deviceGroups": [],
"collection_commands": "config|interface|tunnel_path|transit_tunnel|switch_cli|equipment_cli",
"process_commands": "config,interface,tunnel_path,transit_tunnel,switch_cli,equipment_cli"
},
"startTime": "2019-06-14T05:23:00.000Z"
}
{
"taskID":"00e61ebd-adb2-4d97-a18f-b072f6f43504",
"success":true
}
Removes all the existing tasks with given taskType and adds a new Task using the following JSON schema: scheduler.json#/definitions/updateTask. Returns response as per JSON schema: scheduler.json#/definitions/responseObject.
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. |
{
"taskID": "00e61ebd-adb2-4d97-a18f-b072f6f43504",
"taskType": "Device Collection",
"taskName": "First collection",
"interval": 1,
"scheduleType": 4,
"chainAfter": null,
"chainTaskGroup": "",
"taskparam": {
"groupName": "liveNetwork",
"idList": [],
"opts": {
"useMgmt": true,
"concurrentJob": 16,
"runParsing": true,
"archiveRawData": true
},
"waitingList": [],
"deviceGroups": [],
"collection_commands": "config|interface|tunnel_path|transit_tunnel|switch_cli|equipment_cli",
"process_commands": "config,interface,tunnel_path,transit_tunnel,switch_cli,equipment_cli"
},
"startTime": "2019-06-14T05:23:00.000Z"
}
{
"taskID":"00e61ebd-adb2-4d97-a18f-b072f6f43504",
"success":true
}
Delete one or more tasks using the following JSON schema: scheduler.json#/definitions/deleteTask. Returns response as per JSON schema: scheduler.json#/definitions/responseObject.
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. |
["00e61ebd-adb2-4d97-a18f-b072f6f43504"]
{
"success": true
}
Returns task execution status history in HTML table format as per JSON schema: scheduler.json#/definitions/tasksHistoryList
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. |
[
{
"header": "1) 2019-06-14T07:03:18.040Z to 2019-06-14T07:03:42.616Z",
"details":"
<html>
<body>
<table cellspacing=0 cellpadding=0 width=\"100%\" border=1>\n
<tr bgcolor=#cccccc>
<td nowrap>
<b>IP Address</b>
</td>
<td nowrap>
<b>Hostname</b>
</td>
<td nowrap>
<b>Description</b>
</td>
</tr>\n
<tr>
<td nowrap>172.25.158.69</td>
<td nowrap>vmx101-shiva-p107</td>
<td nowrap>Collected 1 LSPs</td>
</tr>\n
<tr>
<td nowrap>172.25.158.69</td>
<td nowrap>vmx101-shiva</td>
<td nowrap>Collected 9 LSPs</td>
</tr>\n
<tr>
<td nowrap>172.25.158.69</td>
<td nowrap>vmx101-shiva-p105</td>
<td nowrap>Collected 2 LSPs</td>
</tr>\n
<tr>
<td nowrap>172.25.158.69</td>
<td nowrap>vmx101-shiva-p106</td>
<td nowrap>Collected 1 LSPs</td>
</tr>\n
<tr>
<td nowrap>172.25.158.70</td>
<td nowrap>vmx104-shiva</td>
<td nowrap>Collected 27 LSPs</td>
</tr>\n
<tr>
<td nowrap>172.25.158.72</td>
<td nowrap>vmx102-shiva</td>
<td nowrap>Collected 55 LSPs</td>
</tr>\n
<tr bgcolor=#ff3333>
<td nowrap>172.25.158.71</td>
<td nowrap>vmx103-shiva</td>
<td nowrap>No SNMP response received before timeout</td>
</tr>\n
</table>
</body>
</html>"},
{
"header": "2) 2019-06-14T06:58:18.040Z to 2019-06-14T06:58:42.722Z",
"details":"
<html>
<body>
<table cellspacing=0 cellpadding=0 width=\"100%\" border=1>\n
<tr bgcolor=#cccccc>
<td nowrap>
<b>IP Address</b>
</td>
<td nowrap>
<b>Hostname</b>
</td>
<td nowrap>
<b>Description</b>
</td>
</tr>\n
<tr>
<td nowrap>172.25.158.69</td>
<td nowrap>vmx101-shiva-p107</td>
<td nowrap>Collected 1 LSPs</td>
</tr>\n
<tr>
<td nowrap>172.25.158.69</td>
<td nowrap>vmx101-shiva</td>
<td nowrap>Collected 9 LSPs</td>
</tr>\n
<tr>
<td nowrap>172.25.158.69</td>
<td nowrap>vmx101-shiva-p105</td>
<td nowrap>Collected 2 LSPs</td>
</tr>\n
<tr>
<td nowrap>172.25.158.69</td>
<td nowrap>vmx101-shiva-p106</td>
<td nowrap>Collected 1 LSPs</td>
</tr>\n
<tr>
<td nowrap>172.25.158.70</td>
<td nowrap>vmx104-shiva</td>
<td nowrap>Collected 27 LSPs</td>
</tr>\n
<tr>
<td nowrap>172.25.158.72</td>
<td nowrap>vmx102-shiva</td>
<td nowrap>Collected 55 LSPs</td>
</tr>\n
<tr bgcolor=#ff3333>
<td nowrap>172.25.158.71</td>
<td nowrap>vmx103-shiva</td>
<td nowrap>No SNMP response received before timeout</td>
</tr>\n
</table>
</body>
</html>"},
{
"header":"3) 2019-06-14T06:53:18.037Z to 2019-06-14T06:53:45.973Z",
"details":"
<html>
<body>
<table cellspacing=0 cellpadding=0 width=\"100%\" border=1>\n
<tr bgcolor=#cccccc>
<td nowrap>
<b>IP Address</b>
</td>
<td nowrap>
<b>Hostname</b>
</td>
<td nowrap>
<b>Description</b>
</td>
</tr>\n
<tr>
<td nowrap>172.25.158.69</td>
<td nowrap>vmx101-shiva-p107</td>
<td nowrap>Collected 1 LSPs</td>
</tr>\n
<tr>
<td nowrap>172.25.158.69</td>
<td nowrap>vmx101-shiva</td>
<td nowrap>Collected 9 LSPs</td>
</tr>\n
<tr>
<td nowrap>172.25.158.69</td>
<td nowrap>vmx101-shiva-p106</td>
<td nowrap>Collected 1 LSPs</td>
</tr>\n
<tr>
<td nowrap>172.25.158.69</td>
<td nowrap>vmx101-shiva-p105</td>
<td nowrap>Collected 2 LSPs</td>
</tr>\n
<tr>
<td nowrap>172.25.158.70</td>
<td nowrap>vmx104-shiva</td>
<td nowrap>Collected 27 LSPs</td>
</tr>\n
<tr>
<td nowrap>172.25.158.72</td>
<td nowrap>vmx102-shiva</td>
<td nowrap>Collected 55 LSPs</td>
</tr>\n
<tr bgcolor=#ff3333>
<td nowrap>172.25.158.71</td>
<td nowrap>vmx103-shiva</td>
<td nowrap>No SNMP response received before timeout</td>
</tr>\n
</table>
</body>
</html>"
}
]
This operation does not accept a request body.
Returns task execution status history as per JSON schema: scheduler.json#/definitions/tasksStatusList
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. |
[
{
"taskid": "1767fcb4-59a0-48f8-8cb7-ad2612ceb606",
"executionbegintime": "2019-06-14 07:18:18.044Z",
"executionendtime": "2019-06-14 07:18:41.763Z",
"executionlog": [
"IP Address,Hostname,Description,Severity",
"172.25.158.69,vmx101-shiva-p107,Collected 1 LSPs,INFO",
"172.25.158.69,vmx101-shiva,Collected 9 LSPs,INFO",
"172.25.158.69,vmx101-shiva-p105,Collected 2 LSPs,INFO",
"172.25.158.69,vmx101-shiva-p106,Collected 1 LSPs,INFO",
"172.25.158.70,vmx104-shiva,Collected 27 LSPs,INFO",
"172.25.158.72,vmx102-shiva,Collected 55 LSPs,INFO",
"172.25.158.71,vmx103-shiva,No SNMP response received before timeout,ERROR"
]
},
{
"taskid": "1767fcb4-59a0-48f8-8cb7-ad2612ceb606",
"executionbegintime": "2019-06-14 07:13:18.042Z",
"executionendtime": "2019-06-14 07:13:42.494Z",
"executionlog": [
"IP Address,Hostname,Description,Severity",
"172.25.158.69,vmx101-shiva-p107,Collected 1 LSPs,INFO",
"172.25.158.69,vmx101-shiva,Collected 9 LSPs,INFO",
"172.25.158.69,vmx101-shiva-p106,Collected 1 LSPs,INFO",
"172.25.158.69,vmx101-shiva-p105,Collected 2 LSPs,INFO",
"172.25.158.70,vmx104-shiva,Collected 27 LSPs,INFO",
"172.25.158.72,vmx102-shiva,Collected 55 LSPs,INFO",
"172.25.158.71,vmx103-shiva,No SNMP response received before timeout,ERROR"
]
},
{
"taskid": "1767fcb4-59a0-48f8-8cb7-ad2612ceb606",
"executionbegintime": "2019-06-14 07:08:18.040Z",
"executionendtime": "2019-06-14 07:08:44.478Z",
"executionlog": [
"IP Address,Hostname,Description,Severity",
"172.25.158.69,vmx101-shiva-p107,Collected 1 LSPs,INFO",
"172.25.158.69,vmx101-shiva,Collected 9 LSPs,INFO",
"172.25.158.69,vmx101-shiva-p106,Collected 1 LSPs,INFO",
"172.25.158.69,vmx101-shiva-p105,Collected 2 LSPs,INFO",
"172.25.158.70,vmx104-shiva,Collected 27 LSPs,INFO",
"172.25.158.72,vmx102-shiva,Collected 55 LSPs,INFO",
"172.25.158.71,vmx103-shiva,No SNMP response received before timeout,ERROR"
]
},
{
"taskid": "1767fcb4-59a0-48f8-8cb7-ad2612ceb606",
"executionbegintime": "2019-06-14 07:03:18.040Z",
"executionendtime": "2019-06-14 07:03:42.616Z",
"executionlog": [
"IP Address,Hostname,Description,Severity",
"172.25.158.69,vmx101-shiva-p107,Collected 1 LSPs,INFO",
"172.25.158.69,vmx101-shiva,Collected 9 LSPs,INFO",
"172.25.158.69,vmx101-shiva-p105,Collected 2 LSPs,INFO",
"172.25.158.69,vmx101-shiva-p106,Collected 1 LSPs,INFO",
"172.25.158.70,vmx104-shiva,Collected 27 LSPs,INFO",
"172.25.158.72,vmx102-shiva,Collected 55 LSPs,INFO",
"172.25.158.71,vmx103-shiva,No SNMP response received before timeout,ERROR"
]
},
{
"taskid": "1767fcb4-59a0-48f8-8cb7-ad2612ceb606",
"executionbegintime": "2019-06-14 06:58:18.040Z",
"executionendtime": "2019-06-14 06:58:42.722Z",
"executionlog": [
"IP Address,Hostname,Description,Severity",
"172.25.158.69,vmx101-shiva-p107,Collected 1 LSPs,INFO",
"172.25.158.69,vmx101-shiva,Collected 9 LSPs,INFO",
"172.25.158.69,vmx101-shiva-p105,Collected 2 LSPs,INFO",
"172.25.158.69,vmx101-shiva-p106,Collected 1 LSPs,INFO",
"172.25.158.70,vmx104-shiva,Collected 27 LSPs,INFO",
"172.25.158.72,vmx102-shiva,Collected 55 LSPs,INFO",
"172.25.158.71,vmx103-shiva,No SNMP response received before timeout,ERROR"
]
}
]
This operation does not accept a request body.
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>/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>/netconf/netconfCollection/liveNetwork [ POST: create a collection job with requested device profile ids ]
https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/netconf/netconfCollection/<id> [ GET: get a collection job status with requested job id ]
Gets all profiles.
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. |
Returns the following JSON document: deviceProfile.json#/definitions/profileList .
This operation does not accept a request body.
Creates new profiles.
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. |
The request must use the following JSON schema: deviceProfile.json#/definitions/createProfileList .
Response example:Returns the following JSON document: deviceProfile.json#/definitions/profileList
Updates profiles.
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. |
The request must use the following JSON schema: deviceProfile.json#/definitions/updateProfileList and must contain an id in each profile: deviceProfile.json#/definitions/profile
Response example:Returns the following JSON document: deviceProfile.json#/definitions/profileList
Deletes profiles.
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. |
The request must use the following JSON schema: deviceProfile.json#/definitions/deleteProfileList and must contain an id in each profile: deviceProfile.json#/definitions/profile
Response example:Returns the following JSON document: deviceProfile.json#/definitions/profileList
Creates a new collection.
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. |
The request must use the following JSON schema: deviceProfile.json#/definitions/startCollection .
Response example:Returns the following JSON document: deviceProfile.json#/definitions/collectionStatus .
Gets the Status of a collection job.
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. |
Returns the following JSON document: deviceProfile.json#/definitions/collectionStatus .
This operation does not accept a request body.
TE-Containers are related to TE-LSPs, similar to JunOS TE++ containers. The API allows the access to those TE-Containers parameter. A TE-Container has most of the TE-LSP parameters and split/merge parameters. A TE-Container will create a set of child TE-LSPs to adjust for traffic. The container normalization is handled as a separate global task.
The TE-containers schema is: lsp-containers.json . The operations are:
https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/topology/<topology-id>/te-containers/ [GET, POST]
https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/topology/<topology-id>/te-containers/<containerIndex> [ GET , PUT, PATCH , DELETE]
https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/topology/<topology-id>/te-containers/bulk [ POST , PUT, PATCH , DELETE] Bulk API
List all TE-containers.
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. |
Returns the following JSON document: lsp-containers.json.json#/definitions/containerList .
This operation does not accept a request body.
Creates a container.
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. |
The input must conform to the lsp-containers.json#/definitions/createContainer schema.
Response example:See EventSource for format. The notifications send on that stream are only teContainerEvent. The data will contain a JSON document (see NorthStar Notification API).
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.
Gets a TE Container.
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. |
containerIndex | URI | xsd:int |
Program ID of a TE-container. |
Follows lsp-containers.json#/definitions/container .
This operation does not accept a request body.
Updates a TE Container
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. |
containerIndex | URI | xsd:int |
Program ID of a TE-container. |
The input must conform to the lsp-containers.json#/definitions/updateContainer schema.
Response example:Returns the following JSON document: lsp-containers.json#/definitions/container .
Updates a TE Container using an RFC6902 document
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. |
containerIndex | URI | xsd:int |
Program ID of a TE-container. |
The input must conform to the rest-schemas/json-patch.json schema, the produced document (Original resource +patch) must conform to the lsp-containers.json#/definitions/updateContainer schema.
Response example:Returns the following JSON document: lsp-containers.json#/definitions/container
Deletes a container.
The container must exist, no payload is expected or returned.
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. |
containerIndex | URI | xsd:int |
Program ID of a TE-container. |
No content is expected.
Response example:No content
Create a list of TE Container
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. |
The input must conform to the lsp-containers.json#/definitions/containerCreateList schema.
Response example:Returns the following JSON document: lsp-containers.json#/definitions/containerList .
Modify a list of TE Container
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. |
The input must conform to the lsp-containers.json#/definitions/containerUpdateList schema.
Response example:Returns the following JSON document: lsp-containers.json#/definitions/containerList .
Modify a list of TE Container using a PATCH
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. |
The input must conform to the lsp-containers.json#/definitions/containerListPatch schema. the resulting container list (with patch applied) must also comply to the lsp-containers.json#/definitions/containerUpdateList schema.
Response example:Returns the following JSON document: lsp-containers.json#/definitions/containerList
Deletes a list of containers.
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. |
The containers must exist, the payload must conform to lsp-containers.json#/definitions/containerListDelete.
Response example: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>/facilities/<facilityIndex> [ GET : get a facilitity, PUT : update, DELETE: delete]
Gets all Facilities.
Returns the following JSON document: facilities.json#/definitions/facilityList .
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.
Creates a facility.
Returns the following JSON document: facilities.json#/definitions/facility .
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.
See EventSource for format. The notifications send on that stream are only facilityEvent. The data will contain a JSON document (see NorthStar Notification API).
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.
Gets a Facility.
Returns the following JSON document: facilities.json#/definitions/facility .
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 of a facility. |
This operation does not accept a request body and does not return a response body.
Updates a facility
Returns the following JSON document: facilities.json#/definitions/facility .
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 of a facility. |
This operation does not accept a request body and does not return a response body.
Deletes a facility.
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 of a facility. |
This operation does not accept a request body and does not return a response body.
Use these endpoints to retrieve the P2MP lists and manage the P2MP groups. The complete set of endpoints and parameters is described in the schema p2mp.json. P2MP group in NorthStar can be provisioned using NETCONF (default) or PCEP. Since NorthStar 5.1 flow mapping to MVPN using source and group is supported.
The API allows for group and leaf discovery, creation, modification, deletion and bulk deletion. Those operations are supported using the following endpoints:
https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/topology/<topology-id>/p2mp/ [GET: get all P2MP groups, POST: create a new P2MP group ]
https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/topology/<topology-id>/p2mp/<p2mpGroupIndex> [GET: get a P2MP group specified by index, PUT/PATCH: modify the P2MP group, DELETE: Delete the P2MP group and all its members leaves, POST: Create a list of leaves, ]
https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/topology/<topology-id>/p2mp/<p2mpGroupIndex>/<lspIndex> [GET: get a P2MP leaf by index, PUT: get a P2MP leaf specified by index, DELETE: remove a leaf]
https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/topology/<topology-id>/p2mp/<p2mpGroupIndex>/bulk [DELETE: bulk remove a list of leaves]
https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/topology/<topology-id>/p2mp/<p2mpGroupIndex>/bulk [DELETE only: delete a list of TE-LSP members]
A special use case for the PATCH method is to re-provision an entire tree (or a leaf) and do not change anything. To reprovision a tree a PATCH /NorthStar/API/v2/tenant/1/topology/1/p2mp/<p2mpGroupIndex> payload
[]
The same method is used for a leaf: PATCH
/NorthStar/API/v2/tenant/1/topology/1/te-lsps/< lspIndex>
payload []
.
Another use case for PATCH is to add or replace flow mapping, the PATH examples show how to achieve those operations.
Since NorthStar 6.0, the P2MP tree leaves can also be CE or Site nodes. NorthStar path computation will compute the P2MP tree using those nodes but will configure them in the network terminating at the PE nodes. Please note that currently combination of PE and non-pE (CE or Site) nodes as destinations nodes in a P2MP tree is not supported. Use can either create P2MP tree where all destination nodes consist of PE nodes only or consist of CE nodes only. It cannot be combination of both (mixture of PE and CE nodes) in a single tree.
Returns a full list of P2MP groups.
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": 3,
"p2mpIndex": 40,
"name": "geeiamtree",
"topoObjectType": "p2mpGroup",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.101"
},
"links": [
{
"rel": "self",
"href": "3/"
}
]
},
{
"p2mpGroupIndex": 4,
"p2mpIndex": 43,
"name": "mapletree",
"topoObjectType": "p2mpGroup",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.101"
},
"links": [
{
"rel": "self",
"href": "4/"
}
]
}
]
This operation does not accept a request body.
Create a P2MP group using the following schema: p2mp.json#/definitions/createP2mpGroup. The API request contains the destination list and the common planned properties. The common planned properties may include plannedProperties with flow mapping 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. |
While creating the P2MP group, ensure that either the following plannedProperties parameters of all the members are identical, or the group plannedProperties are applied. Do not set the plannedProperties in the members. If you do not provide the plannedProperties parameter, the default value is applied.
Attribute | Type | Default | Description |
---|---|---|---|
name | string | None | P2MP group name name |
from/address | string | none | P2MP group ingress ingress |
plannedProperties/bandwidth | string or integer | 0 | P2MP members bandwidth |
plannedProperties/setupPriority | integer | 7 | P2MP member setup priority |
plannedProperties/holdingPriority | integer | 0 | P2MP member setup holdingPriority |
plannedProperties/design/adminGroups/attributeIncludeAny | integer | 0 (not set) | P2MP member setup administrative color include any |
plannedProperties/design/adminGroups/attributeIncludeAll | integer | 0 (not set) | P2MP member setup administrative color include all |
plannedProperties/design/adminGroups/attributeExclude | integer | 0 (not set) | P2MP member setup administrative color exclude |
lsps | list | None | List of members with name and destination. The name must be unique on the ingress. |
The following examples show different set of parameters and results:
A P2MP tree with 3 Members using NETCONF.
{
"name":"alphatree",
"from":{"address": "11.0.0.101", "topoObjectType": "ipv4"},
"plannedProperties":{
"bandwidth":"99k",
"setupPriority":7,
"holdingPriority":7,
"design":{
"adminGroups":{
"attributeExclude":0,
"attributeIncludeAll":0,
"attributeIncludeAny":0
},
"diversityGroup":"twins"
}
},
"lsps":[
{
"name":"alphatree-101102",
"to":{"address": "11.0.0.102", "topoObjectType": "ipv4"}
},
{
"name":"alphatree-101103",
"to":{"address": "11.0.0.103", "topoObjectType": "ipv4"}
},
{
"name":"alphatree-101104",
"to":{"address": "11.0.0.104", "topoObjectType": "ipv4"}
}
]
}
The response is:
{
"topoObjectType":"p2mpGroup",
"name":"alphatree",
"from":{"address": "11.0.0.101", "topoObjectType": "ipv4"},
"lsps":[
{
"name":"alphatree-101102",
"to":{"address": "11.0.0.102", "topoObjectType": "ipv4"},
"plannedProperties":{
"adminStatus":"Up",
"bandwidth":"99K",
"correlatedRROHopCount":0,
"design":{
"diversityGroup":"TWINS"
},
"ero":[
{
"address":"11.101.105.2",
"loose":false,
"topoObjectType":"ipv4"
},
{
"address":"11.102.105.1",
"loose":false,
"topoObjectType":"ipv4"
}
],
"holdingPriority":0,
"lastStatusString":"[ConfigServer]<Netconf provisioning order received",
"pathName":"alphatree-101102_p0",
"setupPriority":7
},
"controlType":"PCC",
"from":{
"address":"11.0.0.101",
"topoObjectType":"ipv4"
},
"lspIndex":91,
"p2mpName":"alphatree",
"pathType":"primary",
"provisioningType":"RSVP"
},
{
"name":"alphatree-101103",
"to":{"address": "11.0.0.103", "topoObjectType": "ipv4"},
"plannedProperties":{
"adminStatus":"Up",
"bandwidth":"99K",
"correlatedRROHopCount":0,
"design":{
"diversityGroup":"TWINS"
},
"ero":[
{
"address":"11.101.105.2",
"loose":false,
"topoObjectType":"ipv4"
},
{
"address":"11.105.107.2",
"loose":false,
"topoObjectType":"ipv4"
},
{
"address":"11.103.107.1",
"loose":false,
"topoObjectType":"ipv4"
}
],
"holdingPriority":0,
"lastStatusString":"[ConfigServer]<Netconf provisioning order received",
"pathName":"alphatree-101103_p0",
"setupPriority":7
},
"controlType":"PCC",
"from":{
"address":"11.0.0.101",
"topoObjectType":"ipv4"
},
"lspIndex":92,
"p2mpName":"alphatree",
"pathType":"primary",
"provisioningType":"RSVP"
},
{
"name":"alphatree-101104",
"to":{"address": "11.0.0.104", "topoObjectType": "ipv4"},
"plannedProperties":{
"adminStatus":"Up",
"bandwidth":"99K",
"correlatedRROHopCount":0,
"design":{
"diversityGroup":"TWINS"
},
"ero":[
{
"address":"dynamic",
"loose":false,
"topoObjectType":"ipv4"
}
],
"holdingPriority":0,
"lastStatusString":"[ConfigServer]<Netconf provisioning order received",
"pathName":"alphatree-101104_p0",
"setupPriority":7
},
"controlType":"PCC",
"from":{
"address":"11.0.0.101",
"topoObjectType":"ipv4"
},
"lspIndex":93,
"p2mpName":"alphatree",
"pathType":"primary",
"provisioningType":"RSVP"
}
]
}
Create a P2MP group using PCEP and associate it with a Multicast VPN. This is the NorthStar 5.1 version using the flow mapping, prior version were using different encoding.
{
"name":"alphatree",
"from":{"address": "11.0.0.191", "topoObjectType": "ipv4"},
"plannedProperties":{
"bandwidth":"99k",
"setupPriority":7,
"holdingPriority":7,
"flows":[
{
"topoObjectType":"flow",
"vpn":{"rd": "11.0.0.105:65000", "topoObjectType": "vpnId"},
"source":{"address": "11.0.0.101", "length": 32, "topoObjectType": "prefix"},
"group":{"address": "239.2.2.2", "length": 32, "topoObjectType": "prefix"}
},
{
"topoObjectType":"flow",
"vpn":{"rd": "11.0.0.105:65000", "topoObjectType": "vpnId"},
"source":{"address": "11.0.0.101", "length": 32, "topoObjectType": "prefix"},
"group":{"address": "239.3.3.3", "length": 32, "topoObjectType": "prefix"}
}
]
},
"lsps":[
{
"to":{"address": "11.0.0.213", "topoObjectType": "ipv4"}
},
{
"to":{"address": "11.0.0.214", "topoObjectType": "ipv4"}
}
],
"creationConfigurationMethod":"PCEP"
}
The response is:
{
"topoObjectType":"p2mpGroup",
"name":"alphatree",
"from":{"address": "11.0.0.191", "topoObjectType": "ipv4"},
"plannedProperties":{
"bandwidth":"99k",
"setupPriority":7,
"holdingPriority":7,
"design":{
"adminGroups":{
"attributeExclude":0,
"attributeIncludeAll":0,
"attributeIncludeAny":0
}
},
"flows":[
{
"topoObjectType":"flow",
"vpn":{"rd": "11.0.0.105:65000", "topoObjectType": "vpnId"},
"source":{"address": "11.0.0.101", "length": 32, "topoObjectType": "prefix"},
"group":{"address": "239.2.2.2", "length": 32, "topoObjectType": "prefix"}
},
{
"topoObjectType":"flow",
"vpn":{"rd": "11.0.0.105:65000", "topoObjectType": "vpnId"},
"source":{"address": "11.0.0.101", "length": 32, "topoObjectType": "prefix"},
"group":{"address": "239.3.3.3", "length": 32, "topoObjectType": "prefix"}
}
]
},
"lsps":[
{
"name":"alphatree_11.0.0.213",
"to":{"address": "11.0.0.213", "topoObjectType": "ipv4"},
"plannedProperties":{
"adminStatus":"Up",
"bandwidth":"99k",
"holdingPriority":7,
"pathName":"alphatree_to213_p0",
"setupPriority":7
},
"controlType":"PCEInitiated",
"from":{
"address":"11.0.0.191",
"topoObjectType":"ipv4"
},
"lspIndex":145953,
"p2mpName":"alphatree",
"pathType":"primary",
"provisioningType":"RSVP"
},
{
"name":"alphatree_11.0.0.214",
"to":{"address": "11.0.0.214", "topoObjectType": "ipv4"},
"plannedProperties":{
"adminStatus":"Up",
"bandwidth":"99k",
"holdingPriority":7,
"setupPriority":7
},
"controlType":"PCEInitiated",
"from":{
"address":"11.0.0.191",
"topoObjectType":"ipv4"
},
"lspIndex":145954,
"p2mpName":"alphatree",
"pathType":"primary",
"provisioningType":"RSVP"
}
]
}
Create a P2MP group using PCEP and CE and Site nodes as destination nodes. This is NorthStar 6.0 version. CE and Sites nodes are SiteA1, SiteZ and CEY2. Please note that currently combination of PE and Site nodes as destinations nodes in a P2MP tree is not supported. Use can either create P2MP tree with all destination nodes consist of PE nodes only or consist of CE/Site nodes only. It cannot be combination of both (mixture of PE and CE/Sites nodes) in a single tree.
{
"name":"pecenoippcep1",
"creationConfigurationMethod":"PCEP",
"from":{
"topoObjectType":"ipv4",
"address":"10.0.0.1"
},
"plannedProperties":{
"bandwidth":"10"
},
"lsps":[
{
"to":{
"topoObjectType":"ipv4",
"address":"SiteA1"
}
},
{
"to":{
"topoObjectType":"ipv4",
"address":"SiteZ"
}
},
{
"to":{
"topoObjectType":"ipv4",
"address":"CEY2"
}
}
]
}
The response is:
{
"from":{
"address":"10.0.0.1",
"topoObjectType":"ipv4"
},
"name":"pecenoippcep1",
"lsps":[
{
"p2mpName":"pecenoippcep1",
"initiator":"PCE",
"from":{
"address":"10.0.0.1",
"topoObjectType":"ipv4"
},
"name":"pecenoippcep1_SiteA1",
"pathType":"primary",
"plannedProperties":{
"adminStatus":"Up",
"bandwidth":10,
"holdingPriority":0,
"setupPriority":7
},
"to":{
"address":"SiteA1",
"topoObjectType":"ipv4"
},
"controlType":"PCEInitiated",
"provisioningType":"RSVP",
"lspIndex":462
},
{
"p2mpName":"pecenoippcep1",
"initiator":"PCE",
"from":{
"address":"10.0.0.1",
"topoObjectType":"ipv4"
},
"name":"pecenoippcep1_SiteZ",
"pathType":"primary",
"plannedProperties":{
"adminStatus":"Up",
"bandwidth":10,
"holdingPriority":0,
"setupPriority":7
},
"to":{
"address":"SiteZ",
"topoObjectType":"ipv4"
},
"controlType":"PCEInitiated",
"provisioningType":"RSVP",
"lspIndex":464
},
{
"p2mpName":"pecenoippcep1",
"initiator":"PCE",
"from":{
"address":"10.0.0.1",
"topoObjectType":"ipv4"
},
"name":"pecenoippcep1_CEY2",
"pathType":"primary",
"plannedProperties":{
"adminStatus":"Up",
"bandwidth":10,
"holdingPriority":0,
"setupPriority":7
},
"to":{
"address":"CEY2",
"topoObjectType":"ipv4"
},
"controlType":"PCEInitiated",
"provisioningType":"RSVP",
"lspIndex":467
}
],
"creationConfigurationMethod":"PCEP",
"topoObjectType":"p2mpGroup",
"plannedProperties":{
"bandwidth":10,
"design":{
"adminGroups":{
"attributeIncludeAny":0,
"attributeExclude":0,
"attributeIncludeAll":0
}
},
"holdingPriority":0,
"setupPriority":7
},
"location":"/NorthStar/API/v2/tenant/1/topology/1/p2mp/2",
"p2mpGroupIndex":2,
"provisioningType":"RSVP"
}
The responses are shown per example in the request section. In general the response is a JSON document conforming to p2mp.json#/definitions/p2mpGroup.
See EventSource for format. The notifications send on that stream are only p2mpEvent. The data will contain a JSON document (see NorthStar Notification API).
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.
Returns the details of a specified P2MP group.
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-LSPs of a tunnel. |
{
"topoObjectType":"p2mpGroup",
"p2mpGroupIndex":8,
"name":"geeiamtree",
"from":{"address": "11.0.0.101", "topoObjectType": "ipv4"},
"plannedProperties":{
"bandwidth":"99k",
"setupPriority":7,
"holdingPriority":0,
"design":{
"adminGroups":{
"attributeExclude":0,
"attributeIncludeAll":0,
"attributeIncludeAny":0
}
}
},
"lsps":[
{
"name":"geeiamtree101-102",
"to":{"address": "11.0.0.102", "topoObjectType": "ipv4"},
"plannedProperties":{
"adminStatus":"Up",
"bandwidth":"99K",
"calculatedEro":[
{
"address":"11.101.105.2",
"loose":false,
"topoObjectType":"ipv4"
},
{
"address":"11.102.105.1",
"loose":false,
"topoObjectType":"ipv4"
}
],
"correlatedRROHopCount":2,
"holdingPriority":0,
"lastStatusString":"[PCServer]<Active",
"pathName":"geeiamtree101-102_p0",
"preferredEro":[
{
"address":"11.101.105.2",
"loose":false,
"topoObjectType":"ipv4"
},
{
"address":"11.102.105.1",
"loose":false,
"topoObjectType":"ipv4"
}
],
"routingStatus":"Up",
"setupPriority":7
},
"collectedProperties":{
"adminStatus":"Up",
"bandwidth":"99K",
"calculatedEro":[
{
"address":"11.101.105.2",
"loose":false,
"topoObjectType":"ipv4"
},
{
"address":"11.102.105.1",
"loose":false,
"topoObjectType":"ipv4"
}
],
"correlatedRROHopCount":2,
"explicitPathName":"geeiamtree101-102_p0",
"holdingPriority":0,
"preferredEro":[
{
"address":"11.101.105.2",
"loose":false,
"topoObjectType":"ipv4"
},
{
"address":"11.102.105.1",
"loose":false,
"topoObjectType":"ipv4"
}
],
"routingStatus":"Up",
"setupPriority":7
},
"controlType":"PCC",
"controller":"External",
"from":{
"address":"11.0.0.101",
"topoObjectType":"ipv4"
},
"liveProperties":{
"adminStatus":"Up",
"bandwidth":99000,
"ero":[
{
"address":"11.101.105.2",
"loose":false,
"topoObjectType":"ipv4"
},
{
"address":"11.102.105.1",
"loose":false,
"topoObjectType":"ipv4"
}
],
"holdingPriority":0,
"metric":0,
"operationalStatus":"Active",
"pathName":"geeiamtree101-102_p0",
"rro":[
{
"address":"11.101.105.2",
"protectionAvailable":false,
"protectionInUse":false,
"topoObjectType":"ipv4"
},
{
"address":"11.102.105.1",
"protectionAvailable":false,
"protectionInUse":false,
"topoObjectType":"ipv4"
}
],
"setupPriority":7
},
"lspIndex":638,
"operationalStatus":"Active",
"p2mpIndex":184549477,
"p2mpName":"geeiamtree",
"pathType":"primary",
"provisioningType":"RSVP"
}
],
"p2mpIndex":638
}
This operation does not accept a request body.
Modify a specific P2MP group, if the LSPS are not specified, the common properties are changed, not the LSPs. If the LSPs are specified, the set of LSPs will be modified. i.e LSP that is not in the new list will be remove, the other will be added/updated".
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-LSPs of a tunnel. |
{
"topoObjectType":"p2mpGroup",
"name":"alphatree",
"from":{"address": "11.0.0.191", "topoObjectType": "ipv4"},
"plannedProperties":{
"bandwidth":"21k",
"setupPriority":3,
"holdingPriority":3
},
"lsps":[
{"to":{"address": "11.0.0.102", "topoObjectType": "ipv4"}},
{"to":{"address": "11.0.0.103", "topoObjectType": "ipv4"}},
{"to":{"address": "11.0.0.104", "topoObjectType": "ipv4"}}
]
}
{
"topoObjectType":"p2mpGroup",
"name":"alphatree",
"from":{"address": "11.0.0.191", "topoObjectType": "ipv4"},
"plannedProperties":{
"bandwidth":"21k",
"setupPriority":3,
"holdingPriority":3,
"design":{
"adminGroups":{
"attributeExclude":0,
"attributeIncludeAll":0,
"attributeIncludeAny":0
}
}
},
"lsps":[
{
"name":"alphatree_to213",
"to":{"address": "11.0.0.213", "topoObjectType": "ipv4"},
"plannedProperties":{
"adminStatus":"Up",
"bandwidth":"21k",
"design":{
"routingMethod":"routeByDevice"
},
"holdingPriority":3,
"pathName":"alphatree_to213_p0",
"setupPriority":3
},
"controlType":"PCC",
"from":{
"address":"11.0.0.191",
"topoObjectType":"ipv4"
},
"lspIndex":145948,
"p2mpName":"alphatree",
"pathType":"primary",
"provisioningType":"RSVP"
},
{
"name":"alphatree_to214",
"to":{"address": "11.0.0.214", "topoObjectType": "ipv4"},
"plannedProperties":{
"adminStatus":"Up",
"bandwidth":"21k",
"design":{
"routingMethod":"routeByDevice"
},
"holdingPriority":3,
"pathName":"alphatree_to214_p0",
"setupPriority":3
},
"controlType":"PCC",
"from":{
"address":"11.0.0.191",
"topoObjectType":"ipv4"
},
"lspIndex":145949,
"p2mpName":"alphatree",
"pathType":"primary",
"provisioningType":"RSVP"
}
]
}
Modify a specific P2MP group using a PATCH document (RFC6906). The operation has the same behavior as the PUT method. An empty PATCH will re-provision the complete tree.
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-LSPs of a tunnel. |
The following examples show different set of parameters and results:
Modify the group bandwidth, setup and holding priority.
[{ "op": "add", "path": "/plannedProperties/bandwidth", "value": "21k" },{ "op": "add", "path": "/plannedProperties/setupPriority", "value": 3 },{ "op": "add", "path": "/plannedProperties/holdingPriority", "value": 3 }]
Modify flow mapping: replace all (initial flows with groups 239.2.2.2 and 239.3.3.3) flows.
[
{
"op":"add",
"path":"/plannedProperties/flows",
"value":[
{
"topoObjectType":"flow",
"vpn":{"rd": "11.0.0.105:65000", "topoObjectType": "vpnId"},
"source":{"address": "11.0.0.101", "length": 32, "topoObjectType": "prefix"},
"group":{"address": "239.4.4.4", "length": 32, "topoObjectType": "prefix"}
},
{
"topoObjectType":"flow",
"vpn":{"rd": "11.0.0.105:65000", "topoObjectType": "vpnId"},
"source":{"address": "11.0.0.101", "length": 32, "topoObjectType": "prefix"},
"group":{"address": "239.5.5.5", "length": 32, "topoObjectType": "prefix"}
}
]
}
]
Modify flow mapping: insert a new flow (initial flows with groups 239.2.2.2 and 239.3.3.3) flows.
[
{
"op":"add",
"path":"/plannedProperties/flows/0",
"value": {
"topoObjectType":"flow",
"vpn":{"rd": "11.0.0.105:65000", "topoObjectType": "vpnId"},
"source":{"address": "11.0.0.101", "length": 32, "topoObjectType": "prefix"},
"group":{"address": "239.1.1.1", "length": 32, "topoObjectType": "prefix"}
}
}
]
The response to the requests are
Modify the group bandwidth, setup and holding priority.
{
"topoObjectType":"p2mpGroup",
"name":"alphatree",
"from":{"address": "11.0.0.191", "topoObjectType": "ipv4"},
"plannedProperties":{
"bandwidth":"21k",
"setupPriority":3,
"holdingPriority":3,
"design":{
"adminGroups":{
"attributeExclude":0,
"attributeIncludeAll":0,
"attributeIncludeAny":0
}
}
},
"lsps":[
{
"name":"alphatree_to213",
"to":{"address": "11.0.0.213", "topoObjectType": "ipv4"},
"plannedProperties":{
"adminStatus":"Up",
"bandwidth":"21k",
"design":{
"routingMethod":"routeByDevice"
},
"holdingPriority":3,
"pathName":"alphatree_to213_p0",
"setupPriority":3
},
"controlType":"PCC",
"from":{
"address":"11.0.0.191",
"topoObjectType":"ipv4"
},
"lspIndex":145948,
"p2mpName":"alphatree",
"pathType":"primary",
"provisioningType":"RSVP"
},
{
"name":"alphatree_to214",
"to":{"address": "11.0.0.214", "topoObjectType": "ipv4"},
"plannedProperties":{
"adminStatus":"Up",
"bandwidth":"21k",
"design":{
"routingMethod":"routeByDevice"
},
"holdingPriority":3,
"pathName":"alphatree_to214_p0",
"setupPriority":3
},
"controlType":"PCC",
"from":{
"address":"11.0.0.191",
"topoObjectType":"ipv4"
},
"lspIndex":145949,
"p2mpName":"alphatree",
"pathType":"primary",
"provisioningType":"RSVP"
}
]
}
Modify flow mapping: replace all flows.
{
"topoObjectType":"p2mpGroup",
"name":"alphatree",
"from":{"address": "11.0.0.191", "topoObjectType": "ipv4"},
"plannedProperties":{
"bandwidth":"99k",
"setupPriority":7,
"holdingPriority":7,
"design":{
"adminGroups":{
"attributeExclude":0,
"attributeIncludeAll":0,
"attributeIncludeAny":0
}
},
"flows":[
{
"topoObjectType":"flow",
"vpn":{"rd": "11.0.0.105:65000", "topoObjectType": "vpnId"},
"source":{"address": "11.0.0.101", "length": 32, "topoObjectType": "prefix"},
"group":{"address": "239.4.4.4", "length": 32, "topoObjectType": "prefix"}
},
{
"topoObjectType":"flow",
"vpn":{"rd": "11.0.0.105:65000", "topoObjectType": "vpnId"},
"source":{"address": "11.0.0.101", "length": 32, "topoObjectType": "prefix"},
"group":{"address": "239.5.5.5", "length": 32, "topoObjectType": "prefix"}
}
]
},
"lsps":[
{
"name":"alphatree_11.0.0.213",
"to":{"address": "11.0.0.213", "topoObjectType": "ipv4"},
"plannedProperties":{
"adminStatus":"Up",
"bandwidth":"99k",
"holdingPriority":7,
"pathName":"alphatree_to213_p0",
"setupPriority":7
},
"controlType":"PCEInitiated",
"from":{
"address":"11.0.0.191",
"topoObjectType":"ipv4"
},
"lspIndex":145953,
"p2mpName":"alphatree",
"pathType":"primary",
"provisioningType":"RSVP"
},
{
"name":"alphatree_11.0.0.214",
"to":{"address": "11.0.0.214", "topoObjectType": "ipv4"},
"plannedProperties":{
"adminStatus":"Up",
"bandwidth":"99k",
"holdingPriority":7,
"setupPriority":7
},
"controlType":"PCEInitiated",
"from":{
"address":"11.0.0.191",
"topoObjectType":"ipv4"
},
"lspIndex":145954,
"p2mpName":"alphatree",
"pathType":"primary",
"provisioningType":"RSVP"
}
]
}
Modify flow mapping: insert a new flow flows.
{
"topoObjectType":"p2mpGroup",
"name":"alphatree",
"from":{"address": "11.0.0.191", "topoObjectType": "ipv4"},
"plannedProperties":{
"bandwidth":"99k",
"setupPriority":7,
"holdingPriority":7,
"design":{
"adminGroups":{
"attributeExclude":0,
"attributeIncludeAll":0,
"attributeIncludeAny":0
}
},
"flows":[
{
"topoObjectType":"flow",
"vpn":{"rd": "11.0.0.105:65000", "topoObjectType": "vpnId"},
"source":{"address": "11.0.0.101", "length": 32, "topoObjectType": "prefix"},
"group":{"address": "239.1.1.1", "length": 32, "topoObjectType": "prefix"}
},
{
"topoObjectType":"flow",
"vpn":{"rd": "11.0.0.105:65000", "topoObjectType": "vpnId"},
"source":{"address": "11.0.0.101", "length": 32, "topoObjectType": "prefix"},
"group":{"address": "239.2.2.2", "length": 32, "topoObjectType": "prefix"}
},
{
"topoObjectType":"flow",
"vpn":{"rd": "11.0.0.105:65000", "topoObjectType": "vpnId"},
"source":{"address": "11.0.0.101", "length": 32, "topoObjectType": "prefix"},
"group":{"address": "239.3.3.3", "length": 32, "topoObjectType": "prefix"}
}
]
},
"lsps":[
{
"name":"alphatree_11.0.0.213",
"to":{"address": "11.0.0.213", "topoObjectType": "ipv4"},
"plannedProperties":{
"adminStatus":"Up",
"bandwidth":"99k",
"holdingPriority":7,
"pathName":"alphatree_to213_p0",
"setupPriority":7
},
"controlType":"PCEInitiated",
"from":{
"address":"11.0.0.191",
"topoObjectType":"ipv4"
},
"lspIndex":145953,
"p2mpName":"alphatree",
"pathType":"primary",
"provisioningType":"RSVP"
},
{
"name":"alphatree_11.0.0.214",
"to":{"address": "11.0.0.214", "topoObjectType": "ipv4"},
"plannedProperties":{
"adminStatus":"Up",
"bandwidth":"99k",
"holdingPriority":7,
"setupPriority":7
},
"controlType":"PCEInitiated",
"from":{
"address":"11.0.0.191",
"topoObjectType":"ipv4"
},
"lspIndex":145954,
"p2mpName":"alphatree",
"pathType":"primary",
"provisioningType":"RSVP"
}
]
}
No response is received from the REST API unless an error occurs.
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-LSPs of a tunnel. |
This operation does not accept a request body and does not return a response body.
No response is received from the REST API unless an error occurs.
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 |
Bulk process P2MP Groups. |
[
{"p2mpGroupIndex": 3},
{"p2mpGroupIndex": 4}
]
This operation does not return a response body.
The POST URL accepts a list of new leaves. Use the following schema to create a P2MP leaf: p2mp.json#/definitions/createP2mpLeavesList .
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-LSPs of a tunnel. |
[
{
"name":"alphatree_to225",
"to":{"address": "11.0.0.225", "topoObjectType": "ipv4"}
}
]
[
{
"name":"alphatree_to225",
"to":{"address": "11.0.0.225", "topoObjectType": "ipv4"},
"plannedProperties":{
"adminStatus":"Up",
"bandwidth":"21k",
"holdingPriority":3,
"pathName":"alphatree_to225_p0",
"setupPriority":3
},
"controlType":"PCC",
"from":{
"address":"11.0.0.191",
"topoObjectType":"ipv4"
},
"lspIndex":145950,
"p2mpName":"alphatree",
"pathType":"primary",
"provisioningType":"RSVP"
}
]
Returns the details of a specified P2MP leaf.
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-LSPs of a tunnel. |
lspIndex | URI | xsd:int |
The unique lspIndex. |
{
"operationalStatus": "Active",
"plannedProperties": {
"bandwidth": "99K",
"setupPriority": 7,
"holdingPriority": 0,
"calculatedEro": [
{
"topoObjectType": "ipv4",
"address": "11.101.105.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.102.105.1",
"loose": false
}
],
"routingStatus": "Up",
"pathName": "geeiamtree101-102_p0",
"adminStatus": "Up",
"preferredEro": [
{
"topoObjectType": "ipv4",
"address": "11.101.105.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.102.105.1",
"loose": false
}
],
"lastStatusString": "[PCServer]<Active",
"correlatedRROHopCount": 2
},
"name": "geeiamtree101-102",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.101"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.102"
},
"lspIndex": 638,
"controlType": "PCC",
"provisioningType": "RSVP",
"p2mpName": "geeiamtree",
"collectedProperties": {
"bandwidth": "99K",
"setupPriority": 7,
"holdingPriority": 0,
"calculatedEro": [
{
"topoObjectType": "ipv4",
"address": "11.101.105.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.102.105.1",
"loose": false
}
],
"routingStatus": "Up",
"explicitPathName": "geeiamtree101-102_p0",
"adminStatus": "Up",
"preferredEro": [
{
"topoObjectType": "ipv4",
"address": "11.101.105.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.102.105.1",
"loose": false
}
],
"correlatedRROHopCount": 2
},
"p2mpIndex": 184549477,
"liveProperties": {
"bandwidth": 99000,
"metric": 0,
"setupPriority": 7,
"holdingPriority": 0,
"operationalStatus": "Active",
"adminStatus": "Up",
"ero": [
{
"topoObjectType": "ipv4",
"address": "11.101.105.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.102.105.1",
"loose": false
}
],
"rro": [
{
"topoObjectType": "ipv4",
"address": "11.101.105.2",
"protectionInUse": false,
"protectionAvailable": false
},
{
"topoObjectType": "ipv4",
"address": "11.102.105.1",
"protectionInUse": false,
"protectionAvailable": false
}
],
"pathName": "geeiamtree101-102_p0"
},
"controller": "External"
}
This operation does not accept a request body.
No response is received from the REST API unless an error occurs.
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-LSPs of a tunnel. |
lspIndex | URI | xsd:int |
The unique lspIndex. |
This operation does not accept a request body and does not return a response body.
No response is received from the REST API unless an error occurs.
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-LSPs of a tunnel. |
lspIndex | URI | xsd:int |
Bulk process P2MP leaves. |
[
{"lspIndex": 145948},
{"lspIndex": 145950}
]
This operation does not return a response body.
The endpoints defined here allows to discover which VRFs are configured in the router. This endpoint has been introduced in NorthStar 5.1 and is read-only. The information from this endpoint is opulated using the device collection.
Those operations are supported using the following endpoints:
https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/topology/<topology-id>/vrfs/ [GET: list the nodes with VRF information]
https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/topology/<topology-id>/vrfs/<nodeIndex> [GET: list the VRF on a given node]
Returns the list of VRF summary: which node have vrf information and how many vrf are present.
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. |
[
{
"topologyIndex":1,
"topoObjectType":"vrfSummary",
"links":[{"href": "1/", "rel": "vrfs"}],
"node":{"id": "0110.0000.0102", "nodeIndex": 1, "topoObjectType": "node", "topologyIndex": 1},
"entries":6
},
{
"topologyIndex":1,
"topoObjectType":"vrfSummary",
"links":[{"href": "2/", "rel": "vrfs"}],
"node":{"id": "0110.0000.0105", "nodeIndex": 2, "topoObjectType": "node", "topologyIndex": 1},
"entries":1
},
{
"topologyIndex":1,
"topoObjectType":"vrfSummary",
"links":[{"href": "3/", "rel": "vrfs"}],
"node":{"id": "0110.0000.0106", "nodeIndex": 3, "topoObjectType": "node", "topologyIndex": 1},
"entries":6
},
{
"topologyIndex":1,
"topoObjectType":"vrfSummary",
"links":[{"href": "4/", "rel": "vrfs"}],
"node":{"id": "0110.0000.0107", "nodeIndex": 4, "topoObjectType": "node", "topologyIndex": 1},
"entries":3
}
]
This operation does not accept a request body.
Returns the list of discovered VRF for that node.
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. |
[
{
"topologyIndex":1,
"topoObjectType":"vrf",
"node":{"id": "0110.0000.0102", "nodeIndex": 1, "topoObjectType": "node", "topologyIndex": 1},
"instanceName":"cherryblossom",
"routeDistinguisher":"11.0.0.102:65000",
"interfaces":[{"interfaceName": "ge-0/0/7.0"}],
"importPolicies":[{"policyName": "65000:100"}],
"exportPolicies":[{"policyName": "65000:100"}]
},
{
"topologyIndex":1,
"topoObjectType":"vrf",
"node":{"id": "0110.0000.0102", "nodeIndex": 1, "topoObjectType": "node", "topologyIndex": 1},
"instanceName":"etree1",
"routeDistinguisher":"11.0.0.102:301",
"interfaces":[{"interfaceName": "ge-0/0/5.301"}],
"importPolicies":[{"policyName": "6500:301"}],
"exportPolicies":[{"policyName": "6500:301"}],
"VLANID":100
},
{
"topologyIndex":1,
"topoObjectType":"vrf",
"node":{"id": "0110.0000.0102", "nodeIndex": 1, "topoObjectType": "node", "topologyIndex": 1},
"instanceName":"l2vpn_3_ce_101",
"routeDistinguisher":"",
"interfaces":[{"interfaceName": "ge-0/0/5.3"}]
},
{
"topologyIndex":1,
"topoObjectType":"vrf",
"node":{"id": "0110.0000.0102", "nodeIndex": 1, "topoObjectType": "node", "topologyIndex": 1},
"instanceName":"vpn_0",
"routeDistinguisher":"11.0.0.102:100",
"interfaces":[{"interfaceName": "ge-0/0/1.0"}, {"interfaceName": "lo0.1"}],
"importPolicies":[{"policyName": "11:100"}],
"exportPolicies":[{"policyName": "11:100"}],
"lspMatchRegex":"^Silver.*"
},
{
"topologyIndex":1,
"topoObjectType":"vrf",
"node":{"id": "0110.0000.0102", "nodeIndex": 1, "topoObjectType": "node", "topologyIndex": 1},
"instanceName":"vpws_sh6_sh2_vlan1002",
"routeDistinguisher":"11.0.0.102:2002",
"interfaces":[{"interfaceName": "ge-0/0/5.1002"}],
"importPolicies":[{"policyName": "6500:1002"}],
"exportPolicies":[{"policyName": "6500:1002"}]
},
{
"topologyIndex":1,
"topoObjectType":"vrf",
"node":{"id": "0110.0000.0102", "nodeIndex": 1, "topoObjectType": "node", "topologyIndex": 1},
"instanceName":"vpn_200_ce_101",
"routeDistinguisher":"",
"interfaces":[{"interfaceName": "ge-0/0/5.200"}]
}
]
This operation does not accept a request body.
If PRDP is configured for a set of nodes, this API allows to see the BGP routes retrived by NorthStar.
The schema is: route.json . The operations are:
https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/topology/<topology-id>/routes/ [GET : get the list of nodes with bgp routes (summary only)
https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/topology/<topology-id>/routes/<nodeIndex> [ GET : get the list of routes on a node]
List all nodes with BGP routes and the number of routes for that node.
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. |
Returns the following JSON document: route.json.json#/definitions/summaryList .
[
{
"topologyIndex": 1,
"topologyObjectType": "routeSummary",
"node": {
"topoObjectType": "node",
"nodeIndex": 7,
"id": "0110.0000.0012",
"topologyIndex": 1
},
"entries": 50
},
{
"topologyIndex": 1,
"topologyObjectType": "routeSummary",
"node": {
"topoObjectType": "node",
"nodeIndex": 5,
"id": "0110.0000.0010",
"topologyIndex": 1
},
"entries": 98
},
{
"topologyIndex": 1,
"topologyObjectType": "routeSummary",
"node": {
"topoObjectType": "node",
"nodeIndex": 6,
"id": "0110.0000.0011",
"topologyIndex": 1
},
"entries": 50
}
]
This operation does not accept a request body.
Gets the routes maintained by NorthStar for a node.
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 |
Program ID of a node. |
Follows route.json#/definitions/routeList .
[
{
"topologyIndex": 1,
"topologyObjectType": "route",
"node": {
"topoObjectType": "node",
"nodeIndex": 7,
"id": "0110.0000.0012",
"topologyIndex": 1
},
"table": "inet.0",
"prefix": {
"topoObjectType": "prefix",
"address": "10.4.4.0",
"length": 24
},
"pathCookie": 190819980,
"asPath": [
"3",
"4"
],
"protocolNextHops": [
"11.0.0.22",
"11.0.0.31"
],
"protocol": "BGP",
"routePreference": 170,
"localPreference": 100,
"vpnLabel": 0
},
{
"topologyIndex": 1,
"topologyObjectType": "route",
"node": {
"topoObjectType": "node",
"nodeIndex": 7,
"id": "0110.0000.0012",
"topologyIndex": 1
},
"table": "inet.0",
"prefix": {
"topoObjectType": "prefix",
"address": "10.4.22.0",
"length": 24
},
"pathCookie": 190821156,
"asPath": [
"2",
"4"
],
"protocolNextHops": [
"11.0.0.22"
],
"protocol": "BGP",
"routePreference": 170,
"localPreference": 100,
"vpnLabel": 0
}
]
This operation does not accept a request body.
When generation of external nodes and links through BGP policy configuration is enabled, this API allows creating, retrieving, updating and deleting IPE Policies. Note: This API is currently experimental and subject to change in future releases.
The schema is: ipe.json . The operations are:
https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/topology/<topology-id>/ipe/policy/ [ GET : Gets all IPE policies, POST: Creates IPE Policies (bulk), PUT: Updates IPE Policies (bulk), DELETE: Deletes IPE Policies (bulk) ]
https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/topology/<topology-id>/ipe/policy/<ipePolicyId> [ GET : Gets single IPE ]
Get all IPE Policies
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. |
{
"ipe_policies": [
{
"id": 1,
"node": {
"id": "0110.0000.0011",
"nodeIndex": 6,
"topologyIndex": 1,
"topoObjectType": "node"
},
"neighbor": "11.0.0.21",
"prefix": "199.1.1.0/24",
"priority": 1,
"operationalStatus": "Up",
"errorReason": "None"
},
{
"id": 3,
"node": {
"id": "0110.0000.0011",
"nodeIndex": 6,
"topologyIndex": 1,
"topoObjectType": "node"
},
"neighbor": "11.0.0.21",
"prefix": "198.1.1.0/24",
"priority": 3,
"operationalStatus": "Up",
"errorReason": "None"
},
{
"id": 4,
"node": {
"id": "0110.0000.0012",
"nodeIndex": 7,
"topologyIndex": 1,
"topoObjectType": "node"
},
"neighbor": "11.0.0.31",
"prefix": "177.1.2.0/24",
"priority": 5,
"operationalStatus": "Up",
"errorReason": "None"
}
]
}
This operation does not accept a request body.
Create IPE Policies
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. |
Required schema: ipe.json#/definitions/bulkIPECreate
Response example:This operation does not return a response body.
Update IPE Policies
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. |
Required schema: ipe.json#/definitions/bulkIPEUpdate
Response example:This operation does not return a response body.
Delete IPE Policies
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. |
Required schema: ipe.json#/definitions/bulkIPEDelete
Response example:This operation does not return a response body.
Get single IPE policy
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. |
ipePolicyId | URI | xsd:int |
Program ID of an IPE policy |
{
"id": 4,
"node": {
"id": "0110.0000.0012",
"nodeIndex": 7,
"topologyIndex": 1,
"topoObjectType": "node"
},
"neighbor": "11.0.0.31",
"prefix": "177.1.2.0/24",
"priority": 5,
"operationalStatus": "Up",
"errorReason": "None"
}
This operation does not accept a request body.
The analytics REST API allows to query the analytics data collected by NorthStar controller. Each URL accepts a POST request with as set of parameters refining the query.
Each queried object has specific counters. Those counters are dynamically generated based on the data collected. The queries are
Interfaces: /NorthStar/API/v2/tenant/1/statistics/interfaces/fields
LSP/demands: /NorthStar/API/v2/tenant/1/statistics/te-lsps/fields
Interface delay/loss: /NorthStar/API/v2/tenant/1/statistics/delay/fields
{ "fields": [ "average_rtt", "jitter", "loss_percent", "max_rtt", "min_rtt", "one_way" ]}
Other common parameters are startTime and endTime, Those parameter represent an absolute or relative time.
Absolute values can be either a string (ISO8601 format, date is required, time is optional) or an integer (milliseconds since epoch). The special value now is accepted.
The Date mathematic consist of a plus or minus followed by a time unit: y (year), M(month), w (week), d (day), h or H (hours), m (minutes) or s (seconds). For instance a query with startTime set to "now-1d", endTime "now" will retrieve the statistics for the last day. This field is based on ElasticSearch Date Math
The POST request accepts a JSON object describing the query parameters.
interval (string ): Time duration for instance 1d, 1y, 24h,.
counter : Either a single counter or an array of counters. .
aggregation (string ): Aggregation function to use to aggregate values.the value must be one of:
avg
max
min
cardinality
sum
startTime (Either string or integer): Date time. .
demand (array ): Array of demand objects.
endTime (Either string or integer): Date time. .
The POST data must conform to the following JSON schema.
{
"id": "demands-bulk.hjson",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Specifies the parameters expected in the GET bulk demand API",
"type": "object",
"additionalProperties": false,
"properties": {
"startTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"endTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"interval": {
"$ref": "/stats-templates/common.json#/definitions/interval"
},
"counter": {
"$ref": "/stats-templates/common.json#/definitions/counters"
},
"aggregation": {
"$ref": "/stats-templates/common.json#/definitions/aggregation"
},
"demand": {
"$ref": "/stats-templates/common.json#/definitions/demandArray"
}
}
}
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. |
The POST request accepts a JSON object describing the query parameters.
counter (string ): Name of the counter to aggregate by..
endTime (Either string or integer): Date time. .
aggregation (string ): Aggregation function to use to aggregate values.the value must be one of:
avg
max
min
cardinality
sum
startTime (Either string or integer): Date time. .
interval (string ): Time duration for instance 1d, 1y, 24h,.
The POST data must conform to the following JSON schema.
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Specifies the parameters expected in the POST /device/top API",
"type": "object",
"additionalProperties": false,
"properties": {
"startTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"endTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"interval": {
"$ref": "/stats-templates/common.json#/definitions/interval"
},
"counter": {
"$ref": "/stats-templates/common.json#/definitions/counter"
},
"aggregation": {
"$ref": "/stats-templates/common.json#/definitions/aggregation"
}
}
}
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. |
{device_name} | URI | xsd:string |
TODO |
{interface_name} | URI | xsd:string |
TODO |
The POST request accepts a JSON object describing the query parameters.
interval (string ): Time duration for instance 1d, 1y, 24h,.
counter : Either a single counter or an array of counters. .
aggregation (string ): Aggregation function to use to aggregate values.the value must be one of:
avg
max
min
cardinality
sum
startTime (Either string or integer): Date time. .
interface (array ): Array of interface objects.
endTime (Either string or integer): Date time. .
The POST data must conform to the following JSON schema.
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Specifies the parameters expected in the POST /interface/bulk API",
"type": "object",
"additionalProperties": false,
"properties": {
"startTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"endTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"interval": {
"$ref": "/stats-templates/common.json#/definitions/interval"
},
"counter": {
"$ref": "/stats-templates/common.json#/definitions/counters"
},
"aggregation": {
"$ref": "/stats-templates/common.json#/definitions/aggregation"
},
"interface": {
"$ref": "/stats-templates/common.json#/definitions/interfaceArray"
}
}
}
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. |
The POST request accepts a JSON object describing the query parameters.
endTime (Either string or integer): Date time. .
startTime (Either string or integer): Date time. .
The POST data must conform to the following JSON schema.
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Specifies the parameters expected in the POST /interfaces/fields API",
"type": "object",
"additionalProperties": false,
"properties": {
"startTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"endTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
}
}
}
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. |
The POST request accepts a JSON object describing the query parameters.
counter (string ): Name of the counter to aggregate by..
aggregation (string ): Aggregation function to use to aggregate values.the value must be one of:
avg
max
min
cardinality
sum
startTime (Either string or integer): Date time. .
device (array ): Array of node objects.
endTime (Either string or integer): Date time. .
size (integer ): Max number of interfaces top return.
The POST data must conform to the following JSON schema.
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Specifies the parameters expected in the POST /device/top API",
"type": "object",
"additionalProperties": false,
"properties": {
"size": {
"description": "Max number of interfaces top return",
"type": "integer",
"minimum": 1
},
"startTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"endTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"counter": {
"$ref": "/stats-templates/common.json#/definitions/counter"
},
"aggregation": {
"$ref": "/stats-templates/common.json#/definitions/aggregation"
},
"device": {
"$ref": "/stats-templates/common.json#/definitions/deviceArray"
}
}
}
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. |
The POST request accepts a JSON object describing the query parameters.
counter (string ): Name of the counter to aggregate by..
endTime (Either string or integer): Date time. .
aggregation (string ): Aggregation function to use to aggregate values.the value must be one of:
avg
max
min
cardinality
sum
startTime (Either string or integer): Date time. .
interval (string ): Time duration for instance 1d, 1y, 24h,.
The POST data must conform to the following JSON schema.
{
"id": "interface-traffic.hjson",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Specifies the parameters expected in the POST interface-traffic API",
"type": "object",
"additionalProperties": false,
"properties": {
"startTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"endTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"interval": {
"$ref": "/stats-templates/common.json#/definitions/interval"
},
"counter": {
"$ref": "/stats-templates/common.json#/definitions/counter"
},
"aggregation": {
"$ref": "/stats-templates/common.json#/definitions/aggregation"
}
}
}
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. |
{device_name} | URI | xsd:string |
TODO |
{interface_name} | URI | xsd:string |
TODO |
The POST request accepts a JSON object describing the query parameters.
interval (string ): Time duration for instance 1d, 1y, 24h,.
counter : Either a single counter or an array of counters. .
aggregation (string ): Aggregation function to use to aggregate values.the value must be one of:
avg
max
min
cardinality
sum
startTime (Either string or integer): Date time. .
interface (array ): Array of interface objects.
endTime (Either string or integer): Date time. .
The POST data must conform to the following JSON schema.
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Specifies the parameters expected in the POST /interface/bulk API",
"type": "object",
"additionalProperties": false,
"properties": {
"startTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"endTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"interval": {
"$ref": "/stats-templates/common.json#/definitions/interval"
},
"counter": {
"$ref": "/stats-templates/common.json#/definitions/counters"
},
"aggregation": {
"$ref": "/stats-templates/common.json#/definitions/aggregation"
},
"interface": {
"$ref": "/stats-templates/common.json#/definitions/interfaceArray"
}
}
}
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. |
The POST request accepts a JSON object describing the query parameters.
endTime (Either string or integer): Date time. .
aggregation (string ): Aggregation function to use to aggregate values.the value must be one of:
avg
max
min
cardinality
sum
startTime (Either string or integer): Date time. .
interval (string ): Time duration for instance 1d, 1y, 24h,.
The POST data must conform to the following JSON schema.
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Specifies the parameters expected in the POST /device/top API",
"type": "object",
"additionalProperties": false,
"properties": {
"startTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"endTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"interval": {
"$ref": "/stats-templates/common.json#/definitions/interval"
},
"aggregation": {
"$ref": "/stats-templates/common.json#/definitions/aggregation"
}
}
}
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. |
The POST request accepts a JSON object describing the query parameters.
counter (string ): Name of the counter to aggregate by..
endTime (Either string or integer): Date time. .
aggregation (string ): Aggregation function to use to aggregate values.the value must be one of:
avg
max
min
cardinality
sum
startTime (Either string or integer): Date time. .
interval (string ): Time duration for instance 1d, 1y, 24h,.
The POST data must conform to the following JSON schema.
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Specifies the parameters expected in the POST /device/top API",
"type": "object",
"additionalProperties": false,
"properties": {
"startTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"endTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"interval": {
"$ref": "/stats-templates/common.json#/definitions/interval"
},
"counter": {
"$ref": "/stats-templates/common.json#/definitions/counter"
},
"aggregation": {
"$ref": "/stats-templates/common.json#/definitions/aggregation"
}
}
}
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. |
{device_name} | URI | xsd:string |
TODO |
The POST request accepts a JSON object describing the query parameters.
counter (string ): Name of the counter to aggregate by..
endTime (Either string or integer): Date time. .
aggregation (string ): Aggregation function to use to aggregate values.the value must be one of:
avg
max
min
cardinality
sum
startTime (Either string or integer): Date time. .
interval (string ): Time duration for instance 1d, 1y, 24h,.
The POST data must conform to the following JSON schema.
{
"id": "interface-traffic.hjson",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Specifies the parameters expected in the POST interface-traffic API",
"type": "object",
"additionalProperties": false,
"properties": {
"startTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"endTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"interval": {
"$ref": "/stats-templates/common.json#/definitions/interval"
},
"counter": {
"$ref": "/stats-templates/common.json#/definitions/counter"
},
"aggregation": {
"$ref": "/stats-templates/common.json#/definitions/aggregation"
}
}
}
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. |
{device_name} | URI | xsd:string |
TODO |
{interface_name} | URI | xsd:string |
TODO |
The POST request accepts a JSON object describing the query parameters.
counter (string ): Name of the counter to aggregate by..
aggregation (string ): Aggregation function to use to aggregate values.the value must be one of:
avg
max
min
cardinality
sum
startTime (Either string or integer): Date time. .
device (array ): Array of node objects.
endTime (Either string or integer): Date time. .
size (integer ): Max number of interfaces top return.
The POST data must conform to the following JSON schema.
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Specifies the parameters expected in the POST /device/top API",
"type": "object",
"additionalProperties": false,
"properties": {
"size": {
"description": "Max number of interfaces top return",
"type": "integer",
"minimum": 1
},
"startTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"endTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"counter": {
"$ref": "/stats-templates/common.json#/definitions/counter"
},
"aggregation": {
"$ref": "/stats-templates/common.json#/definitions/aggregation"
},
"device": {
"$ref": "/stats-templates/common.json#/definitions/deviceArray"
}
}
}
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. |
The POST request accepts a JSON object describing the query parameters.
interval (string ): Time duration for instance 1d, 1y, 24h,.
counter : Either a single counter or an array of counters. .
aggregation (string ): Aggregation function to use to aggregate values.the value must be one of:
avg
max
min
cardinality
sum
startTime (Either string or integer): Date time. .
interface (array ): Array of interface objects.
endTime (Either string or integer): Date time. .
The POST data must conform to the following JSON schema.
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Specifies the parameters expected in the POST /interface/bulk API",
"type": "object",
"additionalProperties": false,
"properties": {
"startTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"endTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"interval": {
"$ref": "/stats-templates/common.json#/definitions/interval"
},
"counter": {
"$ref": "/stats-templates/common.json#/definitions/counters"
},
"aggregation": {
"$ref": "/stats-templates/common.json#/definitions/aggregation"
},
"interface": {
"$ref": "/stats-templates/common.json#/definitions/interfaceArray"
}
}
}
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. |
The POST request accepts a JSON object describing the query parameters.
interval (string ): Time duration for instance 1d, 1y, 24h,.
counter : Either a single counter or an array of counters. .
aggregation (string ): Aggregation function to use to aggregate values.the value must be one of:
avg
max
min
cardinality
sum
startTime (Either string or integer): Date time. .
interface (array ): Array of interface objects.
endTime (Either string or integer): Date time. .
The POST data must conform to the following JSON schema.
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Specifies the parameters expected in the POST /jnxcos/bulk API",
"type": "object",
"additionalProperties": false,
"properties": {
"startTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"endTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"interval": {
"$ref": "/stats-templates/common.json#/definitions/interval"
},
"counter": {
"$ref": "/stats-templates/common.json#/definitions/counters"
},
"aggregation": {
"$ref": "/stats-templates/common.json#/definitions/aggregation"
},
"interface": {
"$ref": "/stats-templates/common.json#/definitions/interfaceArray"
}
}
}
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. |
The POST request accepts a JSON object describing the query parameters.
endTime (Either string or integer): Date time. .
startTime (Either string or integer): Date time. .
The POST data must conform to the following JSON schema.
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Specifies the parameters expected in the POST /te-lsps/fields API",
"type": "object",
"additionalProperties": false,
"properties": {
"startTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"endTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
}
}
}
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. |
The POST request accepts a JSON object describing the query parameters.
interval (string ): Time duration for instance 1d, 1y, 24h,.
startTime (Either string or integer): Date time. .
counter : Either a single counter or an array of counters. .
aggregation (string ): Aggregation function to use to aggregate values.the value must be one of:
avg
max
min
cardinality
sum
lsp (array ): Array of lsp objects.
endTime (Either string or integer): Date time. .
The POST data must conform to the following JSON schema.
{
"id": "lsp-bulk.hjson",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Specifies the parameters expected in the POST bulk lsp API",
"type": "object",
"additionalProperties": false,
"properties": {
"startTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"endTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"interval": {
"$ref": "/stats-templates/common.json#/definitions/interval"
},
"counter": {
"$ref": "/stats-templates/common.json#/definitions/counters"
},
"aggregation": {
"$ref": "/stats-templates/common.json#/definitions/aggregation"
},
"lsp": {
"$ref": "/stats-templates/common.json#/definitions/lspArray"
}
}
}
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. |
The POST request accepts a JSON object describing the query parameters.
endTime (Either string or integer): Date time. .
startTime (Either string or integer): Date time. .
The POST data must conform to the following JSON schema.
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Specifies the parameters expected in the POST /te-lsps/fields API",
"type": "object",
"additionalProperties": false,
"properties": {
"startTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"endTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
}
}
}
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. |
The POST request accepts a JSON object describing the query parameters.
counter (string ): Name of the counter to aggregate by..
aggregation (string ): Aggregation function to use to aggregate values.the value must be one of:
avg
max
min
cardinality
sum
startTime (Either string or integer): Date time. .
device (array ): Array of node objects.
endTime (Either string or integer): Date time. .
size (number ): ???.
The POST data must conform to the following JSON schema.
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Specifies the parameters expected in the POST /te-lsps/top API",
"type": "object",
"additionalProperties": false,
"properties": {
"startTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"endTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"counter": {
"$ref": "/stats-templates/common.json#/definitions/counter"
},
"aggregation": {
"$ref": "/stats-templates/common.json#/definitions/aggregation"
},
"size": {
"$ref": "/stats-templates/common.json#/definitions/size"
},
"device": {
"$ref": "/stats-templates/common.json#/definitions/deviceArray"
}
}
}
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. |
The POST request accepts a JSON object describing the query parameters.
interval (string ): Time duration for instance 1d, 1y, 24h,.
startTime (Either string or integer): Date time. .
counter : Either a single counter or an array of counters. .
aggregation (string ): Aggregation function to use to aggregate values.the value must be one of:
avg
max
min
cardinality
sum
lsp (array ): Array of lsp objects.
endTime (Either string or integer): Date time. .
The POST data must conform to the following JSON schema.
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Specifies the parameters expected in the POST /interface/bulk API",
"type": "object",
"additionalProperties": false,
"properties": {
"startTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"endTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"interval": {
"$ref": "/stats-templates/common.json#/definitions/interval"
},
"counter": {
"$ref": "/stats-templates/common.json#/definitions/counters"
},
"aggregation": {
"$ref": "/stats-templates/common.json#/definitions/aggregation"
},
"lsp": {
"$ref": "/stats-templates/common.json#/definitions/lspArray"
}
}
}
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. |
The POST request accepts a JSON object describing the query parameters.
counter (string ): Name of the counter to aggregate by..
endTime (Either string or integer): Date time. .
aggregation (string ): Aggregation function to use to aggregate values.the value must be one of:
avg
max
min
cardinality
sum
startTime (Either string or integer): Date time. .
interval (string ): Time duration for instance 1d, 1y, 24h,.
The POST data must conform to the following JSON schema.
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Specifies the parameters expected in the POST /device/top API",
"type": "object",
"additionalProperties": false,
"properties": {
"startTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"endTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"interval": {
"$ref": "/stats-templates/common.json#/definitions/interval"
},
"counter": {
"$ref": "/stats-templates/common.json#/definitions/counter"
},
"aggregation": {
"$ref": "/stats-templates/common.json#/definitions/aggregation"
}
}
}
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. |
{device_name} | URI | xsd:string |
TODO |
{lsp_name} | URI | xsd:string |
TODO |
The POST request accepts a JSON object describing the query parameters.
endTime (Either string or integer): Date time. .
aggregation (string ): Aggregation function to use to aggregate values.the value must be one of:
avg
max
min
cardinality
sum
startTime (Either string or integer): Date time. .
interval (string ): Time duration for instance 1d, 1y, 24h,.
The POST data must conform to the following JSON schema.
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Specifies the parameters expected in the POST /device/top API",
"type": "object",
"additionalProperties": false,
"properties": {
"startTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"endTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"interval": {
"$ref": "/stats-templates/common.json#/definitions/interval"
},
"aggregation": {
"$ref": "/stats-templates/common.json#/definitions/aggregation"
}
}
}
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. |
The POST request accepts a JSON object describing the query parameters.
counter (string ): Name of the counter to aggregate by..
endTime (Either string or integer): Date time. .
aggregation (string ): Aggregation function to use to aggregate values.the value must be one of:
avg
max
min
cardinality
sum
startTime (Either string or integer): Date time. .
interval (string ): Time duration for instance 1d, 1y, 24h,.
The POST data must conform to the following JSON schema.
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Specifies the parameters expected in the POST /device/top API",
"type": "object",
"additionalProperties": false,
"properties": {
"startTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"endTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"interval": {
"$ref": "/stats-templates/common.json#/definitions/interval"
},
"counter": {
"$ref": "/stats-templates/common.json#/definitions/counter"
},
"aggregation": {
"$ref": "/stats-templates/common.json#/definitions/aggregation"
}
}
}
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. |
{device_name} | URI | xsd:string |
TODO |
The POST request accepts a JSON object describing the query parameters.
counter (string ): Name of the counter to aggregate by..
endTime (Either string or integer): Date time. .
aggregation (string ): Aggregation function to use to aggregate values.the value must be one of:
avg
max
min
cardinality
sum
startTime (Either string or integer): Date time. .
interval (string ): Time duration for instance 1d, 1y, 24h,.
The POST data must conform to the following JSON schema.
{
"id": "lsp-traffic.json",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Specifies the parameters expected in the POST /te-lsps/traffic API",
"type": "object",
"properties": {
"startTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"endTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"interval": {
"$ref": "/stats-templates/common.json#/definitions/interval"
},
"counter": {
"$ref": "/stats-templates/common.json#/definitions/counter"
},
"aggregation": {
"$ref": "/stats-templates/common.json#/definitions/aggregation"
}
}
}
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. |
{device_name} | URI | xsd:string |
TODO |
{lsp_name} | URI | xsd:string |
TODO |
The POST request accepts a JSON object describing the query parameters.
from (number ): TODO.
startTime (Either string or integer): Date time. .
filter (object ): Generic filter object, ???.
lsp (array ): Array of lsp objects.
endTime (Either string or integer): Date time. .
order : Result order (asc or desc).the value must be one of:
asc
desc
size (number ): ???.
The POST data must conform to the following JSON schema.
{
"id": "events-bulk.hjson",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Specifies the parameters expected in the POST bulk lsp API",
"type": "object",
"additionalProperties": false,
"properties": {
"startTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"endTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"lsp": {
"$ref": "/stats-templates/common.json#/definitions/lspArray"
},
"size": {
"$ref": "/stats-templates/common.json#/definitions/size"
},
"from": {
"$ref": "/stats-templates/common.json#/definitions/from"
},
"order": {
"$ref": "/stats-templates/common.json#/definitions/order"
},
"filter": {
"$ref": "/stats-templates/common.json#/definitions/filter"
}
}
}
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 query does not accept any parameter.
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. |
{lsp_name} | URI | xsd:string |
TODO |
The POST request accepts a JSON object describing the query parameters.
interval (string ): Time duration for instance 1d, 1y, 24h,.
counter : Either a single counter or an array of counters. .
aggregation (string ): Aggregation function to use to aggregate values.the value must be one of:
avg
max
min
cardinality
sum
startTime (Either string or integer): Date time. .
device (array ): Array of node objects.
endTime (Either string or integer): Date time. .
The POST data must conform to the following JSON schema.
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Specifies the parameters expected in the POST /device/top API",
"type": "object",
"additionalProperties": false,
"properties": {
"startTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"endTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"interval": {
"$ref": "/stats-templates/common.json#/definitions/interval"
},
"counter": {
"$ref": "/stats-templates/common.json#/definitions/counters"
},
"aggregation": {
"$ref": "/stats-templates/common.json#/definitions/aggregation"
},
"device": {
"$ref": "/stats-templates/common.json#/definitions/deviceArray"
}
}
}
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. |
The POST request accepts a JSON object describing the query parameters.
counter (string ): Name of the counter to aggregate by..
aggregation (string ): Aggregation function to use to aggregate values.the value must be one of:
avg
max
min
cardinality
sum
startTime (Either string or integer): Date time. .
device (array ): Array of node objects.
endTime (Either string or integer): Date time. .
size (number ): ???.
The POST data must conform to the following JSON schema.
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Specifies the parameters expected in the POST /device/top API",
"type": "object",
"additionalProperties": false,
"properties": {
"startTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"endTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"size": {
"$ref": "/stats-templates/common.json#/definitions/size"
},
"counter": {
"$ref": "/stats-templates/common.json#/definitions/counter"
},
"aggregation": {
"$ref": "/stats-templates/common.json#/definitions/aggregation"
},
"device": {
"$ref": "/stats-templates/common.json#/definitions/deviceArray"
}
}
}
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. |
The POST request accepts a JSON object describing the query parameters.
interval (string ): Time duration for instance 1d, 1y, 24h,.
startTime (Either string or integer): Date time. .
counter : Either a single counter or an array of counters. .
aggregation (string ): Aggregation function to use to aggregate values.the value must be one of:
avg
max
min
cardinality
sum
lsp (array ): Array of lsp objects.
endTime (Either string or integer): Date time. .
The POST data must conform to the following JSON schema.
{
"id": "ldp-lsps.hjson",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Specifies the parameters expected in the GET bulk lsp API",
"type": "object",
"additionalProperties": false,
"properties": {
"startTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"endTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"interval": {
"$ref": "/stats-templates/common.json#/definitions/interval"
},
"counter": {
"$ref": "/stats-templates/common.json#/definitions/counters"
},
"aggregation": {
"$ref": "/stats-templates/common.json#/definitions/aggregation"
},
"lsp": {
"$ref": "/stats-templates/common.json#/definitions/fecArray"
}
}
}
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. |
The POST request accepts a JSON object describing the query parameters.
counter (string ): Name of the counter to aggregate by..
endTime (Either string or integer): Date time. .
aggregation (string ): Aggregation function to use to aggregate values.the value must be one of:
avg
max
min
cardinality
sum
startTime (Either string or integer): Date time. .
interval (string ): Time duration for instance 1d, 1y, 24h,.
The POST data must conform to the following JSON schema.
{
"id": "lsp-traffic.json",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Specifies the parameters expected in the GET /te-lsps/traffic API",
"type": "object",
"properties": {
"startTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"endTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"interval": {
"$ref": "/stats-templates/common.json#/definitions/interval"
},
"counter": {
"$ref": "/stats-templates/common.json#/definitions/counter"
},
"aggregation": {
"$ref": "/stats-templates/common.json#/definitions/aggregation"
}
}
}
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. |
{device_name} | URI | xsd:string |
TODO |
{fec} | URI | xsd:string |
TODO |
The POST request accepts a JSON object describing the query parameters.
interval (string ): Time duration for instance 1d, 1y, 24h,.
counter : Either a single counter or an array of counters. .
aggregation (string ): Aggregation function to use to aggregate values.the value must be one of:
avg
max
min
cardinality
sum
startTime (Either string or integer): Date time. .
demand (array ): Array of demand objects.
endTime (Either string or integer): Date time. .
The POST data must conform to the following JSON schema.
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Specifies the parameters expected in the POST /interface/bulk API",
"type": "object",
"additionalProperties": false,
"properties": {
"startTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"endTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"interval": {
"$ref": "/stats-templates/common.json#/definitions/interval"
},
"counter": {
"$ref": "/stats-templates/common.json#/definitions/counters"
},
"aggregation": {
"$ref": "/stats-templates/common.json#/definitions/aggregation"
},
"demand": {
"$ref": "/stats-templates/common.json#/definitions/demandArray"
}
}
}
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. |
The POST request accepts a JSON object describing the query parameters.
interval (string ): Time duration for instance 1d, 1y, 24h,.
counter : Either a single counter or an array of counters. .
aggregation (string ): Aggregation function to use to aggregate values.the value must be one of:
avg
max
min
cardinality
sum
startTime (Either string or integer): Date time. .
sid (array ): Array of sid objects.
endTime (Either string or integer): Date time. .
The POST data must conform to the following JSON schema.
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Specifies the parameters expected in the POST /sid/bulk API",
"type": "object",
"additionalProperties": false,
"properties": {
"startTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"endTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"interval": {
"$ref": "/stats-templates/common.json#/definitions/interval"
},
"counter": {
"$ref": "/stats-templates/common.json#/definitions/counters"
},
"aggregation": {
"$ref": "/stats-templates/common.json#/definitions/aggregation"
},
"interface": {
"$ref": "/stats-templates/common.json#/definitions/sidArray"
}
}
}
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. |
The POST request accepts a JSON object describing the query parameters.
interval (string ): Time duration for instance 1d, 1y, 24h,.
counter : Either a single counter or an array of counters. .
aggregation (string ): Aggregation function to use to aggregate values.the value must be one of:
avg
max
min
cardinality
sum
startTime (Either string or integer): Date time. .
policy (array ): Array of policy objects.
endTime (Either string or integer): Date time. .
The POST data must conform to the following JSON schema.
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Specifies the parameters expected in the POST /sr-te-policy/bulk API",
"type": "object",
"additionalProperties": false,
"properties": {
"startTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"endTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"interval": {
"$ref": "/stats-templates/common.json#/definitions/interval"
},
"counter": {
"$ref": "/stats-templates/common.json#/definitions/counters"
},
"aggregation": {
"$ref": "/stats-templates/common.json#/definitions/aggregation"
},
"interface": {
"$ref": "/stats-templates/common.json#/definitions/policyArray"
}
}
}
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. |
The POST request accepts a JSON object describing the query parameters.
interval (string ): Time duration for instance 1d, 1y, 24h,.
counter : Either a single counter or an array of counters. .
aggregation (string ): Aggregation function to use to aggregate values.the value must be one of:
avg
max
min
cardinality
sum
startTime (Either string or integer): Date time. .
containerLsp (array ): Array of Container LSP objects.
endTime (Either string or integer): Date time. .
The POST data must conform to the following JSON schema.
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Specifies the parameters expected in the POST /te-containers/traffic/bulk API",
"type": "object",
"additionalProperties": false,
"properties": {
"startTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"endTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"interval": {
"$ref": "/stats-templates/common.json#/definitions/interval"
},
"counter": {
"$ref": "/stats-templates/common.json#/definitions/counters"
},
"aggregation": {
"$ref": "/stats-templates/common.json#/definitions/aggregation"
},
"containerLsp": {
"$ref": "/stats-templates/common.json#/definitions/containerLspArray"
}
}
}
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. |
{
"startTime": "now-1h",
"endTime": "now",
"aggregation": "avg",
"interval": "5m",
"counter": [
"lsp_stats.pps",
"lsp_stats.bps"
],
"containerLsp": [
{
"name": "Container-lsp-vmx102-104",
"index": 2
},
{
"name": "Container-lsp-vmx101-106",
"index": 3
}
]
}
{
"startTime": 1555989900000,
"Container-lsp-vmx101-106": {
"id": {
"statisticType": "lsp",
"name": "Container-lsp-vmx101-106"
},
"lsp_stats.pps": [
392,
617,
678,
710,
663,
697,
722,
662,
672,
674,
717,
706
],
"lsp_stats.bps": [
4172245,
6557747,
7205803,
7550527,
7047811,
7414119,
7677474,
7035194,
7143393,
7163097,
7618785,
7504668
]
},
"Container-lsp-vmx102-104": {
"id": {
"statisticType": "lsp",
"name": "Container-lsp-vmx102-104"
},
"lsp_stats.bps": [
674246,
6283335,
5609443,
6873056,
6343583,
5900760,
5775125,
5986879,
6336140,
6031002,
5902709,
2955696
],
"lsp_stats.pps": [
63,
591,
528,
646,
597,
555,
543,
563,
596,
567,
555,
278
]
}
}
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.
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:
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. |
Returns a full list of the transport controllers using the following schema: transportController.json#/definitions/transportControllerList
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": 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.
Creates a transport controller using the following schema: transportController.json#/definitions/createTransportController
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. |
{
"name": "Nortel",
"topologyModel":"ietf-te-topology-01",
"interfaceType": "RESTCONF",
"notifyUrl": "/streams/NETCONF-JSON",
"profileName": "NortelProfile",
"reconnectTimeout": 10,
"topologyUrl": "/restconf/data/ietf-te-topology:te-topologies-state",
"topoObjectType": "transportController"
}
{
"name": "Nortel",
"interfaceType": "RESTCONF",
"topologyModel":"ietf-te-topology-01",
"notifyUrl": "/streams/NETCONF-JSON",
"profileName": "NortelProfile",
"reconnectTimeout": 10,
"topologyUrl": "/restconf/data/ietf-te-topology:te-topologies-state",
"topoObjectType": "transportController",
"transportControllerIndex": 1
}
Returns the configuration of a transport controller.
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. |
Returns the following JSON document: transportController.json#/definitions/transportController .
{
"name": "Nortel",
"interfaceType": "RESTCONF",
"topologyModel":"ietf-te-topology-01",
"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.
Updates a transport controller using the following schema: transportController.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.
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. |
{
"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
}
{
"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
}
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.
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.
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:
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:
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. |
Returns the full list of transport controller groups using the following schema: transportControllerEndpoint.json#/definitions/transportControllerGroupList .
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. |
[
{
"name": "NortelProfile"
},
{
"name": "Default"
}
]
This operation does not accept a request body.
Creates a group of transport controller devices using the following schema: transportControllerEndpoint.json#/definitions/transportControllerGroupDescription .
The request must contain the group name to be created, as shown in the example.
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. |
{
"name": "NortelProfile",
"profileType": "Network Controllers"
}
{
"success": true
}
Deletes a group of transport controller devices using the following schema: transportControllerEndpoint.json#/definitions/transportControllerGroupDescription
The request must contain the group name to be deleted, as shown in the example.
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. |
{
"name": "NortelProfile",
"profileType": "Network Controllers"
}
{
"success": true
}
Returns a list of transport controller groups using the following schema: transportControllerEndpoint.json#/definitions/transportControllerGroup The password is set by empty strings.
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. |
[
{
"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.
Creates devices in a group using the following schema: transportControllerEndpoint.json#/definitions/transportControllerGroup
The request contains a list of devices to be created.
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. |
[
{
"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
}
]
{
"success": true
}
Updates devices in a group using the following schema: transportControllerEndpoint.json#/definitions/transportControllerGroup
The request contains a list of devices to be updated. The id parameter is required.
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. |
[
{
"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
}
]
{
"success": true
}
Deletes devices from a group using the following 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.
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. |
[
{
"id": "91172e83-7b45-422c-ac1e-1940fb9a7ddf"
}
]
{
"success": true
}
Permits monitoring and configuration of NorthStar high availability cluster.
The corresponding schema is: ha.json .
Get the status of all of the nodes and processes in the cluster.
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. |
The response returned by the server conforms to: ha.json#/definitions/hostList . The data indicates which nodes are in 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.
Gets status of all of the zookeeper clusters. .
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. |
The response returned by the server conforms to: ha.json#/definitions/zookeeperStatus . NorthStar uses a zookeeper cluster to coordinate nodes. The endpoint provides 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.
Returns the list of preferences.
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. |
Returns the following JSON document: 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.
Sets the node preferences.
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. |
The JSON document should use the following schema: ha.json#/definitions/highAvailability You must set the new preferences for the node.
This operation does not return a response body.
Triggers a switchover.
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. |
The request body must be empty.
This operation does not return a response body.
The path computation APIs enable you to compute a path on the TE topology without creating an LSP. It supports the TE-LSP API constraints. The LSP is assumed to be an RSVP LSP by default. The SR-TE path is supported by using the provisioningType parameter, as described in pathComputation.json, and illustrated in the following example:
NOTE: The path computation API for SR-TE provides only the path and does not provide the SIDs.
Use the following schema to request for a path computation: pathComputation.json#/definitions/pathComputationRequests . Response: pathComputation.json#/definitions/pathComputationResponses .
The request/response example illustrates a set of three path computation requests. The first request is successful. The two subsequent requests cannot be computed due to routing constraints because there is no path with fewer than two hops and no path that can carry 100G in the topology. All of 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 two nodes, one path computation requesting two paths with 3G each will return a partial result, where only the first path is calculated.
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. |
{"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"}
]
}
{
"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"
}
]
}
Use these endpoints to work with maintenance.
The corresponding schema is: maintenance.json .
Returns a full list of Maintenance.
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. |
[
{
"topoObjectType": "maintenance",
"topologyIndex": 1,
"maintenanceIndex": 1,
"user": "admin",
"name": "1LinkMaint1",
"status": "planned",
"startTime": "2018-04-20T17:00:00Z",
"endTime": "2018-04-20T17:30:00Z",
"elements": [
{
"topoObjectType": "link",
"index": 8,
"id": "L11.105.107.1_11.105.107.2"
}
]
},
{
"topoObjectType": "maintenance",
"topologyIndex": 1,
"maintenanceIndex": 2,
"user": "admin",
"name": "1LinkMaint",
"status": "planned",
"startTime": "2018-04-20T17:00:00Z",
"endTime": "2018-04-20T17:30:00Z",
"elements": [
{
"topoObjectType": "link",
"index": 8,
"id": "L11.105.107.1_11.105.107.2"
}
]
}
]
This operation does not accept a request body.
Create a new maintenance using the following schema: maintenance.json#/definitions/createMaintenance .
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. |
{
"topoObjectType": "maintenance",
"topologyIndex": 1,
"startTime": "20180220T120700",
"endTime": "20180220T120700",
"name": "2LinksMaint",
"elements": [
{
"topoObjectType": "link",
"index": 1
},
{
"topoObjectType": "link",
"index": 3
}
]
}
{
"topoObjectType": "maintenance",
"topologyIndex": 1,
"maintenanceIndex": 3,
"user": "admin",
"name": "2LinksMaint",
"status": "planned",
"startTime": "2018-04-20T16:07:00Z",
"endTime": "2018-04-20T16:15:00Z",
"elements": [
{
"topoObjectType": "link",
"index": 1,
"id": "L11.101.105.1_11.101.105.2"
},
{
"topoObjectType": "link",
"index": 3,
"id": "L11.102.105.1_11.102.105.2"
}
]
}
See EventSource for format. The notifications send on that stream are only maintenanceEvent. The data will contain a JSON document (see NorthStar Notification API).
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.
Returns the details of a specified maintenance.
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. |
maintenanceIndex | URI | xsd:int |
The unique maintenanceIndex. |
{
"topoObjectType": "maintenance",
"topologyIndex": 1,
"maintenanceIndex": 2,
"user": "admin",
"name": "1LinkMaint",
"status": "planned",
"startTime": "2018-04-20T17:00:00Z",
"endTime": "2018-04-20T17:30:00Z",
"elements": [
{
"topoObjectType": "link",
"index": 8,
"id": "L11.105.107.1_11.105.107.2"
}
]
}
This operation does not accept a request body.
Modify a specific maintenance.
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. |
maintenanceIndex | URI | xsd:int |
The unique maintenanceIndex. |
{
"topoObjectType": "maintenance",
"topologyIndex": 1,
"startTime": "20180408T154500",
"endTime": "20180408T155000",
"maintenanceIndex": 2,
"name": "1LinkMaint",
"elements": [
{
"topoObjectType": "link",
"index": 1
},
{
"topoObjectType": "link",
"index": 2
}
]
}
{
"topoObjectType": "maintenance",
"topologyIndex": 1,
"maintenanceIndex": 2,
"user": "admin",
"name": "1LinkMaint",
"status": "planned",
"startTime": "2018-04-08T20:45:00Z",
"endTime": "2018-04-08T20:50:00Z",
"elements": [
{
"topoObjectType": "link",
"index": 1,
"id": "L11.101.105.1_11.101.105.2"
},
{
"topoObjectType": "link",
"index": 2,
"id": "L11.102.105.1_11.102.105.2"
}
]
}
Delete a specific maintenance.
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. |
maintenanceIndex | URI | xsd:int |
The unique maintenanceIndex. |
This operation does not accept a request body and does not return a response body.
Remote Procedure Call (RPC) REST APIs allow subroutines that are written for NorthStar Planner to be utilized via the REST API. For instance Diverse P2MP Tree Design and Bandwidth Calendaring Simulation functionality can be called via these RPC type of REST APIs.
The corresponding schema is: rpcs.json .
These REST APIs are used to perform global or targeted path optimizations runs. The REST POST without a request body is used to call the global path optimization and with a request body to call the targeted path optimization functionalities. The REST GET is used to return the last global path optimization result that shows the difference between the previous vs. the optimized results. The REST GET doesn't support for targeted path optimization.
Trigger global path optimization.
The request body must be empty. The response returned by the server conforms to: rpcs.json#/definitions/optimizationResponse .
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. |
{
"result ": "Path optimization started."
}
This operation does not accept a request body.
Get last global path optimization results.
The response returned by the server conforms to: rpcs.json#/definitions/optimizationStatus .
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. |
{
"previous": {
"bandwidth": 20000000,
"hopCount": 98,
"latency": 5
},
"optimized": {
"bandwidth": 17000000,
"hopCount": 85,
"latency": 4
},
"numberOfOptimizedPaths": 6,
"maxHopCount": 5,
"maxLatency": 0.6,
"tunnelCount": 21,
"lastOptimizationTimeStamp": "2017-12-01T12:02:36.367Z"
}
This operation does not accept a request body.
Trigger targeted path optimization.
The request body must not be empty. The body consists of a list of elements. The elements can be either LSP, link or mixed. The elements are identified by the element index number. The response consists of a list of candidate elements to be optimized.
The response returned by the server conforms to: rpcs.json#/definitions/optimizationResponse .
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. |
{
"elements":[
{
"index":1,
"topoObjectType":"lsp"
},
{
"index":3,
"topoObjectType":"lsp"
},
{
"index":47,
"topoObjectType":"lsp"
}
]
}
{
"elements":[
{
"topoObjectType":"lsp",
"index":1
},
{
"topoObjectType":"lsp",
"index":3
}
]
}
The routing and failure simulation APIs are used to simulate bandwidth calendaring (time based) and failure. Use the first REST POST function to perform routing simulation or failure simulation. Use the subsequent three REST GET operations to return the reports to the calling program for further analysis.
NOTE: Starting from Northstar release 4.1, all the requests are timestamped.
Use the following API to simulate routes and failures:
Perform failure simulation analysis.
The request body must follow the schema rpcs.json#/definitions/simulationRequest The response returned by the server conforms to: rpcs.json#/definitions/simulationResponse .
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. |
The following example show different set of request:
The following example shows maintenance simulation creation with exhaustive node, link and facility failure:
{
"topologyIndex": 1,
"elements":
[
"node",
"link",
"srlg",
{
"type": "maintenance",
"maintenanceName": "1LinkMaint"
}
]
}
The following example shows maintenance simulation creation without exhaustive failure:
{
"topologyIndex": 1,
"elements":
[
{
"type": "maintenance",
"maintenanceName": "1LinkMaint"
}
]
}
The following example show different set of response based on the request above:
The following example shows the response of maintenance simulation creation with exhaustive node, link and facility failure:
{
"status": "success",
"simulationId": "c203d890-24ee-4592-84b4-0975c7c0b79a",
"results": {
"links": [
{
"rel": "results",
"href": "c203d890-24ee-4592-84b4-0975c7c0b79a"
}
]
},
"topologyIndex": 1,
"elements": [
"node",
"link",
"srlg",
{
"type": "maintenance",
"maintenanceName": "1LinkMaint"
}
]
}
The following example shows the response of maintenance simulation creation without exhaustive failure:
{
"status": "success",
"simulationId": "852c34b8-368d-4ae8-82d2-e9ed2dd8d223",
"results": {
"links": [
{
"rel": "results",
"href": "852c34b8-368d-4ae8-82d2-e9ed2dd8d223"
}
]
},
"topologyIndex": 1,
"elements": [
{
"type": "maintenance",
"maintenanceName": "1LinkMaint"
}
]
}
Returns the simulation list.
The response returned by the server conforms to: rpcs.json#/definitions/simulationsList .
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. |
{
"topologyIndex": 1,
"simulationReports": [
{
"status": "success",
"simulationId": "c203d890-24ee-4592-84b4-0975c7c0b79a",
"results": {
"links": [
{
"rel": "results",
"href": "c203d890-24ee-4592-84b4-0975c7c0b79a"
}
]
},
"topologyIndex": 1,
"elements": [
"node",
"link",
"srlg",
{
"type": "maintenance",
"maintenanceName": "1LinkMaint"
}
]
},
{
"simulationId": "20facea2-4ca6-4883-93da-0af22a0a4b75",
"results": {
"links": [
{
"rel": "results",
"href": "20facea2-4ca6-4883-93da-0af22a0a4b75"
}
]
},
"topologyIndex": 1,
"elements": [
{
"type": "maintenance",
"maintenanceName": "2LinkMaint"
}
]
}
]
}
This operation does not accept a request body.
Returns the details of a specified simulation.
The response returned by the server conforms to: rpcs.json#/definitions/simulationReports .
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. |
uuid | URI | xsd:string |
rpc id. |
{
"status": "success",
"simulationId": "c203d890-24ee-4592-84b4-0975c7c0b79a",
"topologyIndex": 1,
"elements": [
"node",
"link",
"srlg",
{
"type": "maintenance",
"maintenanceName": "1LinkMaint"
}
],
"reports": [
{
"reportName": "Report/L2_PathChange.r0",
"links": [
{
"href": "Report/L2_PathChange.r0"
}
]
},
{
"reportName": "Report/L2_PATHDELAY.r0",
"links": [
{
"href": "Report/L2_PATHDELAY.r0"
}
]
},
{
"reportName": "Report/L2_DVSIM.r0",
"links": [
{
"href": "Report/L2_DVSIM.r0"
}
]
},
{
"reportName": "Report/L2_LinkUtilChange.r0",
"links": [
{
"href": "Report/L2_LinkUtilChange.r0"
}
]
},
{
"reportName": "Report/L2_PeakSimLink.r0",
"links": [
{
"href": "Report/L2_PeakSimLink.r0"
}
]
},
{
"reportName": "Report/L2_PeakSimRoute.r0",
"links": [
{
"href": "Report/L2_PeakSimRoute.r0"
}
]
},
{
"reportName": "Report/L2_PHYDVSIM.r0",
"links": [
{
"href": "Report/L2_PHYDVSIM.r0"
}
]
},
{
"reportName": "Report/Maintenance/maintsiminfo.1LinkMaint",
"links": [
{
"href": "Report/Maintenance/maintsiminfo.1LinkMaint"
}
]
},
{
"reportName": "Report/L2_PeakSimSummary.r0",
"links": [
{
"href": "Report/L2_PeakSimSummary.r0"
}
]
}
]
}
This operation does not accept a request body.
Returns specific report details of a selected simulation.
The response returned by the server is a WANDL Report (Text file), see IPMPLSVIew report format documentation.
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. |
uuid | URI | xsd:string |
rpc id. |
reportName | URI | xsd:string |
report name. |
#**********************************************
# LSP Path Changes
#**********************************************
## Software Release= 4.0.0 20180327_72790_157, 64 bits, Compilation Date= 20180327
## Customer= JNPR_Hanita-test
## Platform=x86_64, OS=Linux 2.6.32-696.1.1.el6.x86_64
## Report Date= 2018-3-28 14:44 Runcode=r0 User=pcs
Name,Node A,Node Z,Orig Hop Count,New Hop Count,Orig Path Cost,New Path Cost,Orig Path,New Path,Protection,Orig Delay,New Delay,Delay Change %,Orig BW,New BW,Type
Silver-101-103,vmx101,vmx103,3,4,30,60,11.101.105.2-11.105.107.2-11.103.107.1,11.101.105.2-11.105.106.2-11.106.107.2-11.103.107.1,, 0.00, 0.00, 0.00%,0,0,,
Silver-104-102,vmx104,vmx102,3,4,30,60,11.104.107.2-11.105.107.1-11.102.105.1,11.104.107.2-11.106.107.1-11.105.106.1-11.102.105.1,, 0.00, 0.00, 0.00%,0,0,,
rsvp-103-105,vmx103,vmx105,2,3,20,50,11.103.107.2-11.105.107.1,11.103.107.2-11.106.107.1-11.105.106.1,, 0.00, 0.00, 0.00%,0,0,,
Silver-103-102,vmx103,vmx102,3,4,30,60,11.103.107.2-11.105.107.1-11.102.105.1,11.103.107.2-11.106.107.1-11.105.106.1-11.102.105.1,, 0.00, 0.00, 0.00%,0,0,,
11.0.0.103:11.0.0.106:200:vpls:vpn_200,vmx106,vmx103,3,2,30,40,11.105.106.1-11.105.107.2-11.103.107.1,11.106.107.2-11.103.107.1,, 0.00, 0.00, 0.00%,0,0,,
11.0.0.101:11.0.0.103:200:vpls:vpn_200,vmx103,vmx101,3,4,30,60,11.103.107.2-11.105.107.1-11.101.105.1,11.103.107.2-11.106.107.1-11.105.106.1-11.101.105.1,, 0.00, 0.00, 0.00%,0,0,,
rsvp-105-106,vmx105,vmx106,3,1,70,10,11.105.107.2-11.104.107.1-11.104.106.2,11.105.106.2,, 0.00, 0.00, 0.00%,0,0,,
rsvp-107-105,vmx107,vmx105,1,2,10,40,11.105.107.1,11.106.107.1-11.105.106.1,, 0.00, 0.00, 0.00%,0,0,,
11.0.0.104:11.0.0.101:300:vpls:vpn_200,vmx101,vmx104,3,4,30,60,11.101.105.2-11.105.107.2-11.104.107.1,11.101.105.2-11.105.106.2-11.106.107.2-11.104.107.1,, 0.00, 0.00, 0.00%,0,0,,
tcg1tree-102107,vmx102,vmx107,2,-,20,-,11.102.105.2-11.105.107.2, # vmx102--11.0.0.105--11.0.0.107,(path down), 0.00,-,,10.000K,10.000K,,
11.0.0.106:11.0.0.103:200:vpls:vpn_200,vmx103,vmx106,3,2,30,40,11.103.107.2-11.105.107.1-11.105.106.2,11.103.107.2-11.106.107.1,, 0.00, 0.00, 0.00%,0,0,,
11.0.0.101:11.0.0.104:300:vpls:vpn_200,vmx104,vmx101,3,3,30,70,11.104.107.2-11.105.107.1-11.101.105.1,11.104.106.2-11.105.106.1-11.101.105.1,, 0.00, 0.00, 0.00%,0,0,,
rsvp-106-105,vmx106,vmx105,3,1,70,10,11.104.106.1-11.104.107.2-11.105.107.1,11.105.106.1,, 0.00, 0.00, 0.00%,0,0,,
tcg1tree-102106,vmx102,vmx106,3,-,50,-,11.102.105.2-11.105.107.2-11.106.107.1, # vmx102--11.0.0.105--11.0.0.107--11.0.0.106,(path down), 0.00,-,,10.000K,10.000K,,
rsvp-104-105,vmx104,vmx105,2,3,20,50,11.104.107.2-11.105.107.1,11.104.107.2-11.106.107.1-11.105.106.1,, 0.00, 0.00, 0.00%,0,0,,
Silver-102-103,vmx102,vmx103,3,4,30,60,11.102.105.2-11.105.107.2-11.103.107.1,11.102.105.2-11.105.106.2-11.106.107.2-11.103.107.1,, 0.00, 0.00, 0.00%,0,0,,
Silver-101-104,vmx101,vmx104,3,4,30,60,11.101.105.2-11.105.107.2-11.104.107.1,11.101.105.2-11.105.106.2-11.106.107.2-11.104.107.1,, 0.00, 0.00, 0.00%,0,0,,
11.0.0.103:11.0.0.101:300:vpls:vpn_200,vmx101,vmx103,3,4,30,60,11.101.105.2-11.105.107.2-11.103.107.1,11.101.105.2-11.105.106.2-11.106.107.2-11.103.107.1,, 0.00, 0.00, 0.00%,0,0,,
Silver-103-101,vmx103,vmx101,3,4,30,60,11.103.107.2-11.105.107.1-11.101.105.1,11.103.107.2-11.106.107.1-11.105.106.1-11.101.105.1,, 0.00, 0.00, 0.00%,0,0,,
Silver-104-101,vmx104,vmx101,3,4,30,60,11.104.107.2-11.105.107.1-11.101.105.1,11.104.107.2-11.106.107.1-11.105.106.1-11.101.105.1,, 0.00, 0.00, 0.00%,0,0,,
tcg0tree-102104,vmx102,vmx104,3,-,30,-,11.102.105.2-11.105.107.2-11.104.107.1, # vmx102--11.0.0.105--11.0.0.107--11.0.0.104,(path down), 0.00,-,,10.000K,10.000K,,
11.0.0.106:11.0.0.104:300:vpls:vpn_200,vmx104,vmx106,3,1,30,50,11.104.107.2-11.105.107.1-11.105.106.2,11.104.106.2,, 0.00, 0.00, 0.00%,0,0,,
11.0.0.104:11.0.0.106:200:vpls:vpn_200,vmx106,vmx104,3,1,30,50,11.105.106.1-11.105.107.2-11.104.107.1,11.104.106.1,, 0.00, 0.00, 0.00%,0,0,,
This operation does not accept a request body.
These REST APIs are used for P2MP Tree Design Simulation. The first REST POST is utilized by the user to perform diverse p2mp tree design, given two trees in the same diversity group. The subsequent two REST GET operations are used to return the resulting list of P2MP trees. Since NS 5.0 the provisioningMethod (default NETCONF) can be specified and is used when useResultAsEro is set to true (The groups will be provisioned as a result of the design). The provisioningMethod must be set on the diverseTree request and will overwrite any set on the groups themselves.
The tree design API does allow diverse P2MP trees to be computed. This is controlled using the following set of attributes:
diversityGroup: the tree or leaves are grouped together using a diversityGroup. If TreeA and TreeB (LSP1 and LSP2) should be diverse to each other, they should be in the same diversityGroup (i.e the client should set the same value). Setting the diversityGroup on the Group will set it on all its leaves and NorthStar will pair the leaves based on their destination node/site.
diversityLevel (site, srlg or link): the level of requested diversity. NorthStar will try to compute path that reach that diversity level, if this cannot be achieved, it will try to route the path as diverse as possible, unless minimumDiversityLevel is specified.
minimumDiversityLevel (site, srlg or link): the minimum acceptable diversity level. If NorthStar cannot achieve diversity as good or better than minimumDiversityLevel, the routing is considered as failed. For DiverseTree design, this imply that the tree will not be provisioned if the minimumDiversityLevel cannot be achieved.
The Tree can also be terminated in CE or Site nodes, taking into account the PE to CE links for diversity constraints. The same restriction for P2MP groups detailed in P2MP groups applies.
Create 2 P2MP trees and perform Diverse P2MP Tree Design.
The request body must follow the schema rpcs.json#/definitions/diverseTreeRequest The response returned by the server conforms to: rpcs.json#/definitions/diverseTreeResult .
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. |
The following example show different set of request:
The following example shows P2MP Diverse Tree Design optimization. Note that the values in the "name" field under "P2MPGroup" and under "diverseP2MPGroup" are required to be different from each other.
{
"P2MPGroup": {
"name": "hhtree",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.102"
},
"plannedProperties": {
"bandwidth": "99k",
"design": {
"diversityGroup": "hhzz"
}
},
"lsps": [
{
"name": "hhtree-102104",
"to" : {
"topoObjectType": "ipv4",
"address": "11.0.0.104"
}
},
{
"name": "hhtree-102107",
"to" : {
"topoObjectType": "ipv4",
"address": "11.0.0.107"
}
}
]
},
"diverseP2MPGroup": {
"name": "zztree",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.102"
},
"plannedProperties": {
"bandwidth": "99k",
"design": {
"diversityGroup": "hhzz"
}
},
"lsps": [
{
"name": "zztree-102104",
"to" : {
"topoObjectType": "ipv4",
"address": "11.0.0.104"
}
},
{
"name": "zztree-102107",
"to" : {
"topoObjectType": "ipv4",
"address": "11.0.0.107"
}
}
]
},
"ignoreExistingPath" : true,
"useResultAsEro" : true,
"maxIterations" : 1000
}
The response is:
{
"result": {
"requestId": "fa87b57e-6edc-45a8-8b73-b06c79289f87",
"status": "running",
"maxIterations": 1000,
"iterationsRun": 0
}
}
The following example shows P2MP Diverse Tree Design optimization using sites. Note that the values in the "name" field under "P2MPGroup" and under "diverseP2MPGroup" are required to be different from each other.
{
"P2MPGroup":{
"name":"tch0tree",
"from":{
"topoObjectType":"ipv4",
"address":"11.0.0.101"
},
"plannedProperties":{
"bandwidth":"10k",
"design":{
"diversityGroup":"h0h1"
}
},
"lsps":[
{
"name":"tch0tree-101104",
"to":{
"topoObjectType":"ipv4",
"address":"11.0.0.104"
}
},
{
"name":"tch0tree-101107",
"to":{
"topoObjectType":"ipv4",
"address":"11.0.0.107"
}
}
]
},
"diverseP2MPGroup":{
"name":"tch1tree",
"from":{
"topoObjectType":"ipv4",
"address":"11.0.0.102"
},
"plannedProperties":{
"bandwidth":"10k",
"design":{
"diversityGroup":"h0h1"
}
},
"lsps":[
{
"name":"tch1tree-102106",
"to":{
"topoObjectType":"ipv4",
"address":"11.0.0.106"
}
},
{
"name":"tch1tree-102107",
"to":{
"topoObjectType":"ipv4",
"address":"11.0.0.107"
}
}
]
},
"ignoreExistingPath":true,
"useResultAsEro":true,
"maxIterations":1000,
"sites":[
{
"site":"site A",
"nodes":[
{"nodeIndex": 4},{"nodeIndex": 6}
]
}
]
}
The response is:
{
"result": {
"requestId": "f8c290ef-e850-45bb-9fd9-30089b095daa",
"status": "running",
"maxIterations": 1000,
"iterationsRun": 0
}
}
The following example shows P2MP Diverse Tree Design optimization with bandwidth calendaring. Note that the values in the "name" field under "P2MPGroup" and under "diverseP2MPGroup" are required to be different from each other.
{
"P2MPGroup": {
"name": "hhbwcaltree",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.102"
},
"plannedProperties": {
"bandwidth": "99k",
"bandwidthCalendar":{
"startTime": "20180430T0900",
"endTime": "20180430T0905"
},
"design": {
"diversityGroup": "hzbw"
}
},
"lsps": [
{
"name": "hhbwcaltree-102104",
"to" : {
"topoObjectType": "ipv4",
"address": "11.0.0.104"
}
},
{
"name": "hhbwcaltree-102107",
"to" : {
"topoObjectType": "ipv4",
"address": "11.0.0.107"
}
}
]
},
"diverseP2MPGroup": {
"name": "zzbwcaltree",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.102"
},
"plannedProperties": {
"bandwidth": "99k",
"bandwidthCalendar":{
"startTime": "20180430T0900",
"endTime": "20180430T0905"
},
"design": {
"diversityGroup": "hzbw"
}
},
"lsps": [
{
"name": "zzbwcaltree-102104",
"to" : {
"topoObjectType": "ipv4",
"address": "11.0.0.104"
}
},
{
"name": "zzbwcaltree-102107",
"to" : {
"topoObjectType": "ipv4",
"address": "11.0.0.107"
}
}
]
},
"ignoreExistingPath" : true,
"useResultAsEro" : true,
"maxIterations" : 1000
}
The response is:
{
"result": {
"requestId": "f669b929-d82a-4bda-86bf-3ff623a794c9",
"status": "running",
"maxIterations": 1000,
"iterationsRun": 0
}
}
The following example shows P2MP Diverse Tree Design optimization with minimum diversity level = site. Minimum diversity level options are site, srlg and link. Note that the values in the "name" field under "P2MPGroup" and under "diverseP2MPGroup" are required to be different from each other.
{
"P2MPGroup":{
"name":"tcb0pcepmindiv",
"from":{
"topoObjectType":"ipv4",
"address":"11.0.0.101"
},
"plannedProperties":{
"bandwidth":"10",
"design":{
"minimumDiversityLevel":"site",
"diversityGroup":"tcb0tcb1pcepmindiv"
}
},
"lsps":[
{
"to":{
"topoObjectType":"ipv4",
"address":"11.0.0.104"
}
},
{
"to":{
"topoObjectType":"ipv4",
"address":"11.0.0.107"
}
}
]
},
"diverseP2MPGroup":{
"name":"tcb1pcepmindiv",
"from":{
"topoObjectType":"ipv4",
"address":"11.0.0.101"
},
"plannedProperties":{
"bandwidth":"10",
"design":{
"minimumDiversityLevel":"site",
"diversityGroup":"tcb0tcb1pcepmindiv"
}
},
"lsps":[
{
"to":{
"topoObjectType":"ipv4",
"address":"11.0.0.104"
}
},
{
"to":{
"topoObjectType":"ipv4",
"address":"11.0.0.107"
}
}
]
},
"creationConfigurationMethod":"PCEP",
"ignoreExistingPath":true,
"useResultAsEro":true,
"maxIterations":1000
}
The response is:
{
u'result':{
u'status':u'running',
u'maxIterations':1000,
u'requestId':u'2862ddb5-2845-4971-8cd1-d8c9d56c281a',
u'iterationsRun':0
}
}
The following example shows P2MP Diverse Tree Design optimization with CE and Site nodes as destination nodes. CE and Sites nodes are SiteA1, SiteZ and CEY2. Please note that currently combination of PE and CE/Site nodes as destinations nodes in a P2MP tree is not supported. Use can either create P2MP tree with all destination nodes consist of PE nodes only or consist of CE/Site nodes only. It cannot be combination of both (mixture of PE and CE/Sites nodes) in a single tree. Note that the values in the "name" field under "P2MPGroup" and under "diverseP2MPGroup" are required to be different from each other.
{
"P2MPGroup":{
"name":"Atree",
"from":{
"topoObjectType":"ipv4",
"address":"10.0.0.1"
},
"plannedProperties":{
"bandwidth":"10k",
"design":{
"diversityGroup":"AB"
}
},
"lsps":[
{
"to":{
"topoObjectType":"ipv4",
"address":"SiteA1"
}
},
{
"to":{
"topoObjectType":"ipv4",
"address":"SiteZ"
}
},
{
"to":{
"topoObjectType":"ipv4",
"address":"CEY2"
}
}
]
},
"diverseP2MPGroup":{
"name":"Btree",
"from":{
"topoObjectType":"ipv4",
"address":"10.0.0.1"
},
"plannedProperties":{
"bandwidth":"10k",
"design":{
"diversityGroup":"AB"
}
},
"lsps":[
{
"to":{
"topoObjectType":"ipv4",
"address":"SiteA1"
}
},
{
"to":{
"topoObjectType":"ipv4",
"address":"SiteZ"
}
},
{
"to":{
"topoObjectType":"ipv4",
"address":"CEY2"
}
}
]
},
"creationConfigurationMethod":"PCEP",
"ignoreExistingPath":true,
"useResultAsEro":true,
"maxIterations":1000
}
The response is:
{
"result": {
"requestId": "4dde363c-abc0-471f-b76c-1b6df88bd9c9",
"status": "running",
"maxIterations": 1000,
"iterationsRun": 0
}
}
The responses are shown per example in the request section. In general the response is a JSON document conforming to rpcs.json#/definitions/diverseTreeResult.
Return the list of simulation optimization RPC list.
The response returned by the server conforms to: rpcs.json#/definitions/diverseTreeResultList .
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. |
{
"topologyIndex": "1",
"rpcRequestIdList": [
"f520e4e0-dcd7-4698-9575-6a2bcc8fd54b",
"45eefe15-a668-4521-9d26-6159753fa948",
"a9995c11-a5a7-4bf1-a0b1-dc9f65d38d19",
"b0fa56f2-e178-4257-be47-ab12aab6043c",
"cf168ccc-8bad-4c5d-8037-3dd5c6af7f53",
"c4de3065-1b01-4a23-8aae-7a7860e5c4dc",
"a39291c7-39de-4013-baab-8fa498c072fd",
"69747e68-8a56-4b55-b36b-5167dd45d883",
"248a2c33-f0c4-4e11-9275-8aa0aedad7df",
"6dbe12b1-0cdc-4f85-8862-cf50aaa5b15b",
"a27b2484-2181-457d-9424-1aa19cf6bcd0",
"0f66bdf1-0346-49b8-956a-d6995446d861",
"8fa7d9aa-8e42-4a44-bf93-f936df0ad084",
"58f4da42-c20d-46b5-951d-bbdc80491da7"
]
}
This operation does not accept a request body.
Return the details of specified simulation optimization RPC result.
The response returned by the server conforms to: rpcs.json#/definitions/diverseTreeResult .
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. |
uuid | URI | xsd:string |
rpc id. |
{
"result": {
"requestId": "f520e4e0-dcd7-4698-9575-6a2bcc8fd54b",
"status": "partial",
"P2MPGroup": {
"name": "alphatree",
"topoObjectType": "p2mpGroup",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.101"
},
"lsps": [
{
"operationalStatus": "Unknown",
"plannedProperties": {
"bandwidth": "99K",
"setupPriority": 7,
"holdingPriority": 0,
"calculatedEro": [
{
"topoObjectType": "ipv4",
"address": "11.101.105.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.106.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.102.106.1",
"loose": false
}
],
"routingStatus": "Up",
"pathName": "alphatree-101102_p0",
"adminStatus": "Up",
"design": {
"diversityGroup": "TWINS"
},
"ero": [
{
"topoObjectType": "ipv4",
"address": "11.101.105.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.106.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.102.106.1",
"loose": false
}
],
"correlatedRROHopCount": 3
},
"name": "alphatree-101102",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.101"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.102"
},
"lspIndex": 68,
"controlType": "PCC",
"provisioningType": "RSVP",
"p2mpName": "alphatree"
},
{
"operationalStatus": "Unknown",
"plannedProperties": {
"bandwidth": "99K",
"setupPriority": 7,
"holdingPriority": 0,
"calculatedEro": [
{
"topoObjectType": "ipv4",
"address": "11.101.105.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.107.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.103.107.1",
"loose": false
}
],
"routingStatus": "Up",
"pathName": "alphatree-101103_p0",
"adminStatus": "Up",
"design": {
"diversityGroup": "TWINS"
},
"ero": [
{
"topoObjectType": "ipv4",
"address": "11.101.105.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.107.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.103.107.1",
"loose": false
}
],
"correlatedRROHopCount": 3
},
"name": "alphatree-101103",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.101"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.103"
},
"lspIndex": 69,
"controlType": "PCC",
"provisioningType": "RSVP",
"p2mpName": "alphatree"
},
{
"operationalStatus": "Unknown",
"plannedProperties": {
"bandwidth": "99K",
"setupPriority": 7,
"holdingPriority": 0,
"calculatedEro": [
{
"topoObjectType": "ipv4",
"address": "11.101.105.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.107.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.104.107.1",
"loose": false
}
],
"routingStatus": "Up",
"pathName": "alphatree-101104_p0",
"adminStatus": "Up",
"design": {
"diversityGroup": "TWINS"
},
"ero": [
{
"topoObjectType": "ipv4",
"address": "11.101.105.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.107.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.104.107.1",
"loose": false
}
],
"correlatedRROHopCount": 3
},
"name": "alphatree-101104",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.101"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.104"
},
"lspIndex": 70,
"controlType": "PCC",
"provisioningType": "RSVP",
"p2mpName": "alphatree"
}
]
},
"diverseP2MPGroup": {
"name": "betatree",
"topoObjectType": "p2mpGroup",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.102"
},
"lsps": [
{
"operationalStatus": "Unknown",
"plannedProperties": {
"bandwidth": "99K",
"setupPriority": 7,
"holdingPriority": 0,
"calculatedEro": [
{
"topoObjectType": "ipv4",
"address": "11.102.105.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.101.105.1",
"loose": false
}
],
"routingStatus": "Up",
"pathName": "betatree-102101_p0",
"adminStatus": "Up",
"design": {
"diversityGroup": "TWINS"
},
"ero": [
{
"topoObjectType": "ipv4",
"address": "11.102.105.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.101.105.1",
"loose": false
}
],
"correlatedRROHopCount": 2
},
"name": "betatree-102101",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.102"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.101"
},
"lspIndex": 65,
"controlType": "PCC",
"provisioningType": "RSVP",
"p2mpName": "betatree"
},
{
"operationalStatus": "Unknown",
"plannedProperties": {
"bandwidth": "99K",
"setupPriority": 7,
"holdingPriority": 0,
"calculatedEro": [
{
"topoObjectType": "ipv4",
"address": "11.102.106.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.106.107.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.103.107.1",
"loose": false
}
],
"routingStatus": "Up",
"pathName": "betatree-102103_p0",
"adminStatus": "Up",
"design": {
"diversityGroup": "TWINS"
},
"ero": [
{
"topoObjectType": "ipv4",
"address": "11.102.106.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.106.107.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.103.107.1",
"loose": false
}
],
"correlatedRROHopCount": 3
},
"name": "betatree-102103",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.102"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.103"
},
"lspIndex": 66,
"controlType": "PCC",
"provisioningType": "RSVP",
"p2mpName": "betatree"
},
{
"operationalStatus": "Unknown",
"plannedProperties": {
"bandwidth": "99K",
"setupPriority": 7,
"holdingPriority": 0,
"calculatedEro": [
{
"topoObjectType": "ipv4",
"address": "11.102.106.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.104.106.1",
"loose": false
}
],
"routingStatus": "Up",
"pathName": "betatree-102104_p0",
"adminStatus": "Up",
"design": {
"diversityGroup": "TWINS"
},
"ero": [
{
"topoObjectType": "ipv4",
"address": "11.102.106.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.104.106.1",
"loose": false
}
],
"correlatedRROHopCount": 2
},
"name": "betatree-102104",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.102"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.104"
},
"lspIndex": 67,
"controlType": "PCC",
"provisioningType": "RSVP",
"p2mpName": "betatree"
}
]
}
},
"request": {
"P2MPGroup": {
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.101"
},
"name": "alphatree"
},
"diverseP2MPGroup": {
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.102"
},
"name": "betatree"
},
"ignoreExistingPath": true,
"useResultAsEro": true
}
}
This operation does not accept a request body.
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]
Returns a summary of the NorthStar API system health.
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. |
{
"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.
Returns health information for all of the nodes in the NorthStar system.
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. |
[
{
"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.
Returns health information for one node in the NorthStar system.
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 |
{
"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"
}
]
}
}
Returns the time of a specific node.
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 |
{
"node": "pcs-q-pod08",
"time": "2017-07-27T07:59:15.730Z"
}
Processes the status of a specific node.
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 |
{
"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
}
]
}
Returns the health history of a specific node.
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 |
[
{
"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
}
]
Returns the health thresholds for the nodes.
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. |
[
{
"id": "diskUtilization",
"partition": "/",
"node": "pcs-q-pod08",
"critical": "95%",
"warning": "80%"
}
]
This operation does not accept a request body.
Returns the disk utility thresholds.
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. |
[
{
"id": "diskUtilization",
"partition": "/",
"node": "pcs-q-pod08",
"critical": "95%",
"warning": "80%"
}
]
This operation does not accept a request body.
Updates the disk utility thresholds using the following schema: health.json#/definitions/diskThreshold
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. |
{
"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.
Returns the SMTP configuration.
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. |
{
"enabled": true,
"isPasswdSet": true
}
This operation does not accept a request body.
Updates the SMTP configuration using the following the schema: health.json#/definitions/updateSmtpconfig and sample
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? |
{
"host":"127.0.0.1",
"secure":false,
"username":"sample",
"password":"sample123",
"port":587,
"enabled": true
}
{
"host": "127.0.0.1",
"secure": false,
"username": "test",
"port": 587,
"enabled": true
}
Updates the list of subscribers for Email Alerts using the following schema: health.json#/definitions/subscriberList
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.
Deletes subscribers for Email Alerts using the following schema: health.json#/definitions/subscriber
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.
{"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"}}}}
{"action": "remove", "notificationType": "node", "object": {"nodeIndex": 1, "topologyIndex": 1, "id": "192.0.2.1", "topoObjectType": "node"}}
{"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"}}
{"action": "remove", "object": {"id": "192.0.2.13", "topologyIndex": 1, "linkIndex": 1, "topoObjectType": "link"}, "notificationType": "link"},
{"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",
"routingStatus": "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
}}
{"action": "remove", "object": {"lspIndex": 74}, "notificationType": "lsp"},
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"},
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"},
{"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"}}}}
{"action": "remove", "notificationType": "node", "object": {"nodeIndex": 1, "topologyIndex": 1, "id": "192.0.2.1", "topoObjectType": "node"}}
{"action": "add", "object": {"topoObjectType" : "topology", "topologyIndex" : 1}, "notificationType": "topology"}