Skip to end of metadata
Go to start of metadata

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