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