### Install TransportPCE Feature Source: https://docs.opendaylight.org/projects/transportpce/en/latest/user-guide.html Install the core TransportPCE service feature in Karaf. ```bash feature:install odl-transportpce ``` -------------------------------- ### Install TransportPCE Dmaap Client Source: https://docs.opendaylight.org/projects/transportpce/en/latest/_sources/user-guide.rst.txt Install the odl-transportpce-dmaap-client feature in Karaf after setting up Dmaap connection details. ```bash feature:install odl-transportpce-dmaap-client ``` -------------------------------- ### Install Pre-commit Hooks with Tox Source: https://docs.opendaylight.org/projects/transportpce/en/latest/_sources/tox-guide.rst.txt Use this command to install pre-commit hooks within a Tox environment. ```bash $ tox -e pre-commit-install ``` -------------------------------- ### Install TransportPCE DMAAP Client Feature Source: https://docs.opendaylight.org/projects/transportpce/en/latest/user-guide.html Install the TransportPCE feature for DMAAP client support. ```bash feature:install odl-transportpce-dmaap-client ``` -------------------------------- ### Install pre-commit Git hooks with tox Source: https://docs.opendaylight.org/projects/transportpce/en/latest/_sources/tox-guide.rst.txt Uses the 'pre-commit-install' tox profile to install or uninstall the corresponding Git hooks. ```bash tox -e pre-commit-install ``` -------------------------------- ### Install TransportPCE NBI-Notifications Source: https://docs.opendaylight.org/projects/transportpce/en/latest/_sources/user-guide.rst.txt Install the odl-transportpce-nbinotifications feature in Karaf after ensuring ZooKeeper and Kafka server are running and configured. ```bash feature:install odl-transportpce-nbinotifications ``` -------------------------------- ### Install tox on Debian-based systems Source: https://docs.opendaylight.org/projects/transportpce/en/latest/_sources/tox-guide.rst.txt Installs the tox package using apt-get on Debian-based Linux distributions. ```bash sudo apt-get install tox ``` -------------------------------- ### Install TransportPCE NBI-Notifications Feature Source: https://docs.opendaylight.org/projects/transportpce/en/latest/user-guide.html Install the TransportPCE feature for NBI-notifications support. Ensure ZooKeeper and Kafka are running beforehand. ```bash feature:install odl-transportpce-nbinotifications ``` -------------------------------- ### Install TransportPCE TAPI Feature Source: https://docs.opendaylight.org/projects/transportpce/en/latest/user-guide.html Install the TransportPCE feature with limited TAPI support. ```bash feature:install odl-transportpce-tapi ``` -------------------------------- ### Run Hybrid Tests with Subsequent Simulators Source: https://docs.opendaylight.org/projects/transportpce/en/latest/_sources/tox-guide.rst.txt After initial setup, run hybrid tests by specifying only the required simulator profiles and the hybrid test profile. ```bash $ tox -e sims221,sims71,tests_hybrid ``` -------------------------------- ### Install TransportPCE Feature Source: https://docs.opendaylight.org/projects/transportpce/en/latest/_sources/user-guide.rst.txt Installs the main TransportPCE feature, providing all its supported functions. This is the primary feature to install for TransportPCE functionality. ```bash feature:install odl-transportpce ``` -------------------------------- ### Install TransportPCE Inventory Connector Source: https://docs.opendaylight.org/projects/transportpce/en/latest/_sources/user-guide.rst.txt Install the odl-transportpce-inventory feature if you need inventory external connector support limited to 1.2.1 OpenROADM devices. ```bash feature:install odl-transportpce-inventory ``` -------------------------------- ### Install tox on Red Hat-based systems Source: https://docs.opendaylight.org/projects/transportpce/en/latest/_sources/tox-guide.rst.txt Installs the tox package using yum on Red Hat-based Linux distributions. ```bash sudo yum install python-tox ``` -------------------------------- ### Install TransportPCE Inventory Feature Source: https://docs.opendaylight.org/projects/transportpce/en/latest/user-guide.html Install the TransportPCE feature with inventory external connector support for 1.2.1 OpenROADM devices. ```bash feature:install odl-transportpce-inventory ``` -------------------------------- ### Increase Karaf Heap Memory Source: https://docs.opendaylight.org/projects/transportpce/en/latest/user-guide.html Increase Karaf's heap memory size to resolve potential memory issues when installing TAPI features. Set JAVA_MIN_MEM and JAVA_MAX_MEM before starting Karaf. ```bash export JAVA_MIN_MEM=1024M export JAVA_MAX_MEM=4069M ``` -------------------------------- ### Launch Tests with Custom Test Runner and Build Source: https://docs.opendaylight.org/projects/transportpce/en/latest/_sources/tox-guide.rst.txt Execute tests using 'nosetests' and specify the use of the 'lighty.io' controller build by setting environment variables. ```bash $ export LAUNCHER="nosetests" $ export USE_LIGHTY="True" $ ./launch_tests.sh 7.1 ``` -------------------------------- ### Run Multiple Tox Profiles with Karaf Builds Source: https://docs.opendaylight.org/projects/transportpce/en/latest/_sources/tox-guide.rst.txt Build the controller, configure Karaf for alternate builds, download simulators, and run functional tests for OpenROADM 1.2.1. ```bash $ tox -e buildcontroller,build_karaf_tests121,sims121,tests121 ``` -------------------------------- ### Generate HTML documentation with tox Source: https://docs.opendaylight.org/projects/transportpce/en/latest/_sources/tox-guide.rst.txt Runs the 'docs' tox profile to generate the project's HTML documentation from RST sources. ```bash tox -e docs ``` -------------------------------- ### Launch Tests with launch_tests.sh Source: https://docs.opendaylight.org/projects/transportpce/en/latest/_sources/tox-guide.rst.txt Execute all tests in the 'tests/transportpce_tests/pce' directory using the launch_tests.sh script with 'nose'. ```bash $ ./launch_tests.sh pce ``` -------------------------------- ### Launch Multiple Specific Tests with launch_tests.sh Source: https://docs.opendaylight.org/projects/transportpce/en/latest/tox-guide.html Execute multiple specific tests, 'portmapping' and 'topology', for OpenROADM version 1.2.1 using launch_tests.sh. ```bash $ ./launch_tests.sh 1.2.1 portmapping topology ``` -------------------------------- ### Initialize ROADM-to-ROADM Links Source: https://docs.opendaylight.org/projects/transportpce/en/latest/developer-guide.html Use this RPC to manually add ROADM-to-ROADM links to the optical network topology when it is incomplete. Ensure Logical Connection Points are correctly identified from the portMapping function. ```JSON { "input": { "rdm-a-node": "", "deg-a-num": "", "termination-point-a": "", "rdm-z-node": "", "deg-z-num": "", "termination-point-z": "" } } ``` -------------------------------- ### Run Multiple Tox Profiles Sequentially Source: https://docs.opendaylight.org/projects/transportpce/en/latest/_sources/tox-guide.rst.txt Build the controller, download simulators, and run functional tests for OpenROADM 1.2.1 by specifying dependent Tox profiles. ```bash $ tox -e buildcontroller,sims121,tests121 ``` -------------------------------- ### Get T0 - Multi-layer topology details Source: https://docs.opendaylight.org/projects/transportpce/en/latest/developer-guide.html Builds the TAPI T0 - Multi-layer topology abstraction. Use this to get a comprehensive view of the network's multi-layer topology. ```json { "tapi-topology:input": { "tapi-topology:topology-id-or-name": "T0 - Multi-layer topology" } } ``` -------------------------------- ### Run Hybrid Tests with Karaf and Subsequent Simulators Source: https://docs.opendaylight.org/projects/transportpce/en/latest/_sources/tox-guide.rst.txt Run hybrid tests using Karaf alternate builds, specifying the Karaf build profile, simulator profiles, and the hybrid test profile. ```bash $ tox -e build_karaf_tests_hybrid,sims221,sims71,tests_hybrid ``` -------------------------------- ### Install TransportPCE TAPI Feature Source: https://docs.opendaylight.org/projects/transportpce/en/latest/_sources/user-guide.rst.txt Installs the TransportPCE feature with limited TAPI version 2.1.1 Northbound interface support. Consider increasing Karaf heap memory if you encounter issues. ```bash feature:install odl-transportpce-tapi ``` -------------------------------- ### Get Notification Subscription Service Details Source: https://docs.opendaylight.org/projects/transportpce/en/latest/developer-guide.html Retrieves the details of a specific notification subscription service. ```APIDOC ## GET /rests/operations/tapi-notification:get-notification-subscription-service-details ### Description Retrieves the detailed information about a specific notification subscription service. ### Method GET ### Endpoint /rests/operations/tapi-notification:get-notification-subscription-service-details ### Parameters (No specific parameters are documented in the source for this operation. It is implied that a subscription identifier is used.) ### Request Example (No specific request body or path parameters provided in the source) ### Response #### Success Response (200) (No specific response details provided in the source) #### Response Example (No specific response body example provided in the source) ``` -------------------------------- ### Configure External Inventory Database in settings.xml Source: https://docs.opendaylight.org/projects/transportpce/en/latest/developer-guide.html This snippet shows how to configure connection properties for an external inventory database within the settings.xml file for OpenDaylight release and snapshot profiles. ```xml opendaylight-release <>:3306 <> <> <> odl-transportpce-inventory opendaylight-snapshots <>:3306 <> <> <> odl-transportpce-inventory ``` -------------------------------- ### Get Notification Subscription Service List Source: https://docs.opendaylight.org/projects/transportpce/en/latest/developer-guide.html Retrieves a list of all currently active notification subscription services. ```APIDOC ## GET /rests/operations/tapi-notification:get-notification-subscription-service-list ### Description Retrieves a list of all currently active notification subscription services managed by the T-API Notification Service. ### Method GET ### Endpoint /rests/operations/tapi-notification:get-notification-subscription-service-list ### Parameters This endpoint does not have explicit parameters documented in the source. ### Request Example (No specific request body example provided in the source) ### Response #### Success Response (200) (No specific response details provided in the source) #### Response Example (No specific response body example provided in the source) ``` -------------------------------- ### Get Notification List Source: https://docs.opendaylight.org/projects/transportpce/en/latest/developer-guide.html Retrieves tapi connectivity service notifications stored in the Kafka server for a given subscription. ```APIDOC ## POST /rests/operations/tapi-notification:get-notification-list ### Description Retrieves tapi connectivity service notifications that are stored in the Kafka server for a specified subscription. ### Method POST ### Endpoint /rests/operations/tapi-notification:get-notification-list ### Parameters #### Request Body - **tapi-notification:input** (object) - Required - Input for retrieving the notification list. - **tapi-notification:subscription-id-or-name** (string) - Required - The UUID or name of the notification subscription. - **tapi-notification:time-period** (string) - Required - The time period for which to retrieve notifications. ### Request Example ```json { "tapi-notification:input": { "tapi-notification:subscription-id-or-name": "", "tapi-notification:time-period": "time-period" } } ``` ### Response #### Success Response (200) (No specific response details provided in the source, but it returns tapi notifications) #### Response Example (No specific response body example provided in the source) ``` -------------------------------- ### T-API Topology Service - Get Topology Details Source: https://docs.opendaylight.org/projects/transportpce/en/latest/developer-guide.html Builds the TAPI topology abstraction (e.g., T0 - Multi-layer topology, Transponder 100GE, T0 - Full Multi-layer topology) based on the current state of OpenDaylight datastores. ```APIDOC ## POST /rests/operations/tapi-topology:get-topology-details ### Description Builds the TAPI topology abstraction with regard to the current state of _openroadm-topology_ and _otn-topology_ topologies stored in OpenDaylight datastores. ### Method POST ### Endpoint /rests/operations/tapi-topology:get-topology-details ### Parameters #### Query Parameters - **tapi-topology:topology-id-or-name** (string) - Required - The name or ID of the topology to retrieve. ### Request Example ```json { "tapi-topology:input": { "tapi-topology:topology-id-or-name": "T0 - Multi-layer topology" } } ``` ### Response #### Success Response (200) - **topologyDetails** (object) - The TAPI topology abstraction details. ``` -------------------------------- ### Run Portmapping Tests for All OpenROADM Versions Source: https://docs.opendaylight.org/projects/transportpce/en/latest/_sources/tox-guide.rst.txt Tests the portmapping behavior for all supported OpenROADM device versions by specifying multiple tox environments. ```bash $ tox -e tests121,tests221,tests71 portmapping ``` -------------------------------- ### Get Link Details Source: https://docs.opendaylight.org/projects/transportpce/en/latest/_sources/developer-guide.rst.txt Retrieves information about a specific T-API link from the Topology Context. The link can be identified by its UUID or name. ```APIDOC ## POST /rests/operations/tapi-topology:get-link-details ### Description This request returns the information, stored in the Topology Context, of the corresponding T-API link. The user can provide, either the Uuid associated to the attribute or its name. ### Method POST ### Endpoint /rests/operations/tapi-topology:get-link-details ### Parameters #### Request Body - **tapi-topology:input** (object) - Required - Input parameters for the get-link-details operation. - **tapi-topology:topology-id-or-name** (string) - Required - The ID or name of the topology. - **tapi-topology:link-id-or-name** (string) - Required - The ID or name of the link. ### Request Example ```json { "tapi-topology:input": { "tapi-topology:topology-id-or-name": "T0 - Full Multi-layer topology", "tapi-topology:link-id-or-name": "ROADM-C1-DEG1-DEG1-TTP-TXRXtoROADM-A1-DEG2-DEG2-TTP-TXRX" } } ``` ### Response #### Success Response (200) - **tapi-topology:output** (object) - Output containing link details. ``` -------------------------------- ### Get Node Details Source: https://docs.opendaylight.org/projects/transportpce/en/latest/_sources/developer-guide.rst.txt Retrieves information about a specific T-API node from the Topology Context. The node can be identified by its UUID or name. ```APIDOC ## POST /rests/operations/tapi-topology:get-node-details ### Description This request returns the information, stored in the Topology Context, of the corresponding T-API node. The user can provide, either the Uuid associated to the attribute or its name. ### Method POST ### Endpoint /rests/operations/tapi-topology:get-node-details ### Parameters #### Request Body - **tapi-topology:input** (object) - Required - Input parameters for the get-node-details operation. - **tapi-topology:topology-id-or-name** (string) - Required - The ID or name of the topology. - **tapi-topology:node-id-or-name** (string) - Required - The ID or name of the node. ### Request Example ```json { "tapi-topology:input": { "tapi-topology:topology-id-or-name": "T0 - Full Multi-layer topology", "tapi-topology:node-id-or-name": "ROADM-A1+PHOTONIC_MEDIA" } } ``` ### Response #### Success Response (200) - **tapi-topology:output** (object) - Output containing node details. ``` -------------------------------- ### Discover Node Configuration Source: https://docs.opendaylight.org/projects/transportpce/en/latest/_sources/developer-guide.rst.txt Initiates the discovery of a node's configuration datastore and creates Logical Connection Points for physical ports. Analyzes circuit-packs within the node configuration. ```APIDOC ## GET /rests/data/transportpce-portmapping:network ### Description This endpoint triggers the discovery of the node's configuration and identifies Logical Connection Points (LCPs) for transmission ports. It analyzes circuit-packs to support ROADM and Xponder devices. ### Method GET ### Endpoint /rests/data/transportpce-portmapping:network ### Response #### Success Response (200) - **Logical Connection Points** (object) - Details about created LCPs, such as DEG, SRG, XPDR-CLIENT, and XPDR-NETWORK types, depending on the node type (RDAM or XPDR). ``` -------------------------------- ### Set Java Memory for Karaf Source: https://docs.opendaylight.org/projects/transportpce/en/latest/_sources/user-guide.rst.txt Modify environment variables to set minimum and maximum Java memory before starting Karaf. ```bash export JAVA_MIN_MEM=1024M export JAVA_MAX_MEM=4069M ```