From: Sirisha_Manchikanti Date: Mon, 10 Jan 2022 16:32:40 +0000 (+0000) Subject: Add controlloop components to SDC design X-Git-Tag: 1.10.1~5 X-Git-Url: https://gerrit.onap.org/r/gitweb?a=commitdiff_plain;h=17862485d3475a81aa836f84609ec1a2b69b1d64;p=sdc.git Add controlloop components to SDC design This commit will add controlloop components like Participant, ControlLoopElement and ControlLoop to SDC. Addition of these components in SDC will enable to build a CSAR with controloop components and establish a controlloop by distributing the CSAR to policy-distribution and thereby to CLAMP. Issue-ID: SDC-3842 Signed-off-by: Sirisha_Manchikanti Change-Id: I6f417f7a635f6f0dec3ce6163c5b41ada374567a --- diff --git a/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/templates/default/BE-configuration.yaml.erb b/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/templates/default/BE-configuration.yaml.erb index 974fc009ed..5a025548f7 100644 --- a/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/templates/default/BE-configuration.yaml.erb +++ b/catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/templates/default/BE-configuration.yaml.erb @@ -1028,6 +1028,8 @@ serviceBaseNodeTypes: required: true baseTypes: - tosca.nodes.nfv.NS + ControlLoop: + required: false workloadContext: Production @@ -1255,6 +1257,7 @@ cadiFilterParams: # This configuration entry lists all node type names prefix that shall be allowed on SDC. definedResourceNamespace: - org.openecomp.resource. + - org.onap.policy.clamp.controlloop. # This configuration entry lists all Directives values that shall be allowed on SDC. directives: diff --git a/catalog-be/src/main/resources/import/tosca/categories/categoryTypes.yml b/catalog-be/src/main/resources/import/tosca/categories/categoryTypes.yml index 7889af069d..b2be823efb 100644 --- a/catalog-be/src/main/resources/import/tosca/categories/categoryTypes.yml +++ b/catalog-be/src/main/resources/import/tosca/categories/categoryTypes.yml @@ -55,6 +55,12 @@ services: "ETSI SOL001 v2.5.1", "SDC AID" ] + ControlLoop: + name: "ControlLoop" + icons: ['network_l_1-3'] + models: [ + "CONTROL LOOP" + ] resources: NetworkLayer23: name: "Network L2-3" @@ -128,6 +134,12 @@ resources: NetworkService: name: "Network Service" icons: ['network'] + ControlLoopElement: + name: "ControlLoop Element" + icons: ['network'] + Participant: + name: "Participant" + icons: ['network'] NetworkConnectivity: name: "Network Connectivity" subcategories: diff --git a/catalog-be/src/main/resources/import/tosca/data-types/dataTypes.yml b/catalog-be/src/main/resources/import/tosca/data-types/dataTypes.yml index e294528026..a6071e126f 100644 --- a/catalog-be/src/main/resources/import/tosca/data-types/dataTypes.yml +++ b/catalog-be/src/main/resources/import/tosca/data-types/dataTypes.yml @@ -3155,3 +3155,13 @@ onap.datatypes.partner.sppartner_details: type: string description: Authentication details to access the Service URL required: false + +onap.datatypes.ToscaConceptIdentifier: + derived_from: tosca.datatypes.Root + properties: + name: + type: string + required: true + version: + type: string + required: true diff --git a/catalog-be/src/main/resources/import/tosca/models/init/controlloop/imports/controlloop.yaml b/catalog-be/src/main/resources/import/tosca/models/init/controlloop/imports/controlloop.yaml new file mode 100644 index 0000000000..49fd063a0b --- /dev/null +++ b/catalog-be/src/main/resources/import/tosca/models/init/controlloop/imports/controlloop.yaml @@ -0,0 +1,650 @@ +tosca_definitions_version: tosca_simple_yaml_1_3 +description: ControlLoop types definitions version 1.0.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 + onap.datatypes.monitoring.managedObjectDNsBasic: + constraints: [] + properties: + DN: + name: DN + type: string + typeVersion: 0.0.0 + description: Managed object distinguished name + required: true + constraints: [] + metadata: {} + name: onap.datatypes.monitoring.managedObjectDNsBasic + version: 0.0.0 + derived_from: tosca.datatypes.Root + metadata: {} + onap.datatypes.monitoring.managedObjectDNsBasics: + constraints: [] + properties: + managedObjectDNsBasic: + name: managedObjectDNsBasic + type: map + typeVersion: 0.0.0 + description: Managed object distinguished name object + required: true + constraints: [] + entry_schema: + type: onap.datatypes.monitoring.managedObjectDNsBasic + typeVersion: 0.0.0 + constraints: [] + metadata: {} + name: onap.datatypes.monitoring.managedObjectDNsBasics + version: 0.0.0 + derived_from: tosca.datatypes.Root + metadata: {} + onap.datatypes.monitoring.measurementGroup: + constraints: [] + properties: + measurementTypes: + name: measurementTypes + type: list + typeVersion: 0.0.0 + description: List of measurement types + required: true + constraints: [] + entry_schema: + type: onap.datatypes.monitoring.measurementTypes + typeVersion: 0.0.0 + constraints: [] + metadata: {} + managedObjectDNsBasic: + name: managedObjectDNsBasic + type: list + typeVersion: 0.0.0 + description: List of managed object distinguished names + required: true + constraints: [] + entry_schema: + type: onap.datatypes.monitoring.managedObjectDNsBasics + typeVersion: 0.0.0 + constraints: [] + metadata: {} + name: onap.datatypes.monitoring.measurementGroup + version: 0.0.0 + derived_from: tosca.datatypes.Root + metadata: {} + onap.datatypes.monitoring.measurementGroups: + constraints: [] + properties: + measurementGroup: + name: measurementGroup + type: map + typeVersion: 0.0.0 + description: Measurement Group + required: true + constraints: [] + entry_schema: + type: onap.datatypes.monitoring.measurementGroup + typeVersion: 0.0.0 + constraints: [] + metadata: {} + name: onap.datatypes.monitoring.measurementGroups + version: 0.0.0 + derived_from: tosca.datatypes.Root + metadata: {} + onap.datatypes.monitoring.measurementType: + constraints: [] + properties: + measurementType: + name: measurementType + type: string + typeVersion: 0.0.0 + description: Measurement type + required: true + constraints: [] + metadata: {} + name: onap.datatypes.monitoring.measurementType + version: 0.0.0 + derived_from: tosca.datatypes.Root + metadata: {} + onap.datatypes.monitoring.measurementTypes: + constraints: [] + properties: + measurementType: + name: measurementType + type: map + typeVersion: 0.0.0 + description: Measurement type object + required: true + constraints: [] + entry_schema: + type: onap.datatypes.monitoring.measurementType + typeVersion: 0.0.0 + constraints: [] + metadata: {} + name: onap.datatypes.monitoring.measurementTypes + version: 0.0.0 + derived_from: tosca.datatypes.Root + metadata: {} + onap.datatypes.monitoring.nfFilter: + constraints: [] + properties: + modelNames: + name: modelNames + type: list + typeVersion: 0.0.0 + description: List of model names + required: true + constraints: [] + entry_schema: + type: string + typeVersion: 0.0.0 + constraints: [] + metadata: {} + modelInvariantIDs: + name: modelInvariantIDs + type: list + typeVersion: 0.0.0 + description: List of model invariant IDs + required: true + constraints: [] + entry_schema: + type: string + typeVersion: 0.0.0 + constraints: [] + metadata: {} + modelVersionIDs: + name: modelVersionIDs + type: list + typeVersion: 0.0.0 + description: List of model version IDs + required: true + constraints: [] + entry_schema: + type: string + typeVersion: 0.0.0 + constraints: [] + metadata: {} + nfNames: + name: nfNames + type: list + typeVersion: 0.0.0 + description: List of network functions + required: true + constraints: [] + entry_schema: + type: string + typeVersion: 0.0.0 + constraints: [] + metadata: {} + name: onap.datatypes.monitoring.nfFilter + version: 0.0.0 + derived_from: tosca.datatypes.Root + metadata: {} + onap.datatypes.monitoring.subscription: + constraints: [] + properties: + measurementGroups: + name: measurementGroups + type: list + typeVersion: 0.0.0 + description: Measurement Groups + required: true + constraints: [] + entry_schema: + type: onap.datatypes.monitoring.measurementGroups + typeVersion: 0.0.0 + constraints: [] + metadata: {} + fileBasedGP: + name: fileBasedGP + type: integer + typeVersion: 0.0.0 + description: File based granularity period + required: true + constraints: [] + metadata: {} + fileLocation: + name: fileLocation + type: string + typeVersion: 0.0.0 + description: ROP file location + required: true + constraints: [] + metadata: {} + subscriptionName: + name: subscriptionName + type: string + typeVersion: 0.0.0 + description: Name of the subscription + required: true + constraints: [] + metadata: {} + administrativeState: + name: administrativeState + type: string + typeVersion: 0.0.0 + description: State of the subscription + required: true + constraints: + - valid_values: + - LOCKED + - UNLOCKED + metadata: {} + nfFilter: + name: nfFilter + type: map + typeVersion: 0.0.0 + description: Network function filter + required: true + constraints: [] + entry_schema: + type: onap.datatypes.monitoring.nfFilter + typeVersion: 0.0.0 + constraints: [] + metadata: {} + name: onap.datatypes.monitoring.subscription + version: 0.0.0 + derived_from: tosca.datatypes.Root + metadata: {} + 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 + required: true + description: The name and version of a REST request to be sent to a REST endpoint + httpMethod: + type: string + required: true + constraints: + - valid_values: + - POST + - PUT + - GET + - DELETE + description: The REST method to use + path: + type: string + required: true + description: The path of the REST request relative to the base URL + body: + type: string + required: false + description: The body of the REST request for PUT and POST requests + expectedResponse: + type: integer + required: true + constraints: [] + 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 + properties: + configurationEntityId: + type: onap.datatypes.ToscaConceptIdentifier + typeVersion: 1.0.0 + required: true + description: The name and version of a Configuration Entity to be handled by the + HTTP Control Loop Element + restSequence: + type: list + 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 +policy_types: + onap.policies.Monitoring: + derived_from: tosca.policies.Root + description: a base policy type for all policies that govern monitoring provisioning + version: 1.0.0 + name: onap.policies.Monitoring + onap.policies.monitoring.dcae-pm-subscription-handler: + properties: + pmsh_policy: + name: pmsh_policy + type: onap.datatypes.monitoring.subscription + typeVersion: 0.0.0 + description: PMSH Policy JSON + required: false + constraints: [] + metadata: {} + name: onap.policies.monitoring.dcae-pm-subscription-handler + version: 1.0.0 + derived_from: onap.policies.Monitoring + metadata: {} + 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 + required: false + org.onap.policy.clamp.controlloop.ControlLoopElement: + 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 control loop element + participant_id: + type: onap.datatypes.ToscaConceptIdentifier + required: 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 Control + Loop Element + 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 + properties: + provider: + type: string + required: false + metadata: + common: true + description: Specifies the organization that provides the control loop element + elements: + type: list + required: true + 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 + 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 + required: true + policy_id: + type: onap.datatypes.ToscaConceptIdentifier + required: false + org.onap.policy.clamp.controlloop.CDSControlLoopElement: + version: 1.0.1 + derived_from: org.onap.policy.clamp.controlloop.ControlLoopElement + properties: + cds_blueprint_id: + type: onap.datatypes.ToscaConceptIdentifier + required: true + org.onap.policy.clamp.controlloop.K8SMicroserviceControlLoopElement: + version: 1.0.1 + derived_from: org.onap.policy.clamp.controlloop.ControlLoopElement + properties: + chart: + type: string + required: true + configs: + type: list + required: false + requirements: + type: string + required: false + templates: + type: list + required: false + entry_schema: null + values: + type: string + required: true + org.onap.policy.clamp.controlloop.HttpControlLoopElement: + version: 1.0.1 + derived_from: org.onap.policy.clamp.controlloop.ControlLoopElement + properties: + 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/catalog-be/src/main/resources/import/tosca/models/init/controlloop/payload.json b/catalog-be/src/main/resources/import/tosca/models/init/controlloop/payload.json new file mode 100644 index 0000000000..041cffc391 --- /dev/null +++ b/catalog-be/src/main/resources/import/tosca/models/init/controlloop/payload.json @@ -0,0 +1,4 @@ +{ + "name": "CONTROL LOOP", + "modelType": "NORMATIVE" +} diff --git a/catalog-be/src/main/resources/import/tosca/models/init/controlloop/tosca/data-types/dataTypes.yml b/catalog-be/src/main/resources/import/tosca/models/init/controlloop/tosca/data-types/dataTypes.yml new file mode 100644 index 0000000000..436c6c960e --- /dev/null +++ b/catalog-be/src/main/resources/import/tosca/models/init/controlloop/tosca/data-types/dataTypes.yml @@ -0,0 +1,432 @@ +tosca.datatypes.Root: + description: The TOSCA root Data Type all other TOSCA base Data Types derive from +integer: + derived_from: tosca.datatypes.Root +string: + derived_from: tosca.datatypes.Root +boolean: + derived_from: tosca.datatypes.Root +float: + derived_from: tosca.datatypes.Root +list: + derived_from: tosca.datatypes.Root +map: + derived_from: tosca.datatypes.Root +json: + derived_from: tosca.datatypes.Root +scalar-unit: + derived_from: tosca.datatypes.Root +scalar-unit.size: + derived_from: scalar-unit +scalar-unit.time: + derived_from: scalar-unit +scalar-unit.frequency: + derived_from: scalar-unit +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 +onap.datatypes.monitoring.managedObjectDNsBasic: + constraints: [] + properties: + DN: + name: DN + type: string + typeVersion: 0.0.0 + description: Managed object distinguished name + required: true + constraints: [] + metadata: {} + name: onap.datatypes.monitoring.managedObjectDNsBasic + version: 0.0.0 + derived_from: tosca.datatypes.Root + metadata: {} +onap.datatypes.monitoring.managedObjectDNsBasics: + constraints: [] + properties: + managedObjectDNsBasic: + name: managedObjectDNsBasic + type: map + typeVersion: 0.0.0 + description: Managed object distinguished name object + required: true + constraints: [] + entry_schema: + type: onap.datatypes.monitoring.managedObjectDNsBasic + typeVersion: 0.0.0 + constraints: [] + metadata: {} + name: onap.datatypes.monitoring.managedObjectDNsBasics + version: 0.0.0 + derived_from: tosca.datatypes.Root + metadata: {} +onap.datatypes.monitoring.measurementGroup: + constraints: [] + properties: + measurementTypes: + name: measurementTypes + type: list + typeVersion: 0.0.0 + description: List of measurement types + required: true + constraints: [] + entry_schema: + type: onap.datatypes.monitoring.measurementTypes + typeVersion: 0.0.0 + constraints: [] + metadata: {} + managedObjectDNsBasic: + name: managedObjectDNsBasic + type: list + typeVersion: 0.0.0 + description: List of managed object distinguished names + required: true + constraints: [] + entry_schema: + type: onap.datatypes.monitoring.managedObjectDNsBasics + typeVersion: 0.0.0 + constraints: [] + metadata: {} + name: onap.datatypes.monitoring.measurementGroup + version: 0.0.0 + derived_from: tosca.datatypes.Root + metadata: {} +onap.datatypes.monitoring.measurementGroups: + constraints: [] + properties: + measurementGroup: + name: measurementGroup + type: map + typeVersion: 0.0.0 + description: Measurement Group + required: true + constraints: [] + entry_schema: + type: onap.datatypes.monitoring.measurementGroup + typeVersion: 0.0.0 + constraints: [] + metadata: {} + name: onap.datatypes.monitoring.measurementGroups + version: 0.0.0 + derived_from: tosca.datatypes.Root + metadata: {} +onap.datatypes.monitoring.measurementType: + constraints: [] + properties: + measurementType: + name: measurementType + type: string + typeVersion: 0.0.0 + description: Measurement type + required: true + constraints: [] + metadata: {} + name: onap.datatypes.monitoring.measurementType + version: 0.0.0 + derived_from: tosca.datatypes.Root + metadata: {} +onap.datatypes.monitoring.measurementTypes: + constraints: [] + properties: + measurementType: + name: measurementType + type: map + typeVersion: 0.0.0 + description: Measurement type object + required: true + constraints: [] + entry_schema: + type: onap.datatypes.monitoring.measurementType + typeVersion: 0.0.0 + constraints: [] + metadata: {} + name: onap.datatypes.monitoring.measurementTypes + version: 0.0.0 + derived_from: tosca.datatypes.Root + metadata: {} +onap.datatypes.monitoring.nfFilter: + constraints: [] + properties: + modelNames: + name: modelNames + type: list + typeVersion: 0.0.0 + description: List of model names + required: true + constraints: [] + entry_schema: + type: string + typeVersion: 0.0.0 + constraints: [] + metadata: {} + modelInvariantIDs: + name: modelInvariantIDs + type: list + typeVersion: 0.0.0 + description: List of model invariant IDs + required: true + constraints: [] + entry_schema: + type: string + typeVersion: 0.0.0 + constraints: [] + metadata: {} + modelVersionIDs: + name: modelVersionIDs + type: list + typeVersion: 0.0.0 + description: List of model version IDs + required: true + constraints: [] + entry_schema: + type: string + typeVersion: 0.0.0 + constraints: [] + metadata: {} + nfNames: + name: nfNames + type: list + typeVersion: 0.0.0 + description: List of network functions + required: true + constraints: [] + entry_schema: + type: string + typeVersion: 0.0.0 + constraints: [] + metadata: {} + name: onap.datatypes.monitoring.nfFilter + version: 0.0.0 + derived_from: tosca.datatypes.Root + metadata: {} +onap.datatypes.monitoring.subscription: + constraints: [] + properties: + measurementGroups: + name: measurementGroups + type: list + typeVersion: 0.0.0 + description: Measurement Groups + required: true + constraints: [] + entry_schema: + type: onap.datatypes.monitoring.measurementGroups + typeVersion: 0.0.0 + constraints: [] + metadata: {} + fileBasedGP: + name: fileBasedGP + type: integer + typeVersion: 0.0.0 + description: File based granularity period + required: true + constraints: [] + metadata: {} + fileLocation: + name: fileLocation + type: string + typeVersion: 0.0.0 + description: ROP file location + required: true + constraints: [] + metadata: {} + subscriptionName: + name: subscriptionName + type: string + typeVersion: 0.0.0 + description: Name of the subscription + required: true + constraints: [] + metadata: {} + administrativeState: + name: administrativeState + type: string + typeVersion: 0.0.0 + description: State of the subscription + required: true + constraints: + - valid_values: + - LOCKED + - UNLOCKED + metadata: {} + nfFilter: + name: nfFilter + type: map + typeVersion: 0.0.0 + description: Network function filter + required: true + constraints: [] + entry_schema: + type: onap.datatypes.monitoring.nfFilter + typeVersion: 0.0.0 + constraints: [] + metadata: {} + name: onap.datatypes.monitoring.subscription + version: 0.0.0 + derived_from: tosca.datatypes.Root + metadata: {} +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 + required: true + description: The name and version of a REST request to be sent to a REST endpoint + httpMethod: + type: string + required: true + constraints: + - valid_values: + - POST + - PUT + - GET + - DELETE + description: The REST method to use + path: + type: string + required: true + description: The path of the REST request relative to the base URL + body: + type: string + required: false + description: The body of the REST request for PUT and POST requests + expectedResponse: + type: integer + required: true + constraints: [] + 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 + properties: + configurationEntityId: + type: onap.datatypes.ToscaConceptIdentifier + typeVersion: 1.0.0 + required: true + description: The name and version of a Configuration Entity to be handled by the HTTP + Control Loop Element + restSequence: + type: list + entry_schema: + type: org.onap.datatypes.policy.clamp.controlloop.httpControlLoopElement.RestRequest + typeVersion: 1.0.0 + constraints: [] + description: A sequence of REST commands to send to the REST endpoint diff --git a/catalog-be/src/main/resources/import/tosca/models/init/controlloop/tosca/node-types/metadata.json b/catalog-be/src/main/resources/import/tosca/models/init/controlloop/tosca/node-types/metadata.json new file mode 100644 index 0000000000..e3e1f8c326 --- /dev/null +++ b/catalog-be/src/main/resources/import/tosca/models/init/controlloop/tosca/node-types/metadata.json @@ -0,0 +1,188 @@ +{ + "nodeMetadataList": [ + { + "contactId": "jh0003", + "toscaName": "tosca.nodes.Root", + "name": "Root", + "model": "CONTROL LOOP", + "description": "The TOSCA Node Type all other TOSCA base Node Types derive from", + "resourceIconPath": "defaulticon", + "categories": [ + { + "name": "Generic", + "subcategories": [ + { + "name": "Abstract" + } + ] + } + ], + "tags": [ + "Root", + "tosca.nodes.Root" + ] + }, + { + "contactId": "jh0003", + "toscaName": "org.onap.policy.clamp.controlloop.Participant", + "name": "Participant", + "model": "CONTROL LOOP", + "description": "The TOSCA service template representing the Participant", + "resourceIconPath": "defaulticon", + "resourceType": "VFC", + "categories": [ + { + "name": "Generic", + "subcategories": [ + { + "name": "Infrastructure" + } + ] + } + ], + "tags": [ + "Participant", + "org.onap.policy.clamp.controlloop.Participant" + ] + }, + { + "contactId": "jh0003", + "toscaName": "org.onap.policy.clamp.controlloop.ControlLoopElement", + "name": "ControlLoopElement", + "model": "CONTROL LOOP", + "description": "The TOSCA service template representing the ControlLoopElement", + "resourceIconPath": "defaulticon", + "resourceType": "VFC", + "categories": [ + { + "name": "Generic", + "subcategories": [ + { + "name": "Infrastructure" + } + ] + } + ], + "tags": [ + "ControlLoopElement", + "org.onap.policy.clamp.controlloop.ControlLoopElement" + ] + }, + { + "contactId": "jh0003", + "toscaName": "org.onap.policy.clamp.controlloop.ControlLoop", + "name": "ControlLoop", + "model": "CONTROL LOOP", + "description": "The TOSCA service template representing the ControlLoop", + "resourceIconPath": "defaulticon", + "resourceType": "VFC", + "categories": [ + { + "name": "Generic", + "subcategories": [ + { + "name": "Infrastructure" + } + ] + } + ], + "tags": [ + "ControlLoop", + "org.onap.policy.clamp.controlloop.ControlLoop" + ] + }, + { + "contactId": "jh0003", + "toscaName": "org.onap.policy.clamp.controlloop.PolicyControlLoopElement", + "name": "PolicyControlLoopElement", + "model": "CONTROL LOOP", + "description": "The TOSCA service template representing the PolicyControlLoopElement", + "resourceIconPath": "defaulticon", + "resourceType": "VFC", + "categories": [ + { + "name": "Generic", + "subcategories": [ + { + "name": "Infrastructure" + } + ] + } + ], + "tags": [ + "PolicyControlLoopElement", + "org.onap.policy.clamp.controlloop.PolicyControlLoopElement" + ] + }, + { + "contactId": "jh0003", + "toscaName": "org.onap.policy.clamp.controlloop.CDSControlLoopElement", + "name": "CDSControlLoopElement", + "model": "CONTROL LOOP", + "description": "The TOSCA service template representing the CDSControlLoopElement", + "resourceIconPath": "defaulticon", + "resourceType": "VFC", + "categories": [ + { + "name": "Generic", + "subcategories": [ + { + "name": "Infrastructure" + } + ] + } + ], + "tags": [ + "CDSControlLoopElement", + "org.onap.policy.clamp.controlloop.CDSControlLoopElement" + ] + }, + { + "contactId": "jh0003", + "toscaName": "org.onap.policy.clamp.controlloop.K8SMicroserviceControlLoopElement", + "name": "K8SMicroserviceControlLoopElement", + "model": "CONTROL LOOP", + "description": "The TOSCA service template representing the K8SMicroserviceControlLoopElement", + "resourceIconPath": "defaulticon", + "resourceType": "VFC", + "categories": [ + { + "name": "Generic", + "subcategories": [ + { + "name": "Infrastructure" + } + ] + } + ], + "tags": [ + "K8SMicroserviceControlLoopElement", + "org.onap.policy.clamp.controlloop.K8SMicroserviceControlLoopElement" + ] + }, + { + "contactId": "jh0003", + "toscaName": "org.onap.policy.clamp.controlloop.HttpControlLoopElement", + "name": "HttpControlLoopElement", + "model": "CONTROL LOOP", + "description": "The TOSCA service template representing the HttpControlLoopElement", + "resourceIconPath": "defaulticon", + "resourceType": "VFC", + "categories": [ + { + "name": "Generic", + "subcategories": [ + { + "name": "Infrastructure" + } + ] + } + ], + "tags": [ + "HttpControlLoopElement", + "org.onap.policy.clamp.controlloop.HttpControlLoopElement" + ] + } + ] +} + diff --git a/catalog-be/src/main/resources/import/tosca/models/init/controlloop/tosca/node-types/nodeTypes.yaml b/catalog-be/src/main/resources/import/tosca/models/init/controlloop/tosca/node-types/nodeTypes.yaml new file mode 100644 index 0000000000..e68d1e578d --- /dev/null +++ b/catalog-be/src/main/resources/import/tosca/models/init/controlloop/tosca/node-types/nodeTypes.yaml @@ -0,0 +1,198 @@ +tosca_definitions_version: tosca_simple_yaml_1_2 +description: ETSI NFV SOL 001 Root node type definitions version 2.5.1 + +node_types: + tosca.nodes.Root: + description: The TOSCA Node Type all other TOSCA base Node Types derive from + attributes: + tosca_id: + type: string + tosca_name: + type: string + state: + type: string + capabilities: + feature: + type: tosca.capabilities.Node + requirements: + - dependency: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: [ 0, UNBOUNDED ] + interfaces: + Standard: + type: tosca.interfaces.node.lifecycle.Standard + org.onap.policy.clamp.controlloop.Participant: + derived_from: tosca.nodes.Root + properties: + provider: + type: string + description: Provider of the participant + required: false + version: + type: string + description: Identifies the version of the participant. + required: true + org.onap.policy.clamp.controlloop.ControlLoopElement: + derived_from: tosca.nodes.Root + properties: + provider: + type: string + required: false + metadata: + common: true + description: Specifies the organization that provides the control loop element + version: + type: string + description: Identifies the version of the ControlLoopElement. + required: true + participant_id: + type: string + required: true + metadata: + common: true + participantType: + type: string + required: true + metadata: + common: true + description: The identity of the participant type that hosts this type of Control Loop Element + 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: + derived_from: tosca.nodes.Root + properties: + provider: + type: string + required: false + metadata: + common: true + description: Specifies the organization that provides the control loop element + version: + type: string + description: Identifies the version of the participant. + required: true + elements: + type: list + required: true + metadata: + common: true + entry_schema: + type: string + description: Specifies a list of control loop element definitions that make up this control loop definition + org.onap.policy.clamp.controlloop.PolicyControlLoopElement: + derived_from: org.onap.policy.clamp.controlloop.ControlLoopElement + properties: + policy_type_id: + type: string + required: true + policy_id: + type: string + required: false + version: + type: string + description: Identifies the version of the participant. + required: true + org.onap.policy.clamp.controlloop.CDSControlLoopElement: + derived_from: org.onap.policy.clamp.controlloop.ControlLoopElement + properties: + cds_blueprint_id: + type: string + required: true + version: + type: string + description: Identifies the version of the participant. + required: true + org.onap.policy.clamp.controlloop.K8SMicroserviceControlLoopElement: + derived_from: org.onap.policy.clamp.controlloop.ControlLoopElement + properties: + chart: + type: string + required: true + configs: + type: list + required: false + requirements: + type: string + required: false + templates: + type: list + required: false + entry_schema: + values: + type: string + required: true + version: + type: string + description: Identifies the version of the participant. + required: true + org.onap.policy.clamp.controlloop.HttpControlLoopElement: + derived_from: org.onap.policy.clamp.controlloop.ControlLoopElement + properties: + 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: string + typeVersion: 1.0.0 + description: The connfiguration entities the Control Loop Element is managing and their associated REST requests + version: + type: string + description: Identifies the version of the participant. + required: true diff --git a/catalog-be/src/main/resources/import/tosca/models/init/controlloop/tosca/policy-types/policyTypes.json b/catalog-be/src/main/resources/import/tosca/models/init/controlloop/tosca/policy-types/policyTypes.json new file mode 100644 index 0000000000..f22d1c3b1a --- /dev/null +++ b/catalog-be/src/main/resources/import/tosca/models/init/controlloop/tosca/policy-types/policyTypes.json @@ -0,0 +1,26 @@ +{ + "tosca.policies.Root": { + "displayName": "Root", + "icon": "policy-root" + }, + "tosca.policies.Placement": { + "displayName": "Placement", + "icon": "policy-placement" + }, + "onap.policies.Monitoring": { + "displayName": "Monotiring", + "icon": "policy-monotiring" + }, + "onap.policies.monitoring.dcae-pm-subscription-handler": { + "displayName": "DCAE-PM-Subscription-Handler", + "icon": "policy-placement" + }, + "onap.policies.controlloop.operational.Common": { + "displayName": "ControLoopOperationalCommon", + "icon": "policy-placement" + }, + "onap.policies.controlloop.operational.common.Apex": { + "displayName": "ControlLoopOperationalCommonApex", + "icon": "policy-placement" + } +} diff --git a/catalog-be/src/main/resources/import/tosca/models/init/controlloop/tosca/policy-types/policyTypes.yml b/catalog-be/src/main/resources/import/tosca/models/init/controlloop/tosca/policy-types/policyTypes.yml new file mode 100644 index 0000000000..f3f14cbebe --- /dev/null +++ b/catalog-be/src/main/resources/import/tosca/models/init/controlloop/tosca/policy-types/policyTypes.yml @@ -0,0 +1,82 @@ +tosca.policies.Root: + description: The TOSCA Policy Type all other TOSCA Policy Types derive from +tosca.policies.Placement: + derived_from: tosca.policies.Root + description: The TOSCA Policy Type definition that is used to govern placement of TOSCA + nodes or groups of nodes. +onap.policies.Monitoring: + derived_from: tosca.policies.Root + description: a base policy type for all policies that govern monitoring provisioning + version: 1.0.0 + name: onap.policies.Monitoring +onap.policies.monitoring.dcae-pm-subscription-handler: + properties: + pmsh_policy: + name: pmsh_policy + type: onap.datatypes.monitoring.subscription + typeVersion: 0.0.0 + description: PMSH Policy JSON + required: false + constraints: [] + metadata: {} + name: onap.policies.monitoring.dcae-pm-subscription-handler + version: 1.0.0 + derived_from: onap.policies.Monitoring + metadata: {} +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