Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagejs
titleBase Control Loop Datatype for ALL Control Loop Policy Types
linenumberstrue
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
languagejs
titleBase Control Loop Policy Types
linenumberstrue
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
languagejs
titleBase Control Loop Policy Types
linenumberstrue
    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
languagejs
titleSpecific Control Loop Policy Types
linenumberstrue
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

...