Versions Compared

Key

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


View file
nameTraffic Distribution Workflow Dublin Requirements.pptx
height250

...

Elite soft 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",         "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
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": {
                    "modelTypeget_param": "resource",service_id"
            "modelVersion": "1.0"   }
     }       }
    ]   } }]
    }

}

...


QUERY POLICY:

Code Block
languagejs
titleAfFINITY QUERY POLICY
linenumberstrue
{
    "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
languagejs
titleOSDF - HAS
linenumberstrue
{
    "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}

...