...
DCAE microservice components will generate their own Policy Model using TOSCA-Lab in SDC.
Code Block |
---|
language | yml |
---|
title | Example Schema for onap.policies.Monitoring.{DCAE-mS-Model} |
---|
linenumbers | true |
---|
collapse | true |
---|
|
tosca_definitions_version: tosca_simple_yaml_1_0_0
policy_types:
onap.policies.Monitoring:
derived_from: tosca.policies.Root
description: a base policy type for all policies that govern monitoring provision
onap.policy.monitoring.mydcaecomponent:
derived_from: onap.policies.Monitoring
properties:
mydcaecomponent_policy:
type: map
description: The Policy Body I need
entry_schema:
type: onap.datatypes.monitoring.mydatatype
data_types:
onap.datatypes.monitoring.mydatatype:
derived_from: tosca.datatypes.Root
properties:
my_property_1:
type: string
description: A description of this property
constraints:
- valid_values:
- value example 1
- value example 2 |
...
This model is used to support actor/action operational policies for control loops. There will be 2 available model implementations for this schema: 1) Existing Drools PDP to support runtime Control Loop actions taken on SO/APPC/VFC/SDNC/SDNR etc; 2) New implementation using the Apex PDP to support Control Loops.
Code Block |
---|
|
tosca_definitions_version: tosca_simple_yaml_1_0_0
policy_types:
onap.policies.controlloop.Operation:
derived_from: tosca.policies.Root
description: Operational Policy for Control Loops
|
...
The base schema is defined as such:
Code Block |
---|
language | yml |
---|
title | Schema for Control Loop Guards |
---|
linenumbers | true |
---|
collapse | true |
---|
|
tosca_definitions_version: tosca_simple_yaml_1_0_0
policy_types:
onap.policies.controlloop.Guard:
derived_from: tosca.policies.Root
description: Guard Policies for Control Loop Operational Policies
|
...
onap.controlloop.Guard.FrequencyLimiter model
Code Block |
---|
language | yml |
---|
title | Schema For Frequency Limiter Guard Policy |
---|
linenumbers | true |
---|
collapse | true |
---|
|
tosca_definitions_version: tosca_simple_yaml_1_0_0
policy_types:
onap.policies.controlloop.Guard:
derived_from: tosca.policies.Root
description: Guard Policies for Control Loop Operational Policies
onap.policy.controlloop.guard.frequencylimiter:
derived_from: onap.policies.controlloop.Guard
description: Supports limiting the frequency of actions being taken by a Actor.
properties:
frequency_policy:
type: map
description:
entry_schema:
type: onap.datatypes.guard.frequencylimiter
data_types:
onap.datatypes.guard.frequencylimiter:
derived_from: tosca.datatypes.Root
properties:
actor:
type: string
description: Specifies the Actor
required: true
recipe:
type: string
description: Specified the Recipe
required: true
time_window:
type: scalar-unit.time
description: The time window to count the actions against.
required: true
limit:
type: integer
description: The limit
required: true
constraints:
- greater_than: 0
time_range:
type: tosca.datatypes.TimeInterval
description: An optional range of time during the day the frequency is valid for.
required: false
controlLoopName:
type: string
description: An optional specific control loop to apply this guard to.
required: false
target:
type: string
description: An optional specific VNF to apply this guard to.
required: false
|
...
onap.controlloop.Guard.Blacklist model
Code Block |
---|
language | yml |
---|
title | Schema for Frequency Limiter Guard Policies |
---|
linenumbers | true |
---|
collapse | true |
---|
|
tosca_definitions_version: tosca_simple_yaml_1_0_0
policy_types:
onap.policies.controlloop.Guard:
derived_from: tosca.policies.Root
description: Guard Policies for Control Loop Operational Policies
onap.policy.controlloop.guard.blacklist:
derived_from: onap.policies.controlloop.Guard
description: Supports blacklist of VNF's from performing control loop actions on.
properties:
blacklist_policy:
type: map
description:
entry_schema:
type: onap.datatypes.guard.blacklist
data_types:
onap.datatypes.guard.blacklist:
derived_from: tosca.datatypes.Root
properties:
actor:
type: string
description: Specifies the Actor
required: true
recipe:
type: string
description: Specified the Recipe
required: true
time_range:
type: tosca.datatypes.TimeInterval
description: An optional range of time during the day the frequency is valid for.
required: false
controlLoopName:
type: string
description: An optional specific control loop to apply this guard to.
required: false
blacklist:
type: list
description: List of VNF's
required: true
|
...
onap.controlloop.Guard.MinMax model
Code Block |
---|
language | yml |
---|
title | Schema for Min/Max VF Module Policies |
---|
linenumbers | true |
---|
collapse | true |
---|
|
policy_types:
onap.policies.controlloop.Guard:
derived_from: tosca.policies.Root
description: Guard Policies for Control Loop Operational Policies
onap.policy.controlloop.guard.minmax:
derived_from: onap.policies.controlloop.Guard
description: Supports Min/Max number of VF Modules
properties:
minmax_policy:
type: map
description:
entry_schema:
type: onap.datatypes.guard.minmax
data_types:
onap.datatypes.guard.minmax:
derived_from: tosca.datatypes.Root
properties:
actor:
type: string
description: Specifies the Actor
required: true
recipe:
type: string
description: Specified the Recipe
required: true
time_range:
type: tosca.datatypes.TimeInterval
description: An optional range of time during the day the frequency is valid for.
required: false
controlLoopName:
type: string
description: An optional specific control loop to apply this guard to.
required: false
min_vf_module_instances:
type: integer
required: true
description: The minimum instances of this VF-Module
max_vf_module_instances:
type: integer
required: false
description: The maximum instances of this VF-Module
|
...