Versions Compared

Key

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

...

JSON Viewer
width600
height700
{
    "requestInfo": {
        "transactionId": "e576c75e-7536-4145-a1c0-d60b65bb1bb8",
        "requestId": "de4f04e3-0a65-470b-9d07-8ea6c2fb3e10",
        "callbackUrl": "httpshttp://wiki0.0.onap0.org0:50009000/callbackUrlosdfCallback/",
        "sourceId": "SO",
        "requestType": "create",
        "numSolutions": "100",
        "optimizers": [
            "placement"
        ],
        "timeout": 1200
    },
    "placementInfo": {
        "requestParameters": {
            "chosenRegion": "RegionOne",
      "sourceDestinationVfModuleId      "chosenCustomerId": "e85d0c57DemoCust_8b908ab3-e518b9e6-4dae41a9-b185a4e2-75bf649e52f831cc9c5114a2"
        },
        "subscriberInfo": {
            "globalSubscriberId": "dbc2c763-6383-42d6-880a-b7d5c5bc84d9",
            "subscriberName": "oof-so-chm"
        },
        "placementDemands": [
            {
        "resourceModuleName": "DtDestination        "resourceModuleName": "vFW-SINK",
                "serviceResourceId": "vFW-SINK-XX",
                "resourceModelInfo": {
          				"modelInvariantId": "b50a101dfda3c1e8-dbe37653-41b14acd-a04b80ef-3c44b0ec9d94f5755c1d3859",
          				"modelVersionId": "d23ad900a6906768-99201cae-49da4e78-94e3acd1-78c76cbdf331d753ac61f3e8",
          "modelName": "VfwSnkDtVf..base_vfw..module-0",
     },
     "modelType": "resource",
          "modelVersionexcludedCandidates": "1.0"[
        },
           "excludedCandidates": [{
            {
            "identifierType": "vfModuleIdvfmodule",
                        "identifiers": [
               "2b88bda7-95d4-4e26-92b7-fab087a1b609"
             "4d944b8f-557a-4fe7-bcb3-aec65927a065"
                        ]
                    }
                ]
            },
            {
                "resourceModuleName": "vPGN",
                "serviceResourceId": "vPGN-XX",
                "unique": "false",
                "resourceModelInfo": {
                    "modelInvariantId": "f2f88e29-d571-49ef-aea3-b8d13900c16f",
    				"modelVersionId": "3ccebc76-66e1-47c8-aee9-98f30d08db97"
                }
            }
        ]
    },
    "serviceInfo": {
        "serviceInstanceId": "209fb01e-60ca-4325-b074-c5ad4e0499f8",
        "serviceName": "vFW_TD",
        "modelInfo": {
            "modelInvariantId": "TD-invariantId",
            "modelVersionId": "TD-versionId"
        }
    }
}

AFFINITY POLICY:

Code Block
languagejs
titleAfFINITY POLICY
linenumberstrue
{
    "service": "affinityPolicy",
    "policyName": "OSDF_DUBLIN.Affinity_vFW_TD",
    "description": "Affinity policy for vPGN Anchor and vFW destination point",
    "templateVersion": "OpenSource.version.1",
    "version": "oofDublin",
    "priority": "3",
    "riskType": "test",
    "riskLevel": "2",
    "guard": "False",
    "content": {
        "identity": "affinity_vFW_TD",
        "policyScope": [
            "TD",
            "vFW-SINK",
            "vPGN"
        ],
        "affinityProperty": {
            "qualifier": "same",
            "category": "region"
        },
        "policyType": "zone",
        "resources": [
            "vFW-SINK",
            "vPGN"
        ]
    }
}

VFW VNF POLICY:

Code Block
languagejs
titleVFW VNF POLICY
linenumberstrue
{
    "service": "vnfPolicy",
    "policyName": "OSDF_DUBLIN.vnfPolicy_vFW_TD",
    "description": "vnfPolicy",
    "templateVersion": "OpenSource.version.1",
    "version": "oofDublin",
    "priority": "6",
    "riskType": "test",
    "riskLevel": "3",
    "guard": "False",
    "content": {
        "identity": "vnf_vFW_TD",
        "policyScope": ["TD", "vFW-SINK"],
        "policyType": "vnfPolicy",
        "resources": ["vFW-SINK"],
        "applicableResources": "any",
        "vnfProperties": [{
            "inventoryProvider": "aai",
            "serviceType": "",
            "inventoryType": "vfmodule",
            "customerId": {
            	"get_param": "chosen_customer_id"
            },
            "equipmentRole": "",
            "attributes": {
                "orchestrationStatus": ["active"],
                "provStatus": "ACTIVE",
                "cloudRegionId": {
                    "get_param": "chosen_region"
                },
                "service_instance_id": {
                    "get_param": "service_id"
                }
            }
        }]
    }
}


VPGN VNF POLICY:

Code Block
languagejs
titleVPGN VNF POLICY
{
    "service": "vnfPolicy",
    "policyName": "OSDF_DUBLIN.vnfPolicy_vPGN_TD",
    "description": "vnfPolicy",
    "templateVersion": "OpenSource.version.1",
    "version": "oofDublin",
    "priority": "6",
    "riskType": "test",
    "riskLevel": "3",
    "guard": "False",
    "content": {
        "identity": "vnf_vPGN_TD",
        "policyScope": ["TD", "vPGN"],
        "policyType": "vnfPolicy",
        "resources": ["vPGN"],
        "applicableResources": "any",
        "vnfProperties": [{
            "inventoryProvider": "aai",
            "serviceType": "",
            "inventoryType": "vfmodule",
            "customerId": {
            	"get_param": "chosen_customer_id"
            },
            "equipmentRole": "",
            "attributes": {
                "orchestrationStatus": ["active"],
                "provStatus": "ACTIVE",
                "cloudRegionId": {
                    "get_param": "chosen_region"
                },
                "service_instance_id": {
                    "get_param": "service_id"
                }
            }
        }]
    }
}


QUERY POLICY:

Code Block
languagejs
titleQUERY POLICY
linenumberstrue
{
  "service": "queryPolicy",
  "policyName": "OSDF_DUBLIN.QueryPolicy_vFW_TD",
  "description": "Query policy for vFW TD",
  "templateVersion": "OpenSource.version.1",
  "version": "oofDublin",
  "priority": "3",
  "riskType": "test",
  "riskLevel": "2",
  "guard": "False",
  "content": {
    "queryProperties": [
      {"attribute":"customerLatitude", "attribute_location": "customerLatitude", "value": 1.1},
      {"attribute":"customerLongitude", "attribute_location": "customerLongitude", "value": 2.2},
      {"attribute":"chosen_region", "attribute_location": "chosenRegion"},
      {"attribute":"chosen_customer_id", "attribute_location": "chosenCustomerId"}
    ],
    "policyScope": [
            "TD",
            "vFW-SINK",
            "vPGN"
    ],
    "policyType": "request_param_query",
    "serviceName": "vFW_TD",
    "identity": "vFW_TD_Query_Policy",
    "resources": [
            "vFW-SINK",
            "vPGN"
    ]
  }
}


OSDF - HAS:

Code Block
languagejs
titleOSDF - HAS
linenumberstrue
{
    "name": "distribute_traffic_test",
    "files": {},
    "limit": 100,
	"num_solution": 100,
    "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
titleHAS - OSDF
linenumberstrue
{
    "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",
        ]
      },
      {
        "resourceModuleNamecloud_owner": "DtAnchorCloudOwner",
        "serviceResourceId": "vPGN-XX",
        "resourceModelInfo": {
          "modelInvariantIdlocation_type": "344e26f1-ff29-4570-98fd-2f607b79e609",att_aic"
          "modelVersionId": "a8ad1d21-5e9d-4a91-b155-19c5ce5fbe17",
             "modelName": "VfwPkgDtVf..base_vpkg..module-0", }
          "modelType": "resource",
         }
 "modelVersion": "1.0"
        }
      }]
     ]
  }
}
     }
}

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.

...