--- /dev/null
+# Copyright (C) 2021 Nordix Foundation. All rights reserved.
+# ========================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=================================================
+#
+tosca_definitions_version: tosca_simple_yaml_1_1_0
+data_types:
+ onap.datatypes.ToscaConceptIdentifier:
+ derived_from: tosca.datatypes.Root
+ properties:
+ name:
+ type: string
+ required: true
+ version:
+ type: string
+ required: true
+ 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
+ metadata:
+ clamp_possible_values: ClampExecution:CSAR_RESOURCES
+ entry_schema:
+ type: string
+ 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
+ metadata:
+ clamp_possible_values: Dictionary:DefaultActors,ClampExecution:CDS/actor
+ operation:
+ type: string
+ description: The operation the actor is performing.
+ metadata:
+ clamp_possible_values: Dictionary:DefaultOperations,ClampExecution:CDS/operation
+ required: true
+ target:
+ type: onap.datatype.controlloop.Target
+ description: The resource the operation should be performed on.
+ required: true
+ payload:
+ type: map
+ description: Name/value pairs of payload information passed by Policy to the actor
+ required: false
+ metadata:
+ clamp_possible_values: ClampExecution:CDS/payload
+ 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
+ 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
+policy_types:
+ onap.policies.controlloop.operational.Common:
+ derived_from: tosca.policies.Root
+ version: 1.0.0
+ name: onap.policies.controlloop.operational.Common
+ description: |
+ Operational Policy for Control Loop execution. Originated in Frankfurt to support TOSCA Compliant
+ Policy Types. This does NOT support the legacy Policy YAML policy type.
+ 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
+ name: onap.policies.controlloop.operational.common.Apex
+ description: Operational policies for Apex PDP
+ properties:
+ engineServiceParameters:
+ type: string
+ description: The engine parameters like name, instanceCount, policy implementation, parameters etc.
+ required: true
+ eventInputParameters:
+ type: string
+ description: The event input parameters.
+ required: true
+ eventOutputParameters:
+ type: string
+ description: The event output parameters.
+ required: true
+ javaProperties:
+ type: string
+ description: Name/value pairs of properties to be set for APEX if needed.
+ required: false
+node_types:
+ org.onap.policy.clamp.controlloop.Participant:
+ version: 1.0.1
+ derived_from: tosca.nodetypes.Root
+ properties:
+ provider:
+ type: string
+ requred: false
+ org.onap.policy.clamp.controlloop.ControlLoopElement:
+ version: 1.0.1
+ derived_from: tosca.nodetypes.Root
+ properties:
+ provider:
+ type: string
+ requred: false
+ participant_id:
+ type: onap.datatypes.ToscaConceptIdentifier
+ requred: true
+ org.onap.policy.clamp.controlloop.ControlLoop:
+ version: 1.0.1
+ derived_from: tosca.nodetypes.Root
+ properties:
+ provider:
+ type: string
+ requred: false
+ elements:
+ type: list
+ required: true
+ entry_schema:
+ type: onap.datatypes.ToscaConceptIdentifier
+ org.onap.policy.clamp.controlloop.PolicyControlLoopElement:
+ version: 1.0.1
+ derived_from: org.onap.policy.clamp.controlloop.ControlLoopElement
+ properties:
+ policy_type_id:
+ type: onap.datatypes.ToscaConceptIdentifier
+ requred: true
+ policy_id:
+ type: onap.datatypes.ToscaConceptIdentifier
+ requred: false
+topology_template:
+ node_templates:
+ org.onap.domain.linkmonitor.LinkMonitorPolicyControlLoopElement:
+ version: 1.2.3
+ type: org.onap.policy.clamp.controlloop.PolicyControlLoopElement
+ type_version: 1.0.1
+ description: Control loop element for the Link Monitor
+ properties:
+ provider: Ericsson
+ participantType: org.onap.policy.controlloop.PolicyControlLoopParticipant:2.3.1
+ startPhase: 0
+ policyType: onap.policies.controlloop.operational.common.Apex:1.0.0
+ policyId: operational.apex.linkmonitor:1.0.0
+ org.onap.domain.linkmonitor.LinkMonitorControlLoopDefinition:
+ version: 1.2.3
+ type: org.onap.policy.clamp.controlloop.ControlLoop
+ type_version: 1.0.0
+ description: Control loop for Link Monitor
+ properties:
+ provider: Ericsson
+ elements:
+ - name: org.onap.domain.linkmonitor.LinkMonitorPolicyControlLoopElement
+ version: 1.2.3
+ org.onap.policy.controlloop.PolicyControlLoopParticipant:
+ version: 2.3.1
+ type: org.onap.policy.clamp.controlloop.Participant
+ type_version: 1.0.1
+ description: Participant for policy framework
+ properties:
+ provider: ONAP
+ policies:
+ - operational.apex.linkmonitor:
+ type: onap.policies.controlloop.operational.common.Apex
+ type_version: 1.0.0
+ version: 1.0.0
+ metadata:
+ policy-id: operational.apex.linkmonitor
+ policy-version: 1.0.0
+ properties:
+ engineServiceParameters:
+ name: LinkMonitorApexEngine
+ version: 0.0.1
+ id: 101
+ instanceCount: 1
+ deploymentPort: 12345
+ engineParameters:
+ executorParameters:
+ JAVASCRIPT:
+ parameterClassName: org.onap.policy.apex.plugins.executor.javascript.JavascriptExecutorParameters
+ contextParameters:
+ parameterClassName: org.onap.policy.apex.context.parameters.ContextParameters
+ schemaParameters:
+ Avro:
+ parameterClassName: org.onap.policy.apex.plugins.context.schema.avro.AvroSchemaHelperParameters
+ taskParameters:
+ - key: ORU-ODU-Map
+ value: |-
+ {"ERICSSON-O-RU-11220": "HCL-O-DU-1122",
+ "ERICSSON-O-RU-11221": "HCL-O-DU-1122",
+ "ERICSSON-O-RU-11222": "HCL-O-DU-1122",
+ "ERICSSON-O-RU-11223": "HCL-O-DU-1122",
+ "ERICSSON-O-RU-11224": "HCL-O-DU-1123",
+ "ERICSSON-O-RU-11225": "HCL-O-DU-1123",
+ "ERICSSON-O-RU-11226": "HCL-O-DU-1123",
+ "ERICSSON-O-RU-11227": "HCL-O-DU-1124",
+ "ERICSSON-O-RU-11228": "HCL-O-DU-1125",
+ "ERICSSON-O-RU-11229": "HCL-O-DU-1125"}
+ policy_type_impl:
+ apexPolicyModel:
+ key:
+ name: LinkMonitorModel
+ version: 0.0.1
+ keyInformation:
+ key:
+ name: LinkMonitorModel_KeyInfo
+ version: 0.0.1
+ keyInfoMap:
+ entry:
+ - key:
+ name: ApexMessageOutputEvent
+ version: 0.0.1
+ value:
+ key:
+ name: ApexMessageOutputEvent
+ version: 0.0.1
+ UUID: cca47d74-7754-4a61-b163-ca31f66b157b
+ description: Generated description for concept referred to by
+ key "ApexMessageOutputEvent:0.0.1"
+ - key:
+ name: CreateLinkClearedOutfieldsEvent
+ version: 0.0.1
+ value:
+ key:
+ name: CreateLinkClearedOutfieldsEvent
+ version: 0.0.1
+ UUID: a295d6a3-1b73-387e-abba-b41e9b608802
+ description: Generated description for concept referred to by
+ key "CreateLinkClearedOutfieldsEvent:0.0.1"
+ - key:
+ name: CreateLinkClearedOutfieldsTask
+ version: 0.0.1
+ value:
+ key:
+ name: CreateLinkClearedOutfieldsTask
+ version: 0.0.1
+ UUID: fd594e88-411d-4a94-b2be-697b3a0d7adf
+ description: This task creates the output fields when link failure
+ is cleared.
+ - key:
+ name: CreateLinkFailureOutfieldsEvent
+ version: 0.0.1
+ value:
+ key:
+ name: CreateLinkFailureOutfieldsEvent
+ version: 0.0.1
+ UUID: 02be2b5d-45b7-3c54-ae54-97f2b5c30125
+ description: Generated description for concept referred to by
+ key "CreateLinkFailureOutfieldsEvent:0.0.1"
+ - key:
+ name: CreateLinkFailureOutfieldsTask
+ version: 0.0.1
+ value:
+ key:
+ name: CreateLinkFailureOutfieldsTask
+ version: 0.0.1
+ UUID: ac3d9842-80af-4a98-951c-bd79a431c613
+ description: This task the output fields when link failure is
+ detected.
+ - key:
+ name: LinkClearedTask
+ version: 0.0.1
+ value:
+ key:
+ name: LinkClearedTask
+ version: 0.0.1
+ UUID: eecfde90-896c-4343-8f9c-2603ced94e2d
+ description: This task sends a message to the output when link
+ failure is cleared.
+ - key:
+ name: LinkFailureInputEvent
+ version: 0.0.1
+ value:
+ key:
+ name: LinkFailureInputEvent
+ version: 0.0.1
+ UUID: c4500941-3f98-4080-a9cc-5b9753ed050b
+ description: Generated description for concept referred to by
+ key "LinkFailureInputEvent:0.0.1"
+ - key:
+ name: LinkFailureInputSchema
+ version: 0.0.1
+ value:
+ key:
+ name: LinkFailureInputSchema
+ version: 0.0.1
+ UUID: 3b3974fc-3012-3b02-9f33-c9d8eefe4dc1
+ description: Generated description for concept referred to by
+ key "LinkFailureInputSchema:0.0.1"
+ - key:
+ name: LinkFailureOutputEvent
+ version: 0.0.1
+ value:
+ key:
+ name: LinkFailureOutputEvent
+ version: 0.0.1
+ UUID: 4f04aa98-e917-4f4a-882a-c75ba5a99374
+ description: Generated description for concept referred to by
+ key "LinkFailureOutputEvent:0.0.1"
+ - key:
+ name: LinkFailureOutputSchema
+ version: 0.0.1
+ value:
+ key:
+ name: LinkFailureOutputSchema
+ version: 0.0.1
+ UUID: 2d1a7f6e-eb9a-3984-be1f-283d98111b84
+ description: Generated description for concept referred to by
+ key "LinkFailureOutputSchema:0.0.1"
+ - key:
+ name: LinkFailureTask
+ version: 0.0.1
+ value:
+ key:
+ name: LinkFailureTask
+ version: 0.0.1
+ UUID: 3351b0f4-cf06-4fa2-8823-edf67bd30223
+ description: This task updates the config for O-RU when link
+ failure is detected.
+ - key:
+ name: LinkMonitorModel
+ version: 0.0.1
+ value:
+ key:
+ name: LinkMonitorModel
+ version: 0.0.1
+ UUID: 540226fb-55ee-4f0e-a444-983a0494818e
+ description: This is the Apex Policy Model for link monitoring.
+ - key:
+ name: LinkMonitorModel_Events
+ version: 0.0.1
+ value:
+ key:
+ name: LinkMonitorModel_Events
+ version: 0.0.1
+ UUID: 27ad3e7e-fe3b-3bd6-9081-718705c2bcea
+ description: Generated description for concept referred to by
+ key "LinkMonitorModel_Events:0.0.1"
+ - key:
+ name: LinkMonitorModel_KeyInfo
+ version: 0.0.1
+ value:
+ key:
+ name: LinkMonitorModel_KeyInfo
+ version: 0.0.1
+ UUID: ea0b5f58-eefd-358a-9660-840c640bf981
+ description: Generated description for concept referred to by
+ key "LinkMonitorModel_KeyInfo:0.0.1"
+ - key:
+ name: LinkMonitorModel_Policies
+ version: 0.0.1
+ value:
+ key:
+ name: LinkMonitorModel_Policies
+ version: 0.0.1
+ UUID: ee9e0b0f-2b7d-3ab7-9a98-c5ec05ed823d
+ description: Generated description for concept referred to by
+ key "LinkMonitorModel_Policies:0.0.1"
+ - key:
+ name: LinkMonitorModel_Schemas
+ version: 0.0.1
+ value:
+ key:
+ name: LinkMonitorModel_Schemas
+ version: 0.0.1
+ UUID: fa5f9b8f-796c-3c70-84e9-5140c958c4bb
+ description: Generated description for concept referred to by
+ key "LinkMonitorModel_Schemas:0.0.1"
+ - key:
+ name: LinkMonitorModel_Tasks
+ version: 0.0.1
+ value:
+ key:
+ name: LinkMonitorModel_Tasks
+ version: 0.0.1
+ UUID: eec592f7-69d5-39a9-981a-e552f787ed01
+ description: Generated description for concept referred to by
+ key "LinkMonitorModel_Tasks:0.0.1"
+ - key:
+ name: LinkMonitorPolicy
+ version: 0.0.1
+ value:
+ key:
+ name: LinkMonitorPolicy
+ version: 0.0.1
+ UUID: 6c5e410f-489a-46ff-964e-982ce6e8b6d0
+ description: Generated description for concept referred to by
+ key "LinkMonitorPolicy:0.0.1"
+ - key:
+ name: MessageSchema
+ version: 0.0.1
+ value:
+ key:
+ name: MessageSchema
+ version: 0.0.1
+ UUID: ac4b34ac-39d6-3393-a267-8d5b84854018
+ description: A schema for messages from apex
+ - key:
+ name: NoPolicyDefinedTask
+ version: 0.0.1
+ value:
+ key:
+ name: NoPolicyDefinedTask
+ version: 0.0.1
+ UUID: d48b619e-d00d-4008-b884-02d76ea4350b
+ description: This task sends a message to the output when an
+ event is received for which no policy has been defined.
+ - key:
+ name: OduIdSchema
+ version: 0.0.1
+ value:
+ key:
+ name: OduIdSchema
+ version: 0.0.1
+ UUID: 50662174-a88b-3cbd-91bd-8e91b40b2660
+ description: A schema for O-DU-ID
+ - key:
+ name: OruIdSchema
+ version: 0.0.1
+ value:
+ key:
+ name: OruIdSchema
+ version: 0.0.1
+ UUID: 54daf32b-015f-39cd-8530-a1175c5553e9
+ description: A schema for O-RU-ID
+ policies:
+ key:
+ name: LinkMonitorModel_Policies
+ version: 0.0.1
+ policyMap:
+ entry:
+ - key:
+ name: LinkMonitorPolicy
+ version: 0.0.1
+ value:
+ policyKey:
+ name: LinkMonitorPolicy
+ version: 0.0.1
+ template: Freestyle
+ state:
+ entry:
+ - key: LinkClearedState
+ value:
+ stateKey:
+ parentKeyName: LinkMonitorPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: 'NULL'
+ localName: LinkClearedState
+ trigger:
+ name: CreateLinkClearedOutfieldsEvent
+ version: 0.0.1
+ stateOutputs:
+ entry:
+ - key: LinkClearedLogic_Output_Direct
+ value:
+ key:
+ parentKeyName: LinkMonitorPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: LinkClearedState
+ localName: LinkClearedLogic_Output_Direct
+ outgoingEvent:
+ name: ApexMessageOutputEvent
+ version: 0.0.1
+ nextState:
+ parentKeyName: 'NULL'
+ parentKeyVersion: 0.0.0
+ parentLocalName: 'NULL'
+ localName: 'NULL'
+ contextAlbumReference: []
+ taskSelectionLogic:
+ key: 'NULL'
+ logicFlavour: UNDEFINED
+ logic: ''
+ stateFinalizerLogicMap:
+ entry: []
+ defaultTask:
+ name: LinkClearedTask
+ version: 0.0.1
+ taskReferences:
+ entry:
+ - key:
+ name: LinkClearedTask
+ version: 0.0.1
+ value:
+ key:
+ parentKeyName: LinkMonitorPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: LinkClearedState
+ localName: LinkClearedTask
+ outputType: DIRECT
+ output:
+ parentKeyName: LinkMonitorPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: LinkClearedState
+ localName: LinkClearedLogic_Output_Direct
+ - key: LinkFailureOrClearedState
+ value:
+ stateKey:
+ parentKeyName: LinkMonitorPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: 'NULL'
+ localName: LinkFailureOrClearedState
+ trigger:
+ name: LinkFailureInputEvent
+ version: 0.0.1
+ stateOutputs:
+ entry:
+ - key: CreateLinkClearedOutfieldsLogic_Output_Direct
+ value:
+ key:
+ parentKeyName: LinkMonitorPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: LinkFailureOrClearedState
+ localName: CreateLinkClearedOutfieldsLogic_Output_Direct
+ outgoingEvent:
+ name: CreateLinkClearedOutfieldsEvent
+ version: 0.0.1
+ nextState:
+ parentKeyName: LinkMonitorPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: 'NULL'
+ localName: LinkClearedState
+ - key: CreateLinkFailureOutfieldsLogic_Output_Direct
+ value:
+ key:
+ parentKeyName: LinkMonitorPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: LinkFailureOrClearedState
+ localName: CreateLinkFailureOutfieldsLogic_Output_Direct
+ outgoingEvent:
+ name: CreateLinkFailureOutfieldsEvent
+ version: 0.0.1
+ nextState:
+ parentKeyName: LinkMonitorPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: 'NULL'
+ localName: LinkFailureState
+ - key: NoPolicyDefinedLogic_Output_Direct
+ value:
+ key:
+ parentKeyName: LinkMonitorPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: LinkFailureOrClearedState
+ localName: NoPolicyDefinedLogic_Output_Direct
+ outgoingEvent:
+ name: ApexMessageOutputEvent
+ version: 0.0.1
+ nextState:
+ parentKeyName: 'NULL'
+ parentKeyVersion: 0.0.0
+ parentLocalName: 'NULL'
+ localName: 'NULL'
+ contextAlbumReference: []
+ taskSelectionLogic:
+ key: TaskSelectionLogic
+ logicFlavour: JAVASCRIPT
+ logic: |-
+ /*
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2021 Nordix Foundation.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+ executor.logger.info("Task Selection Execution: '"+executor.subject.id+
+ "'. InputFields: '"+executor.inFields+"'");
+
+ var linkFailureInput = executor.inFields.get("LinkFailureInput");
+ var commonEventHeader = linkFailureInput.get("event").get("commonEventHeader");
+ var domain = commonEventHeader.get("domain");
+
+ taskFailure = executor.subject.getTaskKey("CreateLinkFailureOutfieldsTask");
+ taskCleared = executor.subject.getTaskKey("CreateLinkClearedOutfieldsTask");
+ taskDefault = executor.subject.getDefaultTaskKey();
+
+ if (domain == "fault") {
+ var faultFields = linkFailureInput.get("event").get("faultFields");
+ var alarmCondition = faultFields.get("alarmCondition");
+ var eventSeverity = faultFields.get("eventSeverity");
+ if (alarmCondition == "28" && eventSeverity != "NORMAL") {
+ taskFailure.copyTo(executor.selectedTask);
+ } else if (alarmCondition == "28" && eventSeverity == "NORMAL") {
+ taskCleared.copyTo(executor.selectedTask);
+ } else {
+ taskDefault.copyTo(executor.selectedTask);
+ }
+ } else {
+ taskDefault.copyTo(executor.selectedTask);
+ }
+
+ true;
+ stateFinalizerLogicMap:
+ entry: []
+ defaultTask:
+ name: NoPolicyDefinedTask
+ version: 0.0.1
+ taskReferences:
+ entry:
+ - key:
+ name: CreateLinkClearedOutfieldsTask
+ version: 0.0.1
+ value:
+ key:
+ parentKeyName: LinkMonitorPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: LinkFailureOrClearedState
+ localName: CreateLinkClearedOutfieldsTask
+ outputType: DIRECT
+ output:
+ parentKeyName: LinkMonitorPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: LinkFailureOrClearedState
+ localName: CreateLinkClearedOutfieldsLogic_Output_Direct
+ - key:
+ name: CreateLinkFailureOutfieldsTask
+ version: 0.0.1
+ value:
+ key:
+ parentKeyName: LinkMonitorPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: LinkFailureOrClearedState
+ localName: CreateLinkFailureOutfieldsTask
+ outputType: DIRECT
+ output:
+ parentKeyName: LinkMonitorPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: LinkFailureOrClearedState
+ localName: CreateLinkFailureOutfieldsLogic_Output_Direct
+ - key:
+ name: NoPolicyDefinedTask
+ version: 0.0.1
+ value:
+ key:
+ parentKeyName: LinkMonitorPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: LinkFailureOrClearedState
+ localName: NoPolicyDefinedTask
+ outputType: DIRECT
+ output:
+ parentKeyName: LinkMonitorPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: LinkFailureOrClearedState
+ localName: NoPolicyDefinedLogic_Output_Direct
+ - key: LinkFailureState
+ value:
+ stateKey:
+ parentKeyName: LinkMonitorPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: 'NULL'
+ localName: LinkFailureState
+ trigger:
+ name: CreateLinkFailureOutfieldsEvent
+ version: 0.0.1
+ stateOutputs:
+ entry:
+ - key: LinkFailureLogic_Output_Direct
+ value:
+ key:
+ parentKeyName: LinkMonitorPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: LinkFailureState
+ localName: LinkFailureLogic_Output_Direct
+ outgoingEvent:
+ name: LinkFailureOutputEvent
+ version: 0.0.1
+ nextState:
+ parentKeyName: 'NULL'
+ parentKeyVersion: 0.0.0
+ parentLocalName: 'NULL'
+ localName: 'NULL'
+ contextAlbumReference: []
+ taskSelectionLogic:
+ key: 'NULL'
+ logicFlavour: UNDEFINED
+ logic: ''
+ stateFinalizerLogicMap:
+ entry: []
+ defaultTask:
+ name: LinkFailureTask
+ version: 0.0.1
+ taskReferences:
+ entry:
+ - key:
+ name: LinkFailureTask
+ version: 0.0.1
+ value:
+ key:
+ parentKeyName: LinkMonitorPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: LinkFailureState
+ localName: LinkFailureTask
+ outputType: DIRECT
+ output:
+ parentKeyName: LinkMonitorPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: LinkFailureState
+ localName: LinkFailureLogic_Output_Direct
+ firstState: LinkFailureOrClearedState
+ tasks:
+ key:
+ name: LinkMonitorModel_Tasks
+ version: 0.0.1
+ taskMap:
+ entry:
+ - key:
+ name: CreateLinkClearedOutfieldsTask
+ version: 0.0.1
+ value:
+ key:
+ name: CreateLinkClearedOutfieldsTask
+ version: 0.0.1
+ inputFields:
+ entry:
+ - key: LinkFailureInput
+ value:
+ key: LinkFailureInput
+ fieldSchemaKey:
+ name: LinkFailureInputSchema
+ version: 0.0.1
+ optional: false
+ outputFields:
+ entry:
+ - key: OruId
+ value:
+ key: OruId
+ fieldSchemaKey:
+ name: OruIdSchema
+ version: 0.0.1
+ optional: false
+ taskParameters:
+ entry: []
+ contextAlbumReference: []
+ taskLogic:
+ key: TaskLogic
+ logicFlavour: JAVASCRIPT
+ logic: |-
+ /*
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2021 Nordix Foundation.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+ executor.logger.info("Task Execution: '"+executor.subject.id+"'. Input Fields: '"+executor.inFields+"'");
+
+ var linkFailureInput = executor.inFields.get("LinkFailureInput");
+ var oruId = linkFailureInput.get("event").get("commonEventHeader").get("sourceName");
+
+ executor.outFields.put("OruId", oruId);
+
+ executor.logger.info(executor.outFields);
+
+ true;
+ - key:
+ name: CreateLinkFailureOutfieldsTask
+ version: 0.0.1
+ value:
+ key:
+ name: CreateLinkFailureOutfieldsTask
+ version: 0.0.1
+ inputFields:
+ entry:
+ - key: LinkFailureInput
+ value:
+ key: LinkFailureInput
+ fieldSchemaKey:
+ name: LinkFailureInputSchema
+ version: 0.0.1
+ optional: false
+ outputFields:
+ entry:
+ - key: OduId
+ value:
+ key: OduId
+ fieldSchemaKey:
+ name: OduIdSchema
+ version: 0.0.1
+ optional: false
+ - key: OruId
+ value:
+ key: OruId
+ fieldSchemaKey:
+ name: OruIdSchema
+ version: 0.0.1
+ optional: false
+ taskParameters:
+ entry: []
+ contextAlbumReference: []
+ taskLogic:
+ key: TaskLogic
+ logicFlavour: JAVASCRIPT
+ logic: |-
+ /*
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2021 Nordix Foundation.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+ executor.logger.info("Task Execution: '"+executor.subject.id+"'. Input Fields: '"+executor.inFields+"'");
+
+ var returnValue = true;
+ var linkFailureInput = executor.inFields.get("LinkFailureInput");
+ var oruId = linkFailureInput.get("event").get("commonEventHeader").get("sourceName");
+ var oruOduMap = JSON.parse(executor.parameters.get("ORU-ODU-Map"));
+
+ if (oruId in oruOduMap) {
+ var oduId = oruOduMap[oruId];
+ executor.outFields.put("OruId", oruId);
+ executor.outFields.put("OduId", oduId);
+ executor.logger.info(executor.outFields);
+ } else {
+ executor.message = "No O-RU found in the config with this ID: " + oruId;
+ returnValue = false;
+ }
+
+ returnValue;
+ - key:
+ name: LinkClearedTask
+ version: 0.0.1
+ value:
+ key:
+ name: LinkClearedTask
+ version: 0.0.1
+ inputFields:
+ entry:
+ - key: OruId
+ value:
+ key: OruId
+ fieldSchemaKey:
+ name: OruIdSchema
+ version: 0.0.1
+ optional: false
+ outputFields:
+ entry:
+ - key: message
+ value:
+ key: message
+ fieldSchemaKey:
+ name: MessageSchema
+ version: 0.0.1
+ optional: false
+ taskParameters:
+ entry: []
+ contextAlbumReference: []
+ taskLogic:
+ key: TaskLogic
+ logicFlavour: JAVASCRIPT
+ logic: |-
+ /*
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2021 Nordix Foundation.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+ executor.logger.info("Task Execution: '"+executor.subject.id+"'. Input Fields: '"+executor.inFields+"'");
+
+ var oruId = executor.inFields.get("OruId");
+
+ executor.outFields.put("message", "CLEARED link failure for O-RU: " + oruId);
+
+ executor.logger.info(executor.outFields);
+
+ true;
+ - key:
+ name: LinkFailureTask
+ version: 0.0.1
+ value:
+ key:
+ name: LinkFailureTask
+ version: 0.0.1
+ inputFields:
+ entry:
+ - key: OduId
+ value:
+ key: OduId
+ fieldSchemaKey:
+ name: OduIdSchema
+ version: 0.0.1
+ optional: false
+ - key: OruId
+ value:
+ key: OruId
+ fieldSchemaKey:
+ name: OruIdSchema
+ version: 0.0.1
+ optional: false
+ outputFields:
+ entry:
+ - key: LinkFailureOutput
+ value:
+ key: LinkFailureOutput
+ fieldSchemaKey:
+ name: LinkFailureOutputSchema
+ version: 0.0.1
+ optional: false
+ taskParameters:
+ entry: []
+ contextAlbumReference: []
+ taskLogic:
+ key: TaskLogic
+ logicFlavour: JAVASCRIPT
+ logic: |-
+ /*
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2021 Nordix Foundation.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+ executor.logger.info("Task Execution: '"+executor.subject.id+"'. Input Fields: '"+executor.inFields+"'");
+
+ var linkFailureOutput = executor.subject.getOutFieldSchemaHelper("LinkFailureOutput").createNewInstance();
+
+ var oruId = executor.inFields.get("OruId");
+ var oduId = executor.inFields.get("OduId");
+
+ var unlockMessageArray = new java.util.ArrayList();
+ for (var i = 0; i < 1; i++) {
+ unlockMessageArray.add({
+ "name" : oruId,
+ "administrative_DasH_state" : "UNLOCKED"
+ });
+ }
+
+ linkFailureOutput.put("o_DasH_ran_DasH_sc_DasH_du_DasH_hello_DasH_world_ColoN_du_DasH_to_DasH_ru_DasH_connection", unlockMessageArray);
+ executor.outFields.put("LinkFailureOutput", linkFailureOutput.toString());
+
+ executor.getExecutionProperties().setProperty("OduId", oduId);
+ executor.getExecutionProperties().setProperty("OruId", oruId);
+
+ executor.logger.info(executor.outFields);
+
+ true;
+ - key:
+ name: NoPolicyDefinedTask
+ version: 0.0.1
+ value:
+ key:
+ name: NoPolicyDefinedTask
+ version: 0.0.1
+ inputFields:
+ entry:
+ - key: LinkFailureInput
+ value:
+ key: LinkFailureInput
+ fieldSchemaKey:
+ name: LinkFailureInputSchema
+ version: 0.0.1
+ optional: false
+ outputFields:
+ entry:
+ - key: message
+ value:
+ key: message
+ fieldSchemaKey:
+ name: MessageSchema
+ version: 0.0.1
+ optional: false
+ taskParameters:
+ entry: []
+ contextAlbumReference: []
+ taskLogic:
+ key: TaskLogic
+ logicFlavour: JAVASCRIPT
+ logic: |-
+ /*
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2021 Nordix Foundation.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+ executor.logger.info("Task Execution: '"+executor.subject.id+"'. Input Fields: '"+executor.inFields+"'");
+
+ executor.outFields.put("message", "No policy defined for this event");
+
+ executor.logger.info(executor.outFields);
+
+ true;
+ events:
+ key:
+ name: LinkMonitorModel_Events
+ version: 0.0.1
+ eventMap:
+ entry:
+ - key:
+ name: ApexMessageOutputEvent
+ version: 0.0.1
+ value:
+ key:
+ name: ApexMessageOutputEvent
+ version: 0.0.1
+ nameSpace: org.onap.policy.apex.auth.clieditor
+ source: APEX
+ target: APEX
+ parameter:
+ entry:
+ - key: message
+ value:
+ key: message
+ fieldSchemaKey:
+ name: MessageSchema
+ version: 0.0.1
+ optional: false
+ - key:
+ name: CreateLinkClearedOutfieldsEvent
+ version: 0.0.1
+ value:
+ key:
+ name: CreateLinkClearedOutfieldsEvent
+ version: 0.0.1
+ nameSpace: org.onap.policy.apex.auth.clieditor
+ source: APEX
+ target: APEX
+ parameter:
+ entry:
+ - key: OruId
+ value:
+ key: OruId
+ fieldSchemaKey:
+ name: OruIdSchema
+ version: 0.0.1
+ optional: false
+ - key:
+ name: CreateLinkFailureOutfieldsEvent
+ version: 0.0.1
+ value:
+ key:
+ name: CreateLinkFailureOutfieldsEvent
+ version: 0.0.1
+ nameSpace: org.onap.policy.apex.auth.clieditor
+ source: APEX
+ target: APEX
+ parameter:
+ entry:
+ - key: OduId
+ value:
+ key: OduId
+ fieldSchemaKey:
+ name: OduIdSchema
+ version: 0.0.1
+ optional: false
+ - key: OruId
+ value:
+ key: OruId
+ fieldSchemaKey:
+ name: OruIdSchema
+ version: 0.0.1
+ optional: false
+ - key:
+ name: LinkFailureInputEvent
+ version: 0.0.1
+ value:
+ key:
+ name: LinkFailureInputEvent
+ version: 0.0.1
+ nameSpace: org.onap.policy.apex.auth.clieditor
+ source: DMAAP
+ target: APEX
+ parameter:
+ entry:
+ - key: LinkFailureInput
+ value:
+ key: LinkFailureInput
+ fieldSchemaKey:
+ name: LinkFailureInputSchema
+ version: 0.0.1
+ optional: false
+ - key:
+ name: LinkFailureOutputEvent
+ version: 0.0.1
+ value:
+ key:
+ name: LinkFailureOutputEvent
+ version: 0.0.1
+ nameSpace: org.onap.policy.apex.auth.clieditor
+ source: APEX
+ target: OAM
+ parameter:
+ entry:
+ - key: LinkFailureOutput
+ value:
+ key: LinkFailureOutput
+ fieldSchemaKey:
+ name: LinkFailureOutputSchema
+ version: 0.0.1
+ optional: false
+ schemas:
+ key:
+ name: LinkMonitorModel_Schemas
+ version: 0.0.1
+ schemas:
+ entry:
+ - key:
+ name: LinkFailureInputSchema
+ version: 0.0.1
+ value:
+ key:
+ name: LinkFailureInputSchema
+ version: 0.0.1
+ schemaFlavour: Avro
+ schemaDefinition: |-
+ {
+ "type": "record",
+ "name": "Link_Failure_Input",
+ "fields": [
+ {
+ "name": "event",
+ "type": {
+ "type": "record",
+ "name": "Event_Type",
+ "fields": [
+ {
+ "name": "commonEventHeader",
+ "type": {
+ "type": "record",
+ "name": "Common_Event_Header_Type",
+ "fields": [
+ {
+ "name": "domain",
+ "type": "string"
+ },
+ {
+ "name": "eventId",
+ "type": "string"
+ },
+ {
+ "name": "eventName",
+ "type": "string"
+ },
+ {
+ "name": "eventType",
+ "type": "string"
+ },
+ {
+ "name": "sequence",
+ "type": "int"
+ },
+ {
+ "name": "priority",
+ "type": "string"
+ },
+ {
+ "name": "reportingEntityId",
+ "type": "string"
+ },
+ {
+ "name": "reportingEntityName",
+ "type": "string"
+ },
+ {
+ "name": "sourceId",
+ "type": "string"
+ },
+ {
+ "name": "sourceName",
+ "type": "string"
+ },
+ {
+ "name": "startEpochMicrosec",
+ "type": "string"
+ },
+ {
+ "name": "lastEpochMicrosec",
+ "type": "string"
+ },
+ {
+ "name": "nfNamingCode",
+ "type": "string"
+ },
+ {
+ "name": "nfVendorName",
+ "type": "string"
+ },
+ {
+ "name": "timeZoneOffset",
+ "type": "string"
+ },
+ {
+ "name": "version",
+ "type": "string"
+ },
+ {
+ "name": "vesEventListenerVersion",
+ "type": "string"
+ }
+ ]
+ }
+ },
+ {
+ "name": "faultFields",
+ "type": {
+ "type": "record",
+ "name": "Fault_Fields_Type",
+ "fields": [
+ {
+ "name": "faultFieldsVersion",
+ "type": "string"
+ },
+ {
+ "name": "alarmCondition",
+ "type": "string"
+ },
+ {
+ "name": "alarmInterfaceA",
+ "type": "string"
+ },
+ {
+ "name": "eventSourceType",
+ "type": "string"
+ },
+ {
+ "name": "specificProblem",
+ "type": "string"
+ },
+ {
+ "name": "eventSeverity",
+ "type": "string"
+ },
+ {
+ "name": "vfStatus",
+ "type": "string"
+ },
+ {
+ "name": "alarmAdditionalInformation",
+ "type": {
+ "type": "record",
+ "name": "Alarm_Additional_Information_Type",
+ "fields": [
+ {
+ "name": "eventTime",
+ "type": "string"
+ },
+ {
+ "name": "equipType",
+ "type": "string"
+ },
+ {
+ "name": "vendor",
+ "type": "string"
+ },
+ {
+ "name": "model",
+ "type": "string"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ - key:
+ name: LinkFailureOutputSchema
+ version: 0.0.1
+ value:
+ key:
+ name: LinkFailureOutputSchema
+ version: 0.0.1
+ schemaFlavour: Avro
+ schemaDefinition: "{\n \"type\": \"record\",\n \"name\":
+ \"Link_Failure_Output\",\n \"fields\": [\n {\n \"name\":
+ \"o_DasH_ran_DasH_sc_DasH_du_DasH_hello_DasH_world_ColoN_du_DasH_to_DasH_ru_DasH_connection\",\n
+ \ \"type\": {\n \t\"type\": \"array\",\n
+ \ \t\"items\": {\n\t\t \"name\": \"Config_Change_Message\",\n
+ \ \"type\": \"record\",\n \"fields\":
+ [\n {\n \"name\":
+ \"name\",\n \"type\": \"string\"\n
+ \ },\n\t\t\t{\n \"name\":
+ \"administrative_DasH_state\",\n \"type\":
+ \"string\"\n }\n ]\n
+ \ }\n\t }\n }\n ]\n}"
+ - key:
+ name: MessageSchema
+ version: 0.0.1
+ value:
+ key:
+ name: MessageSchema
+ version: 0.0.1
+ schemaFlavour: Java
+ schemaDefinition: java.lang.String
+ - key:
+ name: OduIdSchema
+ version: 0.0.1
+ value:
+ key:
+ name: OduIdSchema
+ version: 0.0.1
+ schemaFlavour: Java
+ schemaDefinition: java.lang.String
+ - key:
+ name: OruIdSchema
+ version: 0.0.1
+ value:
+ key:
+ name: OruIdSchema
+ version: 0.0.1
+ schemaFlavour: Java
+ schemaDefinition: java.lang.String
+ eventOutputParameters:
+ RestProducer:
+ carrierTechnologyParameters:
+ carrierTechnology: RESTCLIENT
+ parameterClassName: org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters
+ parameters:
+ url: http://sdnr-sim:9990/rests/data/network-topology:network-topology/topology=topology-netconf/node={OduId}/yang-ext:mount/o-ran-sc-du-hello-world:network-function/du-to-ru-connection={OruId}
+ httpMethod: PUT
+ httpHeaders:
+ - - Authorization
+ - Basic YWRtaW46S3A4Yko0U1hzek0wV1hsaGFrM2VIbGNzZTJnQXc4NHZhb0dHbUp2VXkyVQ==
+ eventProtocolParameters:
+ eventProtocol: JSON
+ parameters:
+ pojoField: LinkFailureOutput
+ eventNameFilter: LinkFailureOutputEvent
+ StdOutProducer:
+ carrierTechnologyParameters:
+ carrierTechnology: FILE
+ parameters:
+ standardIo: true
+ eventProtocolParameters:
+ eventProtocol: JSON
+ parameters:
+ pojoField: message
+ eventNameFilter: ApexMessageOutputEvent
+ eventInputParameters:
+ DMaaPConsumer:
+ carrierTechnologyParameters:
+ carrierTechnology: RESTCLIENT
+ parameterClassName: org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters
+ parameters:
+ url: http://onap-dmaap:3904/events/unauthenticated.SEC_FAULT_OUTPUT/users/link-monitor-nonrtric?timeout=15000&limit=100
+ eventProtocolParameters:
+ eventProtocol: JSON
+ parameters:
+ versionAlias: version
+ pojoField: LinkFailureInput
+ eventName: LinkFailureInputEvent