Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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

d. Core endpoint cannot be populated in UUI, as the IP address of CNFs are available after slice allocation. (Deviation of #2 in Requirement Description)


Image Added

Gliffy Diagram
displayNameNSI instantiation
nameNSI instantiation Copy
pagePin4


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.Image Removed 

Back-haul endpoints Discovery:

...

draw.io Diagram
width
bordertrue
diagramNamePopulate CUCP IP address
simpleViewerfalse
linksauto
tbstyletop
lboxtrue
diagramWidth691981
revision35

IP Address:

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

...

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

API Details

  1. UUI ↔ SO- Screen level changes (Stretch goal)

MOCK SCREENS FOR UUI ENHANCEMENTS: 

Jira
serverONAP Jira
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyUSECASEUI-641

 AutoPopulate nodes for multiple selection in UUI as below,

...

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

API exposed by SO:

Get AN &CN EndPoints

...

Method

...

URL

...


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 AAIRequest Example:


JSON Viewer
modeText
{
	"subnetTypespnf": [{
		"TN_BH"
	]
}

Response Example:

JSON Viewer
modeText
{
	"endPoints": {
		"cu_eg": {
			"ipAddress": ["xx.xx.xx.xx", "xx.xx.xx.xx"],
			"logicalInterfaceId": "12",
			"nexthopInfo": ""
		},
		"cn": {
			"ipAddress": ["xx.xx.xx.xx", "xx.xx.xx.xx"],
			"logicalInterfaceId": "12",
			"nexthopInfo": """pnf-name": "networkId-providerId-10-clientId-0-topologyId-2-nodeId-10.1.1.3",
		"pnf-id": "10.1.1.3",
		"in-maint": true,
		"spare-equipment-indicator": false,
		"resource-version": "1642530553170",
		"admin-status": "up",
		"operational-status": "up",
		"relationship-list": {
			"relationship": [{
				"related-to": "esr-thirdparty-sdnc",
				"relationship-label": "org.onap.relationships.inventory.AppliesTo",
				"related-link": "/aai/v23/external-system/esr-thirdparty-sdnc-list/esr-thirdparty-sdnc/7cfa0c7c-0181-4181-8f3b-1edf20a0f47b",
				"relationship-data": [{
					"relationship-key": "esr-thirdparty-sdnc.thirdparty-sdnc-id",
					"relationship-value": "7cfa0c7c-0181-4181-8f3b-1edf20a0f47b"
				}]
			}, {
				"related-to": "network-resource",
				"relationship-label": "tosca.relationships.network.LinksTo",
				"related-link": "/aai/v23/network/network-resources/network-resource/providerId-10-clientId-0-topologyId-2",
				"relationship-data": [{
					"relationship-key": "network-resource.network-id",
					"relationship-value": "providerId-10-clientId-0-topologyId-2"
				}],
				"related-to-property": [{
					"property-key": "network-resource.network-id",
					"property-value": "providerId-10-clientId-0-topologyId-2"
				}]
			}]
		}
	}]
}

To Fetch p-interface from AAI:

https://<ip-address>:<port>/aai/v23/network/pnfs/pnf/networkId-providerId-10-clientId-0-topologyId-2. SO ↔ CPS

3. SO ↔ SDNC

...

-nodeId-10.1.1.3/p-interfaces

Response from AAI:


JSON Viewer
modeText
{
	"p-interface": [{
		"interface-name": "networkId-providerId-10-clientId-0-topologyId-2-nodeId-10.1.1.3-ltpId-512",
		"speed-value": "10000000",
		"resource-version": "1642530553011",
		"in-maint": true,
		"operational-status": "up"
	}, {
		"interface-name": "networkId-providerId-10-clientId-0-topologyId-2-nodeId-10.1.1.3-ltpId-1000001",
		"speed-value": "10000000",
		"resource-version": "1642530553011",
		"in-maint": true,
		"operational-status": "up"
	}]
}
  • The interface name of the fetched p-interface will be the nextHopInfo of the endpoints.

AN endpoint - logicInterfaceID:

...