diff options
Diffstat (limited to 'common')
3 files changed, 504 insertions, 0 deletions
diff --git a/common/src/main/resources/tosca/ApplicationServiceDescriptorTypes.yaml b/common/src/main/resources/tosca/ApplicationServiceDescriptorTypes.yaml new file mode 100644 index 000000000..ad16173b9 --- /dev/null +++ b/common/src/main/resources/tosca/ApplicationServiceDescriptorTypes.yaml @@ -0,0 +1,74 @@ +# ============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.oran.asd.DeploymentItem: + version: 1.0.1 + derived_from: org.onap.policy.clamp.controlloop.KubernetesControlLoopElement + properties: + deployemntItemId: + type: onap.datatypes.ToscaConceptIdentifier + required: true + description: The identifier of this deployment item + artifactId: + type: onap.datatypes.ToscaConceptIdentifier + required: true + description: Reference to a DeploymentArtifact + lifecycleParameters: + type: string + required: false + description: List of parameters that can be overridden at deployment time + (e.g. values for values.yaml in the chart this item references) + org.oran.asd.ASD: + version: 1.0.1 + derived_from: org.onap.policy.clamp.controlloop.ControlLoop + properties: + asdId: + type: onap.datatypes.ToscaConceptIdentifier + required: true + description: The identifier of this deployment item + asdSchemaVersion: + type: onap.datatypes.ToscaConceptIdentifier + required: true + description: Reference to a DeploymentArtifact + asdApplication: + type: onap.datatypes.ToscaConceptIdentifier + required: true + description: Reference to a DeploymentArtifact + asdApplicationInfoName: + type: string + required: false + description: Human readable name for the Application service. Can change during the AS lifetime. + asdExtCpd: + type: string + required: false + description: Describes external interface(s) exposed by this AS enabling connection with a VL. + (Similar to VnfExtCpd on VNF-D, but only describing L3 and above interfaces, since + K8S can’t do <L3) + enhancedClusterCapabilities: + type: string + required: false + description: Describes expected capabilities of the target Kubernetes cluster to aid placement of the + application service on a suitable cluster. Examples of capabilities are; required networking + characteristics, Kubernetes API extensions or quantifiable node specific resources. This attribute + can contain information complementing information provided in the referenced DeploymentArtifacts. + Note; Modeling of enhancedClusterCapabilities is subject to standardization but is ffs. Alignment + between O2-IMS and O2-DMS of these values is required. + + + diff --git a/common/src/test/resources/asd/MyDomainASDDefintion.yaml b/common/src/test/resources/asd/MyDomainASDDefintion.yaml new file mode 100644 index 000000000..f354ea075 --- /dev/null +++ b/common/src/test/resources/asd/MyDomainASDDefintion.yaml @@ -0,0 +1,131 @@ +# ============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 +topology_template: + node_templates: + org.oran.asd.MyApplicationServiceDeploymentItem0: + version: 1.0.0 + type: org.oran.asd.DeploymentItem + type_version: 1.0.1 + description: The first Deployment Item in our Application Service + properties: + deployemntItemId: org.oran.asd.MyApplicationServiceDeploymentItem0:1.0.0 + artifactId: org.oran.asd.MyApplicationServiceDeploymentArtifact0:1.0.0 + lifecycleParameters: To be defined + provider: Ericsson + participantType: org.onap.policy.controlloop.participant.Kubernetes:1.0.0 + startPhase: 2 + uninitializedToPassiveTimeout: 180 + chart: + chartId: MyApplicationServiceDeploymentItem0Chart:1.0.0 + releaseName: SomeRelease + namespace: org.oran.asd.MyApplicationService + org.oran.asd.MyApplicationServiceDeploymentItem1: + version: 1.0.0 + type: org.oran.asd.DeploymentItem + type_version: 1.0.1 + description: The second Deployment Item in our Application Service + properties: + deployemntItemId: org.oran.asd.MyApplicationServiceDeploymentItem1:1.0.0 + artifactId: org.oran.asd.MyApplicationServiceDeploymentArtifact1:1.0.0 + lifecycleParameters: To be defined + provider: Ericsson + participantType: org.onap.policy.controlloop.participant.Kubernetes:1.0.0 + startPhase: 4 + uninitializedToPassiveTimeout: 10 + chart: + chartId: MyApplicationServiceDeploymentItem1Chart:1.0.0 + releaseName: SomeRelease + namespace: org.oran.asd.MyApplicationService + org.oran.asd.MyApplicationRestConfig: + version: 1.0.0 + type: org.onap.policy.clamp.controlloop.HttpControlLoopElement + type_version: 1.0.1 + description: The REST configuration for My Application + properties: + provider: Ericsson + participantType: org.onap.policy.controlloop.participant.Http:1.0.0 + startPhase: 1 + baseUrl: https://10.10.10.10:12345/MyApplicationServiceDeploymentItem0RestEndpoint + httpHeaders: + "Content-Type": "application/json" + "Accept": "application/json" + configurationEntities: + org.onap.policy.controlloop.gentleguidance.setDomainConfig:1.0.0: + configurationEntityId: org.onap.policy.controlloop.gentleguidance.setDomainConfig:1.0.0 + restSequence: + - restRequestId: org.oran.asd.myapplication.setDomainConfig.CreateConfig:1.0.0 + httpMethd: POST + path: "gentle/create" + body: + gentleLevel: veryGentle + gentleType: softAndFurry + expectedResponse: 200 + - restRequestId: org.oran.asd.myapplication.setDomainConfig.CreateConfig:1.0.0 + httpMethd: POST + path: "guidance/create" + body: + guidanceLevel: high + guidanceType: subtle + expectedResponse: 200 + org.oran.asd.myapplication.updateDomainConfig:1.0.0: + configurationEntityId: org.oran.asd.myapplication.updateDomainConfig:1.0.0 + restSequence: + - restRequestId: org.oran.asd.myapplication.updateDomainConfig.UpdateConfig:1.0.0 + httpMethd: PUT + path: "gentle/update]" + body: + gentleLevel: robust + gentleType: hardAndGritty + expectedResponse: 200 + - restRequestId: org.oran.asd.myapplication.updateDomainConfig.UpdateConfig:1.0.0 + httpMethd: PUT + path: "guidance/update" + body: + guidanceLevel: low + guidanceType: terse + expectedResponse: 200 + org.oran.asd.MyApplicationPolicy: + version: 1.0.0 + type: org.onap.policy.clamp.controlloop.PolicyControlLoopElement + type_version: 1.0.1 + description: My Application Operational Policy + properties: + provider: Ericsson + participantType: org.onap.policy.controlloop.participant.Policy:1.0.0 + startPhase: 0 + policyType: onap.policies.controlloop.operational.common.Apex:1.0.0 + policyId: org.oran.asd.myapplication.ServiceControlPolicy:1.0.0 + org.org.oran.asd.MyApplicationService: + version: 1.0.0 + type: org.oran.asd.ASD + type_version: 1.0.1 + description: ASD Definition of the My Application Service + properties: + asdId: org.org.oran.asd.MyApplicationService:1.0.0 + asdSchemaVersion: 2.3.2 + provider: Ericsson + asdApplication: org.oran.asd.MyWonderfulApplicationService:1.2.1 + asdApplicationInfoName: The wonderful ASD service that does everything imaginable + asdExtCpd: To be defined + enhancedCludterCapabilities: To be defined + elements: + - org.oran.asd.MyApplicationServiceDeploymentItem0:1.0.0 + - org.oran.asd.MyApplicationServiceDeploymentItem1:1.0.0 + - org.oran.asd.MyApplicationRestConfig:1.0.0 + - org.oran.asd.MyApplicationPolicy:1.0.0 diff --git a/common/src/test/resources/gentleguidance/GentleGuidanceMultipleTopologyTemplates.yaml b/common/src/test/resources/gentleguidance/GentleGuidanceMultipleTopologyTemplates.yaml new file mode 100644 index 000000000..93b5ba5a5 --- /dev/null +++ b/common/src/test/resources/gentleguidance/GentleGuidanceMultipleTopologyTemplates.yaml @@ -0,0 +1,299 @@ +tosca_definitions_version: tosca_simple_yaml_1_3 +topology_template: + node_templates: + org.onap.domain.gentleguidance.KubernetesControlLoopElementDefinition: + version: 1.0.0 + type: org.onap.policy.clamp.controlloop.KubernetesControlLoopElement + type_version: 1.0.1 + description: Control loop element for the Gentle Guidance Kubernetes Microservice + org.onap.domain.gentleguidance.RestControlLoopElementDefinition: + version: 1.0.0 + type: org.onap.policy.clamp.controlloop.HttpControlLoopElement + type_version: 1.0.1 + description: Control loop element for the Gentle Guidance Microservice REST configuration + org.onap.domain.gentleguidance.PolicyControlLoopElementDefinition: + version: 1.0.0 + type: org.onap.policy.clamp.controlloop.PolicyControlLoopElement + type_version: 1.0.1 + description: Control loop element for the Gentle Guidance Operational Policy + org.onap.domain.gentleguidance.CdsControlLoopElementDefinition: + version: 1.0.0 + type: org.onap.policy.clamp.controlloop.CDSControlLoopElement + type_version: 1.0.1 + description: Control loop element for the Gentle Guidance CDS blueprint + org.onap.domain.gentleguidance.ControlLoopDefinition: + version: 1.0.0 + type: org.onap.policy.clamp.controlloop.ControlLoop + type_version: 1.0.1 + description: Control loop definition for the Gentle Guidance domain + properties: + provider: Ericsson + elements: + - org.onap.domain.gentleguidance.KubernetesControlLoopElementDefinition:1.0.0 + - org.onap.domain.gentleguidance.RestControlLoopElementDefinition:1.0.0 + - org.onap.domain.gentleguidance.PolicyControlLoopElementDefinition:1.0.0 + - org.onap.domain.gentleguidance.CdsControlLoopElementDefinition:1.0.0 + +After Commissioning: + +tosca_definitions_version: tosca_simple_yaml_1_3 +topology_template: + node_templates: + org.onap.domain.gentleguidance.KubernetesControlLoopElementDefinition: + version: 1.0.0 + type: org.onap.policy.clamp.controlloop.KubernetesControlLoopElement + type_version: 1.0.1 + description: Control loop element for the Gentle Guidance Kubernetes Microservice + properties: + provider: Ericsson + participantType: org.onap.policy.controlloop.participant.Kubernetes:1.0.0 + startPhase: 2 + uninitializedToPassiveTimeout: 180 + org.onap.domain.gentleguidance.RestControlLoopElementDefinition: + version: 1.0.0 + type: org.onap.policy.clamp.controlloop.HttpControlLoopElement + type_version: 1.0.1 + description: Control loop element for the Gentle Guidance Microservice REST configuration + properties: + provider: Ericsson + participantType: org.onap.policy.controlloop.participant.Http:1.0.0 + startPhase: 1 + baseUrl: https://10.10.10.10:12345/gentleguidancemicroservice + org.onap.domain.gentleguidance.PolicyControlLoopElementDefinition: + version: 1.0.0 + type: org.onap.policy.clamp.controlloop.PolicyControlLoopElement + type_version: 1.0.1 + description: Control loop element for the Gentle Guidance Operational Policy + properties: + provider: Ericsson + participantType: org.onap.policy.controlloop.participant.Policy:1.0.0 + startPhase: 0 + org.onap.domain.gentleguidance.CdsControlLoopElementDefinition: + version: 1.0.0 + type: org.onap.policy.clamp.controlloop.CDSControlLoopElement + type_version: 1.0.1 + description: Control loop element for the Gentle Guidance CDS blueprint + properties: + provider: Ericsson + participantType: org.onap.policy.controlloop.participant.Cds:1.0.0 + startPhase: 0 + org.onap.domain.gentleguidance.ControlLoopDefinition: + version: 1.0.0 + type: org.onap.policy.clamp.controlloop.ControlLoop + type_version: 1.0.1 + description: Control loop definition for the Gentle Guidance domain + properties: + provider: Ericsson + elements: + - org.onap.domain.gentleguidance.KubernetesControlLoopElementDefinition:1.0.0 + - org.onap.domain.gentleguidance.RestControlLoopElementDefinition:1.0.0 + - org.onap.domain.gentleguidance.PolicyControlLoopElementDefinition:1.0.0 + - org.onap.domain.gentleguidance.CdsControlLoopElementDefinition:1.0.0 + + +After Instantiation: + +(Instance 1) + +tosca_definitions_version: tosca_simple_yaml_1_3 +topology_template: + node_templates: + org.onap.domain.gentleguidance.KubernetesControlLoopElementDefinition_Instance1: + version: 1.0.0 + type: org.onap.policy.clamp.controlloop.KubernetesControlLoopElement + type_version: 1.0.1 + description: Control loop element for the Gentle Guidance Kubernetes Microservice + properties: + provider: Ericsson + participantType: org.onap.policy.controlloop.participant.Kubernetes:1.0.0 + startPhase: 2 + uninitializedToPassiveTimeout: 180 + chart: + chartId: GentleGuidance:1.0.0 + releaseName: Istanbul + namespace: org.onap.policy.controlloop.gentleguidance + org.onap.domain.gentleguidance.RestControlLoopElementDefinition_Instance1: + version: 1.0.0 + type: org.onap.policy.clamp.controlloop.HttpControlLoopElement + type_version: 1.0.1 + description: Control loop element for the Gentle Guidance Microservice REST configuration + properties: + provider: Ericsson + participantType: org.onap.policy.controlloop.participant.Http:1.0.0 + startPhase: 1 + baseUrl: https://10.10.10.10:12345/gentleguidancemicroservice + httpHeaders: + "Content-Type": "application/json" + "Accept": "application/json" + configurationEntities: + org.onap.policy.controlloop.gentleguidance.setGentleGuidanceConfig:1.0.0: + configurationEntityId: org.onap.policy.controlloop.gentleguidance.setGentleGuidanceConfig:1.0.0 + restSequence: + - restRequestId: org.onap.policy.controlloop.gentleguidance.setGentleGuidanceConfig.CreateGentle:1.0.0 + httpMethd: POST + path: "gentle/create" + body: + gentleLevel: veryGentle + gentleType: softAndFurry + expectedResponse: 200 + - restRequestId: org.onap.policy.controlloop.gentleguidance.setGentleGuidanceConfig.CreateGuidance:1.0.0 + httpMethd: POST + path: "guidance/create" + body: + guidanceLevel: high + guidanceType: subtle + expectedResponse: 200 + org.onap.policy.controlloop.gentleguidance.updateGentleGuidanceConfig:1.0.0: + configurationEntityId: org.onap.policy.controlloop.gentleguidance.updateGentleGuidanceConfig:1.0.0 + restSequence: + - restRequestId: org.onap.policy.controlloop.gentleguidance.updateGentleGuidanceConfig.CreateGentle:1.0.0 + httpMethd: PUT + path: "gentle/update]" + body: + gentleLevel: robust + gentleType: hardAndGritty + expectedResponse: 200 + - restRequestId: org.onap.policy.controlloop.gentleguidance.updateGentleGuidanceConfig.CreateGuidance:1.0.0 + httpMethd: PUT + path: "guidance/update" + body: + guidanceLevel: low + guidanceType: terse + expectedResponse: 200 + org.onap.domain.gentleguidance.PolicyControlLoopElementDefinition_Instance1: + version: 1.0.0 + type: org.onap.policy.clamp.controlloop.PolicyControlLoopElement + type_version: 1.0.1 + description: Control loop element for the Gentle Guidance Operational Policy + properties: + provider: Ericsson + participantType: org.onap.policy.controlloop.participant.Policy:1.0.0 + startPhase: 0 + policyType: onap.policies.controlloop.operational.common.Apex:1.0.0 + policyId: org.onap.domain.gentleguidance.policy.GentleGuidanceAssertive:1.0.0 + org.onap.domain.gentleguidance.CdsControlLoopElementDefinition_Instance1: + version: 1.0.0 + type: org.onap.policy.clamp.controlloop.CDSControlLoopElement + type_version: 1.0.1 + description: Control loop element for the Gentle Guidance CDS blueprint + properties: + provider: Ericsson + participantType: org.onap.policy.controlloop.participant.Cds:1.0.0 + startPhase: 0 + cdsBlueprint: "Placeholder for the CDS blueprint" + org.onap.domain.gentleguidance.ControlLoopDefinition_Instance1: + version: 1.0.0 + type: org.onap.policy.clamp.controlloop.ControlLoop + type_version: 1.0.1 + description: Control loop definition for the Gentle Guidance domain + properties: + provider: Ericsson + elements: + - org.onap.domain.gentleguidance.KubernetesControlLoopElementDefinition_Instance1:1.0.0 + - org.onap.domain.gentleguidance.RestControlLoopElementDefinition_Instance1:1.0.0 + - org.onap.domain.gentleguidance.PolicyControlLoopElementDefinition_Instance1:1.0.0 + - org.onap.domain.gentleguidance.CdsControlLoopElementDefinition_Instance1:1.0.0 + + +(Instance 2) + +tosca_definitions_version: tosca_simple_yaml_1_3 +topology_template: + node_templates: + org.onap.domain.gentleguidance.KubernetesControlLoopElementDefinition_Instance2: + version: 1.0.0 + type: org.onap.policy.clamp.controlloop.KubernetesControlLoopElement + type_version: 1.0.1 + description: Control loop element for the Gentle Guidance Kubernetes Microservice + properties: + provider: Ericsson + participantType: org.onap.policy.controlloop.participant.Kubernetes:1.0.0 + startPhase: 2 + uninitializedToPassiveTimeout: 180 + chart: + chartId: GentleGuidance:1.0.0 + releaseName: Istanbul + namespace: org.onap.policy.controlloop.gentleguidance + org.onap.domain.gentleguidance.RestControlLoopElementDefinition_Instance2: + version: 1.0.0 + type: org.onap.policy.clamp.controlloop.HttpControlLoopElement + type_version: 1.0.1 + description: Control loop element for the Gentle Guidance Microservice REST configuration + properties: + provider: Ericsson + participantType: org.onap.policy.controlloop.participant.Http:1.0.0 + startPhase: 1 + baseUrl: https://10.10.10.10:12345/gentleguidancemicroservice + httpHeaders: + "Content-Type": "application/json" + "Accept": "application/json" + configurationEntities: + org.onap.policy.controlloop.gentleguidance.setGentleGuidanceConfig:1.0.0: + configurationEntityId: org.onap.policy.controlloop.gentleguidance.setGentleGuidanceConfig:1.0.0 + restSequence: + - restRequestId: org.onap.policy.controlloop.gentleguidance.setGentleGuidanceConfig.CreateGentle:1.0.0 + httpMethd: POST + path: "gentle/create" + body: + gentleLevel: veryGentle + gentleType: softAndFurry + expectedResponse: 200 + - restRequestId: org.onap.policy.controlloop.gentleguidance.setGentleGuidanceConfig.CreateGuidance:1.0.0 + httpMethd: POST + path: "guidance/create" + body: + guidanceLevel: low + guidanceType: subtle + expectedResponse: 200 + org.onap.policy.controlloop.gentleguidance.updateGentleGuidanceConfig:1.0.0: + configurationEntityId: org.onap.policy.controlloop.gentleguidance.updateGentleGuidanceConfig:1.0.0 + restSequence: + - restRequestId: org.onap.policy.controlloop.gentleguidance.updateGentleGuidanceConfig.CreateGentle:1.0.0 + httpMethd: PUT + path: "gentle/update]" + body: + gentleLevel: robust + gentleType: SoftandRobust + expectedResponse: 200 + - restRequestId: org.onap.policy.controlloop.gentleguidance.updateGentleGuidanceConfig.CreateGuidance:1.0.0 + httpMethd: PUT + path: "guidance/update" + body: + guidanceLevel: low + guidanceType: terse + expectedResponse: 200 + org.onap.domain.gentleguidance.PolicyControlLoopElementDefinition_Instance2: + version: 1.0.0 + type: org.onap.policy.clamp.controlloop.PolicyControlLoopElement + type_version: 1.0.1 + description: Control loop element for the Gentle Guidance Operational Policy + properties: + provider: Ericsson + participantType: org.onap.policy.controlloop.participant.Policy:1.0.0 + startPhase: 0 + policyType: onap.policies.controlloop.operational.common.Apex:1.0.0 + policyId: org.onap.domain.gentleguidance.policy.GentleGuidanceAssertive:1.0.0 + org.onap.domain.gentleguidance.CdsControlLoopElementDefinition_Instance2: + version: 1.0.0 + type: org.onap.policy.clamp.controlloop.CDSControlLoopElement + type_version: 1.0.1 + description: Control loop element for the Gentle Guidance CDS blueprint + properties: + provider: Ericsson + participantType: org.onap.policy.controlloop.participant.Cds:1.0.0 + startPhase: 0 + cdsBlueprint: "Placeholder for the CDS blueprint" + org.onap.domain.gentleguidance.ControlLoopDefinition_Instance2: + version: 1.0.0 + type: org.onap.policy.clamp.controlloop.ControlLoop + type_version: 1.0.1 + description: Control loop definition for the Gentle Guidance domain + properties: + provider: Ericsson + elements: + - org.onap.domain.gentleguidance.KubernetesControlLoopElementDefinition_Instance2:1.0.0 + - org.onap.domain.gentleguidance.RestControlLoopElementDefinition_Instance2:1.0.0 + - org.onap.domain.gentleguidance.PolicyControlLoopElementDefinition_Instance2:1.0.0 + - org.onap.domain.gentleguidance.CdsControlLoopElementDefinition_Instance2:1.0.0 + + |