Merge "Update optimization policies"
authorJim Hahn <jrh3@att.com>
Wed, 11 Dec 2019 13:34:39 +0000 (13:34 +0000)
committerGerrit Code Review <gerrit@onap.org>
Wed, 11 Dec 2019 13:34:39 +0000 (13:34 +0000)
models-examples/src/main/resources/policies/vCPE.policies.optimization.input.tosca.json
models-examples/src/main/resources/policies/vCPE.policies.optimization.input.tosca.yaml
models-tosca/src/test/java/org/onap/policy/models/tosca/authorative/concepts/ToscaPolicyFilterTest.java

index 68e3a44..929e29e 100644 (file)
     "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": {
                                 "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",
                                 "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": ""
                             }
                         ]
                     }
index 6e32cca..fb84863 100644 (file)
 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
index 2c62e7f..34feece 100644 (file)
@@ -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();