From a855486a563a5686797b9ea304a46d044c9c0884 Mon Sep 17 00:00:00 2001 From: Chenfei Gao Date: Wed, 9 Oct 2019 16:39:35 -0400 Subject: Added new policy example to support junit test for new simplified API Issue-ID: POLICY-1991 Change-Id: Ib52bffe7895dc0625c77da7aa954bb71ed16187d Signed-off-by: Chenfei Gao --- .../onap.policies.controlloop.guard.MinMax.yaml | 43 ---- .../vCPE.policies.optimization.input.tosca.json | 234 +++++++++++++++++++++ 2 files changed, 234 insertions(+), 43 deletions(-) delete mode 100644 models-examples/src/main/resources/policies/onap.policies.controlloop.guard.MinMax.yaml create mode 100644 models-examples/src/main/resources/policies/vCPE.policies.optimization.input.tosca.json diff --git a/models-examples/src/main/resources/policies/onap.policies.controlloop.guard.MinMax.yaml b/models-examples/src/main/resources/policies/onap.policies.controlloop.guard.MinMax.yaml deleted file mode 100644 index 0fc677d9c..000000000 --- a/models-examples/src/main/resources/policies/onap.policies.controlloop.guard.MinMax.yaml +++ /dev/null @@ -1,43 +0,0 @@ -policy_types: - onap.policies.controlloop.Guard: - derived_from: tosca.policies.Root - version: 1.0.0 - description: Guard Policies for Control Loop Operational Policies - onap.policies.controlloop.guard.MinMax: - derived_from: onap.policies.controlloop.Guard - version: 1.0.0 - description: Supports Min/Max number of VF Modules - properties: - minmax_policy: - type: map - description: null - entry_schema: - type: onap.datatypes.guard.MinMax -data_types: - onap.datatypes.guard.MinMax: - derived_from: tosca.datatypes.Root - properties: - actor: - type: string - description: Specifies the Actor - required: true - recipe: - type: string - description: Specified the Recipe - required: true - time_range: - type: tosca.datatypes.TimeInterval - description: An optional range of time during the day the Min/Max limit is valid for. - required: false - controlLoopName: - type: string - description: An optional specific control loop to apply this guard to. - required: false - min_vf_module_instances: - type: integer - required: true - description: The minimum instances of this VF-Module - max_vf_module_instances: - type: integer - required: false - description: The maximum instances of this VF-Module diff --git a/models-examples/src/main/resources/policies/vCPE.policies.optimization.input.tosca.json b/models-examples/src/main/resources/policies/vCPE.policies.optimization.input.tosca.json new file mode 100644 index 000000000..68e3a4415 --- /dev/null +++ b/models-examples/src/main/resources/policies/vCPE.policies.optimization.input.tosca.json @@ -0,0 +1,234 @@ +{ + "tosca_definitions_version": "tosca_simple_yaml_1_0_0", + "topology_template": { + "policies": [ + { + "OSDF_CASABLANCA.Affinity_vCPE_1": { + "type": "onap.policies.optimization.AffinityPolicy", + "version": "1.0.0", + "metadata": { + "policy-id": "OSDF_CASABLANCA.Affinity_vCPE_1" + }, + "properties": { + "identity": "affinity_vCPE", + "policyScope": [ + "vCPE", + "US", + "INTERNATIONAL", + "ip", + "vGMuxInfra", + "vG" + ], + "affinityProperties": { + "qualifier": "same", + "category": "complex" + }, + "policyType": "zone", + "resources": [ + "vGMuxInfra", + "vG" + ] + } + } + }, + { + "OSDF_CASABLANCA.Capacity_vG_1": { + "type": "onap.policies.optimization.Vim_fit", + "version": "1.0.0", + "metadata": { + "policy-id": "OSDF_CASABLANCA.Capacity_vG_1" + }, + "properties": { + "identity": "capacity_vG", + "policyScope": [ + "VCPE", + "US", + "INTERNATIONAL", + "ip", + "vG" + ], + "resources": [ + "vG" + ], + "capacityProperty": { + "controller": "multicloud", + "request": "{\"vCPU\": 10, \"Memory\": {\"quantity\": {\"get_param\": \"REQUIRED_MEM\"}, \"unit\": \"GB\"}, \"Storage\": {\"quantity\": {\"get_param\": \"REQUIRED_DISK\"}, \"unit\": \"GB\"}}" + }, + "policyType": "vim_fit", + "applicableResources": "any" + } + } + }, + { + "OSDF_CASABLANCA.Distance_vG_1": { + "type": "onap.policies.optimization.DistancePolicy", + "version": "1.0.0", + "metadata": { + "policy-id": "OSDF_CASABLANCA.Distance_vG_1" + }, + "properties": { + "distanceProperties": { + "locationInfo": "customer_loc", + "distance": { + "value": 1500, + "operator": "<", + "unit": "km" + } + }, + "identity": "distance-vG", + "resources": [ + "vG" + ], + "policyScope": [ + "vCPE", + "US", + "INTERNATIONAL", + "ip", + "vG" + ], + "policyType": "distance_to_location", + "applicableResources": "any" + } + } + }, + { + "OSDF_CASABLANCA.hpa_policy_vG_1": { + "type": "onap.policies.optimization.HpaPolicy", + "version": "1.0.0", + "metadata": { + "policy-id": "OSDF_CASABLANCA.hpa_policy_vG_1" + }, + "properties": { + "resources": [ + "vG" + ], + "identity": "hpa-vG", + "policyScope": [ + "vCPE", + "US", + "INTERNATIONAL", + "ip", + "vG" + ], + "policyType": "hpa" + } + } + }, + { + "OSDF_CASABLANCA.queryPolicy_vCPE": { + "type": "onap.policies.optimization.QueryPolicy", + "version": "1.0.0", + "metadata": { + "policy-id": "OSDF_CASABLANCA.queryPolicy_vCPE" + }, + "properties": { + "queryProperties": [ + { + "attribute": "locationId", + "attribute_location": "customerLocation", + "value": "" + }, + { + "attribute": "id", + "attribute_location": "vpnInfo.vpnId", + "value": "" + }, + { + "attribute": "upstreamBW", + "attribute_location": "vpnInfo.upstreamBW", + "value": "" + }, + { + "attribute": "customerLatitude", + "attribute_location": "customerLatitude", + "value": 1.1 + }, + { + "attribute": "customerLongitude", + "attribute_location": "customerLongitude", + "value": 2.2 + } + ], + "serviceName": "vCPE", + "policyScope": [ + "vCPE", + "US", + "INTERNATIONAL", + "ip", + "vGMuxInfra", + "vG" + ], + "policyType": "request_param_query", + "identity": "vCPE_Query_Policy" + } + } + }, + { + "OSDF_CASABLANCA.SubscriberPolicy_v1": { + "type": "onap.policies.optimization.SubscriberPolicy", + "version": "1.0.0", + "metadata": { + "policy-id": "OSDF_CASABLANCA.SubscriberPolicy_v1" + }, + "properties": { + "identity": "subscriber_vCPE", + "policyScope": [ + "vCPE", + "subscriber_x", + "subscriber_y", + "subscriberPolicy" + ], + "properties": { + "subscriberName": [ + "subscriber_x", + "subscriber_y" + ], + "subscriberRole": [ + "PVT Homing" + ], + "provStatus": [ + "CAPPED" + ] + }, + "policyType": "subscriberPolicy", + "serviceName": "vCPE" + } + } + }, + { + "OSDF_CASABLANCA.vnfPolicy_vG": { + "type": "onap.policies.optimization.VnfPolicy", + "version": "1.0.0", + "metadata": { + "policy-id": "OSDF_CASABLANCA.vnfPolicy_vG" + }, + "properties": { + "identity": "vnf_vG", + "policyScope": [ + "vCPE", + "US", + "INTERNATIONAL", + "ip", + "vG" + ], + "policyType": "vnfPolicy", + "resources": [ + "vG" + ], + "applicableResources": "any", + "vnfProperties": [ + { + "inventoryProvider": "aai", + "serviceType": "", + "inventoryType": "cloud", + "customerId": "", + "orchestrationStatus": "", + "equipmentRole": "" + } + ] + } + } + } + ] + } +} \ No newline at end of file -- cgit 1.2.3-korg