...
1.0 Base Control Loop Policy Type
ALL Control Loop Policy Types derive from this so that CLAMP as well as auditing/monitoring tools can organize/find all the policies associated with a Control Loop.
ISSUE #1: Should this be a list??
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
tosca_definitions_version: tosca_simple_yaml_1_0_0 policy_types: - onap.policies.controlloop.RootCommon: derivedderived_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 semanticproperties: 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: - id: type: String description: The unique control loop id. required: true domain: description: Identifies the domain for the Control Loop. Virtual vs Physical required: true type: TBD eventPublished: description: | Describes the event that is published when the application detects the ONSET of a Control Loop condition. For example, VES vs ControlLoopEvent required: true type: TBD topics: description: List of Dmaap topics that will be used by the ONAP components to communicate. required: true type: TBD |
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: derived_from: onap.policies.controlloop.Common version: 1.0.0 description: | Common Control Loop Policy Type for all Monitoring Policy Types. This will contain shared properties that all DCAE Monitoring applications should define. properties: onap.policies.controlloop.common.monitoring.Threshold: derived_from: onap.policies.controlloop.common.Monitoring version: 1.0.0 description: Threshold Monitoring Policy Type properties: onap.policies.controlloop.common.monitoring.Collectors: derived_from: onap.policies.controlloop.common.Monitoring version: 1.0.0 description: Base Collectors Policy Type 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: onap.policies.controlloop.Root:type: String derived_from: tosca.policies.Root description: Initial operation to execute upon receiving an Onset event version: 1.0.0 message for the Control Loop. description: Root policy type for all Control Looprequired: Policiestrue propertiesoperations: controlLoopIdtype: List description: List of operations to be type:performed stringwhen Control Loop is triggered. required: true description: The unique ID identifying the control loop. There are no semantic meaning tied to this name.entry_schema: - type: onap.datatype.controlloop.Operation onap.policies.controlloop.common.rootoperational.MonitoringApex: derived_from: onap.policies.controlloop.Root .common.Operational type_version: 1.0.0 version: 1.0.0 description: BaseOperational Controlpolicies Loopthat Policycan Typecustomized for all Monitoring Policy Types Apex PDP properties: # common properties shared between all Monitoring policy Types onap.policies.controlloop.operational.common.Drools: derived_from: onap.policies.controlloop.common.Operational # ommitted due to brevitytype_version: 1.0.0 - version: 1.0.0 onap.policies.controlloop.root.Operational: description: Operational policies that can be customzed for derived_from: onap.policies.controlloop.RootDrools PDP properties: version: 1.0.0 controllerName: description: Base Control Loop Policy Type for all Operational Policy Types type: String properties: # common properties shared between all Operationaldescription: policyDrools Typescontroller properties # ommittedrequired: duefalse to brevity -onap.policies.controlloop.common.Guard: derived_from: onap.policies.controlloop.root.Guard:.Common version: 1.0.0 description: Base Control Loop Policy derived_from: onap.policies.controlloop.Root Type for all Guard Policy Types version: 1.0.0properties: descriptionactor: Base Control Loop Policy Type for all Guard Policy Types type: string properties: # common properties shared between all Guard policy Types description: Specifies the Actor # ommitted due to brevity |
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: required: true operation: - onap.policies.controlloop.root.monitoring.Threshold:type: string derived_from: onap.policies.controlloop.root.Monitoring description: Specified the Operation being performed by the Actor version: 1.0.0 required: true description: Threshold crossing DCAE uS Monitoring Policy Typetime_range: properties: type: tosca.datatypes.TimeInterval tca_policy: description: An optional range of time during the day the blacklist is valid for. type: map required: false description: TCA Policy JSONonap.policies.controlloop.common.guard.FrequencyLimiter: derived_from: onap.policies.controlloop.common.Guard entry_schemaversion: 1.0.0 description: Frequency limiter guard policy type: onap.datatypes.monitoring.tca_policyproperties: time_window: - onap.policies.controlloop.root.operational.Drools: type: scalar-unit.time derived_from: onap.policies.controlloop.root.Operational description: The time window to count the actions version: 1.0.0against. description: Drools Operational Policyrequired: Typestrue propertieslimit: # ommitted due to brevity type: integer - onap.policies.controlloop.root.operational.Apex: description: The limit derived_from: onap.policies.controlloop.root.Operational required: true version: 1.0.0 descriptionconstraints: Apex Operational Policy Types properties:- greater_than: 0 # ommittedtarget: due to brevity - onap.policies.controlloop.root.guard.Frequencytype: string derived_from: onap.policies.controlloop.root.Guard description: An optional specific VNF to apply this version: 1.0.0guard to. description: Frequency limiter guard policyrequired: false properties: onap.policies.controlloop.common.guard.Blacklist: derived_from: # ommitted due to brevityonap.policies.controlloop.common.Guard -version: 1.0.0 onap.policies.controlloop.root.guard.Blacklistdescription: Blacklist guard policy properties: derived_from: onap.policies.controlloop.root.Guard blacklist: version: 1.0.0 descriptiontype: Blacklistlist Control Loop guard policy properties:description: List of VNF's 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 policyproperties: min_vf_module_instances: properties: type: integer # ommitted due to brevity required: 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
...