...
Control loop changed to PASSIVE state
In a similar way, change the control loop state to RUNNING.
Control loop changed to RUNNING state
Once the control loop gets into the RUNNING PASSIVE state, the corresponding version of the usecase should be up and running.
...
NOTE: There is a limitation in the istanbul Jakarta version of policy/clamp that only one tosca template can be commissioned at a time. So, always delete the currently commissioned template before trying a new one.
In order to delete the control loop instance, it should be first changed back to PASSIVE state and then to UNINITIALISED state. Once the instance shows PASSIVE UNINITIALISED under Instantiation Current State, press the Delete button under Delete Instantiation.
...
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
tosca_definitions_version: tosca_simple_yaml_1_1_03 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.controlloopacm.Participant: version: 1.0.1 derived_from: tosca.nodetypes.Root properties: provider: type: string requred: false org.onap.policy.clamp.controlloopacm.ControlLoopElementAutomationCompositionElement: version: 1.0.1 derived_from: tosca.nodetypes.Root properties: provider: type: string required: false metadata: common: true description: Specifies the organization that provides the controlautomation loopcomposition element participant_id: type: onap.datatypes.ToscaConceptIdentifier requred: true metadata: common: true participantType: type: onap.datatypes.ToscaConceptIdentifier required: true metadata: common: true description: The identity of the participant type that hosts this type of ControlAutomation LoopComposition Element startPhase: type: integer required: false constraints: - greater_or_equal: 0 metadata: common: true description: A value indicating the start phase in which this controlautomation loopcomposition element will be started, the first start phase is zero. ControlAutomation LoopComposition Elements are started in their start_phase order and stopped in reverse start phase order. ControlAutomation LoopComposition Elements with the same start phase are started and stopped simultaneously uninitializedToPassiveTimeout: type: integer required: false constraints: - greater_or_equal: 0 default: 60 metadata: common: true description: The maximum time in seconds to wait for a state chage from uninitialized to passive passiveToRunningTimeout: type: integer required: false constraints: - greater_or_equal: 0 default: 60 metadata: common: true description: The maximum time in seconds to wait for a state chage from passive to running runningToPassiveTimeout: type: integer required: false constraints: - greater_or_equal: 0 default: 60 metadata: common: true description: The maximum time in seconds to wait for a state chage from running to passive passiveToUninitializedTimeout: type: integer required: false constraints: - greater_or_equal: 0 default: 60 metadata: common: true description: The maximum time in seconds to wait for a state chage from passive to uninitialized org.onap.policy.clamp.controlloopacm.ControlLoopAutomationComposition: version: 1.0.1 derived_from: tosca.nodetypes.Root properties: provider: type: string required: false metadata: common: true description: Specifies the organization that provides the controlautomation loopcomposition element elements: type: list required: true metadata: common: true entry_schema: type: onap.datatypes.ToscaConceptIdentifier description: Specifies a list of controlautomation loopcomposition element definitions that make up this controlautomation loopcomposition definition org.onap.policy.clamp.controlloopacm.PolicyControlLoopElementPolicyAutomationCompositionElement: version: 1.0.1 derived_from: org.onap.policy.clamp.controlloopacm.ControlLoopElementAutomationCompositionElement properties: policy_type_id: type: onap.datatypes.ToscaConceptIdentifier requred: true policy_id: type: onap.datatypes.ToscaConceptIdentifier requred: false topology_template: node_templatesinputs: org.onap.domain.linkmonitor.LinkMonitorPolicyControlLoopElementpmsh_operational_policy: versiontype: 1onap.2datatypes.3ToscaConceptIdentifier typedescription: org.onap.policy.clamp.controlloop.PolicyControlLoopElement type_version: 1.0.1 The ID of the PMSH operational policy to use descriptiondefault: Control loop element for the Link Monitor name: operational.apex.linkmonitor properties: version: 1.0.0 provider: Ericssonnode_templates: org.onap.policy.clamp.acm.PolicyParticipant: participant_id: version: 2.3.1 nametype: org.onap.PM_Policy.policy.clamp.acm.Participant type_version: 1.0.01 description: participantTypeParticipant for DCAE microservices properties: provider: ONAP name: org.onap.policydomain.controlloop.PolicyControlLoopParticipant pmsh.PMSH_OperationalPolicyAutomationCompositionElement: version: 1.2.3 versiontype: 2.3.1 org.onap.policy.clamp.acm.PolicyAutomationCompositionElement policy_type_id:version: 1.0.1 description: Automation composition element name: onap.policies.controlloop.operational.common.Apexfor the operational policy for Performance Management Subscription Handling properties: version provider: 1.0.0Ericsson policyparticipant_id: name: operationalorg.apexonap.linkmonitorPM_Policy version: 1.0.0 pdpGroup: defaultGroup org.onap.domain.linkmonitor.LinkMonitorControlLoopDefinition0participantType: version: 1.2.3 typename: org.onap.policy.clamp.controlloopacm.ControlLoopPolicyParticipant type_ version: 12.03.01 description: Control loop for Link Monitor policy_type_id: properties: name: provider: Ericsson onap.policies.operational.pm-subscription-handler elements:version: 1.0.0 - name: org.onap.domain.linkmonitor.LinkMonitorPolicyControlLoopElementpolicy_id: versionget_input: 1.2.3pmsh_operational_policy org.onap.policydomain.controlloopsample.PolicyControlLoopParticipantGenericK8s_AutomationCompositionDefinition: version: 1.2.3.1 type: org.onap.policy.clamp.controlloopacm.ParticipantAutomationComposition type_version: 1.0.1 description: Automation Participantcomposition for policyHello frameworkWorld properties: provider: ONAP Ericsson policieselements: - operational.apex.linkmonitor: - typename: org.onap.policiesdomain.controlloop.operational.common.Apex pmsh.PMSH_OperationalPolicyAutomationCompositionElement type_ version: 1.02.03 policies: version:- 1operational.0apex.0linkmonitor: metadata: type: onap.policies.controlloop.operational.common.Apex policy-idtype_version: operational1.apex0.linkmonitor0 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": "O-DU-1122", "ERICSSON-O-RU-11221": "O-DU-1122", "ERICSSON-O-RU-11222": "O-DU-1122", "ERICSSON-O-RU-11223": "O-DU-1122", "ERICSSON-O-RU-11224": "O-DU-1123", "ERICSSON-O-RU-11225": "O-DU-1123", "ERICSSON-O-RU-11226": "O-DU-1123", "ERICSSON-O-RU-11227": "O-DU-1124", "ERICSSON-O-RU-11228": "O-DU-1125", "ERICSSON-O-RU-11229": "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({ "id":"rrm-pol-1", "radio_DasH_resource_DasH_management_DasH_policy_DasH_max_DasH_ratio":25, "radio_DasH_resource_DasH_management_DasH_policy_DasH_members": [ { "mobile_DasH_country_DasH_code":"310", "mobile_DasH_network_DasH_code":"150", "slice_DasH_differentiator":1, "slice_DasH_service_DasH_type":1 } ], "radio_DasH_resource_DasH_management_DasH_policy_DasH_min_DasH_ratio":15, "user_DasH_label":"rrm-pol-1", "resource_DasH_type":"prb", "radio_DasH_resource_DasH_management_DasH_policy_DasH_dedicated_DasH_ratio":20, "administrative_DasH_state":"unlocked" }); } linkFailureOutput.put("o_DasH_ran_DasH_sc_DasH_du_DasH_hello_DasH_world_ColoN_radio_DasH_resource_DasH_management_DasH_policy_DasH_ratio", 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 \"name\": \"Link_Failure_Output\",\n \"type\": \"record\",\n \"fields\": [\n {\n \"name\": \"o_DasH_ran_DasH_sc_DasH_du_DasH_hello_DasH_world_ColoN_radio_DasH_resource_DasH_management_DasH_policy_DasH_ratio\",\n \"type\": {\n \"type\": \"array\",\n \"items\": {\n \"name\": \"o_DasH_ran_DasH_sc_DasH_du_DasH_hello_DasH_world_ColoN_radio_DasH_resource_DasH_management_DasH_policy_DasH_ratio_record\",\n \"type\": \"record\",\n \"fields\": [\n {\n \"name\": \"id\",\n \"type\": \"string\"\n },\n {\n \"name\": \"radio_DasH_resource_DasH_management_DasH_policy_DasH_max_DasH_ratio\",\n \"type\": \"int\"\n },\n {\n \"name\": \"radio_DasH_resource_DasH_management_DasH_policy_DasH_members\",\n \"type\": {\n \"type\": \"array\",\n \"items\": {\n \"name\": \"radio_DasH_resource_DasH_management_DasH_policy_DasH_members_record\",\n \"type\": \"record\",\n \"fields\": [\n {\n \"name\": \"mobile_DasH_country_DasH_code\",\n \"type\": \"string\"\n },\n {\n \"name\": \"mobile_DasH_network_DasH_code\",\n \"type\": \"string\"\n },\n {\n \"name\": \"slice_DasH_differentiator\",\n \"type\": \"int\"\n },\n {\n \"name\": \"slice_DasH_service_DasH_type\",\n \"type\": \"int\"\n }\n ]\n }\n }\n },\n {\n \"name\": \"radio_DasH_resource_DasH_management_DasH_policy_DasH_min_DasH_ratio\",\n \"type\": \"int\"\n },\n {\n \"name\": \"user_DasH_label\",\n \"type\": \"string\"\n },\n {\n \"name\": \"resource_DasH_type\",\n \"type\": \"string\"\n },\n {\n \"name\": \"radio_DasH_resource_DasH_management_DasH_policy_DasH_dedicated_DasH_ratio\",\n \"type\": \"int\"\n },\n {\n \"name\": \"administrative_DasH_state\",\n \"type\": \"string\"\n }\n ]\n }\n }\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-simulator.nonrtric:9990/rests/data/network-topology:network-topology/topology=topology-netconf/node={OduId}/yang-ext:mount/o-ran-sc-du-hello-world:network-function/distributed-unit-functions={OduIdOruId}/radio-resource-management-policy-ratio=rrm-pol-1 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://message-router:3904/events/unauthenticated.SEC_FAULT_OUTPUT/users/link-monitor-nonrtric?timeout=15000&limit=100 eventProtocolParameters: eventProtocol: JSON parameters: versionAlias: version pojoField: LinkFailureInput eventName: LinkFailureInputEvent |
...