From bc9f1dbb684b5acb28dbbd24c9a11ac2a3f7b3e8 Mon Sep 17 00:00:00 2001 From: Pamela Dragosh Date: Tue, 10 Dec 2019 13:47:55 -0500 Subject: Update optimization policies These policies need to be updated. Issue-ID: POLICY-2066 Change-Id: Idc15aa36f4295477b37aa6398920853436909751 Signed-off-by: Pamela Dragosh --- .../vCPE.policies.optimization.input.tosca.json | 494 +++++++++++++++++---- .../vCPE.policies.optimization.input.tosca.yaml | 306 ++++++++++--- .../concepts/ToscaPolicyFilterTest.java | 32 +- 3 files changed, 674 insertions(+), 158 deletions(-) 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 index 68e3a4415..929e29efa 100644 --- 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 @@ -3,70 +3,231 @@ "topology_template": { "policies": [ { - "OSDF_CASABLANCA.Affinity_vCPE_1": { - "type": "onap.policies.optimization.AffinityPolicy", + "OSDF_CASABLANCA.Affinity_Default": { + "type": "onap.policies.optimization.resource.AffinityPolicy", "version": "1.0.0", + "type_version": "1.0.0", "metadata": { - "policy-id": "OSDF_CASABLANCA.Affinity_vCPE_1" + "policy-id": "OSDF_CASABLANCA.Affinity_Default", + "policy-version": 1 }, "properties": { + "scope": [], + "services": [], + "resources": [], + "geography": [], "identity": "affinity_vCPE", - "policyScope": [ - "vCPE", - "US", - "INTERNATIONAL", - "ip", + "applicableResources": "any", + "affinityProperties": { + "qualifier": "same", + "category": "complex" + } + } + } + }, + { + "OSDF_CASABLANCA.Affinity_Default_US": { + "type": "onap.policies.optimization.resource.AffinityPolicy", + "version": "1.0.0", + "type_version": "1.0.0", + "metadata": { + "policy-id": "OSDF_CASABLANCA.Affinity_Default_US", + "policy-version": 1 + }, + "properties": { + "scope": [], + "services": [], + "resources": [], + "geography": [ + "US" + ], + "identity": "affinity_vCPE", + "applicableResources": "any", + "affinityProperties": { + "qualifier": "same", + "category": "complex" + } + } + } + }, + { + "OSDF_CASABLANCA.Affinity_Default_vCPE_US_0": { + "type": "onap.policies.optimization.resource.AffinityPolicy", + "version": "1.0.0", + "type_version": "1.0.0", + "metadata": { + "policy-id": "OSDF_CASABLANCA.Affinity_Default_vCPE_US_0", + "policy-version": 1 + }, + "properties": { + "scope": [], + "services": [ + "vCPE" + ], + "resources": [], + "geography": [ + "US" + ], + "identity": "affinity_vCPE", + "applicableResources": "any", + "affinityProperties": { + "qualifier": "different", + "category": "complex" + } + } + } + }, + { + "OSDF_CASABLANCA.Affinity_vCPE_US_Gold_1": { + "type": "onap.policies.optimization.resource.AffinityPolicy", + "version": "1.0.0", + "type_version": "1.0.0", + "metadata": { + "policy-id": "OSDF_CASABLANCA.Affinity_vCPE_1", + "policy-version": 1 + }, + "properties": { + "scope": [ + "gold" + ], + "services": [ + "vCPE" + ], + "resources": [ "vGMuxInfra", "vG" ], + "geography": [ + "US", + "INTERNATIONAL" + ], + "identity": "affinity_vCPE", + "applicableResources": "any", "affinityProperties": { "qualifier": "same", - "category": "complex" - }, - "policyType": "zone", + "category": "availabilityZone" + } + } + } + }, + { + "OSDF_CASABLANCA.Affinity_vCPE_US_Platinum_1": { + "type": "onap.policies.optimization.resource.AffinityPolicy", + "version": "1.0.0", + "type_version": "1.0.0", + "metadata": { + "policy-id": "OSDF_CASABLANCA.Affinity_vCPE_1", + "policy-version": 1 + }, + "properties": { + "scope": [ + "platinum" + ], + "services": [ + "vCPE" + ], "resources": [ "vGMuxInfra", "vG" - ] + ], + "geography": [ + "US", + "INTERNATIONAL" + ], + "identity": "affinity_vCPE", + "applicableResources": "any", + "affinityProperties": { + "qualifier": "different", + "category": "availabilityZone" + } } } }, { "OSDF_CASABLANCA.Capacity_vG_1": { - "type": "onap.policies.optimization.Vim_fit", + "type": "onap.policies.optimization.resource.Vim_fit", "version": "1.0.0", + "type_version": "1.0.0", "metadata": { - "policy-id": "OSDF_CASABLANCA.Capacity_vG_1" + "policy-id": "OSDF_CASABLANCA.Capacity_vG_1", + "policy-version": 1 }, "properties": { - "identity": "capacity_vG", - "policyScope": [ - "VCPE", - "US", - "INTERNATIONAL", - "ip", - "vG" + "scope": [], + "services": [ + "vCPE" ], "resources": [ "vG" ], + "geography": [ + "US", + "INTERNATIONAL" + ], + "identity": "capacity_vG", + "applicableResources": "any", "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.Capacity_vG_2": { + "type": "onap.policies.optimization.resource.Vim_fit", + "version": "1.0.0", + "type_version": "1.0.0", + "metadata": { + "policy-id": "OSDF_CASABLANCA.Capacity_vG_2", + "policy-version": 1 + }, + "properties": { + "scope": [], + "services": [ + "vCPE" + ], + "resources": [ + "vG" + ], + "geography": [ + "US", + "INTERNATIONAL" + ], + "identity": "capacity_vG", + "applicableResources": "any", + "capacityProperty": { + "controller": "multicloud", + "request": "{\"vCPU\": 15, \"Memory\": {\"quantity\": {\"get_param\": \"REQUIRED_MEM\"}, \"unit\": \"MB\"}, \"Storage\": {\"quantity\": {\"get_param\": \"REQUIRED_DISK\"}, \"unit\": \"GB\"}}" + } } } }, { "OSDF_CASABLANCA.Distance_vG_1": { - "type": "onap.policies.optimization.DistancePolicy", + "type": "onap.policies.optimization.resource.DistancePolicy", "version": "1.0.0", + "type_version": "1.0.0", "metadata": { - "policy-id": "OSDF_CASABLANCA.Distance_vG_1" + "policy-id": "OSDF_CASABLANCA.Distance_vG_1", + "policy-version": 1 }, "properties": { + "scope": [ + "platinum" + ], + "services": [ + "vCPE" + ], + "resources": [ + "vG" + ], + "geography": [ + "US", + "INTERNATIONAL" + ], + "identity": "distance-vG", + "applicableResources": "any", "distanceProperties": { "locationInfo": "customer_loc", "distance": { @@ -74,54 +235,188 @@ "operator": "<", "unit": "km" } - }, - "identity": "distance-vG", - "resources": [ - "vG" - ], - "policyScope": [ - "vCPE", - "US", - "INTERNATIONAL", - "ip", - "vG" - ], - "policyType": "distance_to_location", - "applicableResources": "any" + } + } + } + }, + { + "OSDF_CASABLANCA.hpa_policy_Default": { + "type": "onap.policies.optimization.resource.HpaPolicy", + "version": "1.0.0", + "type_version": "1.0.0", + "metadata": { + "policy-id": "OSDF_CASABLANCA.hpa_policy_Default", + "policy-version": 1 + }, + "properties": { + "scope": [], + "services": [], + "resources": [], + "geography": [], + "identity": "hpa-vG", + "flavorFeatures": [ + { + "id": "vg_1", + "type": "vnfc", + "directives": [ + { + "type": "flavor_directives", + "attributes": [ + { + "attribute_name": "flavor_label_vm_01", + "attribute_value": "" + } + ] + } + ], + "flavorProperties": [ + { + "hpa-feature": "basicCapabilities", + "mandatory": true, + "architecture": "generic", + "directives": [], + "hpa-feature-attributes": [ + { + "hpa-attribute-key": "numVirtualCpu", + "hpa-attribute-value": 8, + "operator": [ + ">=" + ], + "unit": "" + }, + { + "hpa-attribute-key": "virtualMemSize", + "hpa-attribute-value": 6, + "operator": [ + "<=" + ], + "unit": "" + } + ] + }, + { + "hpa-feature": "ovsDpdk", + "mandatory": false, + "architecture": "generic", + "directives": [], + "hpa-feature-attributes": [ + { + "hpa-attribute-key": "dataProcessingAccelerationLibrary", + "hpa-attribute-value": "ovsDpdk_version", + "operator": [ + "=" + ], + "unit": "" + } + ] + } + ] + } + ] } } }, { "OSDF_CASABLANCA.hpa_policy_vG_1": { - "type": "onap.policies.optimization.HpaPolicy", + "type": "onap.policies.optimization.resource.HpaPolicy", "version": "1.0.0", + "type_version": "1.0.0", "metadata": { - "policy-id": "OSDF_CASABLANCA.hpa_policy_vG_1" + "policy-id": "OSDF_CASABLANCA.hpa_policy_vG_1", + "policy-version": 1 }, "properties": { + "scope": [], + "services": [ + "vCPE", + "vOtherService" + ], "resources": [ "vG" ], + "geography": [], "identity": "hpa-vG", - "policyScope": [ - "vCPE", - "US", - "INTERNATIONAL", - "ip", - "vG" - ], - "policyType": "hpa" + "flavorFeatures": [ + { + "id": "vg_1", + "type": "vnfc", + "directives": [ + { + "type": "flavor_directives", + "attributes": [ + { + "attribute_name": "flavor_label_vm_01", + "attribute_value": "" + } + ] + } + ], + "flavorProperties": [ + { + "hpa-feature": "basicCapabilities", + "mandatory": true, + "architecture": "generic", + "directives": [], + "hpa-feature-attributes": [ + { + "hpa-attribute-key": "numVirtualCpu", + "hpa-attribute-value": 6, + "operator": [ + ">=" + ], + "unit": "" + }, + { + "hpa-attribute-key": "virtualMemSize", + "hpa-attribute-value": 4, + "operator": [ + "<=" + ], + "unit": "" + } + ] + }, + { + "hpa-feature": "ovsDpdk", + "mandatory": false, + "architecture": "generic", + "directives": [], + "hpa-feature-attributes": [ + { + "hpa-attribute-key": "dataProcessingAccelerationLibrary", + "hpa-attribute-value": "ovsDpdk_version", + "operator": [ + "=" + ], + "unit": "" + } + ] + } + ] + } + ] } } }, { "OSDF_CASABLANCA.queryPolicy_vCPE": { - "type": "onap.policies.optimization.QueryPolicy", + "type": "onap.policies.optimization.service.QueryPolicy", "version": "1.0.0", + "type_version": "1.0.0", "metadata": { - "policy-id": "OSDF_CASABLANCA.queryPolicy_vCPE" + "policy-id": "OSDF_CASABLANCA.queryPolicy_vCPE", + "policy-version": 1 }, "properties": { + "scope": [], + "services": [ + "vCPE" + ], + "geography": [ + "US", + "INTERNATIONAL" + ], + "identity": "vCPE_Query_Policy", "queryProperties": [ { "attribute": "locationId", @@ -148,82 +443,99 @@ "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", + "type": "onap.policies.optimization.service.SubscriberPolicy", "version": "1.0.0", + "type_version": "1.0.0", "metadata": { - "policy-id": "OSDF_CASABLANCA.SubscriberPolicy_v1" + "policy-id": "OSDF_CASABLANCA.SubscriberPolicy_v1", + "policy-version": 1 }, "properties": { - "identity": "subscriber_vCPE", - "policyScope": [ - "vCPE", - "subscriber_x", - "subscriber_y", - "subscriberPolicy" + "scope": [], + "services": [ + "vCPE" ], - "properties": { + "identity": "subscriber_vCPE", + "subscriberProperties": { "subscriberName": [ "subscriber_x", "subscriber_y" ], "subscriberRole": [ - "PVT Homing" + "platinum" ], "provStatus": [ "CAPPED" ] - }, - "policyType": "subscriberPolicy", - "serviceName": "vCPE" + } + } + } + }, + { + "OSDF_CASABLANCA.SubscriberPolicy_v2": { + "type": "onap.policies.optimization.service.SubscriberPolicy", + "version": "1.0.0", + "type_version": "1.0.0", + "metadata": { + "policy-id": "OSDF_CASABLANCA.SubscriberPolicy_v2", + "policy-version": 1 + }, + "properties": { + "scope": [], + "services": [ + "vCPE" + ], + "identity": "subscriber_vCPE", + "subscriberProperties": { + "subscriberName": [ + "subscriber_a", + "subscriber_b" + ], + "subscriberRole": [ + "gold" + ], + "provStatus": [ + "CAPPED" + ] + } } } }, { "OSDF_CASABLANCA.vnfPolicy_vG": { - "type": "onap.policies.optimization.VnfPolicy", + "type": "onap.policies.optimization.resource.VnfPolicy", "version": "1.0.0", + "type_version": "1.0.0", "metadata": { - "policy-id": "OSDF_CASABLANCA.vnfPolicy_vG" + "policy-id": "OSDF_CASABLANCA.vnfPolicy_vG", + "policy-version": 1 }, "properties": { - "identity": "vnf_vG", - "policyScope": [ - "vCPE", - "US", - "INTERNATIONAL", - "ip", - "vG" + "scope": [], + "services": [ + "vCPE" ], - "policyType": "vnfPolicy", "resources": [ "vG" ], + "geography": [ + "US", + "INTERNATIONAL" + ], + "identity": "vnf_vG", "applicableResources": "any", "vnfProperties": [ { "inventoryProvider": "aai", "serviceType": "", - "inventoryType": "cloud", - "customerId": "", - "orchestrationStatus": "", - "equipmentRole": "" + "inventoryType": "cloudRegionId", + "customerId": "" } ] } diff --git a/models-examples/src/main/resources/policies/vCPE.policies.optimization.input.tosca.yaml b/models-examples/src/main/resources/policies/vCPE.policies.optimization.input.tosca.yaml index 6e32cca28..fb8486375 100644 --- a/models-examples/src/main/resources/policies/vCPE.policies.optimization.input.tosca.yaml +++ b/models-examples/src/main/resources/policies/vCPE.policies.optimization.input.tosca.yaml @@ -1,86 +1,277 @@ tosca_definitions_version: tosca_simple_yaml_1_0_0 topology_template: policies: - - - OSDF_CASABLANCA.Affinity_vCPE_1: - type: onap.policies.optimization.AffinityPolicy + - + OSDF_CASABLANCA.Affinity_Default: + type: onap.policies.optimization.resource.AffinityPolicy version: 1.0.0 + type_version: 1.0.0 metadata: - policy-id: OSDF_CASABLANCA.Affinity_vCPE_1 + policy-id: OSDF_CASABLANCA.Affinity_Default + policy-version: 1 properties: + scope: [] + services: [] + resources: [] + geography: [] identity: affinity_vCPE - policyScope: [vCPE, US, INTERNATIONAL, ip, vGMuxInfra, vG] - affinityProperties: + applicableResources: any + affinityProperties: qualifier: same category: complex - policyType: zone + - + OSDF_CASABLANCA.Affinity_Default_US: + type: onap.policies.optimization.resource.AffinityPolicy + version: 1.0.0 + type_version: 1.0.0 + metadata: + policy-id: OSDF_CASABLANCA.Affinity_Default_US + policy-version: 1 + properties: + scope: [] + services: [] + resources: [] + geography: [US] + identity: affinity_vCPE + applicableResources: any + affinityProperties: + qualifier: same + category: complex + - + OSDF_CASABLANCA.Affinity_Default_vCPE_US_0: + type: onap.policies.optimization.resource.AffinityPolicy + version: 1.0.0 + type_version: 1.0.0 + metadata: + policy-id: OSDF_CASABLANCA.Affinity_Default_vCPE_US_0 + policy-version: 1 + properties: + scope: [] + services: [vCPE] + resources: [] + geography: [US] + identity: affinity_vCPE + applicableResources: any + affinityProperties: + qualifier: different + category: complex + - + OSDF_CASABLANCA.Affinity_vCPE_US_Gold_1: + type: onap.policies.optimization.resource.AffinityPolicy + version: 1.0.0 + type_version: 1.0.0 + metadata: + policy-id: OSDF_CASABLANCA.Affinity_vCPE_1 + policy-version: 1 + properties: + scope: [gold] + services: [vCPE] resources: [vGMuxInfra, vG] + geography: [US, INTERNATIONAL] + identity: affinity_vCPE + applicableResources: any + affinityProperties: + qualifier: same + category: availabilityZone + - + OSDF_CASABLANCA.Affinity_vCPE_US_Platinum_1: + type: onap.policies.optimization.resource.AffinityPolicy + version: 1.0.0 + type_version: 1.0.0 + metadata: + policy-id: OSDF_CASABLANCA.Affinity_vCPE_1 + policy-version: 1 + properties: + scope: [platinum] + services: [vCPE] + resources: [vGMuxInfra, vG] + geography: [US, INTERNATIONAL] + identity: affinity_vCPE + applicableResources: any + affinityProperties: + qualifier: different + category: availabilityZone - OSDF_CASABLANCA.Capacity_vG_1: - type: onap.policies.optimization.Vim_fit + type: onap.policies.optimization.resource.Vim_fit version: 1.0.0 + type_version: 1.0.0 metadata: policy-id: OSDF_CASABLANCA.Capacity_vG_1 + policy-version: 1 properties: - identity: capacity_vG - policyScope: [VCPE, US, INTERNATIONAL, ip, vG] + scope: [] + services: [vCPE] resources: [vG] - capacityProperty: + geography: [US, INTERNATIONAL] + identity: capacity_vG + applicableResources: any + 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 + - + OSDF_CASABLANCA.Capacity_vG_2: + type: onap.policies.optimization.resource.Vim_fit + version: 1.0.0 + type_version: 1.0.0 + metadata: + policy-id: OSDF_CASABLANCA.Capacity_vG_2 + policy-version: 1 + properties: + scope: [] + services: [vCPE] + resources: [vG] + geography: [US, INTERNATIONAL] + identity: capacity_vG applicableResources: any + capacityProperty: + controller: multicloud + request: "{\"vCPU\": 15, \"Memory\": {\"quantity\": {\"get_param\": \"REQUIRED_MEM\"}, \"unit\": \"MB\"}, \"Storage\": {\"quantity\": {\"get_param\": \"REQUIRED_DISK\"}, \"unit\": \"GB\"}}" - OSDF_CASABLANCA.Distance_vG_1: - type: onap.policies.optimization.DistancePolicy + type: onap.policies.optimization.resource.DistancePolicy version: 1.0.0 + type_version: 1.0.0 metadata: policy-id: OSDF_CASABLANCA.Distance_vG_1 + policy-version: 1 properties: - distanceProperties: + scope: [platinum] + services: [vCPE] + resources: [vG] + geography: [US, INTERNATIONAL] + identity: distance-vG + applicableResources: any + distanceProperties: locationInfo: customer_loc - distance: + 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_Default: + type: onap.policies.optimization.resource.HpaPolicy + version: 1.0.0 + type_version: 1.0.0 + metadata: + policy-id: OSDF_CASABLANCA.hpa_policy_Default + policy-version: 1 + properties: + scope: [] + services: [] + resources: [] + geography: [] + identity: hpa-vG + flavorFeatures: + - + id: vg_1 + type: vnfc + directives: + - type: flavor_directives + attributes: + - attribute_name: flavor_label_vm_01 + attribute_value: "" + flavorProperties: + - + hpa-feature: basicCapabilities + mandatory: True + architecture: generic + directives: [] + hpa-feature-attributes: + - hpa-attribute-key: numVirtualCpu + hpa-attribute-value: 8 + operator: ['>='] + unit: "" + - hpa-attribute-key: virtualMemSize + hpa-attribute-value: 6 + operator: ['<='] + unit: "" + - + hpa-feature: ovsDpdk + mandatory: False + architecture: generic + directives: [] + hpa-feature-attributes: + - hpa-attribute-key: dataProcessingAccelerationLibrary + hpa-attribute-value: ovsDpdk_version + operator: [=] + unit: "" - OSDF_CASABLANCA.hpa_policy_vG_1: - type: onap.policies.optimization.HpaPolicy + type: onap.policies.optimization.resource.HpaPolicy version: 1.0.0 + type_version: 1.0.0 metadata: policy-id: OSDF_CASABLANCA.hpa_policy_vG_1 + policy-version: 1 properties: + scope: [] + services: [vCPE, vOtherService] resources: [vG] - identity: "hpa-vG" - policyScope: [vCPE, US, INTERNATIONAL, ip, vG] - policyType: hpa - # NONE OF THE FLAVORFEATURES CAME OUT RIGHT + geography: [] + identity: hpa-vG + flavorFeatures: + - + id: vg_1 + type: vnfc + directives: + - type: flavor_directives + attributes: + - attribute_name: flavor_label_vm_01 + attribute_value: "" + flavorProperties: + - + hpa-feature: basicCapabilities + mandatory: True + architecture: generic + directives: [] + hpa-feature-attributes: + - hpa-attribute-key: numVirtualCpu + hpa-attribute-value: 6 + operator: ['>='] + unit: "" + - hpa-attribute-key: virtualMemSize + hpa-attribute-value: 4 + operator: ['<='] + unit: "" + - + hpa-feature: ovsDpdk + mandatory: False + architecture: generic + directives: [] + hpa-feature-attributes: + - hpa-attribute-key: dataProcessingAccelerationLibrary + hpa-attribute-value: ovsDpdk_version + operator: [=] + unit: "" - OSDF_CASABLANCA.queryPolicy_vCPE: - type: onap.policies.optimization.QueryPolicy + type: onap.policies.optimization.service.QueryPolicy version: 1.0.0 + type_version: 1.0.0 metadata: policy-id: OSDF_CASABLANCA.queryPolicy_vCPE + policy-version: 1 properties: - queryProperties: - - + scope: [] + services: [vCPE] +# resources: [vGMuxInfra, vG] + geography: [US, INTERNATIONAL] + identity: vCPE_Query_Policy + 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 @@ -88,43 +279,56 @@ topology_template: 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 + type: onap.policies.optimization.service.SubscriberPolicy version: 1.0.0 + type_version: 1.0.0 metadata: policy-id: OSDF_CASABLANCA.SubscriberPolicy_v1 + policy-version: 1 properties: + scope: [] + services: [vCPE] identity: subscriber_vCPE - policyScope: [vCPE, subscriber_x, subscriber_y, subscriberPolicy] - properties: + subscriberProperties: subscriberName: [subscriber_x, subscriber_y] - subscriberRole: ["PVT Homing"] + subscriberRole: [platinum] + provStatus: [CAPPED] + - + OSDF_CASABLANCA.SubscriberPolicy_v2: + type: onap.policies.optimization.service.SubscriberPolicy + version: 1.0.0 + type_version: 1.0.0 + metadata: + policy-id: OSDF_CASABLANCA.SubscriberPolicy_v2 + policy-version: 1 + properties: + scope: [] + services: [vCPE] + identity: subscriber_vCPE + subscriberProperties: + subscriberName: [subscriber_a, subscriber_b] + subscriberRole: [gold] provStatus: [CAPPED] - policyType: subscriberPolicy - serviceName: vCPE - OSDF_CASABLANCA.vnfPolicy_vG: - type: onap.policies.optimization.VnfPolicy + type: onap.policies.optimization.resource.VnfPolicy version: 1.0.0 + type_version: 1.0.0 metadata: policy-id: OSDF_CASABLANCA.vnfPolicy_vG + policy-version: 1 properties: - identity: vnf_vG - policyScope: [vCPE, US, INTERNATIONAL, ip, vG] - policyType: vnfPolicy + scope: [] + services: [vCPE] resources: [vG] + geography: [US, INTERNATIONAL] + identity: vnf_vG applicableResources: any - vnfProperties: - - + vnfProperties: + - inventoryProvider: aai serviceType: "" - inventoryType: cloud + inventoryType: cloudRegionId customerId: "" - orchestrationStatus: "" - equipmentRole: "" \ No newline at end of file diff --git a/models-tosca/src/test/java/org/onap/policy/models/tosca/authorative/concepts/ToscaPolicyFilterTest.java b/models-tosca/src/test/java/org/onap/policy/models/tosca/authorative/concepts/ToscaPolicyFilterTest.java index 2c62e7fc0..34feece66 100644 --- a/models-tosca/src/test/java/org/onap/policy/models/tosca/authorative/concepts/ToscaPolicyFilterTest.java +++ b/models-tosca/src/test/java/org/onap/policy/models/tosca/authorative/concepts/ToscaPolicyFilterTest.java @@ -144,26 +144,26 @@ public class ToscaPolicyFilterTest { ToscaPolicyFilter filter = ToscaPolicyFilter.builder().version(ToscaPolicyFilter.LATEST_VERSION).build(); List filteredList = filter.filter(policyList); - assertEquals(15, filteredList.size()); + assertEquals(22, filteredList.size()); assertEquals(VERSION_100, filteredList.get(7).getVersion()); assertEquals(VERSION_100, filteredList.get(12).getVersion()); - assertEquals(17, policyList.size()); - assertEquals(15, filteredList.size()); + assertEquals(24, policyList.size()); + assertEquals(22, filteredList.size()); policyList.get(10).setVersion("2.0.0"); policyList.get(16).setVersion("3.4.5"); filteredList = filter.filter(policyList); - assertEquals(15, filteredList.size()); - assertEquals("2.0.0", filteredList.get(7).getVersion()); - assertEquals("3.4.5", filteredList.get(12).getVersion()); + assertEquals(22, filteredList.size()); + assertEquals("2.0.0", filteredList.get(12).getVersion()); + assertEquals("3.4.5", filteredList.get(14).getVersion()); policyList.get(10).setVersion(VERSION_100); policyList.get(16).setVersion(VERSION_100); filteredList = filter.filter(policyList); - assertEquals(15, filteredList.size()); - assertEquals(VERSION_100, filteredList.get(7).getVersion()); + assertEquals(22, filteredList.size()); assertEquals(VERSION_100, filteredList.get(12).getVersion()); + assertEquals(VERSION_100, filteredList.get(14).getVersion()); } @Test @@ -182,7 +182,7 @@ public class ToscaPolicyFilterTest { filter = ToscaPolicyFilter.builder().version(VERSION_100).build(); filteredList = filter.filter(policyList); - assertEquals(15, filteredList.size()); + assertEquals(21, filteredList.size()); filter = ToscaPolicyFilter.builder().name("OSDF_CASABLANCA.SubscriberPolicy_v1").version(VERSION_100).build(); filteredList = filter.filter(policyList); @@ -190,7 +190,7 @@ public class ToscaPolicyFilterTest { filter = ToscaPolicyFilter.builder().name("operational.modifyconfig").version(VERSION_100).build(); filteredList = filter.filter(policyList); - assertEquals(2, filteredList.size()); + assertEquals(1, filteredList.size()); } @Test @@ -198,11 +198,11 @@ public class ToscaPolicyFilterTest { // null pattern ToscaPolicyFilter filter = ToscaPolicyFilter.builder().versionPrefix(null).build(); List filteredList = filter.filter(policyList); - assertEquals(17, filteredList.size()); + assertEquals(24, filteredList.size()); filter = ToscaPolicyFilter.builder().versionPrefix("1.").build(); filteredList = filter.filter(policyList); - assertEquals(14, filteredList.size()); + assertEquals(21, filteredList.size()); filter = ToscaPolicyFilter.builder().versionPrefix("100.").build(); filteredList = filter.filter(policyList); @@ -229,12 +229,12 @@ public class ToscaPolicyFilterTest { filter = ToscaPolicyFilter.builder().typeVersion(VERSION_000).build(); filteredList = filter.filter(policyList); - assertEquals(14, filteredList.size()); + assertEquals(7, filteredList.size()); - filter = ToscaPolicyFilter.builder().type("onap.policies.optimization.HpaPolicy").typeVersion(VERSION_000) - .build(); + filter = ToscaPolicyFilter.builder().type("onap.policies.optimization.resource.HpaPolicy") + .typeVersion(VERSION_100).build(); filteredList = filter.filter(policyList); - assertEquals(1, filteredList.size()); + assertEquals(2, filteredList.size()); filter = ToscaPolicyFilter.builder().type("onap.policies.controlloop.Operational").typeVersion(VERSION_000) .build(); -- cgit 1.2.3-korg