Versions Compared

Key

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

...

Support for Native Policies  Chenfei Gao Jorge Hernandez Ram Krishna Verma Pamela Dragosh

Jira Legacy
serverSystem Jira
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
keyPOLICY-1845
 - Some support for this in the legacy components, this work greatly enhances the ability to load PDP native policies that either execute alone or in conjunction with TOSCA Policy Types. Adds in Apex Native Policy Types in addition to XACML, Drools.

...

Code Block
languagejs
titleExample Decision API call Payload
linenumberstrue
{
  "ONAPName": "OOF",
  "ONAPComponent": "OOF-component",
  "ONAPInstance": "OOF-component-instance",
  "context" : {
      "subscriberName": []
  },
  "action": "optimize",
  "resource": {
      "scope": [],
      "services": [],
      "resources": [],
      "geography": []
  }
}


TOSCA Compliant Operational and Guard Policies Pamela Dragosh 
Jira Legacy
serverSystem Jira
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
keyREQ-21

 - Finishing  Finishing the work started in Dublin to fully move ALL the Control Loop Policy Types into TOSCA compliance with CLAMP team. Previously our operational and guard policies used a YAML format defined a few years ago. In this effort we are translating it to be fully compliant with TOSCA and cleaning up some of the syntax.

Code Block
languagejs
titleOperational Policy Type
linenumberstrue
tosca_definitions_version: tosca_simple_yaml_1_0_0
policy_types:
    onap.policies.controlloop.operational.Common:
        derived_from: tosca.policies.Root
        version: 1.0.0
        description: Operational Policy for Control Loop execution
        properties:
            id:
                type: String
                description: The unique control loop id.
                required: true
            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
            abatement:
                type: Boolean
                description: Whether an abatement event message will be expected for the control loop from DCAE.
                required: true
                default: false
            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.operational.common.Apex:
        derived_from: onap.policies.controlloop.operational.Common
        type_version: 1.0.0
        version: 1.0.0
        description: Operational policies for Apex PDP
        properties:

    onap.policies.controlloop.operational.common.Drools:
        derived_from: onap.policies.controlloop.operational.Common
        type_version: 1.0.0
        version: 1.0.0
        description: Operational policies for Drools PDP
        properties:
            controllerName:
                type: String
                description: Drools controller properties
                required: false

data_types:
    # TBD if this is needed
    onap.datatype.controlloop.operation.Failure:
        derived_from: tosca.datatypes.Root
        description: Captures information of an operational failure performed for control loop
        properties:
            messages:
                type: String
                description: error message
                required: true
            category:
                type: String
                description: |
                    The category the error occurred in. Whether this is a general error from the actor, or the operation
                    timed out, retries were exhausted in trying to execute the operation, a guard policy prevented the
                    operation from occuring, or an exception in the system caused the failure.
                constraints:
                - valid_values: [error, timeout, retries, guard, exception]

    onap.datatype.controlloop.Target:
        derived_from: tosca.datatypes.Root
        description: Definition for a entity in A&AI to perform a control loop operation on
        properties:
            targetType:
                type: String
                description: Category for the target type
                required: true
                constraints:
                - valid_values: [VNF, VM, VFMODULE, PNF]
            entityIds:
                type: Map
                description: |
                    Map of values that identify the resource. If none are provided, it is assumed that the
                    entity that generated the ONSET event will be the target.
                required: false

    onap.datatype.controlloop.Actor:
        derived_from: tosca.datatypes.Root
        description: An actor/operation/target definition
        properties:
            actor:
                type: String
                description: The actor performing the operation.
                required: true
            operation:
                type: String
                description: The operation the actor is performing.
                required: true
            target:
                type: String
                description: The resource the operation should be performed on.
                required: true
                metadata:
                    clamp_possible_values: <string:see clamp project for syntax>
            payload:
                type: Map
                description: Name/value pairs of payload information passed by Policy to the actor
                required: false
                entry_schema:
                    type: String

    onap.datatype.controlloop.Operation:
        derived_from: tosca.datatypes.Root
        description: An operation supported by an actor
        properties:
            id:
                type: String
                description: Unique identifier for the operation
                required: true
            description:
                type: String
                description: A user-friendly description of the intent for the operation
                required: false
            operation:
                type: onap.datatype.controlloop.Actor
                description: The definition of the operation to be performed.
                required: true
                metadata:
                    clamp_possible_values: <string:see clamp project for syntax>
            timeout:
                type: Integer
                description: The amount of time for the actor to perform the operation.
                required: true
            retries:
                type: Integer
                description: The number of retries the actor should attempt to perform the operation.
                required: true
                default: 0
            success:
                type: String
                description: Points to the operation to invoke on success. A value of "final_success" indicates and end to the operation.
                required: false
                default: final_success
            failure:
                type: String
                description: Points to the operation to invoke on Actor operation failure.
                required: false
                default: final_failure
            failure_timeout:
                type: String
                description: Points to the operation to invoke when the time out for the operation occurs.
                required: false
                default: final_failure_timeout
            failure_retries:
                type: String
                description: Points to the operation to invoke when the current operation has exceeded its max retries.
                required: false
                default: final_failure_retries
            failure_exception:
                type: String
                description: Points to the operation to invoke when the current operation causes an exception.
                required: false
                default: final_failure_exception
            failure_guard:
                type: String
                description: Points to the operation to invoke when the current operation is blocked due to guard policy enforcement.
                required: false
                default: final_failure_guard     

Much discussion for this was done in the Control Loop sub committee meetings. As captured here: Control Loop Policy Type Design Proposal#1: Simple upgrade of legacy policy types to TOSCA

Integration of CDS As an Actor Former user (Deleted) Rashmi Pujar

...