Requirement Description

The requirement is to

  1. discover the RAN and Core endpoints at NSMF
  2. auto-populate the Core and RAN endpoints in the TN Slice Profile Screen (UUI)
  3. discover the endpoints of CU, DU & RU nodes at NSMF 

All these endpoints are required as an input to TN NSSMF to create the logical links that denotes back-haul, front-haul and mid-haul interfaces. Endpoint consists of IPAddress, logicInterfaceID and nexthopinfo.

Note:

a.  Core, RAN endpoints for back haul are manually entered in UUI and other RAN nodes endpoints for FH and MH are predefined values in the previous releases.

b.  RAN endpoint for back haul will be covered in this release

c. Core endpoint, FH and MH endpoints are stretch goal


NSI instantiation Copy

General Information:

RAN and Core NF's IP addresses are assigned as below:

  • If the NFs are deployed as VNFs, VNFM takes care of the IP address assignment
  • If the NFs are deployed as CNFs, Kubernetes assigns a unique IP address to the pod. If it is a single container, docker daemon itself acts as a DHCP server and assigns an IP address to the container.

In both the above cases, assigning an IP address is taken care by the cloud provider itself.

In Core Slicing, netbox-ip-assign microservice is used by SDNC to assign IP address to the VF modules and VNFs. But this is not used effectively by CDS and the multicloud. Kubernetes itself assigns the IP address, moreover assigning a static IP is not a best practice in Kubernetes. 

Back-haul endpoints Discovery:

This involves finding the EP (endpoint) details of RAN (CUCP) and Core (AMF) .

RAN Node (CUCP) EP details:

IP Address & NexHopInfo

IP Address:

More than one gateway IP ( where NFs are deployed) can be applicable and can be configured for a slice. 

The returned IP addresses should be populated in a list box and all the IP addresses should be chosen as an input to TN NSSMF.

UUI should display a warning and should not allow to the next page, if all the IP addresses are not selected.

The details should be populated in UUI on loading the page.


AN endpoint - nexthopinfo:

NextHopInfo is stored in AAI and it is stored at the time of Simulator Registration with ESR. The nexthopinfo information will be retrieved from AAI and populated in UUI.

NextHopinfo is same for more than one network Functions. This value is going to be populated in text box as before.

The value should be populated in UUI on load of the page.

API Details

  1. UUI - Screen level changes (Stretch goal)

MOCK SCREENS FOR UUI ENHANCEMENTS:  USECASEUI-641 - Getting issue details... STATUS

 AutoPopulate nodes for multiple selection in UUI as below,


If all the nodes are not selected it should show the below error message,

Multiple selection of nodes in TN selection page, the selected nodes should be displayed as below,


UUI and SO interaction

API details are documented in SO_impacts


2. SO ↔ CPS(WIP) (Existing APIs are used)

API  Reference:

To Fetch coverage Area to coverage Area TA List Mapping:

To Fetch cells based on coverage area TA list:

To Fetch CUCP details wrt to the cell:

3. SO ↔ SDNC (Existing APIs are used)

API used to fetch Network topology:

https://localhost:8086/restconf/config/network-topology:network-topology

Response from SDNC:

Topology

{
    "network-topology": {
        "topology": [{
            "topology-id": "topology-netconf",
            "node": [{
                    "node-id": "cucpserver2",
                    "netconf-node-topology:reconnect-on-changed-schema": false,
                    "netconf-node-topology:password": "admin",
                    "netconf-node-topology:username": "admin",
                    "netconf-node-topology:sleep-factor": 1.5,
                    "netconf-node-topology:port": 2853,
                    "netconf-node-topology:tcp-only": false,
                    "netconf-node-topology:connection-timeout-millis": 20000,
                    "netconf-node-topology:max-connection-attempts": 0,
                    "netconf-node-topology:host": "10.31.4.45",
                    "netconf-node-topology:between-attempts-timeout-millis": 2000,
                    "netconf-node-topology:keepalive-delay": 120
                },
                {
                    "node-id": "110",
                    "netconf-node-topology:reconnect-on-changed-schema": false,
                    "netconf-node-topology:password": "admin",
                    "netconf-node-topology:username": "admin",
                    "netconf-node-topology:sleep-factor": 1.5,
                    "netconf-node-topology:port": 2856,
                    "netconf-node-topology:tcp-only": false,
                    "netconf-node-topology:connection-timeout-millis": 20000,
                    "netconf-node-topology:max-connection-attempts": 0,
                    "netconf-node-topology:host": "10.31.4.45",
                    "netconf-node-topology:between-attempts-timeout-millis": 2000,
                    "netconf-node-topology:keepalive-delay": 120
                },
                {
                    "node-id": "220",
                    "netconf-node-topology:reconnect-on-changed-schema": false,
                    "netconf-node-topology:password": "admin",
                    "netconf-node-topology:username": "admin",
                    "netconf-node-topology:sleep-factor": 1.5,
                    "netconf-node-topology:port": 2857,
                    "netconf-node-topology:tcp-only": false,
                    "netconf-node-topology:connection-timeout-millis": 20000,
                    "netconf-node-topology:max-connection-attempts": 0,
                    "netconf-node-topology:host": "10.31.4.45",
                    "netconf-node-topology:between-attempts-timeout-millis": 2000,
                    "netconf-node-topology:keepalive-delay": 120
                },
                {
                    "node-id": "330",
                    "netconf-node-topology:reconnect-on-changed-schema": false,
                    "netconf-node-topology:password": "admin",
                    "netconf-node-topology:username": "admin",
                    "netconf-node-topology:sleep-factor": 1.5,
                    "netconf-node-topology:port": 2858,
                    "netconf-node-topology:tcp-only": false,
                    "netconf-node-topology:connection-timeout-millis": 20000,
                    "netconf-node-topology:max-connection-attempts": 0,
                    "netconf-node-topology:host": "10.31.4.45",
                    "netconf-node-topology:between-attempts-timeout-millis": 2000,
                    "netconf-node-topology:keepalive-delay": 120
                },
                {
                    "node-id": "440",
                    "netconf-node-topology:reconnect-on-changed-schema": false,
                    "netconf-node-topology:password": "admin",
                    "netconf-node-topology:username": "admin",
                    "netconf-node-topology:sleep-factor": 1.5,
                    "netconf-node-topology:port": 2859,
                    "netconf-node-topology:tcp-only": false,
                    "netconf-node-topology:connection-timeout-millis": 20000,
                    "netconf-node-topology:max-connection-attempts": 0,
                    "netconf-node-topology:host": "10.31.4.45",
                    "netconf-node-topology:between-attempts-timeout-millis": 2000,
                    "netconf-node-topology:keepalive-delay": 120
                },
                {
                    "node-id": "550",
                    "netconf-node-topology:reconnect-on-changed-schema": false,
                    "netconf-node-topology:password": "admin",
                    "netconf-node-topology:username": "admin",
                    "netconf-node-topology:sleep-factor": 1.5,
                    "netconf-node-topology:port": 2860,
                    "netconf-node-topology:tcp-only": false,
                    "netconf-node-topology:connection-timeout-millis": 20000,
                    "netconf-node-topology:max-connection-attempts": 0,
                    "netconf-node-topology:host": "10.31.4.45",
                    "netconf-node-topology:between-attempts-timeout-millis": 2000,
                    "netconf-node-topology:keepalive-delay": 120
                },
                {
                    "node-id": "660",
                    "netconf-node-topology:reconnect-on-changed-schema": false,
                    "netconf-node-topology:password": "admin",
                    "netconf-node-topology:username": "admin",
                    "netconf-node-topology:sleep-factor": 1.5,
                    "netconf-node-topology:port": 2861,
                    "netconf-node-topology:tcp-only": false,
                    "netconf-node-topology:connection-timeout-millis": 20000,
                    "netconf-node-topology:max-connection-attempts": 0,
                    "netconf-node-topology:host": "10.31.4.45",
                    "netconf-node-topology:between-attempts-timeout-millis": 2000,
                    "netconf-node-topology:keepalive-delay": 120
                },
                {
                    "node-id": "cucpserver1",
                    "netconf-node-topology:reconnect-on-changed-schema": false,
                    "netconf-node-topology:password": "admin",
                    "netconf-node-topology:username": "admin",
                    "netconf-node-topology:sleep-factor": 1.5,
                    "netconf-node-topology:port": 2852,
                    "netconf-node-topology:tcp-only": false,
                    "netconf-node-topology:connection-timeout-millis": 20000,
                    "netconf-node-topology:max-connection-attempts": 0,
                    "netconf-node-topology:host": "10.31.4.45",
                    "netconf-node-topology:between-attempts-timeout-millis": 2000,
                    "netconf-node-topology:keepalive-delay": 120
                },
                {
                    "node-id": "1111",
                    "netconf-node-topology:reconnect-on-changed-schema": false,
                    "netconf-node-topology:password": "admin",
                    "netconf-node-topology:username": "admin",
                    "netconf-node-topology:sleep-factor": 1.5,
                    "netconf-node-topology:port": 2854,
                    "netconf-node-topology:tcp-only": false,
                    "netconf-node-topology:connection-timeout-millis": 20000,
                    "netconf-node-topology:max-connection-attempts": 0,
                    "netconf-node-topology:host": "10.31.4.45",
                    "netconf-node-topology:between-attempts-timeout-millis": 2000,
                    "netconf-node-topology:keepalive-delay": 120
                },
                {
                    "node-id": "2222",
                    "netconf-node-topology:reconnect-on-changed-schema": false,
                    "netconf-node-topology:password": "admin",
                    "netconf-node-topology:username": "admin",
                    "netconf-node-topology:sleep-factor": 1.5,
                    "netconf-node-topology:port": 2855,
                    "netconf-node-topology:tcp-only": false,
                    "netconf-node-topology:connection-timeout-millis": 20000,
                    "netconf-node-topology:max-connection-attempts": 0,
                    "netconf-node-topology:host": "10.31.4.45",
                    "netconf-node-topology:between-attempts-timeout-millis": 2000,
                    "netconf-node-topology:keepalive-delay": 120
                },
                {
                    "node-id": "11",
                    "netconf-node-topology:reconnect-on-changed-schema": false,
                    "netconf-node-topology:password": "admin",
                    "netconf-node-topology:username": "admin",
                    "netconf-node-topology:sleep-factor": 1.5,
                    "netconf-node-topology:port": 2850,
                    "netconf-node-topology:tcp-only": false,
                    "netconf-node-topology:connection-timeout-millis": 20000,
                    "netconf-node-topology:max-connection-attempts": 0,
                    "netconf-node-topology:host": "10.31.4.45",
                    "netconf-node-topology:between-attempts-timeout-millis": 2000,
                    "netconf-node-topology:keepalive-delay": 120
                },
                {
                    "node-id": "22",
                    "netconf-node-topology:reconnect-on-changed-schema": false,
                    "netconf-node-topology:password": "admin",
                    "netconf-node-topology:username": "admin",
                    "netconf-node-topology:sleep-factor": 1.5,
                    "netconf-node-topology:port": 2851,
                    "netconf-node-topology:tcp-only": false,
                    "netconf-node-topology:connection-timeout-millis": 20000,
                    "netconf-node-topology:max-connection-attempts": 0,
                    "netconf-node-topology:host": "10.31.4.45",
                    "netconf-node-topology:between-attempts-timeout-millis": 2000,
                    "netconf-node-topology:keepalive-delay": 120
                }
            ]
        }]
    }
}

4. SO ↔ AAI

API Used:

To Fetch PNF's:

https://<ip-address>:<port>/aai/v23/network/pnfs

Response from AAI:

To Fetch p-interface from AAI:

https://<ip-address>:<port>/aai/v23/network/pnfs/pnf/networkId-providerId-10-clientId-0-topologyId-2-nodeId-10.1.1.3/p-interfaces

Response from AAI:

  • The interface name of the fetched p-interface will be the nextHopInfo of the endpoints.

AN endpoint - logicInterfaceID:

As specified in TS 28 541, this field could be a VLAN ID (See IEEE 802.1Q [39]), MPLS Tag or Segment ID. This will be some predefined value in SO to denote the VLAN Id.





  • No labels