1. General
1.1 Extract the NED package
1.2 Install the NED package
1.2.1 Local install
1.2.2 System install
1.3 Configure the NED in NSO
2. Optional debug and trace setup
3. Dependencies
4. Sample device configuration
5. Built in live-status actions
6. Built in live-status show
7. Limitations
8. How to report NED issues and feature requests
9. How to rebuild a NED
1. General
This document describes the ciena-mcp NED.
QUICK SUMMARY - Current Design (ESM vs BSM vs TSM)
[IMPORTANT] CURRENT DESIGN GENERAL CONSIDERATIONS:
The NED was initially designed to interact with the device only through a set of live-status actions or rpc calls.
The initial design is enabled under ESM config mode of the NED, and it enables only the live-status commands in that mode.
Over time it has evolved based on requests, with focus and specific behavior especially for two modes of working, BSM and TSM.
To choose the mode NED operates in, NED can be configured in ned-settings under config path ../device<deviceName>/ned-settings/ciena-mcp/mcp-service-model-api:
Ex.:
admin@ncs(config-device-netsim-0)# ned-settings ciena-mcp mcp-service-model-api ?
Description: Define latest max API vers supported by the NED; Warning! Customer dependent selection!
Possible completions:
VERSION_1_ESM_PROVISION VERSION_4_BSM_L2SERVICE VERSION_6_TSM
VERSION_1_ESM_PROVISION :
Allows only live-status commands to be used for provisioning operations'
VERSION_4_BSM_L2SERVICE :
It is the default current mode the NED is delivered with, for legacy reasons.
It enables the NED config model under the config path: /devices/device<deviceName>/config/services/
It is used for very specific, customized resourceTypes, behaving in a Ciena MDSO like configuration of the device.
VERSION_6_TSM :
It enables the NED config model under the config path: /devices/device<deviceName>/config/tsm/
It is used for very specific, customized resourceTypes, behaving in a Ciena MDSO like configuration of the device.
For TSM mode, we can find the config data implemented under '/devices/device/config/tsm/*':
admin@ncs(config)# show configuration devices device dummy-1 config tsm ?
Possible completions:
L1OTNSwitchingProtService Resources of type: ifd.v6.resourceTypes.L1OTNSwitchingProtServiceIntentFacade
L1OTNSwitchingService Resources of type: ifd.v6.resourceTypes.L1OTNSwitchingServiceIntentFacade
eLineServices Resources of type: ifd.v6.resourceTypes.L2ServiceIntentFacade
l1Services Resources of type: ifd.v6.resourceTypes.L1NCPClientServiceIntentFacade
mplsTunnels Resources of type: ifd.v6.resourceTypes.MplsTunnelIntentFacade
networkConstructs List of networkConstructs found on Ciena MCP
tdmCircuits Resources of type: ifd.v6.resourceTypes.TDMServiceIntentFacade module: tailf-ned-ciena-mcp
Additional README files bundled with this NED package
+---------------------------+------------------------------------------------------------------------------+
| Name | Info |
+---------------------------+------------------------------------------------------------------------------+
| README-ned-settings.md | Information about all run time settings supported by this NED. |
+---------------------------+------------------------------------------------------------------------------+
Common NED Features
+---------------------------+-----------+------------------------------------------------------------------+
| Feature | Supported | Info |
+---------------------------+-----------+------------------------------------------------------------------+
| netsim | yes | See README.md for further info on how to configure the NED to |
| | | use netsim as a RESTCONF target. |
| | | |
| check-sync | yes | Disabled by default. Can be enabled on devices that meet certain |
| | | requirements. See README-ned-settings.md for further info. |
| | | |
| partial-sync-from | yes | Granular support only on particular nodes, as the REST API |
| | | allows it. Contact developer for more details |
| | | |
| live-status actions | yes | Multiple live status commands implemented for provisioning and |
| | | asynchronous APIs. |
| | | |
| live-status show | no | |
| | | |
| load-native-config | no | |
+---------------------------+-----------+------------------------------------------------------------------+
Addresses only the resources managed under the path:
devices device / config / tsm / *
admin@ncs(config)# devices device <device-name> config tsm ?
Possible completions:
L0ServiceIntentFacade Resources of type: ifd.v6.resourceTypes.L0ServiceIntentFacade
L1OTNSwitchingProtService Resources of type: ifd.v6.resourceTypes.L1OTNSwitchingProtServiceIntentFacade
L1OTNSwitchingService Resources of type: ifd.v6.resourceTypes.L1OTNSwitchingServiceIntentFacade
eLineServices Resources of type: ifd.v6.resourceTypes.L2ServiceIntentFacade
l1Services Resources of type: ifd.v6.resourceTypes.L1NCPClientServiceIntentFacade
mplsTunnels Resources of type: ifd.v6.resourceTypes.MplsTunnelIntentFacade
networkConstructs List of networkConstructs found on Ciena MCP
tdmCircuits Resources of type: ifd.v6.resourceTypes.TDMServiceIntentFacade
In this build version you should be able, on top of using the live-status actions for various provisioning tasks,
to sync, create and delete MPLS Tunnels, E-LINE and EPL/EVPL Services, L1 Services, TDM Circuits
After configuring the NED instance as above presented, run a sync-from and check:
../config/tsm/mplsTunnels
../config/tsm/eLineServices
../config/tsm/l1Services
../config/tsm/tdmCircuits
../config/tsm/L0ServiceIntentFacade
../config/tsm/L1OTNSwitchingProtService
../config/tsm/L1OTNSwitchingService
if ned-settings/ciena-mcp/managed-lag == true, check also:
../config/tsm/networkConstructs
For the above, the transactions supported widely are SYNC, CREATE, DELETE.
For some of the resources, partial EDIT/UPDATE is also possible, but generally it is very limited in this config mode.
For LAG management:
top level is READ ONLY, SYNC-ONLY ALLOWED: /../config/tsm/networkConstructs{*}
SYNC, CREATE, DELETE LAGs at level: /../config/tsm/networkConstructs{*}/ethernetPortMgmt/lag{*}
Update possible via live status; complex provisioning flow
TSM_MODE: NED /config/tsm/mplsTunnels model:
Handles Resources of type: ifd.v6.resourceTypes.MplsTunnelIntentFacade
admin@ncs(config)# devices device dev-1 sync-from
result true
If the sync-from was not successful, check the NED configuration again.
2. Optional debug and trace setup
It is often desirable to see details from when and how the NED interacts with the device(Example: troubleshooting)
This can be achieved by configuring NSO to generate a trace file for the NED. A trace file
contains information about all interactions with the device. Messages sent and received as well
as debug printouts, depending on the log level configured.
NSO creates one separate trace file for each device instance with tracing enabled.
Stored in the following location:
The log level 'info' is used by default and the 'debug' level is the most verbose.
IMPORTANT:
Tracing shall be used with caution. This feature does increase the number of IPC messages sent
between the NED and NSO. In some cases this can affect the performance in NSO. Hence, tracing should
normally be disabled in production systems.
An alternative method for generating printouts from the NED is to enable the Java logging mechanism.
This makes the NED print log messages to common NSO Java log file.
IMPORTANT:
Java logging does not use any IPC messages sent to NSO. Consequently, NSO performance is not
affected. However, all log printouts from all log enabled devices are saved in one single file.
This means that the usability is limited. Typically single device use cases etc.
3. Dependencies
This NED has the following host environment dependencies:
Java 1.8 (NSO version < 6.2)
Java 17 (NSO version >= 6.2)
Gnu Sed
Dependencies for NED recompile:
Apache Ant
Bash
Gnu Sort
Gnu awk
Grep
Python3 (with packages: re, sys, getopt, subprocess, argparse, os, glob)
4. Sample device configuration
SUMMARY on the NED usage for Service config handling (BSM Mode)
It is enabled only when setting mcp-service-model-api ned-settings to VERSION_4_BSM_L2SERVICE:
only very few certain elements are updatable (mainly bwp params):
device will reject updates if updates requested are not allowed or will revert any update requests if they go through.
device basically overwrites any update attempts, with minor exceptions, such as the bwp param, even if the REST api call response is succcessful and the request is accepted by the device.
overall, updates of the services in BSM mode are not recommended.
Example update for:
properties/serviceEndPointList/interfaceType{A_ENNI}/bwp/ebs to 1234
The custom response consists of two separate sections, RESULT and RESPONSE sections, as following:
1. result section, which is modeled under 'grouping exec-result-container result' container in the ciena-mcp-stats yang module:
This section will ALWAYS be populated within all the responses of the actions performed, as a general rule of thumb.
This section will be used as a first status check reference.
Most important elements of the result section are:
requestStatus
resultString
errorMessage
Example:
% request devices device **device-name** live-status exec **command** **arg** **argValue**
result {
resultString <...> // Raw Http api response string received from device
errorMessage <...> // Error message, if available within the http response or if within exception captured
errorCode <...> // Error code, if available
requestStatus <failed|passed> // <passed> or <failed> general status of the request
...
nedMessage <...> // Custom message generated inside the NED trying to clarify status
}
response { // response section ONLY if successful response available
<...>
}
2. response section, which is modeled under 'grouping exec-result-container result' container in the ciena-mcp-stats yang module:
response section, which is modeled under each 'response' container in the ciena-mcp-stats yang module:
This section is customized for each and every action request.
This section is available ONLY when a successful response is available to be parsed
The parsed elements will be displayed as per the content designed within ciena-mcp-stats yang module.
Shall a request fail or not meet the expected response timeline, this section will not be populated.
In general, it consists of either a leaf of type string, containing a full json object string result extracted from the device response, or a container with 'data' or 'items' arrays or direct json decomposed content extracted.
result {
<...>
requestStatus passed // <passed> general status of the processed request should be passed to have some relevant data in response section
<...>
}
response { // response section ONLY if successful response available
<...> // custom parameters parsed at output per each call.
data <...> // most of the responses content are parsed under 'data' container
}
Most common Live status command used in BSM MODE:
Top commands used in BSM mode:
admin@ncs(config-device-netsim-0)# live-status exec
Possible completions:
audits Actions needed for Audit report handling and updates
get-jobId-status Command to fetch the status and data available for a previously scheduled jobId
get-network-construct-id Command to fetch the Network Construct element id
get-network-element-availability Command to verify the port status of the Network Construct element
get-network-element-content Command to verify the parameters of the given element name
get-network-element-userLabel Command to retrieve userLabel of the nw element if available
l23-service Actions needed for L2 L3 Service provisioning
push-mcp-configuration Command to Push Configuration to MCP server
show-constructs-elements-ids Show id of all elements belonging to given network construct id
upload-custom-script Command to Upload Custom Script
upload-empty-profile Command to Upload Custom Script
Audit commands used in BSM mode:
admin@ncs(config-device-netsim-0)# live-status exec audits
Possible completions:
create-schedule Command to Create Audit Schedule
execute-audit Command to Execute audit operation on given resource id; Modeled for type 'string'.resourceTypes.Audit
get-compliance-reports Command to get audit reports for all resources or by resource id for type <string>.resourceTypes.NonCompliant
get-schedule Command to get Audit Schedule - default type: EPTConfig
update-schedule-properties Command to update EPTConfig Audit Schedule Properties by resource id
L23 Services provisioning commands used in BSM mode:
admin@ncs(config-device-netsim-0)# live-status exec l23-service
Possible completions:
create-service-profile Command to create service profile
delete-resource Command to delete L2Service or Service profile or any other resource by id
get-resources-nodes Command to get Nodes by given resourceTypeId;
get-resources-nodes-ports Command to get given node ports by resourceTypeId;
get-service-product-id Command to get L2Service products
get-service-profiles Command to get service profiles
get-services Command to get L2 Services
provision-service Command to request L2Service provisioning to MCP by service id
unprovision-service Command to request L2Service un-provisioning to MCP by service id
Some of these live status actions presented below:
get-network-construct-id : Fetch the Network Construct element id
Params:
elementName Name of the network element port to get the id for; Accepts 'any'
Usage:
% request devices device <device-name> live-status exec get-network-construct-id name <networkConstructName>
or
% request devices device <device-name> live-status exec get-network-construct-id name any
get-network-element-availability : Verify the port status of the Network Construct element
RETURNS TPEs RELATED DATA
Params:
constructId Unique ID of the network construct for element to search for (Obtained at show-port-id)
elementName Name of the network element port to search for; Accepts 'any' to fetch all TPEs filtered content
get-network-element-content : Verify the port status of the Network Construct element
Params:
constructId Unique ID of the network construct for element to search for (Obtained at show-port-id)
elementName Name of the network element port to search for
protocolType Protocol type; tl1|cli
scriptContent Full content of the script to be created, then loaded !!! Check [WARNING] subsection below
scriptFile Full canonical path of the script to be loaded
scriptName Script short Name; if left empty, config file short name will be used
** Providing just the scriptFile without a scriptName, will result in extracting the scriptName from the scriptFile given at input.
** Providing just the scriptName without a scriptFile, will result in creating the scriptFile at the path defined in 'mcp-scripts-folder' under ned-settings.
typeGroup Script type group; Ciena6500|Waveserver
[WARNING] ATTENTION!
scriptContent
-> Input string with the content of the script should have all special characters carefully escaped, so that NSO will be able to accept the content on the input leaf of type string (RFC 6020).
-> Most of the cautions to be considered for double commas (") and escape (\) chars and newlines
-> i.e.
->> commas char " escaped to: \"
->> escape char \ escaped to: \\
->> escaping escaped commas : \\\"
->> new line represented with: \n
-> Whole content must be given on single line, with clear text encoded newline separators ( \n );
For example, taking following input for scriptContent parameter:
Failing to do as instructed above will lead in getting the script content truncated at the first new line or at the first unescaped double comma within the string.
Providing both scriptContent and scriptFile, will result in overwriting the scriptFile with the given scriptContent.
Usage:
Scenario I, when scriptContent will be available from file:
a) Providing both scriptFile and scriptName, without scriptContent:
c) Providing just the scriptName without a scriptFile, will result in creating the scriptFile at the path defined in 'mcp-scripts-folder' under ned-settings.
% request devices device live-status exec upload-custom-script protocolType <tl1|cli> typeGroup <Ciena6500|Waveserver> scriptName <script.txt>
Scenario II, when scriptContent will be available from input:
[WARNING] Regardless the input combinations from scenario I, the content of the scriptFile resulted will be overwritten with the content within scriptContent
This is why it is very important that the scriptContent is correctly formatted at input.
% request devices device <device-name> live-status exec upload-custom-script protocolType <tl1|cli> typeGroup <Ciena6500|Waveserver> scriptFile </full/path/to/script.txt> scriptName <script.txt> scriptContent <string[a-zA-Z_-:;,.[]() ] with simple escaped quote \" or double escaped quote \\\" and newline as \n">
or
% request devices device <device-name> live-status exec upload-custom-script protocolType <tl1|cli> typeGroup <Ciena6500|Waveserver> scriptName <script.txt> scriptContent <string[a-zA-Z_-:;,.[]() ] with simple escaped quote \" or double escaped quote \\\" and newline as \n">
or
% request devices device <device-name> live-status exec upload-custom-script protocolType <tl1|cli> typeGroup <Ciena6500|Waveserver> scriptFile </full/path/to/script.txt> scriptContent <string[a-zA-Z_-:;,.[]() ] with simple escaped quote \" or double escaped quote \\\" and newline as \n">
emptyProfilePath Full canonical path of the empty profile script to be loaded
** If none provided, no-profile.txt will be created at the path defined in 'mcp-scripts-folder' under ned-settings.
push-mcp-configuration : Push Configuration to MCP server
NOTE:
** For this command, either one of the params can be set, but AT LEAST ONE has to be provided.
> if a file path is given, file is read and content is pushed as data.
> if the json content is given directly, it is pushed as data and file read is omitted
[WARNING] ATTENTION!
cmdPushJsonContent
-> same cautions must be applied as for the upload-custom-script/scriptContent
-> Input string with the content of the script should have all special characters carefully escaped,
so that NSO will be able to accept the content on the input leaf of type string (RFC 6020).
-> Most of the cautions to be considered for double commas (") and escape (\) chars and newlines
-> i.e.
->> commas char " escaped to: \"
->> escape char \ escaped to: \\
->> escaping escaped commas : \\\"
->> new line represented with: \n
-> Whole content must be given on single line, with clear text encoded newline separators ( \n );
Params:
cmdPushJsonContent Raw content of json script to be loaded for pushing the config
cmdPushJsonFile Full canonical path of the json script whose content is to be loaded for pushing the config
% request devices device <device-name> live-status exec push-mcp-configuration cmdPushJsonContent <string[a-zA-Z_-:;,.[]() ] with simple escaped quote \" or double escaped quote \\\" and newline as \n">
show-constructs-elements-ids : Show all network constructor element names
Params:
networkConstructId Enter networkConstructId to fetch network element ids for; Accepts 'any' to fetch them all
If 'any' or empty string is given, returns all ids for all constructs
% request devices device <device-name> live-status exec show-constructs-elements-ids networkConstructId any
get-network-element-userLabel : Get userLabel of a Network Construct element if set
Params:
constructId Unique ID of the network construct for element to search for (Obtained at show-port-id)
elementName Name of the network element port to search for
Live status actions added to enable L23 service provisioning:
admin@ncs(config-device-netsim-0)# live-status exec l23-service ?
Possible completions:
create-service-profile Command to create service profile
delete-resource Command to delete L2Service or Service profile or any other resource by id
get-resources-nodes Command to show existing Nodes by given resourceTypeId;
get-resources-nodes-ports Command to show given node ports by resourceTypeId;
get-service-product-id Command to show L2Service products
get-service-profiles Command to show service profiles
get-services Command to show L2 Services
provision-service Command to request L2Service provisioning to MCP by service id
unprovision-service Command to request L2Service un-provisioning to MCP by service id
get-resources-nodes : Get resources nodes to identify labels for fetching port later on:
!!!! DEPRECATED since ciena-mcp NED version 1.5.4 !!!!
Logic is present under config, no reason to keep separate action to interact with config.
delete-resource : Delete service or service profile or any other /resource by given ID.
!!! WARNING !!! DO NOT USE THIS API TO DELETE L2SERVICES! Services are managed in config starting with NED version 1.5.4
admin@ncs(config)# devices device <device-name> live-status exec l23-service delete-resource id <ID>
result {
requestStatus passed
}
response OK
In case the resource is already deleted, we get explicit messages from the device:
admin@ncs(config)# devices device lab1-bh live-status exec l23-service delete-resource id 5dc4119c-99d6-445e-878f-e838b903a88a
result {
requestStatus passed
}
response {"statusCode":404,"failureInfo":{"reason":"Resource '5dc4119c-99d6-445e-878f-e838b903a88a' not found","detail":""}}
AUDIT REPORTS HANDLING (BSM Mode)
admin@ncs(config-device-netsim-0)# live-status exec audits ?
Possible completions:
create-schedule Command to Create Audit Schedule
execute-audit Command to Execute audit operation on given resource id; Modeled for type 'string'.resourceTypes.Audit
get-compliance-reports Command to get audit reports for all resources or by resource id for type <string>.resourceTypes.NonCompliant
get-schedule Command to get Audit Schedule - default type: EPTConfig
update-schedule-properties Command to update EPTConfig Audit Schedule Properties by resource id
> audits get-compliance-reports : Get Compliance reports
Get custom reports by resourceType, expected (modeled***) for:
{cxDependent}.resourceTypes.NonCompliant
{cxDependent}.resourceTypes.NonComplianceReport
Any other existing resourceTypeId can be used, the outputs will be populated with minimal info, without properties content
admin@ncs(config)# devices device live-status exec audits get-compliance-reports ?
Possible completions:
id OPTIONAL: id; Id of resource to get the report detail for; Default: all
resourceTypeId OPTIONAL: resourceTypeId of the report type to get; expects {cxDependent}.resourceTypes.NonCompliant or
ComplianceReport
defaults to type: {cxDependent}.resourceTypes.NonCompliant
Examples of usage on different combinations
> audits get-compliance-reports : Get all NonCompliant type reports (default values, no id or resourcetype needed, gets all reports)
admin@ncs(config)# devices device <device-name> live-status exec audits get-compliance-reports
result {
requestStatus passed
}
response {
items {
id 5de79770-b0f7-419d-b2a2-f508d65982f6
label LABEL
resourceTypeId {cxDependent}.resourceTypes.NonCompliant
productId 5de4de61-fa09-4c37-9f46-fea763d92085
tenantId 314fd7ab-d662-4946-a0a1-eaf1bed002fd
subDomainId 7fd5144c-552f-39a3-9464-08d3b9cfb251
shared false
discovered false
desiredOrchState active
orchState active
reason
updatedAt 2019-12-04T11:24:32.841Z
createdAt 2019-12-04T11:24:32.804Z
properties {
bestFitSPLabel EVPL_UPR_PW
serviceType EVPL
resolvable false
transportProtection ANY
bestFitSPID 5de6258f-f345-4e42-97fa-fe6ad36ad467
serviceEndPointList {
endPointLabel 1234-5-6-A_UNI
endPointType A End
}
serviceEndPointList {
endPointLabel 5678-1-Z_UNI
endPointType Z End
}
differences {
nonCompliantProperty transportProtection
actual
expected UNPROTECTED_ONLY
}
...
differences {
nonCompliantProperty Protected Pseudowire
actual False
expected True
}
}
}
}
> audits get-compliance-reports : Get particular NonCompliant type report detail (resource id required, Resourcetype defaults to NonCompliant)
admin@ncs(config)# devices device <device-name> live-status exec audits get-compliance-reports id 5de79776-9bc9-4e8e-9c4e-bec179423c1d
result {
requestStatus passed
}
response {
items {
id 5de79776-9bc9-4e8e-9c4e-bec179423c1d
label CISCO_UP
resourceTypeId {cxDependent}.resourceTypes.NonCompliant
productId 5de4de61-fa09-4c37-9f46-fea763d92085
tenantId 314fd7ab-d662-4946-a0a1-eaf1bed002fd
subDomainId 7fd5144c-552f-39a3-9464-08d3b9cfb251
shared false
discovered false
desiredOrchState active
orchState active
reason
updatedAt 2019-12-04T11:24:38.437Z
createdAt 2019-12-04T11:24:38.400Z
properties {
bestFitSPLabel EVPL_UPR_PW
serviceType EVPL
resolvable false
transportProtection ANY
bestFitSPID 5de6258f-f345-4e42-97fa-fe6ad36ad467
serviceEndPointList {
endPointLabel LAB_A_3928--7-A_UNI
endPointType A End
}
serviceEndPointList {
endPointLabel 3928-1--7-Z_UNI
endPointType Z End
}
differences {
nonCompliantProperty transportProtection
actual
expected UNPROTECTED_ONLY
}
...
differences {
nonCompliantProperty pbit
actual 2
expected 5
}
}
}
}
> audits get-compliance-reports : Get all compliance custom type reports (Resourcetype required)
admin@ncs(config)# devices device <device-name> live-status exec audits get-compliance-reports resourceTypeId {cxDependent}.resourceTypes.ComplianceReport
result {
requestStatus passed
}
response {
items {
id 5de7977b-3497-45b3-a1ba-263277f67613
label ComplianceReport_2019-12-04 11:24:43.867035
resourceTypeId {cxDependent}.resourceTypes.ComplianceReport
productId 5de4de61-f261-44b3-9eb9-f5e749546118
tenantId 314fd7ab-d662-4946-a0a1-eaf1bed002fd
subDomainId 7fd5144c-552f-39a3-9464-08d3b9cfb251
shared false
discovered false
desiredOrchState active
orchState active
reason
updatedAt 2019-12-04T11:24:43.937Z
createdAt 2019-12-04T11:24:43.894Z
properties {
auditResult {
serviceId 5de671ec-c1f4-403a-9fff-cc1afb9e67b3
bestMatchSPLabel EVPL_UPR_PW
transportProtection ANY
status AWAITING_ACTION
bestMatchSPID 5de6258f-f345-4e42-97fa-fe6ad36ad467
serviceLabel cisco_new
serviceType EVPL
serviceEndPointList {
endPointLabel 3928-1--11-A_UNI
endPointType A End
}
serviceEndPointList {
endPointLabel LAB_B_3928--1-Z_UNI
endPointType Z End
}
differences {
nonCompliantProperty transportProtection
actual
expected UNPROTECTED_ONLY
}
...
differences {
nonCompliantProperty Protected Pseudowire
actual False
expected True
}
}
auditResult {
serviceId 5de671f2-6c12-4bbc-a56c-7f4f0564eabc
bestMatchSPLabel EVPL_UPR_PW
transportProtection ANY
status AWAITING_ACTION
bestMatchSPID 5de6258f-f345-4e42-97fa-fe6ad36ad467
serviceLabel CISCO_UP
serviceType EVPL
serviceEndPointList {
endPointLabel LAB_A_3928--7-A_UNI
endPointType A End
}
serviceEndPointList {
endPointLabel 3928-1--7-Z_UNI
endPointType Z End
}
differences {
nonCompliantProperty transportProtection
actual
expected UNPROTECTED_ONLY
}
...
differences {
nonCompliantProperty pbit
actual 2
expected 5
}
}
}
}
items {
...
}
}
> audits get-compliance-reports : Get custom type report detail (Resourcetype and id required)
admin@ncs(config)# devices device <device-name> live-status exec audits get-compliance-reports resourceTypeId {cxDependent}.resourceTypes.ComplianceReport id 5de7977b-3497-45b3-a1ba-263277f67613
result {
requestStatus passed
}
response {
items {
id 5de7977b-3497-45b3-a1ba-263277f67613
label ComplianceReport_2019-12-04 11:24:43.867035
resourceTypeId {cxDependent}.resourceTypes.ComplianceReport
productId 5de4de61-f261-44b3-9eb9-f5e749546118
tenantId 314fd7ab-d662-4946-a0a1-eaf1bed002fd
subDomainId 7fd5144c-552f-39a3-9464-08d3b9cfb251
shared false
discovered false
desiredOrchState active
orchState active
reason
updatedAt 2019-12-04T11:24:43.937Z
createdAt 2019-12-04T11:24:43.894Z
properties {
auditResult {
serviceId 5de671ec-c1f4-403a-9fff-cc1afb9e67b3
bestMatchSPLabel EVPL_UPR_PW
transportProtection ANY
status AWAITING_ACTION
bestMatchSPID 5de6258f-f345-4e42-97fa-fe6ad36ad467
serviceLabel cisco_new
serviceType EVPL
serviceEndPointList {
endPointLabel 3928-1--11-A_UNI
endPointType A End
}
serviceEndPointList {
endPointLabel LAB_B_3928--1-Z_UNI
endPointType Z End
}
differences {
nonCompliantProperty transportProtection
actual
expected UNPROTECTED_ONLY
}
...
differences {
nonCompliantProperty Protected Pseudowire
actual False
expected True
}
}
auditResult {
serviceId 5de671f2-6c12-4bbc-a56c-7f4f0564eabc
bestMatchSPLabel EVPL_UPR_PW
transportProtection ANY
status AWAITING_ACTION
bestMatchSPID 5de6258f-f345-4e42-97fa-fe6ad36ad467
serviceLabel CISCO_UP
serviceType EVPL
serviceEndPointList {
endPointLabel LAB_A_3928--7-A_UNI
endPointType A End
}
serviceEndPointList {
endPointLabel 3928-1--7-Z_UNI
endPointType Z End
}
differences {
nonCompliantProperty transportProtection
actual
expected UNPROTECTED_ONLY
}
...
differences {
nonCompliantProperty pbit
actual 2
expected 5
}
}
}
}
}
audits get-schedule : Get Schedule reports [EPTConfig]
Get all Schedule Audit reports by resourceType, expected (modeled) for {cxDependent}.resourceTypes.Audit
admin@ncs(config)# devices device <device-name> live-status exec audits get-schedule ?
Possible completions:
resourceTypeId OPTIONAL: Defaults to : resourceTypeId={cxDependent}.resourceTypes.Audit
audits get-schedule : Get all scheduled reports of type {cxDependent}.resourceTypes.Audit
Update audit schedule properties (no entire object needed)
(modeled) for properties of {cxDependent}.resourceTypes.Audit
admin@ncs(config)# devices device <device-name> live-status exec audits update-schedule ?
Possible completions:
id MANDATORY: id; Id of resource audit schedule is to be updated for
properties
activationTimeoutSeconds <string>
allowedVlans <string>
utilizationThreshold <unsignedShort>
auditDetails
auditScheduleName <string>
auditTime <string>
auditDays [ string ]
audits update-schedule : Update audit schedule properties only for type {cxDependent}.resourceTypes.Audit
Execute audit operation on given resource id, expected (modeled) for: {cxDependent}.resourceTypes.Audit
admin@ncs(config)# devices device <device-name> live-status exec audits execute-audit ?
Possible completions:
id MANDATORY: id; Id of resource to Execute audit operation for
admin@ncs(config)# devices device <device-name> live-status exec audits execute-audit id 5de4e0e9-1409-4cb2-aca1-ac87c1484208
result {
requestStatus passed
}
response {
id 5def97c8-8165-48c4-8beb-5734781763a8
resourceId 5de4e0e9-1409-4cb2-aca1-ac87c1484208
interface audit
state requested
createdAt 2019-12-10T13:04:08.550Z
updatedAt 2019-12-10T13:04:08.550Z
}
*** One can refer to section 5.2.2*** to fetch the {cxDependent}.resourceTypes.Audit ids available for current section.
Service provisioning (BSM Mode)
l23-service provision-service : Command to request L2Service provisioning to MCP by service id
Provision Service <ACTION>;; Command to request L2Service provisioning to MCP by service id
admin@ncs(config)# devices device <device-name> live-status exec l23-service provision-service id <serviceId>
l23-service unprovision-service : Command to request L2Service un-provisioning to MCP by service id
UnProvision Service <ACTION>;; Command to request L2Service un-provisioning to MCP by service id
admin@ncs(config)# devices device <device-name> live-status exec l23-service unprovision-service id <serviceId>
TSM_MODE: Most common Live status command used in TSM MODE:
tsm get-networkconstructs Command to get Network Constructs using given inputs filtering;
tsm get-equipment Command to get Equipment under a particular network construct using given inputs filtering;
tsm get-fres Command to get Network Constructs FREs using given inputs filtering;
tsm get-tpes Command to get TPEs using given inputs filtering;
tsm get-service-intent Command to get resources Service Intent using given inputs filtering;
tsm get-service-topology Command to get Service Topology of a given id
tsm get-ne-profiles Command to get NE Profiles for a given typeGroup
tsm get-market-resources Command to get market resources as filtered
tsm commit-route Command to commit routes
tsm delete-resource-id Command to delete L2Service or Service profile or any other resource by id
tsm get-relationships Command to get relationships targetID by facadeId
tsm request-routes Command to request routes for retreiving Resources ID
tsm get-requested-routes Command to get requested routes options
tsm get-tsm-products Command to get all products to fetch ids or for a particular type
tsm search Command to search and get various Service Topologies: tpes|fres|nwConstructs
tsm test-pseudowire Command to test EPL service
tsm get-ethernet-port-status Command to Retrieve Ethernet Management Port Status (NM Server API)
tsm get-performance-metrics Command to get Performance Metrics
tsm test-benchmarkOperations Command to run a benchmark test using reflectorTpe
otn-delete-facility-params Command to DELETE OTN (OTM2) Facility
otn-get-equipment-facility-submenus Command to get OTN Facility Submenus
otn-get-equipment-information Command to get OTN Equipment information
otn-patch-fre Command to Modify OTN Service FRE
tsm manage-service-operations Command to Manage Market Resources Services Operations
alarms
tsm get-alarms Command to get filtered or correlated Alarms
create-virtual-pLink Command to get Optical Details - serviceTopology for optical FRE Id
get-configmgmt-script-job Command to get Script Output job id
delete-configmgmt-script-job Command to get Script Output job id
get-configmgmt-scripts Command to GET config management scripts by type
delete-configmgmt-scripts Command to GET config management scripts by type
get-fre-ccstatus Command to retrieve ccStatus (Continuity Check)
delete-fres-expectations Command to delete FRES expectations for stuck in Scheduled state
delete-tpe Command to delete TPEs using given tpe id
get-equipment-information Command to get Equipment information
get-equipment-topology-planning Command to retrieve Available A-End ports for the rate selected
get-lag-details Command to Retrieve LAG details.
get-tpe-expectations Command to get TPE tpeExpectations using given tpeExpectations.serviceIntent.id
get-jobId-status-response Command to fetch the status and data available for a previously scheduled jobId
get-resource-operation-state Command to get Market Resources Service Operation state
get-service-intent-facade-id Command to get relationships targetID by facadeId
get-tdc-pageLoad Command to Run test enabling/disabling tdmLoopback
get-test-pseudowire-result Command to test EPL service
manage-eline-attributes Command to retrieve Available A-End ports for the rate selected
sync-network-elements Command to get resync Network Elements
test-lspOperations Command to run a E-Tree service test from root-to-leaf or leaf-to-root
test-tdmOperations Command to Run test enabling/disabling tdmLoopback
upload-script Command to upload custom script
upload-script-profile Command to upload scriptProfiles
wavelength COLLECTION: Wavelength commands
get-adj-values Command to get Optical Details - serviceTopology for optical FRE Id
update-adj-values Command to get Optical Details - serviceTopology for optical FRE Id
manage-lag COLLECTION: LAG management commands
create-interfacemanagement Command to Create LAG InterfaceManagement entry
create-lag-entry Command to Create LAG entry
delete-lag-entry Command to Delete LAG entry
get-interfacemanagement-values Command to get interface management values
get-lag-values Command to get LAG values
resync-components Command to resynchronize all components of a NcManagementSessionId
update-lag-entry Command to Update LAG entry
show-all-ne-lags Command to get all LAGs associated with any or the network element specified
delete-interfacemanagement Command to Delete LAG InterfaceManagement entry
10. execute-any-request Generic command; execute any API callback, mentioning details
11. manage-virtualswitch-entry Command to get or delete ethernetConnectivity VirtualSwitch values
12. update-interfacemanagement Command to Update LAG InterfaceManagement entry
search-all-networkConstructs Command to get all or filtered networkConstructs
search-tunnel-endpoints Command to get Optical Details - serviceTopology for optical FRE Id
update-ethernet-port-state Command to update Ethernet port state to disabled or enabled
admin@ncs(config-device-netsim-0)# live-status exec tsm ?
Possible completions:
commit-route Command to commit routes
create-virtual-pLink Command to get Optical Details - serviceTopology for optical FRE Id
delete-configmgmt-script-job Command to get Script Output job id
delete-configmgmt-scripts Command to GET config management scripts by type
delete-fres-expectations Command to delete FRES expectations for stuck in Scheduled state
delete-resource-id Command to delete clear routes or any other resource by id
delete-tpe Command to delete TPEs using given tpe id
get-alarms Command to get filtered or correlated Alarms
get-configmgmt-script-job Command to get Script Output job id
get-configmgmt-scripts Command to GET config management scripts by type
get-equipment Command to get Equipment under a particular network construct using given inputs filtering;
get-equipment-information Command to get Equipment information
get-equipment-topology-planning Command to retrieve Available A-End ports for the rate selected
get-ethernet-port-status Command to Retrieve Ethernet Management Port Status (NM Server API)
get-fre-ccstatus Command to retrieve ccStatus (Continuity Check)
get-fres Command to get Network Constructs FREs using given inputs filtering;
get-jobId-status-response Command to fetch the status and data available for a previously scheduled jobId
get-lag-details Command to Retrieve LAG details.
get-market-resources Command to get market resources as filtered
get-ne-profiles Command to get NE Profiles for a given typeGroup
get-networkconstructs Command to get Network Constructs using given inputs filtering;
get-performance-metrics Command to get Performance Metrics
get-relationships Command to get relationships targetID by facadeId
get-requested-routes Command to get requested routes options
get-resource-operation-state Command to get Market Resources Service Operation state
get-service-intent Command to get resources Service Intent using given inputs filtering;
get-service-intent-facade-id Command to get relationships targetID by facadeId
get-service-topology Command to get Service Topology of a given id
get-tdc-pageLoad Command to Run test enabling/disabling tdmLoopback
get-test-pseudowire-result Command to test EPL service
get-tpe-expectations Command to get TPE tpeExpectations using given tpeExpectations.serviceIntent.id
get-tpes Command to get TPEs using given inputs filtering;
get-tsm-products Command to get all products to fetch ids or for a particular type
manage-eline-attributes Command to retrieve Available A-End ports for the rate selected
manage-lag COLLECTION: LAG management commands
manage-service-operations Command to Manage Market Resources Services Operations
node-enrolment COLLECTION: Node Enrolment commands
node-upgrade COLLECTION: Node Upgrade commands
otn-create-otm-facility Command to CREATE : OTN (OTM 1-4) Facility, OOS, NDP, GCC, etc
otn-create-otm2-facility Command to CREATE : OTN (OTM2) Facility, OOS, NDP, GCC, etc
otn-delete-facility-params Command to DELETE OTN (OTM2) Facility
otn-get-equipment-facility-submenus Command to get OTN Facility Submenus
otn-get-equipment-information Command to get OTN Equipment information
otn-patch-fre Command to Modify OTN Service FRE
request-routes Command to request routes for retreiving Resources ID
search Command to search and get various Service Topologies: tpes|fres|nwConstructs
search-all-networkConstructs Command to get all or filtered networkConstructs
search-tunnel-endpoints Search MPLS tunnel endpoints state for protected tunnels.
sync-network-elements Command to get resync Network Elements
test-benchmarkOperations Command to run a benchmark test using reflectorTpe
test-lspOperations Command to run a E-Tree service test from root-to-leaf or leaf-to-root
test-pseudowire Command to test EPL service
test-tdmOperations Command to Run test enabling/disabling tdmLoopback
update-ethernet-port-state Command to update Ethernet port state to disabled or enabled
upload-script Command to upload custom script
upload-script-profile Command to upload scriptProfiles
wavelength COLLECTION: Wavelength commands
Each action has its own inputs and outputs. See stats yang model in the NED for more details.
Based on the input combinations we will call one api or another.
COLLECTION refers to a group of commands used for a common purpose.
1. tsm get-networkconstructs Get NetworkConstructs:
admin@ncs(config-device-ciena-lab1)# live-status exec tsm get-networkconstructs ?
Possible completions:
fields Specify <fields> query such as <id,links,data.attributes.displayData> etc, separated by commas
id Network Construct id;
include Specify include query params, such as <phisicalLocation>
name Network Construct Name;
use-api-version Enforce particular api version in /nsi/api/ (Currently only V6 and V1 are enforced, based on selection. if v4 is selected, still v6 is enforced)
Sample callbacks from the live status command:
*** Get network constructs with enforced v1 api: ***
admin@ncs(config-device-ciena-lab1)# live-status exec tsm get-networkconstructs use-api-version v1 name MUDF-C5142-0001
*** Get network constructs by network element name - works only with v4: ***
*** Get network constructs with v6 api (default option): ***
admin@ncs(config-device-ciena-lab1)# live-status exec tsm get-networkconstructs name MUDF-C5142-0001
*** Get network constructs with v6 api (enforced option): ***
admin@ncs(config-device-ciena-lab1)# live-status exec tsm get-networkconstructs use-api-version v6 name MUDF-C5142-0001
*** Get network constructs with v6 links: ***
admin@ncs(config-device-ciena-lab1)# live-status exec tsm get-networkconstructs name MUDF-C5142-0001 fields id,links
*** Get network constructs with v6 links: ***
admin@ncs(config-device-ciena-lab1)# live-status exec tsm get-networkconstructs name MUDF-C5142-0001 fields id,links
*** Get network constructs with v6 physicalLocation: ***
admin@ncs(config-device-ciena-lab1)# live-status exec tsm get-networkconstructs include physicalLocation
*** Get network constructs with physicalLocation: ***
admin@ncs(config-device-ciena-lab1)# live-status exec tsm get-networkconstructs include physicalLocation fields id,data.attributes.displayData,links
*** Get network constructs with id ! works only with v1 or v4 !: ***
admin@ncs(config-device-ciena-lab1)# live-status exec tsm get-networkconstructs id 12df49ed-c140-3c5b-8146-2826a3e89c0c use-api-version v4
2. tsm get-equipment Get Equipment
admin@ncs(config-device-ciena-lab1)# live-status exec tsm get-equipment ?
Possible completions:
include Specify include query params, such as <expectations>, comma separated if multiple
networkConstructId Network Construct id;
Sample callbacks from the live status command
*** GET all equipment for NetworkConstructID : ***
*** GET all equipment for NetworkConstructID and Include Expectations ***
admin@ncs(config-device-ciena-lab1)# live-status exec tsm get-equipment networkConstructId 8086be7a-b781-3cc6-b19c-020e2cf37511 include expectations
3. tsm get-fres Get FREs
admin@ncs(config-device-ciena-lab1)# live-status exec tsm get-fres ?
Possible completions:
freId FRE full id;
include Specify include query params, such as <tpes>; comma separated if multiple
layerRate Specify layerRate query params, such as <MPLS,MPLS_PROTECTION> or <ETHERNET>; comma separated if multiple
networkConstructId Network Construct id to fetch the FRE for
serviceIntentId FRE serviceIntent Id ;
<cr>
Sample callbacks from the live status command
*** GET FRE With Network Construct ID forTunnels : ***
admin@ncs(config-device-ciena-lab1)# live-status exec tsm get-tpes ?
Possible completions:
content Specify content query params, such as <detail>; comma separated if multiple
include Specify include query params, such as <expectations>; comma separated if multiple
networkConstructId Network Construct id;
tpeId TPE full id to filter or full entry; set useTpeIdOnly accordingly
useTpeIdOnly TPE Id filtration; Set to true for full tpeId body fetching; False for tpe Id as a query filter.
<cr>
*** GET TPEs for a Network ConstructID and Include Expectations : ***
admin@ncs(config-device-ciena-bharti-lab1)# live-status exec tsm get-tpes networkConstructId 001249ea-0b5a-3856-9900-47fab890c0d4 include expectations
5. tsm get-service-intent Get Service Intent
admin@ncs(config-device-ciena-lab1)# live-status exec tsm get-service-intent ?
Possible completions:
resourceId Resource ID (Intent ID) to fetch the service intent of
resourceTypeId Resource type Id to get service intent for; default is MPLSTunnelIntent
Sample callbacks from the live status command
*** Get Service Intent with MPLSTunnel Intent : ***
admin@ncs(config-device-ciena-lab1)# live-status exec tsm get-service-topology ?
Possible completions:
id Resource or Service ID to get topology of
<cr>
Sample callbacks from the live status command
*** Get Service Topology : ***
admin@ncs(config-device-ciena-bharti-lab1)# live-status exec tsm get-service-topology id -101232540542396702
7. tsm get-ne-profiles Get NE Profiles
admin@ncs(config-device-ciena-lab1)# live-status exec tsm get-ne-profiles ?
Possible completions:
typeGroup Type Group to get ne profiles for; i.e. Ciena6500
<cr>
admin@ncs(config-device-dummy-1)# live-status exec tsm get-market-resources ?
Possible completions:
exactTypeId Resource type Id to get market-resources for
id Single Resource Id to get; Use single, without below options
limit OPTIONAL: override global page limit
nextPageToken OPTIONAL: nextPageToken to fetch next page of results
offset Offset paging index to start from; Consider multiple of global pagination param
printRaw Set to true to print raw Results from device
productId Product Id to get market-resources for
q Query data
resourceTypeId Resource type Id to get market-resources for
subDomainId subDomain Id to get market-resources for
<cr>
Where $rawJson should be full updated routes body for the API, with the following strict syntax, containing "interface" param and inputs.routes[] as the desired routes, i.e:
To collect the routes to commit, run the live status command no 13. tsm get-requested-routes
Collect response.outputs.routes[] and use them as needed as input for this command.
Please note that the json object composed to have the above expected structure must be escaped/quoted when being passed to the live status command as the rawData parameter
resourcetypeId refers to object type, i.e. ifd.v6.resourceTypes.L2ServiceIntentFacade
15. tsm search Command to show Service Topology of a given id by node type
admin@ncs(config-device-ciena-lab1)# live-status exec tsm search node ?
Description: Where to search? Select one option below:
Possible completions:
fres networkConstructs tpes
Then choose a combination of filters for searching for that node type:
Possible completions:
directionality Query directionality params; ie: <bidirectional>; comma separated if multiple
facilityBypass Query facilityBypass params; ie: <exclude>; comma separated if multiple
include Query include params; ie: <tpes>; comma separated if multiple
namedQuery Query namedQuery; comma separated i.e.
networkConstructId Query networkConstructId
networkConstructType Query networkConstructType; i.e.
networkRole Query networkRole params; ie: <FREAP>;
offset Offset paging index to start from; Consider multiple of global pagination param
searchFields Query searchFields; i.e: <data.attributes.displayData.displayName>
searchText Query searchText params; ie: <tunnelNameSearch>; comma separated if multiple
serviceClass Query serviceClass params; ie: <Tunnel>
sortBy Query sortBy param; ie: <name>
example GET Network Constructs. Retrieve Available Z-End NE Ports - tpes
16. tsm test-pseudowire Command to test EPL service
admin@ncs(config-device-mcppsmod01)# live-status exec tsm test-pseudowire ?
Possible completions:
freId freId or <string>
localTpeId
remotePoint
testParameters String value with Json Object syntax is expected!
type type i.e.
userAnnotation userAnnotation or <string>
Single segment pseudowire services have one pseudowire end-to-end on top of one LSP.
Multi-segment pseudowire services have multiple pseudowires stitched together over multiple LSPs to provide end-to-end service.
Inputs given offer a range of customization on the request body needed for the API to trigger the right segment:
// Single segment body created from given inputs
{
"data": {
"type": "ping",
"localTpeId": "$TPE_ID",
"remotePoint": {
"idType": "macAddress",
"id": "string"
},
"freId": "string",
"testParameters": {},
"userAnnotation": "string"
}
}
//Multi-segment body created from given inputs
{
"data": {
"type": "traceroute",
"localTpeId": "id::label",
"testParameters": {},
"userAnnotation": "string"
}
}
17. tsm get-ethernet-port-status Get Ethernet Port Status - operLink
Inspect ports and states of the given input parameter
Returns ports and operLink states
admin@ncs(config)# devices device ciena-test live-status exec tsm get-ethernet-port-status ?
Possible completions:
ncid NetworkConstruct NE Id A END
sessionid NC Management Session Id
softwareVersion NC Software Version
typegroup NC Type Group
Sample callback:
admin@ncs(config)# devices device ciena-test live-status exec tsm get-ethernet-port-status ncid <$ncId> sessionid <$sessionId> softwareVersion <$softwareVersion> typegroup <$ncTypeGroup>
result {
requestStatus passed
}
response {
data {
id 0
jsondata {
port 23/7
operLink Down
}
jsondata {
port 3/11
operLink Up
}
jsondata {
port 23/32
operLink Down
}
...
}
jsondata {
port 23/31
operLink Down
}
}
}
18. tsm get-performance-metrics Get performance metrics
Check for traffic on a particular endpoint before deleting the service
admin@ncs(config)# devices device ciena-test live-status exec tsm get-performance-metrics ?
Possible completions:
displayName {
comparator //ENUM: =|contains|endsWith|startsWith //default: =
value
}
facilityNameNative { // port name
comparator //ENUM: =|contains|endsWith|startsWith //default: =
value
}
parameterNative {
comparator //ENUM: =|contains|endsWith|startsWith //default: =
value
}
granularity {
comparator //ENUM: =|contains|endsWith|startsWith //default: =
value //ENUM: 1_HOUR|15_MINUTE //default: 15_MINUTE
}
pageLink //direct link to next or current page (overrides all other inputs)
pageSize //int, default: 200
startTime <dateTime (CCYY-MM-DDTHH:MM:SSZ)> i.e.: 2021-05-24T12:00:00Z
endTime <dateTime (CCYY-MM-DDTHH:MM:SSZ)> i.e.: 2021-05-24T12:00:00Z
Example of minimal inputs callback with all the param values (displayName, facilityNameNative, parameterNative)
displayName, facilityNameNative, parameterNative can be passed individually, or in combinations, with values, defaulting the comparator to '='
19. tsm test-benchmarkOperations Command to test benchmark
admin@ncs(config-device-localmcp)# live-status exec tsm test-benchmarkOperations
Possible completions:
freId
generatorId
printRaw Set to true to print raw Results from device in fullRawResponse leaf
testParameters String value with Json Object syntax is expected or broken down container!
type type ex: benchmark
<cr>
Inputs given offer a range of customization on the request body needed for the API to trigger the right segment:
testParameters can be used with simple Json Object string content, or broken down into decomposed parameters.
Using testParameters as a quoted string value of a valid json with the needed parameters:
admin@ncs(config-device-localmcp)# live-status exec tsm node-upgrade ?
Possible completions:
check-ne-upgrade-details Command to start firmware download
disable-docs Command to disable docs
get-node-backups Command to get backups for node
get-node-docs Command to start firmware download
get-shelf-config Command to get shelf config for node
resume-upgrade Command to resume upgrade
retrieve-upgrade-state Command to start firmware download
schedule-node-backup Command to schedule node backup
search-nodes-doc Command to get node docs
start-firmware-download Command to start firmware download
suspend-upgrade Command to suspend upgrade of the given network element node
upgrade-state Command to start firmware download
20.1 tsm node-upgrade check-ne-upgrade-details
admin@ncs(config-device-localmcp)# live-status exec tsm node-upgrade check-ne-upgrade-details ?
Possible completions:
name Network Element node upgrade details to check for
20.2 tsm node-upgrade disable-docs
admin@ncs(config-device-localmcp)# live-status exec tsm node-upgrade disable-docs ?
Possible completions:
docDetails Docs to disable
20.3 tsm node-upgrade get-node-backups
admin@ncs(config-device-localmcp)# live-status exec tsm node-upgrade get-node-backups ?
Possible completions:
nename Network Element node name to get backups for
20.4 tsm node-upgrade get-node-docs
admin@ncs(config-device-localmcp)# live-status exec tsm node-upgrade get-node-docs ?
Possible completions:
networkConstructNames Network Element node name to get docs for
20.5 tsm node-upgrade get-shelf-config
admin@ncs(config-device-localmcp)# live-status exec tsm node-upgrade get-shelf-config ?
Possible completions:
physicalNeName Network Element node name to get shelf config for
20.6 tsm node-upgrade resume-upgrade
admin@ncs(config-device-localmcp)# live-status exec tsm node-upgrade resume-upgrade ?
Possible completions:
neName NE Name to resume upgrade for
20.7 tsm node-upgrade retrieve-upgrade-state
admin@ncs(config-device-localmcp)# live-status exec tsm node-upgrade retrieve-upgrade-state ?
Possible completions:
networkConstructName Network Element node name to get upgraded state for
20.8 tsm node-upgrade schedule-node-backup
admin@ncs(config-device-localmcp)# live-status exec tsm node-upgrade schedule-node-backup ?
Possible completions:
backupProfileName Profile name for scripts[0].relationships.profile.data.id
nename Network Element node name to schedule backup for
scheduleTime Current Date Time
20.9 tsm node-upgrade search-nodes-doc
admin@ncs(config-device-localmcp)# live-status exec tsm node-upgrade search-nodes-doc ?
Possible completions:
networkConstructId Network Construct Id to get docs for
20.10 tsm node-upgrade start-firmware-download
admin@ncs(config-device-localmcp)# live-status exec tsm node-upgrade start-firmware-download ?
Possible completions:
nename Network Element node name to start firmware download for
releaseNumber FIRMWARE_TO release number
20.11 tsm node-upgrade suspend-upgrade
admin@ncs(config-device-localmcp)# live-status exec tsm node-upgrade suspend-upgrade ?
Possible completions:
neName NE Name to suspend upgrade for
20.12 tsm node-upgrade upgrade-state
admin@ncs(config-device-localmcp)# live-status exec tsm node-upgrade upgrade-state ?
Possible completions:
networkConstructName Network Element node name to upgrade state for
21. tsm node-enrolment NODE ENROLMENT COMMANDS BEGIN :
Collection of new live status commands and extension of existing commands used to run node enrolment **
*** The command collection is ordered as per the deployment process for node enrolment to exemplify usage ***
admin@ncs(config)# devices device netsim-0 live-status exec tsm node-enrolment ?
Possible completions:
backup-schedule Command to schedule backup
clear-and-deEnroll Command to clear and de-enroll NE managementSessions
create-group Command to create a group
delete-group Command to delete planned group
delete-networkConstructs-groups Command to delete Group from All NCs
get-configmgmt-profiles Command to run Node Reconnect
get-management-sessions Command to get management sessions for node enrolment
get-ne-maintenanceDetails Command to get backup schedules for network elements
get-ne-managementSessions Command to get NE managementSessions
get-node-upgrade-details Command to get Node Upgrade Details
get-resource-serviceTopology Command to get Optical Details - serviceTopology for optical FRE Id
get-schedules Command to get schedules for node enrolment
lldp-link-tag Command to patch LLDP Link Tag with TDM-Project tag or to clear it
node-reconnect Command to run Node Reconnect
patch-ne-managementSessions Command to PATCH NE management Sessions
patch-networkConstructs Command to PATCH NE management Sessions - network constructs
run-enrolment Command to run enrolment
run-node-backup Command to run node backup
search-networkConstructs Command to search Parent Group
search-parent-group Command to search Parent Group
session-pre-enrolment Command to request session pre enrolment
trigger-group-creation Command to trigger the creation of group
22. Intermediate OTN Links (OTU P-Links) : live status commands
admin@ncs(config-device-mcppsmod01)# live-status exec tsm otn-?
Possible completions:
otn-create-otm2-facility Command to CREATE : OTN (OTM2) Facility, OOS, NDP, GCC, etc
otn-delete-facility-params Command to DELETE OTN (OTM2) Facility
otn-get-equipment-facility-submenus Command to get OTN Facility Submenus
otn-get-equipment-information Command to get OTN Equipment information
otn-patch-fre Command to Modify OTN Service FRE
----------------------------------
admin@ncs(config-device-mcppsmod01)# live-status exec tsm otn-get-equipment-information ?
Possible completions:
query <cr>
----------------------------------
admin@ncs(config-device-mcppsmod01)# live-status exec tsm otn-get-equipment-information query { ?
Possible completions:
deviceType Optical Intermediate Device Type
ncid NetworkConstruct NE Id A END
neName Optical Intermediate NE Display Name
sessionid Optical Intermediate Management Session Id
softwareVersion Optical Intermediate Software Version
state
typegroup Optical Intermediate Type Group
}
----------------------------------
admin@ncs(config-device-mcppsmod01)# live-status exec tsm otn-get-equipment-facility-submenus ?
Possible completions:
equipment query <cr>
admin@ncs(config-device-mcppsmod01)# live-status exec tsm otn-get-equipment-facility-submenus query { ?
Possible completions:
deviceType Optical Intermediate Device Type
ncid NetworkConstruct NE Id A END
neName Optical Intermediate NE Display Name
sessionid Optical Intermediate Management Session Id
softwareVersion Optical Intermediate Software Version
state
typegroup Optical Intermediate Type Group
}
----------------------------------
admin@ncs(config-device-mcppsmod01)# live-status exec tsm otn-get-equipment-facility-submenus equipment { ?
Possible completions:
cardType Optical Intermediate Card Type
carrierEqptPecCode Optical Intermediate Carrier Eqpt Pec Code
carrierEqptType Optical Intermediate Carrier Eqpt Type
nativeName Optical Intermediate Native Name
ncid Optical Intermediate networkConstructs Ne Id
partNumber Optical Intermediate Part Number
shelf Optical Intermediate Shelf
slot Optical Intermediate Slot
subslot Optical Intermediate Sub Slot
}
----------------------------------
admin@ncs(config-device-mcppsmod01)# live-status exec tsm otn-create-otm2-facility
Possible completions:
attributes details equipment query
admin@ncs(config-device-mcppsmod01)# live-status exec tsm otn-create-otm2-facility attributes {
Possible completions:
AID
CARRIER
CLFI
EBERTH
FACILITYTYPE Optical Intermediate Facility Type
LASEROFFFARENDFAIL i.e.: DISABLED
LLSDCCENABLE
LLSDCCEXISTS
MAPPING i.e: GFPMACTR
MTU
NDPENABLED
NDPEXISTS
NETDOMAIN
ODUMONITOR
ODUSDTHLEV
ODUSFTHLEV
OTURXFECFRMT
OTUSDTHLEV
OTUTXFECFRMT
PREFECSDTHLEV
PREFECSFTHLEV
PROTOCOL
PST i.e.: IS, OOS, etc
SDTH
SST
}
----------------------------------
admin@ncs(config-device-mcppsmod01)# live-status exec tsm otn-create-otm2-facility details {
Possible completions:
AIDValue
facilityType
request Request type
admin@ncs(config-device-mcppsmod01)# live-status exec tsm otn-create-otm2-facility equipment {
Possible completions:
cardType Optical Intermediate Card Type
carrierEqptPecCode Optical Intermediate Carrier Eqpt Pec Code
carrierEqptType Optical Intermediate Carrier Eqpt Type
nativeName Optical Intermediate Native Name
ncid Optical Intermediate networkConstructs Ne Id
partNumber Optical Intermediate Part Number
shelf Optical Intermediate Shelf
slot Optical Intermediate Slot
subslot Optical Intermediate Sub Slot
}
----------------------------------
admin@ncs(config-device-mcppsmod01)# live-status exec tsm otn-create-otm2-facility query {
Possible completions:
deviceType Optical Intermediate Device Type
ncid NetworkConstruct NE Id A END
neName Optical Intermediate NE Display Name
sessionid Optical Intermediate Management Session Id
softwareVersion Optical Intermediate Software Version
state
typegroup Optical Intermediate Type Group
}
----------------------------------
admin@ncs(config-device-mcppsmod01)# live-status exec tsm otn-patch-fre
Possible completions:
freId operations
----------------------------------
admin@ncs(config-device-mcppsmod01)# live-status exec tsm otn-patch-fre operations {
Possible completions:
attributes
op operation type: replace
admin@ncs(config-device-mcppsmod01)# live-status exec tsm otn-patch-fre operations { attributes {
Possible completions:
customerName note tags }
admin@ncs(config-device-mcppsmod01)# live-status exec tsm otn-patch-fre operations { attributes { note {
Possible completions:
lastUpdatedBy lastUpdatedTime noteMsg }
admin@ncs(config-device-mcppsmod01)# live-status exec tsm otn-patch-fre operations { attributes { tags [
Possible completions:
string ]
admin@ncs(config-device-mcppsmod01)# live-status exec tsm otn-patch-fre operations { op ?
Description: operation type: replace
Possible completions:
<string>
----------------------------------
admin@ncs(config-device-mcppsmod01)# live-status exec tsm otn-delete-facility-params
Possible completions:
AIDValue Optical Intermediate FacilityType
equipment
facilityType Optical Intermediate FacilityType
query
----------------------------------
admin@ncs(config-device-mcppsmod01)# live-status exec tsm otn-delete-facility-params equipment {
Possible completions:
cardType Optical Intermediate Card Type
carrierEqptPecCode Optical Intermediate Carrier Eqpt Pec Code
carrierEqptType Optical Intermediate Carrier Eqpt Type
nativeName Optical Intermediate Native Name
ncid Optical Intermediate networkConstructs Ne Id
partNumber Optical Intermediate Part Number
shelf Optical Intermediate Shelf
slot Optical Intermediate Slot
subslot Optical Intermediate Sub Slot
}
----------------------------------
admin@ncs(config-device-mcppsmod01)# live-status exec tsm otn-delete-facility-params query {
Possible completions:
deviceType Optical Intermediate Device Type
ncid NetworkConstruct NE Id A END
neName Optical Intermediate NE Display Name
sessionid Optical Intermediate Management Session Id
softwareVersion Optical Intermediate Software Version
state
typegroup Optical Intermediate Type Group
}
22. Intermediate OTN Links (OTU P-Links) : live status commands END^
23. tsm manage-service-operations Manage service operations
admin@ncs(config-device-ciena-test)# live-status exec tsm manage-service-operations ?
Possible completions:
freId FRE Id of the service to be managed
interface Interface Operation to perform: promoteService | manageService
resourceId Resource Id of service to be managed
-----------------------------------------
### 23.1 Manage managedOperation Delete :
-----------------------------------------
PromoteService and managedOperation resource operations are asynchronous;
initial successful state will be 'requested'
then the $operationID must be polled for completion
===================================================
i.e.:
admin@ncs(config-device-ciena-test)# live-status exec tsm manage-service-operations interface manageService managedOperation Delete resourceId $resourceId softDeleteAllowed true freId $freId
result {
requestStatus passed
}
response {
operationId $operationID
state requested
}
=========================
managedOperation and softDeleteAllowed params are defaulted as specified so $freID and $resourceId are the only mandatory params if no other combination is needed:
=========================
admin@ncs(config-device-ciena-test)# live-status exec tsm manage-service-operations interface manageService freId $freId resourceId $resourceId
Possible completions:
managedOperation manageService: Operation to perform; default: Delete
softDeleteAllowed manageService: softDeleteAllowed param; default: true
<cr>
=========================
admin@ncs(config-device-ciena-test)# live-status exec tsm manage-service-operations interface manageService freId $freId resourceId $resourceId
result {
requestStatus passed
}
response {
operationId $operationId
state requested
}
-----------------------------------------
23.2 Manage promoteService operations:
-----------------------------------------
PromoteService and ManageService ops are asynchronous;
initial successful state will be 'requested'
then the $operationID must be polled for completion
promoteService requires only $freId and $resourceId input params
===================================================
i.e.:
admin@ncs(config-device-ciena-test)# live-status exec tsm manage-service-operations interface promoteService ?
Possible completions:
freId FRE Id of the service to be managed
resourceId Resource Id of service to be managed
=========================
admin@ncs(config-device-ciena-test)# live-status exec tsm manage-service-operations interface promoteService freId $freID resourceId $resourceId
result {
requestStatus passed
}
response {
operationId $operationId
state requested
}
-----------------------------------------
23.3 Get operationId status:
-----------------------------------------
To poll for operationId state, $operationID captured at 9.2 and 9.3 and $resourceId are needed:
===================================================
admin@ncs(config-device-ciena-test)# live-status exec tsm get-resource-operation-state operationId $operationID resourceId $resourceId
result {
requestStatus passed
}
response {
state successful
}
24. ALARMS
24.1) Get Alarms
-----------------------------------------
* Fetch either filtered, correlated or entire alarms output
-----------------------------------------
admin@ncs(config-device-ciena-test)# live-status exec tsm get-alarms
Possible completions:
alarm-type Define alarm type callback : filtered | correlated
Possible completions:
correlatedAlarmsByService filteredAlarms
filters Define alarm filters
offset
pageSize
sort Sort definition; i.e.: -last-raise-time
<cr>
-----------------------------------------
24.2) Get all filtered alarms
-----------------------------------------
admin@ncs(config-device-ciena-test)# live-status exec tsm get-alarms alarm-type filteredAlarms
-----------------------------------------
24.3) Get filtered alarm with custom filters:
-----------------------------------------
admin@ncs(config-device-ciena-test)# live-status exec tsm get-alarms alarm-type filteredAlarms filters {
Possible completions:
additionalText
allTime
deviceId
deviceName
deviceType
keytext
lastRaisedTime
lastRaisedTimeFrom
nativeConditionType
refinedRaisedTimeTo
severity
state
} Define alarm filters
i.e.:
admin@ncs(config-device-ciena-test)# live-status exec tsm get-alarms alarm-type filteredAlarms filters { deviceType $deviceType deviceName $deviceName allTime $allTime } sort -last-raise-time
etc.
-----------------------------------------
24.4) Correlated alarms by Service
!!! Requires $serviceId as mandatory input !!!
-----------------------------------------
admin@ncs(config-device-ciena-test)# live-status exec tsm get-alarms alarm-type correlatedAlarmsByService ?
Possible completions:
filters Define alarm filters
offset
pageSize
serviceId serviceId to get correlated alarms for
sort Sort definition; i.e.: -last-raise-time
<cr>
Filters can be added as needed as well for correlatedAlarms:
admin@ncs(config-device-ciena-test)# live-status exec tsm get-alarms alarm-type correlatedAlarmsByService serviceId $serviceId filters { deviceType 6500 deviceName $deviceName allTime $allTime } sort -last-raise-time
25. create-virtual-pLink Command to get Optical Details - serviceTopology for optical FRE Id
26. get-configmgmt-script-job Command to get Script Output job id
admin@ncs(config-device-netsim-0)# live-status exec tsm get-configmgmt-script-job ?
Possible completions:
jobId cliCutThrough JobId to fetch the output for
27. delete-configmgmt-script-job Command to get Script Output job id
admin@ncs(config-device-netsim-0)# live-status exec tsm delete-configmgmt-script-job ?
Possible completions:
jobId cliCutThrough JobId to delete the output for
28. get-configmgmt-scripts Command to GET config management scripts by type
admin@ncs(config-device-netsim-0)# live-status exec tsm get-configmgmt-scripts ?
Possible completions:
limit
offset
scriptType MANDATORY: Script type to fetch: customScripts or scriptProfiles
29. delete-configmgmt-scripts Command to GET config management scripts by type
admin@ncs(config-device-netsim-0)# live-status exec tsm delete-configmgmt-scripts ?
Possible completions:
id
scriptType MANDATORY: Script type to delete: customScripts or scriptProfile
30. get-fre-ccstatus Command to retrieve ccStatus (Continuity Check)
admin@ncs(config-device-netsim-0)# live-status exec tsm get-fre-ccstatus ?
Possible completions:
freId
31. delete-fres-expectations Command to delete FRES expectations for stuck in Scheduled state
admin@ncs(config-device-netsim-0)# live-status exec tsm delete-fres-expectations ?
Possible completions:
freExpectationsId FRE freExpectationsId;
freId FRE full id;
32. delete-tpe Command to delete TPEs using given tpe id
admin@ncs(config-device-netsim-0)# live-status exec tsm delete-tpe ?
Possible completions:
id Specify id to delete
33. get-equipment-information Command to get Equipment information
admin@ncs(config-device-netsim-0)# live-status exec tsm get-equipment-information query {
Possible completions:
deviceType Device Type
ncid NetworkConstruct NE Id A END
neName NE Display Name
resourceType NE Resource type
sessionid Management Session Id
softwareVersion Software Version
state State
typegroup Type Group
}
34. get-equipment-topology-planning Command to retrieve Available A-End ports for the rate selected
36. get-tpe-expectations Command to get TPE tpeExpectations using given tpeExpectations.serviceIntent.id
admin@ncs(config-device-netsim-0)# live-status exec tsm get-tpe-expectations ?
Possible completions:
limit Limit value
serviceIntentId Specify tpes tpeExpectations.serviceIntent.id to get
37. get-jobId-status-response Command to fetch the status and data available for a previously scheduled jobId
admin@ncs(config-device-netsim-0)# live-status exec tsm get-jobId-status-response ?
Possible completions:
jobId Scheduled jobId to fetch the status for
38. get-resource-operation-state Command to get Market Resources Service Operation state
admin@ncs(config-device-netsim-0)# live-status exec tsm get-resource-operation-state ?
Possible completions:
operationId Operation Id of the resource to get the state for
resourceId Resource Id of service to be get op state for
39. get-service-intent-facade-id Command to get relationships targetID by facadeId
admin@ncs(config-device-netsim-0)# live-status exec tsm get-service-intent-facade-id ?
Possible completions:
name MANDATORY: L2ServiceIntentFacade Name
resourceTypeId Optional; i.e.: ifd.v6.resourceTypes.L2ServiceIntentFacade
40. get-tdc-pageLoad Command to Run test enabling/disabling tdmLoopback
admin@ncs(config-device-netsim-0)# live-status exec tsm get-tdc-pageLoad ?
Possible completions:
freId includedInformation
41. get-test-pseudowire-result Command to test EPL service
admin@ncs(config-device-netsim-0)# live-status exec tsm get-test-pseudowire-result ?
Possible completions:
printRaw Set to true to print full raw Results from device
testId
42. manage-eline-attributes Command to retrieve Available A-End ports for the rate selected
admin@ncs(config-device-netsim-0)# live-status exec tsm manage-eline-attributes
Possible completions:
dry Dry run display - not touching the device
facadeName
freId
request GET or UPDATE fre info; UPDATE assumes attributes exists!
<cr>
43. sync-network-elements Command to get resync Network Elements
admin@ncs(config-device-netsim-0)# live-status exec tsm sync-network-elements ?
Possible completions:
networkConstructsMgtSessionId MANDATORY: Network Construct Management Session Id
44. test-lspOperations Command to run a E-Tree service test from root-to-leaf or leaf-to-root
admin@ncs(config-device-netsim-0)# live-status exec tsm test-lspOperations ?
Possible completions:
localTpeId
testParameters String value with Json Object syntax is expected!
type type ex: ping|traceroute
userAnnotation userAnnotation or <string>
45. test-tdmOperations Command to Run test enabling/disabling tdmLoopback
admin@ncs(config-device-netsim-0)# live-status exec tsm test-tdmOperations ?
Possible completions:
freId
localTpeId
printRaw Set to true to print full raw Results from device
testParameters {
Possible completions:
channel
mode ex: terminal
operation ex: enable, disable
type ex: port
}
type type ex: tdmLoopback
46. upload-script Command to upload custom script
admin@ncs(config-device-netsim-0)# live-status exec tsm upload-script
Possible completions:
description description
fullFilePath MANDATORY: Full canonical path to script file.
protocolType MANDATORY: protocol type
scriptName MANDATORY: Script name
typeGroup MANDATORY: type group
47. upload-script-profile Command to upload scriptProfiles
admin@ncs(config-device-netsim-0)# live-status exec tsm upload-script-profile
Possible completions:
fullFilePath MANDATORY: Full canonical path to script file.
profileName MANDATORY: Profile name
48. wavelength COLLECTION: Wavelength commands
48.1 get-adj-values Command to get Optical Details - serviceTopology for optical FRE Id
Command to resynchronize all components of a NcManagementSessionId
admin@ncs(config-device-netsim-0)# live-status exec tsm manage-lag resync-components
Possible completions:
managementSessionId Enter NcManagementSessionId
49.7 tsm manage-lag update-lag-entry
Command to Update LAG entry
admin@ncs(config-device-netsim-0)# live-status exec tsm manage-lag update-lag-entry
Possible completions:
deviceType NetworkConstruct.data.attributes.deviceType
eqptGrp NetworkConstruct.data.attributes.l2Data[0].eqptGrp
lagName Lag Name to UPDATE
ncid NetworkConstruct.id
neName NetworkConstruct.data.attributes.name
operation Select operation to perform; default <addports>
resourceType NetworkConstruct.data.attributes: ex.
sessionid NetworkConstruct.data.attributes.managementSession.data.id
shelf NetworkConstruct.data.attributes.l2Data[0].shelf
softwareVersion NetworkConstruct.data.attributes.softwareVersion
typegroup NetworkConstruct.data.attributes.typeGroup
value Build request body; Specify port values {
Possible completions:
primaryPorts Define primary ports to update
protectionPorts Define protection ports to update
}
49.8 tsm manage-lag show-all-ne-lags
Command to get all LAGs associated with any or the network element specified
admin@ncs(config-device-dummy-1)# live-status exec tsm manage-lag show-all-ne-lags ?
Possible completions:
networkElement Network Element name to show LAGs for
<cr>
networkElement is optional.
49.9 tsm manage-lag delete-interfacemanagement
Command to Delete LAG InterfaceManagement entry
admin@ncs(config-device-netsim-0)# live-status exec tsm manage-lag delete-interfacemanagement ?
Possible completions:
deviceType NetworkConstruct.data.attributes.deviceType
ncid NetworkConstruct.id
neName NetworkConstruct.data.attributes.name
resourceType NetworkConstruct.data.attributes: ex.
sessionid NetworkConstruct.data.attributes.managementSession.data.id
softwareVersion NetworkConstruct.data.attributes.softwareVersion
typegroup NetworkConstruct.data.attributes.typeGroup
value Enter Interface name to delete
49.10 tsm manage-lag execute-any-request
Generic command; execute any API callback, mentioning details
admin@ncs(config-device-netsim-0)# live-status exec tsm manage-lag execute-any-request
Possible completions:
baseURL Base URL: ex /api/v1/path
httpQuery Http Query params: ex param1=value¶m2=value
operation Select operation to perform; default <GET>
admin@ncs(config-device-netsim-0)# live-status exec tsm manage-lag execute-any-request operation
Possible completions:
DELETE Request DELETE
GET Request GET
POST Request POST
49.11 tsm manage-lag manage-virtualswitch-entry
Command to get or delete ethernetConnectivity VirtualSwitch values
admin@ncs(config-device-netsim-0)# live-status exec tsm manage-lag manage-virtualswitch-entry
Possible completions:
operation Select operation to perform; default: get
query Build http Query params
virtualSwitchName Enter specific VirtualSwitch Name to get or delete; if none specified, all VS are shown for get
<cr>
admin@ncs(config-device-netsim-0)# live-status exec tsm manage-lag manage-virtualswitch-entry operation
Possible completions:
delete DELETE specified VirtualSwitch entry
get GET all or specified VirtualSwitch entry/es
admin@ncs(config-device-netsim-0)# live-status exec tsm manage-lag manage-virtualswitch-entry query {
Possible completions:
deviceType NetworkConstruct.data.attributes.deviceType
ncid NetworkConstruct.id
neName NetworkConstruct.data.attributes.name
resourceType NetworkConstruct.data.attributes: 5142|5170|6500
sessionid NetworkConstruct.data.attributes.managementSession.data.id
softwareVersion NetworkConstruct.data.attributes.softwareVersion
typegroup NetworkConstruct.data.attributes.typeGroup
} Build http Query params
49.12 tsm manage-lag update-interfacemanagement
Command to Update LAG InterfaceManagement entry
admin@ncs(config-device-netsim-0)# live-status exec tsm manage-lag update-interfacemanagement
Possible completions:
deviceType NetworkConstruct.data.attributes.deviceType
ncid NetworkConstruct.id
neName NetworkConstruct.data.attributes.name
resourceType NetworkConstruct.data.attributes: 5142|5170|6500
sessionid NetworkConstruct.data.attributes.managementSession.data.id
softwareVersion NetworkConstruct.data.attributes.softwareVersion
typegroup NetworkConstruct.data.attributes.typeGroup
value Build request body
<cr>
Depending on the resource type, there will be multiple parameter variations:
Example : resourceType == 5142:
admin@ncs(config-device-netsim-0)# live-status exec tsm manage-lag update-interfacemanagement resourceType 5142 value {
Possible completions:
interfaceIfMtu [common] Define interfaceIfMtu: ex: 1500
interfaceIpForwarding [5142] Define interfaceIpForwarding: on|off
interfaceName [common] Define interfaceName
interfaceState [common][UPDATE] specify state to UPDATE to: disabled|enabled
interfaceSvlanPriority [common] Define interfaceSvlanPriority; ex: 7
ip [5142] Define interface Ip Addr: ex: 1.2.3.4
port [common] Define LAG port name; ex: <LAG_NAME-001>
subnetMaskLength [5142] Define subnetMaskLength: ex: 30
vlan [common] Define vlan
Example : resourceType == 5171:
admin@ncs(config-device-netsim-0)# live-status exec tsm manage-lag update-interfacemanagement resourceType 5171 value {
Possible completions:
interfaceIfMtu [common] Define interfaceIfMtu: ex: 1500
interfaceIpAddr [5171|6500] Define interface Ip Addr: ex: 1.2.3.4
interfaceName [common] Define interfaceName
interfaceState [common][UPDATE] specify state to UPDATE to: disabled|enabled
interfaceSvlanPriority [common] Define interfaceSvlanPriority; ex: 7
port [common] Define LAG port name; ex: <LAG_NAME-001>
subnetmask [6500|5171] Define subnetmask: ex: 30
vlan [common] Define vlan
Example : resourceType == 6500:
admin@ncs(config-device-netsim-0)# live-status exec tsm manage-lag update-interfacemanagement resourceType 6500 value {
Possible completions:
group [6500] Enter group|eqptGrp value
interfaceIfMtu [common] Define interfaceIfMtu: ex: 1500
interfaceIpAddr [5171|6500] Define interface Ip Addr: ex: 1.2.3.4
interfaceName [common] Define interfaceName
interfaceState [common][UPDATE] specify state to UPDATE to: disabled|enabled
interfaceSvlanPriority [common] Define interfaceSvlanPriority; ex: 7
port [common] Define LAG port name; ex: <LAG_NAME-001>
shelf [6500] Enter shelf value
subnetmask [6500|5171] Define subnetmask: ex: 30
vlan [common] Define vlan
vsName [6500] Define virtualSwitch Name
50. search-all-networkConstructs
Command to get all or filtered networkConstructs
admin@ncs(config-device-dummy-1)# live-status exec tsm search-all-networkConstructs
Possible completions:
include [Optional] include details; default : expectations,tpes,networkConstructs,utilization
limit [Optional] Enter limit; default : 200
networkConstructType [Optional] Enter networkConstructType; default: networkElement
searchFields [Optional] Enter search fields to search into; comma separated; default: data.attributes.displayData.displayName
searchText Enter full or partial networkElement name to search for; ex 6500
sortBy [Optional] Enter sortBy filter; default: data.attributes.displayData.displayName
51. search-tunnel-endpoints
Command to get Optical Details - serviceTopology for optical FRE Id
admin@ncs(config-device-dummy-1)# live-status exec tsm search-tunnel-endpoints
Possible completions:
include [Optional] include details; default : expectations,tpes,networkConstructs,utilization
limit [Optional] Enter limit; default : 200
resilienceLevel [Optional] Enter resilienceLevel; default : protected
searchFields [Optional] Enter search fields to search into; comma separated; ex: data.attributes.userLabel
searchText Enter full MPLS tunnel name to search for
serviceClass [Optional] Enter serviceClass; default : LAG,LLDP,Ethernet,Tunnel
52. update-ethernet-port-state
Command to update Ethernet port state to disabled or enabled
admin@ncs(config-device-netsim-0)# live-status exec tsm update-ethernet-port-state
Possible completions:
linkState Choose state to update port to
port Enter actual port value; ex: 22 | 24/10
query
admin@ncs(config-device-netsim-0)# live-status exec tsm update-ethernet-port-state linkState
Possible completions:
Disabled Enabled
admin@ncs(config-device-netsim-0)# live-status exec tsm update-ethernet-port-state query {
Possible completions:
deviceType NetworkConstruct.data.attributes.deviceType
ncid NetworkConstruct NE Id A END
neName NetworkConstruct.data.attributes.deviceType
portType Enter portType; ex: 10Gig
resourceType NetworkConstruct.data.attributes: ex.
sessionid NC Management Session Id
softwareVersion NC Software Version
typegroup NC Type Group
6. Built in live-status show
NONE
7. Limitations
BSM mode : Show Partial - partial-sync-from
-> NED V 1.8.9 onwards
To synchronize only a single list entry or a single list under the BSM specific configuration one can now use show partial command
BSM_SHOW_PARTIAL_1: Partial sync-from an entire list; i.e. config/services/l2Service list:
Requests like the ones above, either generated by NSO or by the end-user, will automatically generate at NED level a search up the tree for the first node that can be fetched using a device REST API available.
Taking the above two examples, finest search level is on the top list entry, i.e. l2Service{l2Service-Name} level, so requesting anything beneath that level, will result in a search on the $l2Service-Name resource at the MSDO level.
8. How to report NED issues and feature requests
Issues like bugs and errors shall always be reported to the Cisco NSO NED team through
the Cisco Support channel:
The following information is required for the Cisco NSO NED team to be able
to investigate an issue:
- A detailed recipe with steps to reproduce the issue.
- A raw trace file generated when the issue is reproduced.
- Access to a device where the issue can be reproduced by the Cisco NSO NED team.
This typically means both read and write permissions are required.
Pseudo access via tools like Webex, Zoom etc is not acceptable.
However, it is ok with device access through VPNs, jump servers etc though.
Do as follows to gather the necessary information needed for your device, here named 'dev-1':
Reproduce the found issue using ncs_cli or your NSO service.
Write down each necessary step in a reproduction report.
Gather the reproduction report and a copy of the raw trace file
containing data recorded when the issue happened.
Contact the Cisco support and request to open a case. Provide the gathered files
together with access details for a device that can be used by the
Cisco NSO NED when investigating the issue.
Requests for new features and extensions of the NED are handled by the Cisco NSO NED team when
applicable. Such requests shall also go through the Cisco support channel.
The following information is required for feature requests and extensions:
A detailed use case description, with details like:
Data of interest
The kind of operations to be used on the data. Like: 'read', 'create', 'update', 'delete'
and the order of the operation
Device APIs involved in the operations (For example: REST URLs and payloads)
Device documentation describing the operations involved
Run sync-from # devices device dev-1 sync-from (if relevant)
Attach the raw trace to the ticket (if relevant)
Access to a device that can be used by the Cisco NSO NED team for testing and verification
of the new feature. This usually means that both read and write permissions are required.
Pseudo access via tools like Webex, Zoom etc is not acceptable. However, it is ok with access
through VPNs, jump servers etc.
9. How to rebuild a NED
To rebuild the NED do as follows:
> cd $NED_ROOT_DIR/src
> make clean all
When the NED has been successfully rebuilt, it is necessary to reload the package into NSO.