View file | ||||
---|---|---|---|---|
|
...
Elite soft json viewer | ||||
---|---|---|---|---|
| ||||
{ "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", "serviceResourceIdresourceModuleName": "vFW-XXSINK", "resourceModelInfo": { "modelInvariantIdserviceResourceId": "b50a101dvFW-dbe3-41b1-a04b-3c44b0ec9d94SINK-XX", "modelVersionId "resourceModelInfo": { "modelInvariantId": "d23ad900fda3c1e8-99207653-49da4acd-94e380ef-78c76cbdf331f5755c1d3859", "modelName "modelVersionId": "VfwSnkDtVf..base_vfw..module-0",a6906768-1cae-4e78-acd1-d753ac61f3e8" "modelType": "resource", }, "modelVersionexcludedCandidates": "1.0"[ }, "excludedCandidates":{ [ { "identifierType": "vfModuleIdvfmodule", "identifiers": [ "2b88bda7-95d4-4e26-92b7-fab087a1b609 "4d944b8f-557a-4fe7-bcb3-aec65927a065" ] ] } ] }, { ] }, { "resourceModuleName": "DtAnchorvPGN", "serviceResourceId": "vPGN-XX", "unique": "false", "resourceModelInfo": { "modelInvariantId": "344e26f1f2f88e29-ff29d571-457049ef-98fdaea3-2f607b79e609b8d13900c16f", "modelVersionId": "a8ad1d213ccebc76-5e9d66e1-4a9147c8-b155aee9-19c5ce5fbe17",98f30d08db97" } } "modelName": "VfwPkgDtVf..base_vpkg..module-0", ] }, "serviceInfo": { "serviceInstanceId": "209fb01e-60ca-4325-b074-c5ad4e0499f8", "serviceName": "vFW_TD", "modelInfo": { "modelInvariantId": "TD-invariantId", "modelVersionId": "TD-versionId" } } } |
AFFINITY POLICY:
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{
"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 | ||||||
---|---|---|---|---|---|---|
| ||||||
{
"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 | ||||
---|---|---|---|---|
| ||||
{ "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": { "modelTypeget_param": "resource",service_id" "modelVersion": "1.0" } } } ] } }] } } |
...
QUERY POLICY:
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "service": "affinityPolicyqueryPolicy", "policyName": "OSDF_DUBLIN.AffinityQueryPolicy_vFW_TD", "description": "AffinityQuery policy for vPGN Anchor and vFW destination pointTD", "templateVersion": "OpenSource.version.1", "version": "oofDublin", "priority": "3", "riskType": "test", "riskLevel": "2", "versionguard": "oofDublinFalse", "content": { "priority": "3", "riskType "queryProperties": [ {"attribute":"customerLatitude", "attribute_location": "customerLatitude", "value": 1.1}, {"attribute":"customerLongitude", "attribute_location": "testcustomerLongitude", "riskLevelvalue": "2.2"}, {"guardattribute": "Falsechosen_region", "content"attribute_location": {"chosenRegion"}, {"identityattribute": "affinitychosen_vFWcustomer_TDid", "attribute_location": "chosenCustomerId"} ], "policyScope": [ "TD", "vFW-SINK", "vPGN" ], "affinityProperty": { "qualifier"policyType": "samerequest_param_query", "categoryserviceName": "region" }vFW_TD", "policyTypeidentity": "zonevFW_TD_Query_Policy", "resources": [ "vFW-SINK", "vPGN" ] } } |
OSDF - HAS:
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "name": "distribute_traffic_test", "files": {}, "limit": 1100, "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" } } } } } |
...
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}
...