### Start Karaf Console Source: https://github.com/opendaylight/transportpce/blob/master/debug_tools/README.openconfig_hijackingproxy.txt Starts the Karaf OSGi console, which is the command-line interface for OpenDaylight. ```bash ./karaf/target/assembly/bin/karaf ``` -------------------------------- ### Install System Dependencies Source: https://github.com/opendaylight/transportpce/blob/master/tests/Xtesting/INSTALL.txt Installs essential packages like git, sudo, and creates a new user for the project. ```bash # apt-get install git sudo # adduser opnfv # adduser opnfv sudo # su - opnfv ``` -------------------------------- ### Install Project Dependencies with Ansible Source: https://github.com/opendaylight/transportpce/blob/master/tests/Xtesting/INSTALL.txt Installs Ansible and its required roles, then runs the main playbook. ```bash pip install ansible ansible-galaxy install -r requirements.yml ansible-playbook site.yml deactivate ``` -------------------------------- ### Install TransportPCE DMAAP Client Feature Source: https://github.com/opendaylight/transportpce/blob/master/docs/user-guide.rst Install the odl-transportpce-dmaap-client feature in Karaf after configuring DMAAP. ```bash feature:install odl-transportpce-dmaap-client ``` -------------------------------- ### Install TransportPCE NBI-Notifications Feature Source: https://github.com/opendaylight/transportpce/blob/master/docs/user-guide.rst Install the odl-transportpce-nbinotifications feature in Karaf after ensuring ZooKeeper and Kafka are running and configured. ```bash feature:install odl-transportpce-nbinotifications ``` -------------------------------- ### Install pre-commit Git hooks with tox Source: https://github.com/opendaylight/transportpce/blob/master/docs/tox-guide.rst Installs the Git hooks managed by pre-commit using the 'pre-commit-install' tox profile. ```bash $ tox -e pre-commit-install ``` -------------------------------- ### Run Lighty-TransportPCE Controller Source: https://github.com/opendaylight/transportpce/blob/master/lighty/README.neon.md Extracts the binary package and starts the TransportPCE controller. Navigate to the extracted directory before running the start script. ```bash cd target unzip lighty-transportpce-10.0.1-SNAPSHOT-bin.zip cd lighty-transportpce-10.0.1-SNAPSHOT ./start-controller.sh ``` -------------------------------- ### Install TransportPCE Service Source: https://github.com/opendaylight/transportpce/blob/master/docs/user-guide.rst Installs the main TransportPCE feature. This provides all core functionalities of the project. ```bash feature:install odl-transportpce ``` -------------------------------- ### Install tox on Debian-based systems Source: https://github.com/opendaylight/transportpce/blob/master/docs/tox-guide.rst Installs the tox package using apt-get on Debian-based Linux distributions. ```bash $ sudo apt-get install tox ``` -------------------------------- ### Run Lighty-TransportPCE Controller Source: https://github.com/opendaylight/transportpce/blob/master/lighty/README.md Extracts the binary package and starts the TransportPCE controller. Navigate to the 'target' directory after the build is complete. ```bash cd target unzip tpce-bin.zip cd tpce ./start-controller.sh ``` -------------------------------- ### Clone and Setup TransportPCE Source: https://github.com/opendaylight/transportpce/blob/master/lighty/README.md Clones the transportpce repository and sets up the commit-msg hook for Gerrit. Ensure you have JDK11+ and Maven 3.5.2+ installed. ```bash git clone https://git.opendaylight.org/gerrit/transportpce && (cd transportpce && curl -kLo `git rev-parse --git-dir`/hooks/commit-msg https://git.opendaylight.org/gerrit/tools/hooks/commit-msg; chmod +x `git rev-parse --git-dir`/hooks/commit-msg) cd transportpce ``` -------------------------------- ### Run Hybrid Tests After Setup Source: https://github.com/opendaylight/transportpce/blob/master/docs/tox-guide.rst Launches hybrid functional tests after setting up simulators for versions 2.2.1 and 7.1. ```bash $ tox -e sims221,sims71,tests_hybrid ``` -------------------------------- ### Install TransportPCE with TAPI Support Source: https://github.com/opendaylight/transportpce/blob/master/docs/user-guide.rst Installs the TransportPCE feature along with limited support for the TAPI version 2.1.1 Northbound interface. May require increasing Karaf heap memory. ```bash feature:install odl-transportpce-tapi ``` -------------------------------- ### Run Hybrid Tests with Karaf Builds After Setup Source: https://github.com/opendaylight/transportpce/blob/master/docs/tox-guide.rst Launches hybrid functional tests using karaf alternate builds after setting up simulators for versions 2.2.1 and 7.1. ```bash $ tox -e build_karaf_tests_hybrid,sims221,sims71,tests_hybrid ``` -------------------------------- ### Install tox on Red Hat-based systems Source: https://github.com/opendaylight/transportpce/blob/master/docs/tox-guide.rst Installs the tox package using yum on Red Hat-based Linux distributions. ```bash $ sudo yum install python-tox ``` -------------------------------- ### Clone and Build Lighty-Core Source: https://github.com/opendaylight/transportpce/blob/master/lighty/README.md Clones the lighty-core repository, checks out the master branch, and compiles it locally. Ensure you have JDK11+ and Maven 3.5.2+ installed. ```bash git clone https://github.com/PantheonTechnologies/lighty-core.git cd lighty-core git checkout master mvn clean install -DskipTests -Dmaven.javadoc.skip=true ``` -------------------------------- ### Get Topology Details Source: https://github.com/opendaylight/transportpce/blob/master/docs/developer-guide.rst Builds TAPI topology abstractions (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 This request builds TAPI topology abstractions based on 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) - The response will contain the TAPI topology abstraction in the specified format. #### Response Example (Response structure depends on the topology requested) ``` -------------------------------- ### Install TransportPCE Inventory Feature Source: https://github.com/opendaylight/transportpce/blob/master/docs/user-guide.rst Install the odl-transportpce-inventory feature if you require inventory external connector support limited to 1.2.1 OpenROADM devices. ```bash feature:install odl-transportpce-inventory ``` -------------------------------- ### Add Network Topology Node (Node 1) Source: https://github.com/opendaylight/transportpce/blob/master/debug_tools/README.openconfig_hijackingproxy.txt Uses curl to add a network topology node to OpenDaylight via its REST API. This example configures a node for an OpenConfig device using the hijacking proxy. ```bash curl -X PUT http://admin:admin@localhost:8181/rests/data/network-topology:network-topology/topology=topology-netconf/node=nodeopenconfig1 ``` ```bash curl -X POST http://admin:admin@localhost:8181/rests/data/network-topology:network-topology/topology=topology-netconf -H 'Content-type: application/json' -d'{ "node": [ { "node-id": "nodeopenconfig1", "netconf-node-topology:port": 830, "netconf-node-topology:reconnect-on-changed-schema": false, "netconf-node-topology:connection-timeout-millis": 20000, "netconf-node-topology:tcp-only": false, "netconf-node-topology:max-connection-attempts": 0, "netconf-node-topology:login-password-unencrypted": { "netconf-node-topology:username": "proxy_netconf", "netconf-node-topology:password": "passwd0" }, "netconf-node-topology:host": "127.0.0.1", "netconf-node-topology:min-backoff-millis": 2000, "netconf-node-topology:max-backoff-millis": 1800000, "netconf-node-topology:backoff-multiplier": 1.5, "netconf-node-topology:keepalive-delay": 120 } ] }' ``` -------------------------------- ### Add Network Topology Node (Node 2) Source: https://github.com/opendaylight/transportpce/blob/master/debug_tools/README.openconfig_hijackingproxy.txt Uses curl to add a second network topology node to OpenDaylight via its REST API. This example configures another node for an OpenConfig device, similar to the first node but with a different node-id. ```bash curl -X PUT http://admin:admin@localhost:8181/rests/data/network-topology:network-topology/topology=topology-netconf/node=nodeopenconfig2 ``` ```bash curl -X POST http://admin:admin@localhost:8181/rests/data/network-topology:network-topology/topology=topology-netconf -H 'Content-type: application/json' -d'{ "node": [ { "node-id": "nodeopenconfig2", "netconf-node-topology:port": 831, "netconf-node-topology:reconnect-on-changed-schema": false, "netconf-node-topology:connection-timeout-millis": 20000, "netconf-node-topology:tcp-only": false, "netconf-node-topology:max-connection-attempts": 0, "netconf-node-topology:login-password-unencrypted": { "netconf-node-topology:username": "proxy_netconf", "netconf-node-topology:password": "passwd0" }, "netconf-node-topology:host": "127.0.0.1", "netconf-node-topology:min-backoff-millis": 2000, "netconf-node-topology:max-backoff-millis": 1800000, "netconf-node-topology:backoff-multiplier": 1.5, "netconf-node-topology:keepalive-delay": 120 } ] }' ``` -------------------------------- ### Set Up Virtual Environment Source: https://github.com/opendaylight/transportpce/blob/master/tests/Xtesting/INSTALL.txt Creates and activates a Python virtual environment for project dependencies. ```bash sudo apt-get install virtualenv virtualenv xtesting -p python3 --system-site-packages . xtesting/bin/activate ``` -------------------------------- ### Run OpenConfig Hijacking Proxy Source: https://github.com/opendaylight/transportpce/blob/master/debug_tools/README.openconfig_hijackingproxy.txt Launches the proxy script with device credentials and IP address. Ensure OpenDaylight Karaf is running in another terminal. ```bash ./debug_tools/openconfig_hijackingproxy.pl login1:passwd1@ipaddress1 ``` -------------------------------- ### Launch Hijacking Proxy Instance Source: https://github.com/opendaylight/transportpce/blob/master/debug_tools/README.openconfig_hijackingproxy.txt Launches an instance of the openconfig_hijackingproxy.pl script. Specify login credentials and IP address for the target device. ```bash ./openconfig_hijackingproxy.pl login1:passwd1@ipaddress1 ``` -------------------------------- ### Build and Run Docker Image Source: https://github.com/opendaylight/transportpce/blob/master/tests/Xtesting/INSTALL.txt Builds a Docker image for TransportPCE, runs a local registry, and pushes the image. ```bash sudo docker build -t 127.0.0.1:5000/tpce0 . sudo docker run -d -p 5000:5000 --restart=always --name registry registry:2 sudo docker push 127.0.0.1:5000/tpce0 ``` -------------------------------- ### Set Custom Launcher and Use Lighty Source: https://github.com/opendaylight/transportpce/blob/master/docs/tox-guide.rst Sets the LAUNCHER to 'nosetests' and USE_LIGHTY to 'True', then runs tests for version 7.1. ```bash $ export LAUNCHER="nosetests" $ export USE_LIGHTY="True" $ ./launch_tests.sh 7.1 ``` -------------------------------- ### Get Link Details Source: https://github.com/opendaylight/transportpce/blob/master/docs/developer-guide.rst Retrieves information about a specific T-API link from the Topology Context, 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 #### Query Parameters - **tapi-topology:topology-id-or-name** (string) - Required - The name or ID of the topology context. - **tapi-topology:link-id-or-name** (string) - Required - The name or UUID 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) - The response will contain the details of the specified T-API link. #### Response Example (Response structure depends on the link details) ``` -------------------------------- ### Get Node Details Source: https://github.com/opendaylight/transportpce/blob/master/docs/developer-guide.rst Retrieves information about a specific T-API node from the Topology Context, 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 #### Query Parameters - **tapi-topology:topology-id-or-name** (string) - Required - The name or ID of the topology context. - **tapi-topology:node-id-or-name** (string) - Required - The name or UUID 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) - The response will contain the details of the specified T-API node. #### Response Example (Response structure depends on the node details) ``` -------------------------------- ### Set Custom Launcher and Run Tests Source: https://github.com/opendaylight/transportpce/blob/master/docs/tox-guide.rst Sets the LAUNCHER environment variable to 'python3' and then runs tests for version 2.2.1 using the launch_tests.sh script. ```bash $ export LAUNCHER="python3" $ ./launch_tests.sh 2.2.1 ``` -------------------------------- ### Generate HTML documentation with tox Source: https://github.com/opendaylight/transportpce/blob/master/docs/tox-guide.rst Runs the 'docs' tox profile to generate the project's HTML documentation from RST sources. ```bash $ tox -e docs ``` -------------------------------- ### Get Optical Network Topology Source: https://github.com/opendaylight/transportpce/blob/master/docs/developer-guide.rst Retrieves the current state of the optical network topology, which is typically automatically created by transportPCE. ```APIDOC ## GET /rests/data/ietf-network:networks/network=openroadm-topology ### Description Retrieves the optical network topology. This topology is usually auto-generated by transportPCE but may need manual verification or augmentation. ### Method GET ### Endpoint /rests/data/ietf-network:networks/network=openroadm-topology ``` -------------------------------- ### Run Tests with Python3 Source: https://github.com/opendaylight/transportpce/blob/master/docs/tox-guide.rst Executes tests for version 2.2.1 using python3, as specified by the LAUNCHER environment variable. ```bash $ python3 transportpce_tests/2.2.1/test01_portmapping.py ``` -------------------------------- ### Set Java Memory Limits Source: https://github.com/opendaylight/transportpce/blob/master/docs/user-guide.rst Modify JAVA_MIN_MEM and JAVA_MAX_MEM environment variables before starting Karaf to adjust Java memory allocation. ```bash export JAVA_MIN_MEM=1024M export JAVA_MAX_MEM=4069M ``` -------------------------------- ### Get Supported Notification Types Source: https://github.com/opendaylight/transportpce/blob/master/docs/developer-guide.rst Retrieves the types of notifications supported by the T-API Notification Service. This includes the types of notifications and associated object types. ```APIDOC ## POST /rests/operations/tapi-notification:get-supported-notification-types ### Description Returns a list of supported notification types and their corresponding object types from the T-API Notification Service. ### Method POST ### Endpoint /rests/operations/tapi-notification:get-supported-notification-types ### Parameters (No specific input parameters are detailed in the source for this RPC) ### Request Example (No request example provided in source) ### Response #### Success Response - The response body will include the type of notifications supported and the object types. #### Response Example (Response example not provided in source) ``` -------------------------------- ### Launch Hijacking Proxy Instance on Custom Port Source: https://github.com/opendaylight/transportpce/blob/master/debug_tools/README.openconfig_hijackingproxy.txt Launches an instance of the openconfig_hijackingproxy.pl script on a specified port. Useful for running multiple proxy instances. ```bash ./openconfig_hijackingproxy.pl -p 9001 login2:passwd2@ipaddress2 ``` -------------------------------- ### Get Link Details from Topology Context Source: https://github.com/opendaylight/transportpce/blob/master/docs/developer-guide.rst This request returns information about a specific T-API link from the Topology Context. You can identify the link by its UUID or name. ```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" } } ``` -------------------------------- ### Get Node Details from Topology Context Source: https://github.com/opendaylight/transportpce/blob/master/docs/developer-guide.rst This request returns information about a specific T-API node from the Topology Context. You can identify the node by its UUID or name. ```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" } } ``` -------------------------------- ### Get Notification List Source: https://github.com/opendaylight/transportpce/blob/master/docs/developer-guide.rst Retrieves a list of notifications based on a provided subscription identifier and time period. This is used to fetch stored notifications from the Kafka server. ```APIDOC ## POST /rests/operations/tapi-notification:get-notification-list ### Description Retrieves a list of notifications based on a provided subscription identifier and time period. This is used to fetch stored notifications from the Kafka server. ### Method POST ### Endpoint /rests/operations/tapi-notification:get-notification-list ### Parameters #### Request Body - **tapi-notification:input** (object) - Required - Input parameters for retrieving the notification list. - **tapi-notification:subscription-id-or-name** (string) - Required - The UUID or name of the subscription to retrieve notifications for. - **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) - **Notification List** (array) - A list of tapi notifications. ``` -------------------------------- ### Mount OpenConfig Device via Netconf Node Topology Source: https://github.com/opendaylight/transportpce/blob/master/debug_tools/README.openconfig_hijackingproxy.txt Configures OpenDaylight to connect to the OpenConfig device using the proxy. This PUT request sets up the node with specific Netconf and TCP-only parameters. ```bash curl -X PUT http://admin:admin@localhost:8181/rests/data/network-topology:network-topology/topology=topology-netconf/node=nodeopenconfig1 ``` ```json { "node": [ { "node-id": "nodeopenconfig1", "netconf-node-topology:port": 9000, "netconf-node-topology:reconnect-on-changed-schema": false, "netconf-node-topology:connection-timeout-millis": 20000, "netconf-node-topology:tcp-only": true, "netconf-node-topology:max-connection-attempts": 0, "netconf-node-topology:login-password-unencrypted": { "netconf-node-topology:username": "login1", "netconf-node-topology:password": "passwd1" }, "netconf-node-topology:host": "127.0.0.1", "netconf-node-topology:min-backoff-millis": 2000, "netconf-node-topology:max-backoff-millis": 1800000, "netconf-node-topology:backoff-multiplier": 1.5, "netconf-node-topology:keepalive-delay": 120 } ] } ``` -------------------------------- ### Get Node Edge Point Details Source: https://github.com/opendaylight/transportpce/blob/master/docs/developer-guide.rst Retrieves information about a specific T-API Node Edge Point (NEP) from the Topology Context, identified by its UUID or name. ```APIDOC ## POST /rests/operations/tapi-topology:get-node-edge-point-details ### Description This request returns the information, stored in the Topology Context, of the corresponding T-API NEP. The user can provide either the UUID associated to the attribute or its name. ### Method POST ### Endpoint /rests/operations/tapi-topology:get-node-edge-point-details ### Parameters #### Query Parameters - **tapi-topology:topology-id-or-name** (string) - Required - The name or ID of the topology context. - **tapi-topology:node-id-or-name** (string) - Required - The name or UUID of the node. - **tapi-topology:ep-id-or-name** (string) - Required - The name or UUID of the node edge point. ### 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", "tapi-topology:ep-id-or-name": "ROADM-A1+PHOTONIC_MEDIA+DEG1-TTP-TXRX" } } ``` ### Response #### Success Response (200) - The response will contain the details of the specified T-API Node Edge Point. #### Response Example (Response structure depends on the NEP details) ``` -------------------------------- ### Run Multiple Tox Profiles with Karaf Builds Source: https://github.com/opendaylight/transportpce/blob/master/docs/tox-guide.rst Executes Tox profiles including karaf alternate builds for controller, simulators, and tests for version 1.2.1. ```bash $ tox -e buildcontroller,build_karaf_tests121,sims121,tests121 ``` -------------------------------- ### Get T0 - Multi-layer topology details Source: https://github.com/opendaylight/transportpce/blob/master/docs/developer-guide.rst Use this request to build the TAPI T0 - Multi-layer topology abstraction. It considers the current state of openroadm-topology and otn-topology. ```json { "tapi-topology:input": { "tapi-topology:topology-id-or-name": "T0 - Multi-layer topology" } } ``` -------------------------------- ### Launch PCE Tests Source: https://github.com/opendaylight/transportpce/blob/master/docs/tox-guide.rst Executes all tests in the tests/transportpce_tests/pce directory using the launch_tests.sh script with 'pce' as an argument. ```bash $ ./launch_tests.sh pce ``` -------------------------------- ### Run Multiple Tox Profiles Sequentially Source: https://github.com/opendaylight/transportpce/blob/master/docs/tox-guide.rst Executes the buildcontroller, sims121, and tests121 Tox profiles in sequence to build the controller, download simulators, and run tests for version 1.2.1. ```bash $ tox -e buildcontroller,sims121,tests121 ``` -------------------------------- ### Get T0 - Full Multi-layer topology details Source: https://github.com/opendaylight/transportpce/blob/master/docs/developer-guide.rst Use this request to build the TAPI T0 - Full Multi-layer topology. It considers information existing in the T-API topology context. ```json { "tapi-topology:input": { "tapi-topology:topology-id-or-name": "T0 - Full Multi-layer topology" } } ``` -------------------------------- ### Get Transponder 100GE topology details Source: https://github.com/opendaylight/transportpce/blob/master/docs/developer-guide.rst Use this request to build the TAPI Transponder 100GE abstraction. It retrieves 100GE client ports of 100G Transponders connected over a wavelength. ```json { "tapi-topology:input": { "tapi-topology:topology-id-or-name": "Transponder 100GE" } } ``` -------------------------------- ### Initialize RDAM to XPDR Links Source: https://github.com/opendaylight/transportpce/blob/master/docs/developer-guide.rst Manually creates unidirectional links from ROADM devices to XPDR devices in the optical network topology. ```APIDOC ## POST /rests/operations/transportpce-networkutils:init-rdm-xpdr-links ### Description Manually creates unidirectional links from ROADM devices to XPDR devices. This complements the optical topology, particularly for ROADM-to-XPDR connections. ### Method POST ### Endpoint /rests/operations/transportpce-networkutils:init-rdm-xpdr-links ### Parameters #### Request Body - **input** (object) - Required - Input parameters for creating ROADM to XPDR links. - **links-input** (object) - Required - Details for the links to be created. - **xpdr-node** (string) - Required - The identifier of the XPDR node. - **xpdr-num** (string) - Required - The number of the XPDR. - **network-num** (string) - Required - The network port number of the XPDR. - **rdm-node** (string) - Required - The identifier of the ROADM node. - **srg-num** (string) - Required - The SRG number. - **termination-point-num** (string) - Required - The logical connection point number on the ROADM. ### Request Example ```json { "input": { "links-input": { "xpdr-node": "", "xpdr-num": "1", "network-num": "", "rdm-node": "", "srg-num": "", "termination-point-num": "" } } } ``` ``` -------------------------------- ### Initialize XPDR to RDAM Links Source: https://github.com/opendaylight/transportpce/blob/master/docs/developer-guide.rst Manually creates unidirectional links from XPDR devices to ROADM devices in the optical network topology. ```APIDOC ## POST /rests/operations/transportpce-networkutils:init-xpdr-rdm-links ### Description Manually creates unidirectional links from XPDR devices to ROADM devices. This is used to complement the optical topology when automatic creation is insufficient. ### Method POST ### Endpoint /rests/operations/transportpce-networkutils:init-xpdr-rdm-links ### Parameters #### Request Body - **input** (object) - Required - Input parameters for creating XPDR to ROADM links. - **links-input** (object) - Required - Details for the links to be created. - **xpdr-node** (string) - Required - The identifier of the XPDR node. - **xpdr-num** (string) - Required - The number of the XPDR. - **network-num** (string) - Required - The network port number of the XPDR. - **rdm-node** (string) - Required - The identifier of the ROADM node. - **srg-num** (string) - Required - The SRG number. - **termination-point-num** (string) - Required - The logical connection point number on the ROADM. ### Request Example ```json { "input": { "links-input": { "xpdr-node": "", "xpdr-num": "1", "network-num": "", "rdm-node": "", "srg-num": "", "termination-point-num": "" } } } ``` ``` -------------------------------- ### Get OTN Topology Source: https://github.com/opendaylight/transportpce/blob/master/docs/developer-guide.rst Retrieves the OTN (Optical Transport Network) topology, used to verify the presence of MUXPDR or SWITCH type XPDR devices connected to ROADM devices. ```APIDOC ## GET /rests/data/ietf-network:networks/network=otn-topology ### Description Retrieves the OTN topology. This is used to verify that the necessary XPDR devices (MUXPDR or SWITCH) are connected to ROADM devices for OTN service creation. ### Method GET ### Endpoint /rests/data/ietf-network:networks/network=otn-topology ``` -------------------------------- ### Test Portmapping Across Device Versions Source: https://github.com/opendaylight/transportpce/blob/master/docs/tox-guide.rst Tests the portmapping behavior for multiple OpenROADM device versions by specifying comma-separated Tox environments. ```bash $ tox -e tests121,tests221,tests71 portmapping ``` -------------------------------- ### Get Node Edge Point Details from Topology Context Source: https://github.com/opendaylight/transportpce/blob/master/docs/developer-guide.rst This request returns information about a specific T-API Node Edge Point (NEP) from the Topology Context. You can identify the NEP by its UUID or name. ```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", "tapi-topology:ep-id-or-name": "ROADM-A1+PHOTONIC_MEDIA+DEG1-TTP-TXRX" } } ```