You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 26 Next »



Traffic Distribution Requirement v1.3 (Updated 18.02.2019)

Traffic Distribution E2E Sequence Diagrams with Description v1.1 (Updated 28.01.2019)

Presentation covers whole scope of work that is planned for Dublin but it also shows long term plan for functionality that we plan to develop in Dublin and El Alto.

More information is available here: Change Management Dublin Extensions


API Extensions

SO - OOF

The following are the key parameters that needs to be sent in from SO to OOF:


OOF - SO: 

OOF returns to SO structure with Anchor point and related with them destination points. For each destination point there is only one anchor point - both have to be located in the same cloud region.


Level of lInterfaces, lagInterfaces and pInterfaces () as well as pnf support can be a stretch goal for Dublin release. Obligatory is VNF support with lInterfaces information under vServers what is required for vFW-DT Traffic Distribution use case. 


OOF -> SO
{
    "trafficDistributionDecisions": [
        {
			"anchorPoint": {
				"nfType": "vnf", //[pnf, vnf] - depends on the API used to tretrieve object -> A&AI generic-vnf or pnf
				"nfId": "ffe99e79-5860-44d7-a56a-a5d21cfbdc21",//vnf-id or pnf-id -> A&AI generic-vnf or pnf
				"nfName": "vfw-dt-pkg-0",//vnf-name or pnf-name  -> A&AI generic-vnf or pnf
				"ipv4OamAddress": "oam_network_WVly",  // -> A&AI generic-vnf or pnf
				"ipv6OamAddress": "",  // -> A&AI generic-vnf or pnf
				//"pnfIpv4Address": "",// -> A&AI pnf
				//"pnfIpv6Address": "",// -> A&AI  pnf
				"vnfType": "vfw-dt-service/vFW-PKG-DT-VF 0", // -> A&AI generic-vnf 
				"vfModuleId": "a114e77b-709f-4a5f-a802-6f66bc620848", // -> A&AI generic-vnf/vf-module
				"vfModuleName": "vpkg-dt-module-1", // -> A&AI generic-vnf/vf-module 
				"vfModuleModelInvariantId": "344e26f1-ff29-4570-98fd-2f607b79e609", // -> A&AI generic-vnf/vf-module
				"vfModuleModelVersion": "a8ad1d21-5e9d-4a91-b155-19c5ce5fbe17", // -> A&AI generic-vnf/vf-module
				"vfModuleModelName": "VfwPkgDtVf..base_vpkg..module-0", // -> A&AI sdc model/vf-module
				"vServers": [ // -> A&AI cloud-inf/v-server
					{
						"vServerId": "7f237078-c830-4d98-b8e9-0efc8ca36427", // -> A&AI cloud-inf/v-server
						"vServerName": "vpg-vf", // -> A&AI cloud-inf/v-server
						"lInterfaces": [ // -> A&AI cloud-inf/v-server l-interface
							{
								"interfaceName": "vpkg-dt-module-1-vpg_private_2_port-xan5gtbmgd74", // -> A&AI cloud-inf/v-server l-interface
								"macAddr": "fa:16:3e:53:a5:b2", // -> A&AI cloud-inf/v-server l-interface
								"networkId": "828b9558-b107-4b5e-8272-20744dac6885", // -> A&AI cloud-inf/v-server l-interface
								"ipv4Addresses": ["10.100.100.2"], // -> A&AI cloud-inf/v-server l-interface
								"networkName": "onap_oam_ext",
								"ipv6Addresses": [], // -> A&AI cloud-inf/v-server l-interface
								"vlans": [] // -> A&AI cloud-inf/v-server l-interface/vlan
							},
							{
								"interfaceName": "vpkg-dt-module-1-vpg_private_1_port-w6av354etjpj", // -> A&AI cloud-inf/v-server l-interface
								"macAddr": "fa:16:3e:dc:60:d3", // -> A&AI cloud-inf/v-server l-interface
								"networkId": "848e3e94-d6f8-46b1-bf72-c8477f9a42cb", // -> A&AI cloud-inf/v-server l-interface
								"networkName": "oam_network_WVly",
								"ipv4Addresses": ["10.0.110.2"], // -> A&AI cloud-inf/v-server l-interface
								"ipv6Addresses": [], // -> A&AI cloud-inf/v-server l-interface
								"vlans": [] // -> A&AI cloud-inf/v-server l-interface/vlan
							},
							{
								"interfaceName": "vpkg-dt-module-1-vpg_private_0_port-fvlhoybxja7p", // -> A&AI cloud-inf/v-server l-interface
								"macAddr": "fa:16:3e:96:59:0f", // -> A&AI cloud-inf/v-server l-interface
								"networkId": "676a05c4-65ab-46c7-86a8-6d748e9089c1", // -> A&AI cloud-inf/v-server l-interface
								"networkName": "unprotected_net_dt",
								"ipv4Addresses": ["192.168.10.200"], // -> A&AI cloud-inf/v-server l-interface
								"ipv6Addresses": [], // -> A&AI cloud-inf/v-server l-interface
								"vlans": [] // -> A&AI cloud-inf/v-server l-interface/vlan
							}
						]
					}
				],
				"lInterfaces" : [], //-> A&AI generic-vnf/l-interface
				"lagInterfaces": [], //-> A&AI generic-vnf or pnf/l-interface
				"pInterfaces": [] //-> A&AI pnf/l-interface
			},
            "distributionPolicy": "equal", //-> OOF algorithm TBD in El Alto
            "destinationPoints": [
                {//format is the same like for anchorPoint
					"nfType": "vnf",
                    "nfId": "7dad5e9c-7639-454f-8568-e68b52149127",
					"nfName": "vfw-dt-snk-1",
					"vnfType": "vfw-dt-service/vFW-SNK-DT-VF 1",
                    "vfModuleId": "63ee489f-8e02-4b7b-a49a-8587445c1b1a",
					"vfModuleName": "vfw-dt-module-2",
					"vfModuleModelInvariantId": "b50a101d-dbe3-41b1-a04b-3c44b0ec9d94", // -> A&AI generic-vnf/vf-module
					"vfModuleModelVersion": "d23ad900-9920-49da-94e3-78c76cbdf331", // -> A&AI generic-vnf/vf-module
					"vfModuleModelName": "VfwSnkDtVf..base_vfw..module-0", // -> A&AI sdc model/vf-module
                    "vServers": [
                        {
                            "vServerId": "b1b43d9b-dd47-42b2-979a-9c6ce9ac431e",
                            "vServerName": "vfw-vfw-2-dt",
                            "lInterfaces": [
                                {
                                    "interfaceName": "vfw-dt-module-2-vfw_private_0_port-gn4ev6oxvvj6",
									"macAddr": "fa:16:3e:ec:39:c3",
									"networkId": "676a05c4-65ab-46c7-86a8-6d748e9089c1",
									"networkName": "unprotected_net_dt",
                                    "ipv4Addresses": ["192.168.10.110"],
									"ipv6Addresses": [],
									"vlans": []
                                },
                                {
                                    "interfaceName": "vfw-dt-module-2-vfw_private_3_port-cozwyppibrh2",
									"macAddr": "fa:16:3e:a1:18:84",
									"networkId": "828b9558-b107-4b5e-8272-20744dac6885",									
									"networkName": "onap_oam_ext",
                                    "ipv4Addresses": ["10.100.100.4"],
									"ipv6Addresses": [],
									"vlans": []
                                },
                                {
                                    "interfaceName": "vfw-dt-module-2-vfw_private_1_port-cu5rvzfeqsaq",
									"macAddr": "fa:16:3e:97:09:70",
									"networkId": "0fe48f60-1738-4fd3-941f-63a2c958b9ec",	
									"networkName": "protected_net_dt",									
                                    "ipv4Addresses": ["192.168.20.110"],
									"ipv6Addresses": [],
									"vlans": []
                                },
                                {
                                    "interfaceName": "vfw-dt-module-2-vfw_private_2_port-v4lpjnglwdbp",
									"macAddr": "fa:16:3e:25:a5:9d",
									"networkId": "848e3e94-d6f8-46b1-bf72-c8477f9a42cb",	
									"networkName": "oam_network_WVly",								
                                    "ipv4Addresses": ["10.0.110.4"],
									"ipv6Addresses": [],
									"vlans": []
                                }
                            ]
                        },
                        {
                            "vServerId": "9a3c21ba-4bcd-42bc-a4da-882d9c2183d0",
                            "vServerName": "vfw-vsn-2-dt",
                            "lInterfaces": [
                                {
                                    "interfaceName": "vfw-dt-module-2-vsn_private_0_port-ctmh5td6ybkf",
									"macAddr": "fa:16:3e:76:31:07",
									"networkId": "0fe48f60-1738-4fd3-941f-63a2c958b9ec",	
									"networkName": "protected_net_dt",										
                                    "ipv4Addresses": ["192.168.20.240"],
									"ipv6Addresses": [],
									"vlans": []
                                },
                                {
                                    "interfaceName": "vfw-dt-module-2-vsn_private_1_port-nkosg44b6zn6",
									"macAddr": "fa:16:3e:67:b5:db",
									"networkId": "848e3e94-d6f8-46b1-bf72-c8477f9a42cb",	
									"networkName": "oam_network_WVly",										
                                    "ipv4Addresses": ["10.0.110.5"],
									"ipv6Addresses": [],
									"vlans": []
                                },
                                {
                                    "interfaceName": "vfw-dt-module-2-vsn_private_2_port-7svzynbtnh66",
									"macAddr": "fa:16:3e:10:20:82",
									"networkId": "0fe48f60-1738-4fd3-941f-63a2c958b9ec",
									"networkName": "onap_oam_ext",
                                    "ipv4Addresses": ["10.100.100.5"],
									"ipv6Addresses": [],
									"vlans": []
                                }
                            ]
                        }
                    ],
					"lInterfaces" : [],
					"lagInterfaces": [],
					"pInterfaces": []
                }
            ]
        }
    ]
}

//vlan
{
	"interfaceName": "", //-> A&AI vlan
	"vlanIdInner": "", //-> A&AI vlan
	"vlanIdOuter": "", //-> A&AI vlan
	"vpnKey": "", //-> A&AI vlan
	"ipv4Addresses": [],
	"ipv6Addresses": [],
}

//p-interface
{
	"interfaceName": "", //-> A&AI p-interface
	"type": "", //-> A&AI p-interface
	"role": "", //-> A&AI p-interface
	"macAddr": "1C-A7-34-17-D1-44", //-> A&AI p-interface
	"lInterfaces" : [] //-> A&AI p-interface/l-interfaces
}

//lag-interface
{
	"interfaceName": "", //-> A&AI lag-interface
	"role": "", //-> A&AI lag-interface
	"lInterfaces" : [] //-> A&AI l-interface
}


NOTE: SO-OOF requirements from above needs to be integrated into the existing SO-OOF API: OOF/HAS API Specificationsoof-osdf-has-api.json 

OOF - AAI

AAI data snapshot with examplary data for vFW-DT Traffic Distribution use case (taken from Casablanca MR AAI version): dataSnapshot.graphSON.201903110745

AAI data can be restored with following procedure A&AI Data Restore for OOM - Casablanca

In this package all data (JSON responses from AAI) for vFW-DT Traffic Distribution use case can be found: vFW-DT-AAI.7z

The following REST calls to retrieve topology and VNF candidates from AAI: 

  • GET /aai/v14/network/generic-vnfs/
  • GET /aai/v14/network/generic-vnfs/generic-vnf/e529455a-e50f-4fe2-b170-ec498ba1f75c
  • GET /aai/v14/network/generic-vnfs/generic-vnf/e529455a-e50f-4fe2-b170-ec498ba1f75c/vf-modules
  • GET /aai/v14/network/generic-vnfs/generic-vnf/e529455a-e50f-4fe2-b170-ec498ba1f75c/vf-modules/vf-module/0c3e0afe-9af4-4d92-bf3f-a8e20f5c093a
  • GET /aai/v14/service-design-and-creation/models/model/d7b903e7-a4d5-4ed1-898f-6174a7a88762/model-vers/model-ver/7f9bd514-bb18-431e-9696-794f70c0b66d
  • GET /aai/v14/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/bc43d50ffcb84750bac0c1707a9a765b/vservers
  • GET /aai/v14/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/bc43d50ffcb84750bac0c1707a9a765b/vservers
  • GET /aai/v14/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/bc43d50ffcb84750bac0c1707a9a765b/vservers/vserver/bf5f089c-0632-48dd-814c-2dfa4095f2ac
  • GET /aai/v14/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/bc43d50ffcb84750bac0c1707a9a765b/vservers/vserver/bf5f089c-0632-48dd-814c-2dfa4095f2ac/l-interfaces/l-interface/Vfmodule_Demo_vFWSNK_7fa9e563-bf0f-4b4c-966c-0f2179105c1c-vsn_private_0_port-ovft6nu22dz4/l3-interface-ipv4-address-list
  • GET /aai/v14/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces

  • GET /aai/v14/network/generic-vnfs/generic-vnf/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}

  • GET /aai/v14/network/generic-vnfs/generic-vnf/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}

  • GET /aai/v14/network/generic-vnfs/generic-vnf/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}

  • GET /aai/v14/network/generic-vnfs/generic-vnf/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}

  • GET /aai/v14/network/generic-vnfs/generic-vnf/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}

  • GET /aai/v14/network/generic-vnfs/generic-vnf/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans

  • GET /aai/v14/network/generic-vnfs/generic-vnf/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}

  • GET /aai/v14/network/generic-vnfs/generic-vnf/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces

  • GET /aai/v14/network/generic-vnfs/generic-vnf/{vnf-id}/lag-interfaces/lag-interface/{interface-name}

  • GET /aai/v14/network/generic-vnfs/generic-vnf/{vnf-id}/lag-interfaces

  • GET /aai/v14/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}

  • GET /aai/v14/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/vlans

  • GET /aai/v14/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}

  • GET /aai/v14/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}

  • GET /aai/v14/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}

  • GET /aai/v14/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}

  • GET /aai/v14/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}

  • GET /aai/v14/network/pnfs
  • GET /aai/v14/network/pnfs/pnf/{pnf-name}
  • GET /aai/v14/network/pnfs/pnf/{pnf-name}/lag-interfaces
  • GET /aai/v14/network/pnfs/pnf/{pnf-name}/lag-interfaces/lag-interface/{interface-name}
  • GET /aai/v14/network/pnfs/pnf/{pnf-name}/lag-interfaces/lag-interface/{interface-name}/l-interfaces
  • GET /aai/v14/network/pnfs/pnf/{pnf-name}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}
  • GET /aai/v14/network/pnfs/pnf/{pnf-name}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans
  • GET /aai/v14/network/pnfs/pnf/{pnf-name}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}
  • GET /aai/v14/network/pnfs/pnf/{pnf-name}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}
  • GET /aai/v14/network/pnfs/pnf/{pnf-name}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}
  • GET /aai/v14/network/pnfs/pnf/{pnf-name}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}
  • GET /aai/v14/network/pnfs/pnf/{pnf-name}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}
  • GET /aai/v14/network/pnfs/pnf/{pnf-name}/p-interfaces
  • GET /aai/v14/network/pnfs/pnf/{pnf-name}/p-interfaces/p-interface/{interface-name}
  • GET /aai/v14/network/pnfs/pnf/{pnf-name}/p-interfaces/p-interface/{interface-name}/l-interfaces
  • GET /aai/v14/network/pnfs/pnf/{pnf-name}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}
  • GET /aai/v14/network/pnfs/pnf/{pnf-name}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}
  • GET /aai/v14/network/pnfs/pnf/{pnf-name}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}
  • GET /aai/v14/network/pnfs/pnf/{pnf-name}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans
  • GET /aai/v14/network/pnfs/pnf/{pnf-name}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}
  • GET /aai/v14/network/pnfs/pnf/{pnf-name}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}
  • GET /aai/v14/network/pnfs/pnf/{pnf-name}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}


  • No labels