...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
tosca_definitions_version: tosca_simple_yaml_1_0_0 policy_types: - onap.policies.controlloop.RootCommon: derived_from: tosca.policies.Root version: 1.0.0 description: Root| policy type for all Control Loop Policies Base policy type that is shared by properties:all Control Loop Policy Types. Helps to organize all the controlLoopId: policies for a Control Loop and ensure they are tied together by a common ID. Helps type:toward string alleviating too much external knowledge required to ensure the required:fields truecontained in different types of Policies are consistent description:with Theeach uniqueother. ID identifying the control loop. There are no semantic meaning tied to this name. |
2.0 Example Usages of Base Control Loop Policy Type
The following shows how the base Control Loop Policy Type can be used.
2.1 How current Policy Types would derive from Base Control Loop Policy Type
As of Dublin/El Alto, we have these Policy Types that will need to derive from the base type.
- CLAMP will be able to search for Monitoring Policy Types to associate with DCAE uS
- CLAMP will be able to search for all possible guard and operational Policy Types
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
tosca_definitions_version: tosca_simple_yaml_1_0_0 policy_types: - properties: id: type: String description: The unique control loop id. required: true domain: onap.policies.controlloop.Rootdescription: Identifies the domain for the Control Loop. Virtual vs Physical derived_from: tosca.policies.Root versionrequired: true 1.0.0 description: Root policy type: forTBD all Control Loop Policies eventPublished: properties: description: | controlLoopId: Describes the event type:that stringis published when the application detects the ONSET of required: true a Control Loop condition. For example, VES vs ControlLoopEvent description: The unique ID identifying the control loop. There are no semanticrequired: meaningtrue tied to this name. - onap.policies.controlloop.root.Monitoring:type: TBD derived_fromtopics: onap.policies.controlloop.Root version: 1.0.0 description: List of Dmaap topics that will be used by the description:ONAP Basecomponents Controlto Loopcommunicate. Policy Type for all Monitoring Policy Types propertiesrequired: #true common properties shared between all Monitoring policy Types # ommitted due to brevitytype: TBD - onap.policies.controlloop.root.Operational: derived_from: onap.policies.controlloop.Root version: 1.0.0 |
2.0 Example Usages of Base Control Loop Policy Type
The following shows how the base Control Loop Policy Type can be used.
2.1 How current Policy Types would derive from Base Control Loop Policy Type
As of Dublin/El Alto, we have these Policy Types that will need to derive from the base type.
- CLAMP will be able to search for Monitoring Policy Types to associate with DCAE uS
- CLAMP will be able to search for all possible guard and operational Policy Types
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
onap.policies.controlloop.common.Monitoring: descriptionderived_from: Base Control Loop Policy Type for all Operational Policy Types onap.policies.controlloop.Common version: 1.0.0 description: | properties: # common properties shared between all Operational policy Types Common Control Loop Policy Type for all Monitoring Policy Types. This will contain # ommitted due to brevity shared properties that all DCAE Monitoring applications should define. - properties: onap.policies.controlloop.common.rootmonitoring.GuardThreshold: derived_from: onap.policies.controlloop.common.Root Monitoring version: 1.0.0 description: Threshold Monitoring Policy description:Type Base Control Loop Policy Type for all Guard Policyproperties: Types onap.policies.controlloop.common.monitoring.Collectors: properties: # common properties shared between all Guard policy Types derived_from: onap.policies.controlloop.common.Monitoring version: 1.0.0 description: Base Collectors Policy Type # ommitted due to brevity |
QUESTION/ISSUE: Should Control Loop Coordination have its own base type? Or is it still a guard?
2.2 Example Policy Types deriving from each Base Control Loop Policy Type
Each base Policy Type can then be further defined for specifics.
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
tosca_definitions_version: tosca_simple_yaml_1_0_0 policy_types: -properties: onap.policies.controlloop.common.monitoring.collectors.VES: derived_from: onap.policies.controlloop.common.monitoring.Collectors version: 1.0.0 description: VES Collector Policy Type properties: onap.policies.controlloop.common.Operational: derived_from: onap.policies.controlloop.Common version: 1.0.0 description: Base Control Loop Policy Type for all Operational Policy Types properties: timeout: type: Integer description: | Overall timeout for executing all the operations. This timeout should equal or exceed the total timeout for each operation listed. required: true trigger: type: String description: Initial operation to execute upon receiving an Onset event message for the Control Loop. required: true operations: type: List description: List of operations to be performed when Control Loop is triggered. required: true entry_schema: type: onap.datatype.controlloop.Operation onap.policies.controlloop.common.operational.Apex: derived_from: onap.policies.controlloop.common.Operational type_version: 1.0.0 version: 1.0.0 description: Operational policies that can customized for Apex PDP properties: onap.policies.controlloop.operational.common.Drools: derived_from: onap.policies.controlloop.common.Operational type_version: 1.0.0 version: 1.0.0 description: Operational policies that can be customzed for Drools PDP properties: controllerName: type: String description: Drools controller properties required: false onap.policies.controlloop.common.Guard: derived_from: onap.policies.controlloop.Common version: 1.0.0 description: Base Control Loop Policy Type for all Guard Policy Types properties: actor: type: string description: Specifies the Actor required: true operation: type: string onap.policies.controlloop.root.monitoring.Threshold: description: Specified the Operation being performed by derived_from: onap.policies.controlloop.root.Monitoringthe Actor versionrequired: 1.0.0true descriptiontime_range: Threshold crossing DCAE uS Monitoring Policy Type properties:type: tosca.datatypes.TimeInterval tca_policydescription: An optional range of time during the day the blacklist is valid for. type: map required: false onap.policies.controlloop.common.guard.FrequencyLimiter: description: TCA Policy JSON derived_from: onap.policies.controlloop.common.Guard version: 1.0.0 entry_schemadescription: Frequency limiter guard policy properties: type: onap.datatypes.monitoring.tca_policy time_window: - onap.policies.controlloop.root.operational.Drools:type: scalar-unit.time derived_fromdescription: onap.policies.controlloop.root.Operational The time window to count the actions against. version: 1.0.0 required: true description: Drools Operational Policy Types limit: properties: type: integer # ommitted due to brevity description: -The limit onap.policies.controlloop.root.operational.Apex: required: true derived_from: onap.policies.controlloop.root.Operational versionconstraints: 1.0.0 description: Apex- Operational Policy Typesgreater_than: 0 propertiestarget: #type: ommittedstring due to brevity - onap.policies.controlloop.root.guard.Frequencydescription: An optional specific VNF to apply this derived_from: onap.policies.controlloop.root.Guard guard to. version: 1.0.0 required: false description: Frequency limiter guard policy onap.policies.controlloop.common.guard.Blacklist: properties: derived_from: onap.policies.controlloop.common.Guard version: 1.0.0 # ommitted due to brevity description: Blacklist guard -policy onap.policies.controlloop.root.guard.Blacklistproperties: derived_fromblacklist: onap.policies.controlloop.root.Guard version: 1.0.0 type: list description: Blacklist Control Loop guard policy description: List of VNF's properties: required: true # ommitted due to brevity - onap.policies.controlloop.rootcommon.guard.MinMax: derived_from: onap.policies.controlloop.rootcommon.Guard version: 1.0.0 description: Min/Max guard policy description: MinMax guard policy properties: min_vf_module_instances: properties: type: integer # ommitted due to brevityrequired: true - onap.policies.controlloop.root.guard.Coordination: description: The minimum instances of this VF-Module derived_from: onap.policies.controlloop.root.Guard max_vf_module_instances: version: 1.0.0 descriptiontype: Controlinteger Loop Coordination guard policy propertiesrequired: false # ommitteddescription: dueThe tomaximum brevityinstances of this VF-Module |
QUESTION/ISSUE: Should Control Loop Coordination have its own base type? Or is it still a guard?
2.3 Example Policies for Scale Out Use Case
...