From aa725fcc52bd2eb009dc407480e113158e65ddbd Mon Sep 17 00:00:00 2001 From: liamfallon Date: Wed, 7 Jul 2021 20:08:41 +0100 Subject: Update CL TOSCA definitions, Add Guidance UC This patch makes some minor updates to the TOSCA definitions, mainly the introduction of common parameters. It also introduces the first draft of a "Gentle Guidance" control loop that can be used for testing, verification, documenting and explaining the TOSCA control loop framework. Issue-ID: POLICY-3341 Change-Id: Ie2d5379bd362f088d7c500402f83745cc7e6aca3 Signed-off-by: liamfallon --- .../resources/tosca/CdsControlLoopElementType.yaml | 1 + .../ControlLoopTOSCAServiceTemplateTypes.yaml | 52 ++++++++++++++++++++-- .../tosca/DcaeControlLoopElementType.yaml | 6 ++- .../tosca/HttpControlLoopElementType.yaml | 17 ++++--- .../tosca/KubernetesControlLoopElementType.yaml | 20 ++++----- .../tosca/PolicyControlLoopElementType.yaml | 9 +++- 6 files changed, 82 insertions(+), 23 deletions(-) (limited to 'common/src/main') diff --git a/common/src/main/resources/tosca/CdsControlLoopElementType.yaml b/common/src/main/resources/tosca/CdsControlLoopElementType.yaml index 296324b68..c2fc66a6a 100644 --- a/common/src/main/resources/tosca/CdsControlLoopElementType.yaml +++ b/common/src/main/resources/tosca/CdsControlLoopElementType.yaml @@ -24,3 +24,4 @@ node_types: cdsBlueprint: type: string required: true + description: The CDS blueprint that this control loop element is managing. diff --git a/common/src/main/resources/tosca/ControlLoopTOSCAServiceTemplateTypes.yaml b/common/src/main/resources/tosca/ControlLoopTOSCAServiceTemplateTypes.yaml index 615fc34dd..e45a06257 100644 --- a/common/src/main/resources/tosca/ControlLoopTOSCAServiceTemplateTypes.yaml +++ b/common/src/main/resources/tosca/ControlLoopTOSCAServiceTemplateTypes.yaml @@ -34,20 +34,62 @@ node_types: provider: type: string required: false + metadata: + common: true description: Specifies the organization that provides the control loop element - participant_type: + participantType: type: onap.datatypes.ToscaConceptIdentifier required: true + metadata: + common: true description: The identity of the participant type that hosts this type of Control Loop Element - start_phase: + startPhase: type: integer required: false constraints: - greater-or-equal: 0 + metadata: + common: true description: A value indicating the start phase in which this control loop element will be started, the first start phase is zero. Control Loop Elements are started in their start_phase order and stopped in reverse start phase order. Control Loop 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.controlloop.ControlLoop: version: 1.0.1 derived_from: tosca.nodetypes.Root @@ -55,11 +97,15 @@ node_types: provider: type: string required: false + metadata: + common: true description: Specifies the organization that provides the control loop element elements: type: list required: true - description: Specifies a list of control loop element definitions that make up this control loop definition + metadata: + common: true entry_schema: type: onap.datatypes.ToscaConceptIdentifier + description: Specifies a list of control loop element definitions that make up this control loop definition diff --git a/common/src/main/resources/tosca/DcaeControlLoopElementType.yaml b/common/src/main/resources/tosca/DcaeControlLoopElementType.yaml index 654a09470..acf91bb92 100644 --- a/common/src/main/resources/tosca/DcaeControlLoopElementType.yaml +++ b/common/src/main/resources/tosca/DcaeControlLoopElementType.yaml @@ -26,14 +26,14 @@ data_types: name: consulUrl type: string typeVersion: 0.0.0 - description: Consul url for this entry required: true + description: Consul url for this entry consulBody: name: consulBody type: string typeVersion: 0.0.0 - description: Body of Consul entry required: true + description: Body of Consul entry node_types: org.onap.policy.clamp.controlloop.DCAEMicroserviceControlLoopElement: version: 1.0.1 @@ -42,8 +42,10 @@ node_types: dcaeBlueprint: type: string required: true + description: The DCAE blueprint for the DCAE microservice this control loop element is managing. consulInfo: type: list required: false entry_schema: type: org.onap.datatypes.policy.clamp.controlloop.DCAEControlLoopElementConsulInfo + description: The information to be sent to Consul for the microservice this control loop element is managing. diff --git a/common/src/main/resources/tosca/HttpControlLoopElementType.yaml b/common/src/main/resources/tosca/HttpControlLoopElementType.yaml index 4fdb60546..fd37040c6 100644 --- a/common/src/main/resources/tosca/HttpControlLoopElementType.yaml +++ b/common/src/main/resources/tosca/HttpControlLoopElementType.yaml @@ -24,28 +24,28 @@ data_types: restRequestId: type: onap.datatypes.ToscaConceptIdentifier typeVersion: 1.0.0 - description: The name and version of a REST request to be sent to a REST endpoint required: true + description: The name and version of a REST request to be sent to a REST endpoint httpMethod: type: string - description: The REST method to use required: true constraints: - valid_values: [POST, PUT, GET, DELETE] + description: The REST method to use path: type: string - description: The path of the REST request relative to the base URL required: true + description: The path of the REST request relative to the base URL body: type: string - description: The body of the REST request for PUT and POST requests required: false + description: The body of the REST request for PUT and POST requests expectedResponse: type: integer - description: THe expected HTTP status code for the REST request required: true constraints: - in_range: [100, 599] + description: THe expected HTTP status code for the REST request org.onap.datatypes.policy.clamp.controlloop.httpControlLoopElement.ConfigurationEntity: version: 1.0.0 derived_from: tosca.datatypes.Root @@ -53,14 +53,14 @@ data_types: configurationEntityId: type: onap.datatypes.ToscaConceptIdentifier typeVersion: 1.0.0 - description: The name and version of a Configuration Entity to be handled by the HTTP Control Loop Element required: true + description: The name and version of a Configuration Entity to be handled by the HTTP Control Loop Element restSequence: type: list - description: A sequence of REST commands to send to the REST endpoint entry_schema: type: org.onap.datatypes.policy.clamp.controlloop.httpControlLoopElement.RestRequest typeVersion: 1.0.0 + description: A sequence of REST commands to send to the REST endpoint node_types: org.onap.policy.clamp.controlloop.HttpControlLoopElement: version: 1.0.1 @@ -69,14 +69,17 @@ node_types: baseUrl: type: string required: true + description: The base URL to be prepended to each path, identifies the host for the REST endpoints. httpHeaders: type: map required: false entry_schema: type: string + description: HTTP headers to send on REST requests configurationEntities: type: map required: true entry_schema: type: org.onap.datatypes.policy.clamp.controlloop.httpControlLoopElement.ConfigurationEntity typeVersion: 1.0.0 + description: The connfiguration entities the Control Loop Element is managing and their associated REST requests diff --git a/common/src/main/resources/tosca/KubernetesControlLoopElementType.yaml b/common/src/main/resources/tosca/KubernetesControlLoopElementType.yaml index 7468581b5..86a8ce197 100644 --- a/common/src/main/resources/tosca/KubernetesControlLoopElementType.yaml +++ b/common/src/main/resources/tosca/KubernetesControlLoopElementType.yaml @@ -24,26 +24,26 @@ data_types: chartId: type: onap.datatypes.ToscaConceptIdentifier typeVersion: 1.0.0 - description: The name and version of the chart required: true + description: The name and version of the chart releaseName: type: string - description: The name of the release of the chart required: true + description: The name of the release of the chart repository: type: string - description: The name of the repository where the chart is stored required: false + description: The name of the repository where the chart is stored namespace: type: string - description: The name space of the chart required: true + description: The name space of the chart overrideParams: type: map - description: A map of override settings for parameters in the chart required: false entry_schema: type: string + description: A map of override settings for parameters in the chart node_types: org.onap.policy.clamp.controlloop.KubernetesControlLoopElement: version: 1.0.1 @@ -52,25 +52,25 @@ node_types: chart: type: org.onap.datatypes.policy.clamp.controlloop.kubernetesControlLoopElement.Chart typeVersion: 1.0.0 - description: The helm chart for the microservice required: true + description: The helm chart for the microservice configs: type: list - description: The configurations for the microservice required: false entry_schema: type: string + description: The configurations for the microservice requirements: type: string - description: The requirements for the microservice required: false + description: The requirements for the microservice templates: type: list - description: The templates for the microservice required: false entry_schema: type: string + description: The templates for the microservice values: type: string + required: false description: The values for the microservice - required: true diff --git a/common/src/main/resources/tosca/PolicyControlLoopElementType.yaml b/common/src/main/resources/tosca/PolicyControlLoopElementType.yaml index f2d45f1bb..e584c2fce 100644 --- a/common/src/main/resources/tosca/PolicyControlLoopElementType.yaml +++ b/common/src/main/resources/tosca/PolicyControlLoopElementType.yaml @@ -21,6 +21,13 @@ node_types: version: 1.0.1 derived_from: org.onap.policy.clamp.controlloop.ControlLoopElement properties: - policyId: + policyType: type: onap.datatypes.ToscaConceptIdentifier required: true + description: The policy type of the policy that this control loop element is managing + policyId: + type: onap.datatypes.ToscaConceptIdentifier + required: false + description: The policy that this control loop element is managing, if the policy ID is specified, the policy + is either already in the Policy Framework database or is specified in the "policies" part of the + TOSCA service template of the Control Loop definition -- cgit 1.2.3-korg