View file | ||||
---|---|---|---|---|
|
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "service": "affinityPolicy", "policyName": "TD-vPGN-AP-DP-Affinity", "description": "Affinity policy for vPGN Anchor and destination point", "templateVersion": "1702.03", "version": "oofDublin", "priority": "5", "riskType": "test", "riskLevel": "2", "guard": "False", "content": { "identity": "affinity_TD_vPGN", "policyScope": ["vPGN", "TD" ], "affinityProperties": { "qualifier": "same", "category": "region" }, "policyType": "affinityPolicy", "resources": [ "vPGN", "vFW-SinkSINK" ], "applicableResources": "all" } } |
OSDF - HAS:
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "name": "distribute_traffic_test", "files": {}, "limit": 1, "timeout": 1200, "template": { "homing_template_version": "2018-02-01", "demands": { "vFW-SINK": [{ "inventory_provider": "aai", "inventory_type": "vfmodule", "region": "RegionOne", "placement_role": "destination", "attributes": { "orchestration-status": "active", "prov-status": "ACTIVE", "service_instance_id": "b73bed51-63a4-4660-8a2d-b8d4625b2cc0", "global-customer-id": "Demonstration", "model-invariant-id": "7e12b0e6-de72-45ee-8811-cce6fc31f65d", "model-version-id": "90ce273d-463d-4a54-90fa-db8e90a0f2e2" }, "excluded_candidates": [{ "candidate_id": "e765d576-8755-4145-8536-0bb6d9b1dc9a", "inventory_type": "vfmodule" }] }], "vPGN": [{ "inventory_provider": "aai", "inventory_type": "vfmodule", "region": "RegionOne", "placement_role": "anchor", "attributes": { "orchestration-status": "active", "prov-status": "ACTIVE", "service_instance_id": "b73bed51-63a4-4660-8a2d-b8d4625b2cc0", "global-customer-id": "Demonstration", "model-invariant-id": "1dc4fcc4-0895-4b76-8126-34ebfe875859", "model-version-id": "b99f698c-130a-4141-82c9-dbabaed7581d" } }] }, "constraints": { "vf_module_affinity": { "type": "zone", "demands": ["vFW-SINK", "vPGN"], "properties": { "qualifier": "same", "category": "region" } } } } } |
HAS - OSDF:
Code Block | ||||
---|---|---|---|---|
| ||||
{
"plans": [{
"status": "done",
"name": "distribute_traffic_test",
"links": [
[{
"href": "http://advnet:8091/v1/plans/f75253b2-5501-4d6b-a269-be65730feec4",
"rel": "self"
}]
],
"recommendations": [{
"vPGN": {
"attributes": {
"nf-type": "vnf",
"nf-name": "vFW_PKG_F_CL_AD",
"vnf-type": "vFW_CL_AD/vFW PKG VSP CL AD 0",
"service_instance_id": "b73bed51-63a4-4660-8a2d-b8d4625b2cc0",
"physical-location-id": "clli1",
"nf-id": "94203b3a-2aa5-4526-b31a-5b8425e21573",
"aic_version": "1",
"ipv4-oam-address": "",
"host_id": "vFW_PKG_F_CL_AD",
"ipv6-oam-address": "",
"cloud_owner": "CloudOwner",
"vservers": [{
"vserver-name": "zdfw1fwl01pgn01",
"vserver-id": "9ec2105b-3910-4841-a7e8-2270f385e7dd",
"l-interfaces": [{
"macaddr": "fa:16:3e:17:8c:fd",
"interface-name": "vpkg-cl-module-1-vpg_0_unprotected_private_port_0-l2z5ofjvhjme",
"ipv4-addresses": [
"192.168.10.200"
],
"interface-id": "5b42c4d4-0a69-48ef-b72c-1d305e7acdf8",
"network-name": "",
"network-id": "6ffc5a18-ef93-4fe6-a1eb-ea4f114a48f5",
"ipv6-addresses": []
},
{
"macaddr": "fa:16:3e:8d:d8:da",
"interface-name": "vpkg-cl-module-1-vpg_0_onap_private_port_0-hqtjjcwi57vl",
"ipv4-addresses": [
"10.0.100.2"
],
"interface-id": "983e876f-f3fa-48ed-976d-8d1c2ae4450b",
"network-name": "",
"network-id": "3f95c73f-dd4e-4344-8ca6-f78d8484c330",
"ipv6-addresses": []
}
]
}]
},
"inventory_provider": "aai",
"service_resource_id": "",
"candidate": {
"is_rehome": "false",
"placement_role": "anchor",
"location_id": "RegionOne",
"inventory_type": "vfmodule",
"vim-id": "CloudOwner_RegionOne",
"candidate_id": "7039cca0-440a-4570-82bb-a4bc169f5eae",
"host_id": "vFW_PKG_F_CL_AD",
"cloud_owner": "CloudOwner",
"location_type": "att_aic"
}
},
"vFW-SINK": {
"attributes": {
"nf-type": "vnf",
"nf-name": "vFW_SNK_F_CL_AD",
"vnf-type": "vFW_CL_AD/vFW SNK VSP CL AD 0",
"service_instance_id": "b73bed51-63a4-4660-8a2d-b8d4625b2cc0",
"physical-location-id": "clli1",
"nf-id": "deecf762-c7b8-437c-930c-dd53b2d216c3",
"aic_version": "1",
"ipv4-oam-address": "",
"host_id": "vFW_SNK_F_CL_AD",
"ipv6-oam-address": "",
"cloud_owner": "CloudOwner",
"vservers": [{
"vserver-name": "vfw-vsn-1-dt_cl",
"vserver-id": "37a5f7cf-598d-4079-8944-55930f3c88b7",
"l-interfaces": [{
"macaddr": "fa:16:3e:f3:a3:de",
"interface-name": "vfw-cl-module-1-vsn_0_int_protected_private_port_0-d4w4exacitlv",
"ipv4-addresses": [
"192.168.20.250"
],
"interface-id": "234622c6-999d-4a36-a5ca-5811f07f7cad",
"network-name": "",
"network-id": "ba42a380-1e9d-4500-b6fa-ec3d1c6ab8fd",
"ipv6-addresses": []
},
{
"macaddr": "fa:16:3e:9b:44:32",
"interface-name": "vfw-cl-module-1-vsn_0_onap_private_port_0-rq6r3zyempgg",
"ipv4-addresses": [
"10.0.100.3"
],
"interface-id": "930df5d5-3069-4030-bc99-24c47c68211f",
"network-name": "",
"network-id": "3f95c73f-dd4e-4344-8ca6-f78d8484c330",
"ipv6-addresses": []
}
]
},
{
"vserver-name": "vfw-vfw-1-dt_cl",
"vserver-id": "e2db5188-2592-4326-9712-375e7c578e78",
"l-interfaces": [{
"macaddr": "fa:16:3e:ac:8d:cb",
"interface-name": "vfw-cl-module-1-vfw_0_int_protected_private_port_0-m65ztjxw2ev5",
"ipv4-addresses": [
"192.168.20.100"
],
"interface-id": "f51304b9-b925-4201-a641-d7ce922166f5",
"network-name": "",
"network-id": "ba42a380-1e9d-4500-b6fa-ec3d1c6ab8fd",
"ipv6-addresses": []
},
{
"macaddr": "fa:16:3e:08:b1:c6",
"interface-name": "vfw-cl-module-1-vfw_0_onap_private_port_0-jl4g5tvettac",
"ipv4-addresses": [
"10.0.100.1"
],
"interface-id": "bbe3979a-a17e-4155-8dc3-692618d48a35",
"network-name": "",
"network-id": "3f95c73f-dd4e-4344-8ca6-f78d8484c330",
"ipv6-addresses": []
},
{
"macaddr": "fa:16:3e:47:c0:d9",
"interface-name": "vfw-cl-module-1-vfw_0_int_unprotected_private_port_0-7okssf24mgsl",
"ipv4-addresses": [
"192.168.10.100"
],
"interface-id": "545adb7d-6cf0-41f5-8cb9-42fa64221da4",
"network-name": "",
"network-id": "6ffc5a18-ef93-4fe6-a1eb-ea4f114a48f5",
"ipv6-addresses": []
}
]
}
]
},
"inventory_provider": "aai",
"service_resource_id": "",
"candidate": {
"is_rehome": "false",
"placement_role": "destination",
"location_id": "RegionOne",
"inventory_type": "vfmodule",
"vim-id": "CloudOwner_RegionOne",
"candidate_id": "e765d576-8755-4145-8536-0bb6d9b1dc9e",
"host_id": "vFW_SNK_F_CL_AD",
"cloud_owner": "CloudOwner",
"location_type": "att_aic"
}
}
}]
}
} |
OOF - SO:
OOF returns to SO structure with Anchor point and related with them destination points. Each candidate is vFModule with extra information required or for filtering or for traffic configuration. For each destination point there is only one anchor point - both have to be located in the same cloud region. OOF firstly selects destinationPoints base on vFModule model name and by belonging to the same virtual service instance. Then such candidates are filtered on required or excluded candidate basis. Anchor candidates are filtered by the same criteria with such difference that for whole group of destination points that come from the same cloud region only one anchor point is selected - the response should refelct this relation and proposed response is a structure where under each anchor point candidate there are all selected destinations from the same region.
...
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}
...