aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJim Hahn <jrh3@att.com>2019-12-11 13:34:39 +0000
committerGerrit Code Review <gerrit@onap.org>2019-12-11 13:34:39 +0000
commit360cffc3b859716273251f077a469939fc80e100 (patch)
treee9f42d1aaa79a02bafcf0a93c68879430478330b
parente27645bd4d0e3a873a8e9312b04ae7394ec02bb8 (diff)
parentbc9f1dbb684b5acb28dbbd24c9a11ac2a3f7b3e8 (diff)
Merge "Update optimization policies"
-rw-r--r--models-examples/src/main/resources/policies/vCPE.policies.optimization.input.tosca.json494
-rw-r--r--models-examples/src/main/resources/policies/vCPE.policies.optimization.input.tosca.yaml306
-rw-r--r--models-tosca/src/test/java/org/onap/policy/models/tosca/authorative/concepts/ToscaPolicyFilterTest.java32
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<ToscaPolicy> 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<ToscaPolicy> 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();