summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorliamfallon <liam.fallon@est.tech>2021-07-02 14:42:06 +0100
committerliamfallon <liam.fallon@est.tech>2021-07-05 08:33:52 +0100
commit4785bc1a2217bb5e4f4b593369e90e1057a62665 (patch)
treef5a2bba08e840b7d0493eb1fa917311f64d7557a
parent72d882f65031518e9d1b1a6d6e53c7d42ab8495f (diff)
Add ONAP standard Control Loop Element types
The Policy, DCAE, HTTP, Kubernetes, and CDS Control Loop Elements run on participants delivered with and packaged with ONAP. These TOSCA files define the properties for Control Loop Elements on these participants as TOSCA node types. Developers who wish to run Control Loop Elements on these participants write a TOSCA Topology Template, which uses the Control Loop Element Node Types defined in these files. These Node type definitions should be preloaded into the Runtime database, which will be done in a future review. Issue-ID: POLICY-3341 Change-Id: Icc565bdfa1a59e1c1c551f13c48348ee6a8a4e27 Signed-off-by: liamfallon <liam.fallon@est.tech>
-rw-r--r--common/src/main/resources/tosca/CdsControlLoopElementType.yaml26
-rw-r--r--common/src/main/resources/tosca/ControlLoopTOSCAServiceTemplateTypes.yaml8
-rw-r--r--common/src/main/resources/tosca/DcaeControlLoopElementType.yaml49
-rw-r--r--common/src/main/resources/tosca/HttpControlLoopElementType.yaml82
-rw-r--r--common/src/main/resources/tosca/KubernetesControlLoopElementType.yaml76
-rw-r--r--common/src/main/resources/tosca/PolicyControlLoopElementType.yaml26
6 files changed, 263 insertions, 4 deletions
diff --git a/common/src/main/resources/tosca/CdsControlLoopElementType.yaml b/common/src/main/resources/tosca/CdsControlLoopElementType.yaml
new file mode 100644
index 000000000..296324b68
--- /dev/null
+++ b/common/src/main/resources/tosca/CdsControlLoopElementType.yaml
@@ -0,0 +1,26 @@
+# ============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=========================================================
+tosca_definitions_version: tosca_simple_yaml_1_3
+node_types:
+ org.onap.policy.clamp.controlloop.CDSControlLoopElement:
+ version: 1.0.1
+ derived_from: org.onap.policy.clamp.controlloop.ControlLoopElement
+ properties:
+ cdsBlueprint:
+ type: string
+ required: true
diff --git a/common/src/main/resources/tosca/ControlLoopTOSCAServiceTemplateTypes.yaml b/common/src/main/resources/tosca/ControlLoopTOSCAServiceTemplateTypes.yaml
index 0da5723c2..615fc34dd 100644
--- a/common/src/main/resources/tosca/ControlLoopTOSCAServiceTemplateTypes.yaml
+++ b/common/src/main/resources/tosca/ControlLoopTOSCAServiceTemplateTypes.yaml
@@ -33,15 +33,15 @@ node_types:
properties:
provider:
type: string
- requred: false
+ required: false
description: Specifies the organization that provides the control loop element
participant_type:
type: onap.datatypes.ToscaConceptIdentifier
- requred: true
+ required: true
description: The identity of the participant type that hosts this type of Control Loop Element
start_phase:
type: integer
- requred: false
+ required: false
constraints:
- greater-or-equal: 0
description: A value indicating the start phase in which this control loop element will be started, the
@@ -54,7 +54,7 @@ node_types:
properties:
provider:
type: string
- requred: false
+ required: false
description: Specifies the organization that provides the control loop element
elements:
type: list
diff --git a/common/src/main/resources/tosca/DcaeControlLoopElementType.yaml b/common/src/main/resources/tosca/DcaeControlLoopElementType.yaml
new file mode 100644
index 000000000..654a09470
--- /dev/null
+++ b/common/src/main/resources/tosca/DcaeControlLoopElementType.yaml
@@ -0,0 +1,49 @@
+# ============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=========================================================
+tosca_definitions_version: tosca_simple_yaml_1_3
+
+data_types:
+ org.onap.datatypes.policy.clamp.controlloop.DCAEControlLoopElementConsulInfo:
+ version: 1.0.0
+ derived_from: tosca.datatypes.Root
+ properties:
+ consulUrl:
+ name: consulUrl
+ type: string
+ typeVersion: 0.0.0
+ description: Consul url for this entry
+ required: true
+ consulBody:
+ name: consulBody
+ type: string
+ typeVersion: 0.0.0
+ description: Body of Consul entry
+ required: true
+node_types:
+ org.onap.policy.clamp.controlloop.DCAEMicroserviceControlLoopElement:
+ version: 1.0.1
+ derived_from: org.onap.policy.clamp.controlloop.ControlLoopElement
+ properties:
+ dcaeBlueprint:
+ type: string
+ required: true
+ consulInfo:
+ type: list
+ required: false
+ entry_schema:
+ type: org.onap.datatypes.policy.clamp.controlloop.DCAEControlLoopElementConsulInfo
diff --git a/common/src/main/resources/tosca/HttpControlLoopElementType.yaml b/common/src/main/resources/tosca/HttpControlLoopElementType.yaml
new file mode 100644
index 000000000..4fdb60546
--- /dev/null
+++ b/common/src/main/resources/tosca/HttpControlLoopElementType.yaml
@@ -0,0 +1,82 @@
+# ============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=========================================================
+tosca_definitions_version: tosca_simple_yaml_1_3
+data_types:
+ org.onap.datatypes.policy.clamp.controlloop.httpControlLoopElement.RestRequest:
+ version: 1.0.0
+ derived_from: tosca.datatypes.Root
+ properties:
+ 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
+ httpMethod:
+ type: string
+ description: The REST method to use
+ required: true
+ constraints:
+ - valid_values: [POST, PUT, GET, DELETE]
+ path:
+ type: string
+ description: The path of the REST request relative to the base URL
+ required: true
+ body:
+ type: string
+ description: The body of the REST request for PUT and POST requests
+ required: false
+ expectedResponse:
+ type: integer
+ description: THe expected HTTP status code for the REST request
+ required: true
+ constraints:
+ - in_range: [100, 599]
+ org.onap.datatypes.policy.clamp.controlloop.httpControlLoopElement.ConfigurationEntity:
+ version: 1.0.0
+ derived_from: tosca.datatypes.Root
+ properties:
+ 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
+ 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
+node_types:
+ org.onap.policy.clamp.controlloop.HttpControlLoopElement:
+ version: 1.0.1
+ derived_from: org.onap.policy.clamp.controlloop.ControlLoopElement
+ properties:
+ baseUrl:
+ type: string
+ required: true
+ httpHeaders:
+ type: map
+ required: false
+ entry_schema:
+ type: string
+ configurationEntities:
+ type: map
+ required: true
+ entry_schema:
+ type: org.onap.datatypes.policy.clamp.controlloop.httpControlLoopElement.ConfigurationEntity
+ typeVersion: 1.0.0
diff --git a/common/src/main/resources/tosca/KubernetesControlLoopElementType.yaml b/common/src/main/resources/tosca/KubernetesControlLoopElementType.yaml
new file mode 100644
index 000000000..7468581b5
--- /dev/null
+++ b/common/src/main/resources/tosca/KubernetesControlLoopElementType.yaml
@@ -0,0 +1,76 @@
+# ============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=========================================================
+tosca_definitions_version: tosca_simple_yaml_1_3
+data_types:
+ org.onap.datatypes.policy.clamp.controlloop.kubernetesControlLoopElement.Chart:
+ version: 1.0.0
+ derived_from: tosca.datatypes.Root
+ properties:
+ chartId:
+ type: onap.datatypes.ToscaConceptIdentifier
+ typeVersion: 1.0.0
+ description: The name and version of the chart
+ required: true
+ releaseName:
+ type: string
+ description: The name of the release of the chart
+ required: true
+ repository:
+ type: string
+ description: The name of the repository where the chart is stored
+ required: false
+ namespace:
+ type: string
+ description: The name space of the chart
+ required: true
+ overrideParams:
+ type: map
+ description: A map of override settings for parameters in the chart
+ required: false
+ entry_schema:
+ type: string
+node_types:
+ org.onap.policy.clamp.controlloop.KubernetesControlLoopElement:
+ version: 1.0.1
+ derived_from: org.onap.policy.clamp.controlloop.ControlLoopElement
+ properties:
+ chart:
+ type: org.onap.datatypes.policy.clamp.controlloop.kubernetesControlLoopElement.Chart
+ typeVersion: 1.0.0
+ description: The helm chart for the microservice
+ required: true
+ configs:
+ type: list
+ description: The configurations for the microservice
+ required: false
+ entry_schema:
+ type: string
+ requirements:
+ type: string
+ description: The requirements for the microservice
+ required: false
+ templates:
+ type: list
+ description: The templates for the microservice
+ required: false
+ entry_schema:
+ type: string
+ values:
+ type: string
+ 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
new file mode 100644
index 000000000..f2d45f1bb
--- /dev/null
+++ b/common/src/main/resources/tosca/PolicyControlLoopElementType.yaml
@@ -0,0 +1,26 @@
+# ============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=========================================================
+tosca_definitions_version: tosca_simple_yaml_1_3
+node_types:
+ org.onap.policy.clamp.controlloop.PolicyControlLoopElement:
+ version: 1.0.1
+ derived_from: org.onap.policy.clamp.controlloop.ControlLoopElement
+ properties:
+ policyId:
+ type: onap.datatypes.ToscaConceptIdentifier
+ required: true