aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrameshiyer27 <ramesh.murugan.iyer@est.tech>2023-03-23 12:00:48 +0000
committerrameshiyer27 <ramesh.murugan.iyer@est.tech>2023-03-23 14:58:58 +0000
commit22edfed7179b803c1a91b63ef0c2bf7490d24a0b (patch)
treefda6e780460d11fb7b29b8e1d5d48a3d3d8ec107
parent4d895ef8eb9f5ab0948c045fceff231c6787c383 (diff)
Remove clamp robot tests from Jakarta
Clamp ACM tests in Jakarta are not relevant anymore Added dummy script to generate result files for k8s CSIT Issue-ID: POLICY-4541 Signed-off-by: zrrmmua <ramesh.murugan.iyer@est.tech> Change-Id: I45f9651a505cbee38805ea94724a570afc8ff8a8
-rwxr-xr-xcsit/clamp/plans/setup.sh56
-rwxr-xr-xcsit/clamp/plans/teardown.sh3
-rw-r--r--csit/clamp/tests/data/InstantiateAC.json54
-rw-r--r--csit/clamp/tests/data/PMSHMultipleACTosca.yaml867
-rw-r--r--csit/clamp/tests/data/PassivateAC.json9
-rw-r--r--csit/clamp/tests/data/StateChangeRunningAC.json9
-rw-r--r--csit/clamp/tests/policy-clamp-test.robot83
-rw-r--r--csit/config/clamp/AcRuntimeParameters.yaml71
-rw-r--r--csit/config/clamp/HttpParticipantParameters.yaml42
-rw-r--r--csit/config/clamp/KubernetesParticipantParameters.yaml63
-rw-r--r--csit/config/clamp/PolicyParticipantParameters.yaml61
-rw-r--r--csit/config/clamp/groups.json137
-rw-r--r--csit/config/clamp/logback.xml206
-rwxr-xr-xcsit/run-k8s-csit.sh442
14 files changed, 446 insertions, 1657 deletions
diff --git a/csit/clamp/plans/setup.sh b/csit/clamp/plans/setup.sh
index 6b11f9e0..6e94322e 100755
--- a/csit/clamp/plans/setup.sh
+++ b/csit/clamp/plans/setup.sh
@@ -1,6 +1,6 @@
#!/bin/bash
# ============LICENSE_START=======================================================
-# Copyright (C) 2021-2022 Nordix Foundation.
+# Copyright (C) 2021-2023 Nordix Foundation.
# ================================================================================
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,57 +17,3 @@
# SPDX-License-Identifier: Apache-2.0
# ============LICENSE_END=========================================================
-echo "Uninstall docker-py and reinstall docker."
-pip uninstall -y docker-py
-pip uninstall -y docker
-pip install -U docker==2.7.0
-
-sudo apt-get -y install libxml2-utils
-
-source "${SCRIPTS}"/get-versions.sh
-
-# Bringup ACM runtime containers
-docker-compose -f "${SCRIPTS}"/docker-compose-all.yml up -d policy-clamp-runtime-acm
-
-sleep 10
-unset http_proxy https_proxy
-
-POLICY_RUNTIME_ACM_IP=$(get-instance-ip.sh policy-clamp-runtime-acm)
-MARIADB_IP=$(get-instance-ip.sh mariadb)
-DMAAP_IP=$(get-instance-ip.sh simulator)
-
-echo MARIADB IP IS "${MARIADB_IP}"
-echo DMAAP_IP IS "${DMAAP_IP}"
-echo POLICY RUNTIME ACM IP IS "${POLICY_RUNTIME_ACM_IP}"
-
-# wait for the app to start up
-"${SCRIPTS}"/wait_for_port.sh "${POLICY_RUNTIME_ACM_IP}" 6969
-
-# Bringup ACM participant containers
-docker-compose -f "${SCRIPTS}"/docker-compose-all.yml up -d policy-clamp-ac-k8s-ppnt
-docker-compose -f "${SCRIPTS}"/docker-compose-all.yml up -d policy-clamp-ac-http-ppnt
-docker-compose -f "${SCRIPTS}"/docker-compose-all.yml up -d policy-clamp-ac-pf-ppnt
-
-sleep 10
-unset http_proxy https_proxy
-
-POLICY_PARTICIPANT_IP=$(get-instance-ip.sh policy-clamp-ac-pf-ppnt)
-POLICY_API_IP=$(get-instance-ip.sh policy-api)
-K8S_PARTICIPANT_IP=$(get-instance-ip.sh policy-clamp-ac-k8s-ppnt)
-HTTP_PARTICIPANT_IP=$(get-instance-ip.sh policy-clamp-ac-http-ppnt)
-
-echo POLICY PARTICIPANT IP IS "${POLICY_PARTICIPANT_IP}"
-echo API IP IS "${POLICY_API_IP}"
-echo K8S PARTICIPANT IP IS "${K8S_PARTICIPANT_IP}"
-echo HTTP PARTICIPANT IP IS "${HTTP_PARTICIPANT_IP}"
-
-# wait for the app to start up
-"${SCRIPTS}"/wait_for_port.sh "${POLICY_PARTICIPANT_IP}" 6969
-
-ROBOT_VARIABLES=""
-ROBOT_VARIABLES="${ROBOT_VARIABLES} -v POLICY_RUNTIME_ACM_IP:${POLICY_RUNTIME_ACM_IP}"
-ROBOT_VARIABLES="${ROBOT_VARIABLES} -v POLICY_PARTICIPANT_IP:${POLICY_PARTICIPANT_IP}"
-ROBOT_VARIABLES="${ROBOT_VARIABLES} -v K8S_PARTICIPANT_IP:${K8S_PARTICIPANT_IP}"
-ROBOT_VARIABLES="${ROBOT_VARIABLES} -v HTTP_PARTICIPANT_IP:${HTTP_PARTICIPANT_IP}"
-ROBOT_VARIABLES="${ROBOT_VARIABLES} -v POLICY_API_IP:${POLICY_API_IP}"
-
diff --git a/csit/clamp/plans/teardown.sh b/csit/clamp/plans/teardown.sh
index e0fc58ed..1bc4204a 100755
--- a/csit/clamp/plans/teardown.sh
+++ b/csit/clamp/plans/teardown.sh
@@ -1,6 +1,6 @@
#!/bin/bash
# ============LICENSE_START=======================================================
-# Copyright (C) 2021 Nordix Foundation.
+# Copyright (C) 2021,2023 Nordix Foundation.
# ================================================================================
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,4 +17,3 @@
# SPDX-License-Identifier: Apache-2.0
# ============LICENSE_END=========================================================
-docker-compose -f ${SCRIPTS}/docker-compose-all.yml down -v
diff --git a/csit/clamp/tests/data/InstantiateAC.json b/csit/clamp/tests/data/InstantiateAC.json
deleted file mode 100644
index 5de6c95c..00000000
--- a/csit/clamp/tests/data/InstantiateAC.json
+++ /dev/null
@@ -1,54 +0,0 @@
-{
- "automationCompositionList": [
- {
- "name": "PMSHInstance0",
- "version": "1.0.1",
- "definition": {
- "name": "org.onap.domain.sample.GenericK8s_AutomationCompositionDefinition",
- "version": "1.2.3"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "PMSH automation composition instance 0",
- "elements": {
- "709c62b3-8918-41b9-a747-d21eb79c6c21": {
- "id": "709c62b3-8918-41b9-a747-d21eb79c6c21",
- "definition": {
- "name": "org.onap.domain.pmsh.PMSH_MonitoringPolicyAutomationCompositionElement",
- "version": "1.2.3"
- },
- "participantId": {
- "name": "org.onap.PM_Policy",
- "version": "1.0.0"
- },
- "participantType": {
- "name": "org.onap.policy.clamp.acm.PolicyParticipant",
- "version": "2.3.1"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "Monitoring Policy Automation Composition Element for the PMSH instance 0 automation composition"
- },
- "709c62b3-8918-41b9-a747-d21eb79c6c22": {
- "id": "709c62b3-8918-41b9-a747-d21eb79c6c22",
- "definition": {
- "name": "org.onap.domain.pmsh.PMSH_OperationalPolicyAutomationCompositionElement",
- "version": "1.2.3"
- },
- "participantId": {
- "name": "org.onap.PM_Policy",
- "version": "1.0.0"
- },
- "participantType": {
- "name": "org.onap.policy.clamp.acm.PolicyParticipant",
- "version": "2.3.1"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "Operational Policy Automation Composition Element for the PMSH instance 0 automation composition"
- }
- }
- }
- ]
-}
-
diff --git a/csit/clamp/tests/data/PMSHMultipleACTosca.yaml b/csit/clamp/tests/data/PMSHMultipleACTosca.yaml
deleted file mode 100644
index fc4ac732..00000000
--- a/csit/clamp/tests/data/PMSHMultipleACTosca.yaml
+++ /dev/null
@@ -1,867 +0,0 @@
-tosca_definitions_version: tosca_simple_yaml_1_3
-data_types:
- onap.datatypes.ToscaConceptIdentifier:
- derived_from: tosca.datatypes.Root
- properties:
- name:
- type: string
- required: true
- version:
- type: string
- required: true
- onap.datatype.acm.Target:
- derived_from: tosca.datatypes.Root
- description: >-
- Definition for a entity in A&AI to perform an Automation Composition
- 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.acm.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.acm.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.acm.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.acm.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.acm.httpAutomationCompositionElement.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.acm.httpAutomationCompositionElement.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 Automation Composition Element
- restSequence:
- type: list
- entry_schema:
- type: >-
- org.onap.datatypes.policy.clamp.acm.httpAutomationCompositionElement.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.Sirisha:
- derived_from: tosca.policies.Root
- description: a base policy type for all policies that govern monitoring provisioning
- version: 1.0.0
- name: onap.policies.Sirisha
- 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.acm.operational.Common:
- derived_from: tosca.policies.Root
- version: 1.0.0
- name: onap.policies.acm.operational.Common
- description: >
- Operational Policy for Automation Composition 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 Automation Composition 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 Automation
- Composition from DCAE.
- required: true
- default: false
- trigger:
- type: string
- description: >-
- Initial operation to execute upon receiving an Onset event message for
- the Automation Composition.
- required: true
- operations:
- type: list
- description: >-
- List of operations to be performed when Automation Composition is
- triggered.
- required: true
- entry_schema:
- type: onap.datatype.acm.Operation
- onap.policies.acm.operational.common.Apex:
- derived_from: onap.policies.acm.operational.Common
- type_version: 1.0.0
- version: 1.0.0
- name: onap.policies.acm.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.acm.Participant:
- version: 1.0.1
- derived_from: tosca.nodetypes.Root
- properties:
- provider:
- type: string
- requred: false
- org.onap.policy.clamp.acm.AutomationCompositionElement:
- 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 automation composition
- element
- participant_id:
- type: onap.datatypes.ToscaConceptIdentifier
- requred: true
- metadata:
- common: true
- participantType:
- type: onap.datatypes.ToscaConceptIdentifier
- required: true
- metadata:
- common: true
- description: >-
- The identity of the participant type that hosts this type of
- Automation Composition Element
- startPhase:
- type: integer
- required: false
- constraints:
- - greater_or_equal: 0
- metadata:
- common: true
- description: >-
- A value indicating the start phase in which this automation
- composition element will be started, the first start phase is zero.
- Automation Composition Elements are started in their start_phase order
- and stopped in reverse start phase order. Automation Composition
- 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.acm.AutomationComposition:
- 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 automation composition
- element
- elements:
- type: list
- required: true
- metadata:
- common: true
- entry_schema:
- type: onap.datatypes.ToscaConceptIdentifier
- description: >-
- Specifies a list of automation composition element definitions that
- make up this automation composition definition
- org.onap.policy.clamp.acm.PolicyAutomationCompositionElement:
- version: 1.0.1
- derived_from: org.onap.policy.clamp.acm.AutomationCompositionElement
- properties:
- policy_type_id:
- type: onap.datatypes.ToscaConceptIdentifier
- requred: true
- policy_id:
- type: onap.datatypes.ToscaConceptIdentifier
- requred: false
- org.onap.policy.clamp.acm.CDSAutomationCompositionElement:
- version: 1.0.1
- derived_from: org.onap.policy.clamp.acm.AutomationCompositionElement
- properties:
- cds_blueprint_id:
- type: onap.datatypes.ToscaConceptIdentifier
- requred: true
- org.onap.policy.clamp.acm.K8SMicroserviceAutomationCompositionElement:
- version: 1.0.1
- derived_from: org.onap.policy.clamp.acm.AutomationCompositionElement
- properties:
- chart:
- type: string
- required: true
- configs:
- type: list
- required: false
- requirements:
- type: string
- requred: false
- templates:
- type: list
- required: false
- entry_schema: null
- values:
- type: string
- requred: true
- org.onap.policy.clamp.acm.HttpAutomationCompositionElement:
- version: 1.0.1
- derived_from: org.onap.policy.clamp.acm.AutomationCompositionElement
- 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.acm.httpAutomationCompositionElement.ConfigurationEntity
- typeVersion: 1.0.0
- description: >-
- The connfiguration entities the Automation Composition Element is
- managing and their associated REST requests
-topology_template:
- inputs:
- pmsh_monitoring_policy:
- type: onap.datatypes.ToscaConceptIdentifier
- description: The ID of the PMSH monitoring policy to use
- default:
- name: >-
- MICROSERVICE_vLoadBalancerMS_v1_0_dcae-pm-subscription-handler_1_0_0test
- version: 1.0.0
- pmsh_operational_policy:
- type: onap.datatypes.ToscaConceptIdentifier
- description: The ID of the PMSH operational policy to use
- default:
- name: operational.apex.pmcontrol
- version: 1.0.0
- node_templates:
- org.onap.policy.clamp.acm.PolicyParticipant:
- version: 2.3.1
- type: org.onap.policy.clamp.acm.Participant
- type_version: 1.0.1
- description: Participant for DCAE microservices
- properties:
- provider: ONAP
- org.onap.domain.pmsh.PMSH_MonitoringPolicyAutomationCompositionElement:
- version: 1.2.3
- type: org.onap.policy.clamp.acm.PolicyAutomationCompositionElement
- type_version: 1.0.0
- description: >-
- Automation composition element for the monitoring policy for Performance
- Management Subscription Handling
- properties:
- provider: Ericsson
- participant_id:
- name: org.onap.PM_Policy
- version: 1.0.0
- participantType:
- name: org.onap.policy.clamp.acm.PolicyParticipant
- version: 2.3.1
- policy_type_id:
- name: onap.policies.monitoring.pm-subscription-handler
- version: 1.0.0
- policy_id:
- get_input: pmsh_monitoring_policy
- org.onap.domain.pmsh.PMSH_OperationalPolicyAutomationCompositionElement:
- version: 1.2.3
- type: org.onap.policy.clamp.acm.PolicyAutomationCompositionElement
- type_version: 1.0.0
- description: >-
- Automation composition element for the operational policy for
- Performance Management Subscription Handling
- properties:
- provider: Ericsson
- participant_id:
- name: org.onap.PM_Policy
- version: 1.0.0
- participantType:
- name: org.onap.policy.clamp.acm.PolicyParticipant
- version: 2.3.1
- policy_type_id:
- name: onap.policies.operational.pm-subscription-handler
- version: 1.0.0
- policy_id:
- get_input: pmsh_operational_policy
- org.onap.policy.clamp.acm.KubernetesParticipant:
- version: 2.3.4
- type: org.onap.policy.clamp.acm.Participant
- type_version: 1.0.1
- description: Participant for K8S
- properties:
- provider: ONAP
- org.onap.domain.database.PMSH_K8SMicroserviceAutomationCompositionElement:
- version: 1.2.3
- type: org.onap.policy.clamp.acm.K8SMicroserviceAutomationCompositionElement
- type_version: 1.0.0
- description: Automation composition element for the K8S microservice for PMSH
- properties:
- provider: ONAP
- participant_id:
- name: K8sParticipant0
- version: 1.0.0
- participantType:
- name: org.onap.policy.clamp.acm.KubernetesParticipant
- version: 2.3.4
- chart:
- chartId:
- name: dcae-pmsh
- version: 10.0.0
- namespace: onap
- releaseName: onap-dcae-pmsh
- repository:
- repoName: chartmuseum
- address: 'http://chart-museum:80'
- userName: onapinitializer
- password: demo123456!
- overrideParams:
- global.masterPassword: test
- org.onap.policy.clamp.acm.HttpParticipant:
- version: 2.3.4
- type: org.onap.policy.clamp.acm.Participant
- type_version: 1.0.1
- description: Participant for Http requests
- properties:
- provider: ONAP
- org.onap.domain.database.Http_PMSHMicroserviceAutomationCompositionElement:
- version: 1.2.3
- type: org.onap.policy.clamp.acm.HttpAutomationCompositionElement
- type_version: 1.0.1
- description: >-
- Automation composition element for the http requests of PMSH
- microservice
- properties:
- provider: ONAP
- participant_id:
- name: HttpParticipant0
- version: 1.0.0
- participantType:
- name: org.onap.policy.clamp.acm.HttpParticipant
- version: 2.3.4
- uninitializedToPassiveTimeout: 180
- startPhase: 1
- baseUrl: 'https://dcae-pmsh:8443'
- httpHeaders:
- Content-Type: application/json
- configurationEntities:
- - configurationEntityId:
- name: entity1
- version: 1.0.1
- restSequence:
- - restRequestId:
- name: request1
- version: 1.0.1
- httpMethod: POST
- path: subscription
- body: >-
- { "subscription":{ "subscriptionName":"new_sub_01",
- "operationalPolicyName":"pmsh-operational-policy",
- "controlLoopName":"controlLoop-name", "nfFilter":{ "nfNames":[
- "^pnf*" ], "modelInvariantIDs":[
- "7129e420-d396-4efb-af02-6b83499b12f5" ], "modelVersionIDs":[
- "e80a6ae3-cafd-4d24-850d-e14c084a5ca7" ], "modelNames":[
- "pnf_134" ] }, "measurementGroups":[ { "measurementGroup":{
- "measurementGroupName":"msgroup_01",
- "administrativeState":"UNLOCKED", "fileBasedGP":15,
- "fileLocation":"/pm/pm.xml", "measurementTypes":[ {
- "measurementType":"EutranCell.*" }, {
- "measurementType":"EutranCellRelation.pmCounter1" }, {
- "measurementType":"EutranCellRelation.pmCounter2" } ],
- "managedObjectDNsBasic":[ {
- "DN":"ManagedElement=1,ENodeBFunction=1,EUtranCell=CityCenter1"
- }, {
- "DN":"ManagedElement=1,ENodeBFunction=1,EUtranCell=CityCenter1,
- EUtranCellRelation=CityCenter2" }, {
- "DN":"ManagedElement=1,ENodeBFunction=1,EUtranCell=CityCenter1,
- EUtranCellRelation=CityCenter3" } ] } } ] } }
- expectedResponse: 201
- org.onap.domain.sample.GenericK8s_AutomationCompositionDefinition:
- version: 1.2.3
- type: org.onap.policy.clamp.acm.AutomationComposition
- type_version: 1.0.0
- description: Automation composition for Hello World
- properties:
- provider: ONAP
- elements:
- - name: >-
- org.onap.domain.database.PMSH_K8SMicroserviceAutomationCompositionElement
- version: 1.2.3
- - name: >-
- org.onap.domain.database.Http_PMSHMicroserviceAutomationCompositionElement
- version: 1.2.3
- - name: >-
- org.onap.domain.pmsh.PMSH_MonitoringPolicyAutomationCompositionElement
- version: 1.2.3
- - name: >-
- org.onap.domain.pmsh.PMSH_OperationalPolicyAutomationCompositionElement
- version: 1.2.3
diff --git a/csit/clamp/tests/data/PassivateAC.json b/csit/clamp/tests/data/PassivateAC.json
deleted file mode 100644
index bd4c4a21..00000000
--- a/csit/clamp/tests/data/PassivateAC.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "orderedState": "PASSIVE",
- "automationCompositionIdentifierList": [
- {
- "name": "PMSHInstance0",
- "version": "1.0.1"
- }
- ]
-}
diff --git a/csit/clamp/tests/data/StateChangeRunningAC.json b/csit/clamp/tests/data/StateChangeRunningAC.json
deleted file mode 100644
index 494f6fd7..00000000
--- a/csit/clamp/tests/data/StateChangeRunningAC.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "orderedState": "RUNNING",
- "automationCompositionIdentifierList": [
- {
- "name": "PMSHInstance0",
- "version": "1.0.1"
- }
- ]
-}
diff --git a/csit/clamp/tests/policy-clamp-test.robot b/csit/clamp/tests/policy-clamp-test.robot
index f819d2d2..bb219836 100644
--- a/csit/clamp/tests/policy-clamp-test.robot
+++ b/csit/clamp/tests/policy-clamp-test.robot
@@ -1,82 +1,3 @@
-*** Settings ***
-Library Collections
-Library RequestsLibrary
-Library OperatingSystem
-Library json
-
*** Test Cases ***
-
-CommissionAutomationCompositionV1
- [Documentation] Commission automation composition.
- ${auth}= Create List runtimeUser zb!XztG34
- Log Creating session http://${POLICY_RUNTIME_ACM_IP}:6969
- ${postyaml}= Get file ${CURDIR}/data/PMSHMultipleACTosca.yaml
- ${session}= Create Session policy http://${POLICY_RUNTIME_ACM_IP}:6969 auth=${auth}
- ${headers}= Create Dictionary Accept=application/yaml Content-Type=application/yaml
- ${resp}= POST On Session policy /onap/policy/clamp/acm/v2/commission data=${postyaml} headers=${headers}
- Log Received response from runtime acm ${resp.text}
- Should Be Equal As Strings ${resp.status_code} 200
-
-InstantiateAutomationCompositionV1
- [Documentation] Instantiate automation composition.
- ${auth}= Create List runtimeUser zb!XztG34
- Log Creating session http://${POLICY_RUNTIME_ACM_IP}:6969
- ${postjson}= Get file ${CURDIR}/data/InstantiateAC.json
- ${session}= Create Session policy http://${POLICY_RUNTIME_ACM_IP}:6969 auth=${auth}
- ${headers}= Create Dictionary Accept=application/json Content-Type=application/json
- ${resp}= POST On Session policy /onap/policy/clamp/acm/v2/instantiation data=${postjson} headers=${headers}
- Log Received response from runtime acm ${resp.text}
- Should Be Equal As Strings ${resp.status_code} 200
-
-PassivateAutomationComposition
- [Documentation] Passivate automation composition.
- ${auth}= Create List runtimeUser zb!XztG34
- Log Creating session http://${POLICY_RUNTIME_ACM_IP}:6969
- ${postjson}= Get file ${CURDIR}/data/PassivateAC.json
- ${session}= Create Session policy http://${POLICY_RUNTIME_ACM_IP}:6969 auth=${auth}
- ${headers}= Create Dictionary Accept=application/json Content-Type=application/json
- ${resp}= PUT On Session policy /onap/policy/clamp/acm/v2/instantiation/command data=${postjson} headers=${headers}
- Log Received response from runtime acm ${resp.text}
- Should Be Equal As Strings ${resp.status_code} 202
-
-QueryPolicies
- [Documentation] Runs Policy Participant Query New Policies
- ${auth}= Create List policyadmin zb!XztG34
- Log Creating session http://${POLICY_API_IP}:6969
- ${session}= Create Session policy http://${POLICY_API_IP}:6969 auth=${auth}
- ${headers}= Create Dictionary Accept=application/json Content-Type=application/json
- ${resp}= GET On Session policy /policy/api/v1/policies headers=${headers}
- Log Received response from policy-api {resp.text}
- Should Be Equal As Strings ${resp.status_code} 200
-
-QueryPolicyTypes
- [Documentation] Runs Policy Participant Query New Policy Types
- ${auth}= Create List policyadmin zb!XztG34
- Log Creating session http://${POLICY_API_IP}:6969
- ${session}= Create Session policy http://${POLICY_API_IP}:6969 auth=${auth}
- ${headers}= Create Dictionary Accept=application/json Content-Type=application/json
- ${resp}= GET On Session policy /policy/api/v1/policytypes headers=${headers}
- Log Received response from policy-api ${resp.text}
- Should Be Equal As Strings ${resp.status_code} 200
-
-StateChangeRunningAutomationComposition
- [Documentation] AutomationComposition State Change to RUNNING.
- ${auth}= Create List runtimeUser zb!XztG34
- Log Creating session http://${POLICY_RUNTIME_ACM_IP}:6969
- ${postjson}= Get file ${CURDIR}/data/StateChangeRunningAC.json
- ${session}= Create Session policy http://${POLICY_RUNTIME_ACM_IP}:6969 auth=${auth}
- ${headers}= Create Dictionary Accept=application/json Content-Type=application/json
- ${resp}= PUT On Session policy /onap/policy/clamp/acm/v2/instantiation/command data=${postjson} headers=${headers} expected_status=406
- Log Received response from runtime acm ${resp.text}
-
-QueryInstantiatedACs
- [Documentation] Get Instantiated AutomationCompositions
- ${auth}= Create List runtimeUser zb!XztG34
- Log Creating session http://${POLICY_RUNTIME_ACM_IP}:6969
- ${session}= Create Session policy http://${POLICY_RUNTIME_ACM_IP}:6969 auth=${auth}
- ${headers}= Create Dictionary Accept=application/json Content-Type=application/json
- ${resp}= GET On Session policy /onap/policy/clamp/acm/v2/instantiation headers=${headers}
- Log Received response from runtime acm ${resp.text}
- Should Be Equal As Strings ${resp.status_code} 200
- Should Be Equal As Strings ${resp.json()['automationCompositionList'][0]['state']} UNINITIALISED2PASSIVE
- Should Be Equal As Strings ${resp.json()['automationCompositionList'][0]['orderedState']} RUNNING
+Dummy CLAMP Jakarta Robot Test
+ Log To Console Dummy CLAMP Robot tests for Jakarta
diff --git a/csit/config/clamp/AcRuntimeParameters.yaml b/csit/config/clamp/AcRuntimeParameters.yaml
deleted file mode 100644
index ef686cf7..00000000
--- a/csit/config/clamp/AcRuntimeParameters.yaml
+++ /dev/null
@@ -1,71 +0,0 @@
-spring:
- security:
- user:
- name: runtimeUser
- password: zb!XztG34
- http:
- converters:
- preferred-json-mapper: gson
- datasource:
- url: jdbc:mariadb://${mariadb.host:mariadb}:${mariadb.port:3306}/clampacm
- driverClassName: org.mariadb.jdbc.Driver
- username: policy_user
- password: policy_user
- hikari:
- connectionTimeout: 30000
- idleTimeout: 600000
- maxLifetime: 1800000
- maximumPoolSize: 10
- jpa:
- hibernate:
- ddl-auto: update
- naming:
- physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
- implicit-strategy: org.onap.policy.common.spring.utils.CustomImplicitNamingStrategy
- properties:
- hibernate:
- dialect: org.hibernate.dialect.MariaDB103Dialect
- format_sql: true
-
-security:
- enable-csrf: false
-
-server:
- port: 6969
- ssl:
- enabled: false
- servlet:
- context-path: /onap/policy/clamp/acm
- error:
- path: /error
-
-runtime:
- participantParameters:
- heartBeatMs: 20000
- maxStatusWaitMs: 100000
- updateParameters:
- maxRetryCount: 3
- maxWaitMs: 20000
- topicParameterGroup:
- topicSources:
- -
- topic: POLICY-ACRUNTIME-PARTICIPANT
- servers:
- - ${topicServer:message-router}
- topicCommInfrastructure: dmaap
- fetchTimeout: 15000
- useHttps: false
- topicSinks:
- -
- topic: POLICY-ACRUNTIME-PARTICIPANT
- servers:
- - ${topicServer:message-router}
- topicCommInfrastructure: dmaap
- useHttps: false
-
-management:
- endpoints:
- web:
- base-path: /
- exposure:
- include: health, metrics, prometheus
diff --git a/csit/config/clamp/HttpParticipantParameters.yaml b/csit/config/clamp/HttpParticipantParameters.yaml
deleted file mode 100644
index 15768882..00000000
--- a/csit/config/clamp/HttpParticipantParameters.yaml
+++ /dev/null
@@ -1,42 +0,0 @@
-spring:
- security:
- user:
- name: participantUser
- password: zb!XztG34
-security:
- enable-csrf: false
-participant:
- intermediaryParameters:
- reportingTimeIntervalMs: 120000
- description: Participant Description
- participantId:
- name: HttpParticipant0
- version: 1.0.0
- participantType:
- name: org.onap.policy.clamp.acm.HttpParticipant
- version: 2.3.4
- clampAutomationCompositionTopics:
- topicSources:
- - topic: POLICY-ACRUNTIME-PARTICIPANT
- servers:
- - ${topicServer:message-router}
- topicCommInfrastructure: dmaap
- fetchTimeout: 15000
- useHttps: false
- topicSinks:
- - topic: POLICY-ACRUNTIME-PARTICIPANT
- servers:
- - ${topicServer:message-router}
- topicCommInfrastructure: dmaap
- useHttps: false
-management:
- endpoints:
- web:
- exposure:
- include: health, metrics, prometheus
-server:
- port: 6969
- ssl:
- enabled: false
- servlet:
- context-path: /onap/policy/clamp/acm/httpparticipant
diff --git a/csit/config/clamp/KubernetesParticipantParameters.yaml b/csit/config/clamp/KubernetesParticipantParameters.yaml
deleted file mode 100644
index c13f8151..00000000
--- a/csit/config/clamp/KubernetesParticipantParameters.yaml
+++ /dev/null
@@ -1,63 +0,0 @@
-spring:
- security:
- user:
- name: participantUser
- password: zb!XztG34
-security:
- enable-csrf: false
-
-participant:
- localChartDirectory: /home/policy/local-charts
- infoFileName: CHART_INFO.json
- intermediaryParameters:
- reportingTimeIntervalMs: 120000
- description: Participant Description
- participantId:
- name: K8sParticipant0
- version: 1.0.0
- participantType:
- name: org.onap.policy.clamp.acm.KubernetesParticipant
- version: 2.3.4
- clampAutomationCompositionTopics:
- topicSources:
- -
- topic: POLICY-ACRUNTIME-PARTICIPANT
- servers:
- - ${topicServer:message-router}
- topicCommInfrastructure: dmaap
- fetchTimeout: 15000
- useHttps: false
- topicSinks:
- -
- topic: POLICY-ACRUNTIME-PARTICIPANT
- servers:
- - ${topicServer:message-router}
- topicCommInfrastructure: dmaap
- useHttps: false
-
-management:
- endpoints:
- web:
- exposure:
- include: health, metrics, prometheus
-server:
- port: 6969
- ssl:
- enabled: false
- servlet:
- context-path: /onap/policy/clamp/acm/k8sparticipant
-
-logging:
- # Configuration of logging
- level:
- ROOT: ERROR
- org.springframework: ERROR
- org.springframework.data: ERROR
- org.springframework.web.reactive.function.client.ExchangeFunctions: ERROR
- org.onap.policy.clamp.acm.participant.kubernetes: INFO
- file:
- name: /var/log/onap/policy/clamp/application.log
-
-chart:
- api:
- enabled: false
diff --git a/csit/config/clamp/PolicyParticipantParameters.yaml b/csit/config/clamp/PolicyParticipantParameters.yaml
deleted file mode 100644
index acaaebbe..00000000
--- a/csit/config/clamp/PolicyParticipantParameters.yaml
+++ /dev/null
@@ -1,61 +0,0 @@
-spring:
- security:
- user:
- name: participantUser
- password: zb!XztG34
-
-participant:
- pdpGroup: defaultGroup
- pdpType: apex
- policyApiParameters:
- clientName: api
- hostname: policy-api
- port: 6969
- userName: policyadmin
- password: zb!XztG34
- useHttps: false
- allowSelfSignedCerts: true
- policyPapParameters:
- clientName: pap
- hostname: policy-pap
- port: 6969
- userName: policyadmin
- password: zb!XztG34
- useHttps: false
- allowSelfSignedCerts: true
- intermediaryParameters:
- reportingTimeIntervalMs: 120000
- description: Participant Description
- participantId:
- name: org.onap.PM_Policy
- version: 1.0.0
- participantType:
- name: org.onap.policy.clamp.acm.PolicyParticipant
- version: 2.3.1
- clampAutomationCompositionTopics:
- topicSources:
- -
- topic: POLICY-ACRUNTIME-PARTICIPANT
- servers:
- - ${topicServer:message-router}
- topicCommInfrastructure: dmaap
- fetchTimeout: 15000
- useHttps: false
- topicSinks:
- -
- topic: POLICY-ACRUNTIME-PARTICIPANT
- servers:
- - ${topicServer:message-router}
- topicCommInfrastructure: dmaap
- useHttps: false
-management:
- endpoints:
- web:
- exposure:
- include: health, metrics, prometheus
-server:
- port: 6969
- ssl:
- enabled: false
- servlet:
- context-path: /onap/policy/clamp/acm/policyparticipant
diff --git a/csit/config/clamp/groups.json b/csit/config/clamp/groups.json
deleted file mode 100644
index 6ee30e1c..00000000
--- a/csit/config/clamp/groups.json
+++ /dev/null
@@ -1,137 +0,0 @@
-{
- "groups": [
- {
- "name": "defaultGroup",
- "version": "1.0.0",
- "description": "The default group that registers all supported policy types and pdps.",
- "pdpGroupState": "ACTIVE",
- "pdpSubgroups": [
- {
- "pdpType": "xacml",
- "supportedPolicyTypes": [
- {
- "name": "onap.policies.controlloop.guard.common.FrequencyLimiter",
- "version": "1.0.0"
- },
- {
- "name": "onap.policies.controlloop.guard.common.MinMax",
- "version": "1.0.0"
- },
- {
- "name": "onap.policies.controlloop.guard.common.Blacklist",
- "version": "1.0.0"
- },
- {
- "name": "onap.policies.controlloop.guard.common.Filter",
- "version": "1.0.0"
- },
- {
- "name": "onap.policies.controlloop.guard.coordination.FirstBlocksSecond",
- "version": "1.0.0"
- },
- {
- "name": "onap.policies.monitoring.*",
- "version": "1.0.0"
- },
- {
- "name": "onap.policies.optimization.*",
- "version": "1.0.0"
- },
- {
- "name": "onap.policies.optimization.resource.AffinityPolicy",
- "version": "1.0.0"
- },
- {
- "name": "onap.policies.optimization.resource.DistancePolicy",
- "version": "1.0.0"
- },
- {
- "name": "onap.policies.optimization.resource.HpaPolicy",
- "version": "1.0.0"
- },
- {
- "name": "onap.policies.optimization.resource.OptimizationPolicy",
- "version": "1.0.0"
- },
- {
- "name": "onap.policies.optimization.resource.PciPolicy",
- "version": "1.0.0"
- },
- {
- "name": "onap.policies.optimization.service.QueryPolicy",
- "version": "1.0.0"
- },
- {
- "name": "onap.policies.optimization.service.SubscriberPolicy",
- "version": "1.0.0"
- },
- {
- "name": "onap.policies.optimization.resource.Vim_fit",
- "version": "1.0.0"
- },
- {
- "name": "onap.policies.optimization.resource.VnfPolicy",
- "version": "1.0.0"
- },
- {
- "name": "onap.policies.native.Xacml",
- "version": "1.0.0"
- },
- {
- "name": "onap.policies.Naming",
- "version": "1.0.0"
- },
- {
- "name": "onap.policies.match.*",
- "version": "1.0.0"
- }
- ],
- "currentInstanceCount": 0,
- "desiredInstanceCount": 1,
- "policies": [
- {
- "name": "SDNC_Policy.ONAP_NF_NAMING_TIMESTAMP",
- "version": "1.0.0"
- }
- ]
- },
- {
- "pdpType": "drools",
- "supportedPolicyTypes": [
- {
- "name": "onap.policies.controlloop.operational.common.Drools",
- "version": "1.0.0"
- },
- {
- "name": "onap.policies.native.drools.Controller",
- "version": "1.0.0"
- },
- {
- "name": "onap.policies.native.drools.Artifact",
- "version": "1.0.0"
- }
- ],
- "currentInstanceCount": 0,
- "desiredInstanceCount": 1,
- "policies": []
- },
- {
- "pdpType": "apex",
- "supportedPolicyTypes": [
- {
- "name": "onap.policies.controlloop.operational.common.Apex",
- "version": "1.0.0"
- },
- {
- "name": "onap.policies.native.Apex",
- "version": "1.0.0"
- }
- ],
- "currentInstanceCount": 0,
- "desiredInstanceCount": 1,
- "policies": []
- }
- ]
- }
- ]
-}
diff --git a/csit/config/clamp/logback.xml b/csit/config/clamp/logback.xml
deleted file mode 100644
index c316e179..00000000
--- a/csit/config/clamp/logback.xml
+++ /dev/null
@@ -1,206 +0,0 @@
-<!--
- ============LICENSE_START=======================================================
- policy-clamp
- ================================================================================
- 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.
- ============LICENSE_END=========================================================
- -->
-
-<configuration scan="true" scanPeriod="30 seconds" debug="false">
-
- <property name="logDir" value="${POLICY_LOGS}" />
-
- <property name="errorLog" value="error" />
- <property name="debugLog" value="debug" />
- <property name="networkLog" value="network" />
-
- <property name="metricLog" value="metric" />
- <property name="transactionLog" value="audit" />
-
- <property name="debugPattern"
- value="[%d{yyyy-MM-dd'T'HH:mm:ss.SSS+00:00, UTC}|%level|%logger{0}|%thread] %msg%n" />
- <property name="errorPattern" value="${debugPattern}" />
- <property name="networkPattern"
- value="[%d{yyyy-MM-dd'T'HH:mm:ss.SSS+00:00, UTC}|%t]%m%n" />
-
- <property
- name="mpPreamble"
- value="%X{RequestID}|%X{InvocationID}|%X{ServiceName}|%X{PartnerName}" />
-
- <property
- name="mpTime"
- value="%X{BeginTimestamp}|%X{EndTimestamp}|%X{ElapsedTime}" />
-
- <property
- name="mpLine1"
- value="%X{ServiceInstanceID}|%X{VirtualServerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}" />
-
- <property
- name="mpLine2"
- value="%X{InstanceUUID}|%X{Severity}|%X{TargetEntity}|%X{TargetServiceName}|%X{Server}|%X{ServerIPAddress}" />
-
- <property
- name="mpLine3"
- value="%X{ServerFQDN}|%X{ClientIPAddress}|%X{ProcessKey}|%X{RemoteHost}|%X{AlertSeverity}" />
-
- <property
- name="mpLine4"
- value="%X{TargetVirtualEntity}|%level|%thread| %msg%n" />
-
-
- <property name="metricPattern"
- value="{$mpPreamble}|{$mpTime}|{$mpLine1}|{$mpLine2}|{$mpLine3}|$mpLine4" />
-
- <property name="transactionPattern" value="${metricPattern}" />
-
- <appender name="ErrorOut"
- class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${logDir}/${errorLog}.log</file>
- <rollingPolicy
- class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
- <fileNamePattern>${logDir}/${errorLog}.%d{yyyy-MM-dd}.%i.log.zip
- </fileNamePattern>
- <maxFileSize>50MB</maxFileSize>
- <maxHistory>30</maxHistory>
- <totalSizeCap>10GB</totalSizeCap>
- </rollingPolicy>
- <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
- <level>WARN</level>
- </filter>
- <encoder>
- <pattern>${errorPattern}</pattern>
- </encoder>
- </appender>
-
- <appender name="AsyncErrorOut"
- class="ch.qos.logback.classic.AsyncAppender">
- <appender-ref ref="ErrorOut" />
- </appender>
-
- <appender name="DebugOut"
- class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${logDir}/${debugLog}.log</file>
- <rollingPolicy
- class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
- <fileNamePattern>${logDir}/${debugLog}.%d{yyyy-MM-dd}.%i.log.zip
- </fileNamePattern>
- <maxFileSize>50MB</maxFileSize>
- <maxHistory>30</maxHistory>
- <totalSizeCap>10GB</totalSizeCap>
- </rollingPolicy>
- <encoder>
- <pattern>${debugPattern}</pattern>
- </encoder>
- </appender>
-
- <appender name="AsyncDebugOut"
- class="ch.qos.logback.classic.AsyncAppender">
- <appender-ref ref="DebugOut" />
- </appender>
-
- <appender name="NetworkOut"
- class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${logDir}/${networkLog}.log</file>
- <rollingPolicy
- class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
- <fileNamePattern>${logDir}/${networkLog}.%d{yyyy-MM-dd}.%i.log.zip
- </fileNamePattern>
- <maxFileSize>50MB</maxFileSize>
- <maxHistory>30</maxHistory>
- <totalSizeCap>10GB</totalSizeCap>
- </rollingPolicy>
- <encoder>
- <pattern>${networkPattern}</pattern>
- </encoder>
- </appender>
-
- <appender name="AsyncNetworkOut"
- class="ch.qos.logback.classic.AsyncAppender">
- <appender-ref ref="NetworkOut" />
- </appender>
-
- <appender name="MetricOut"
- class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${logDir}/${metricLog}.log</file>
- <rollingPolicy
- class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
- <fileNamePattern>${logDir}/${metricLog}.%d{yyyy-MM-dd}.%i.log.zip
- </fileNamePattern>
- <maxFileSize>50MB</maxFileSize>
- <maxHistory>30</maxHistory>
- <totalSizeCap>10GB</totalSizeCap>
- </rollingPolicy>
- <encoder>
- <pattern>${metricPattern}</pattern>
- </encoder>
- </appender>
-
- <appender name="AsyncMetricOut"
- class="ch.qos.logback.classic.AsyncAppender">
- <appender-ref ref="MetricOut" />
- </appender>
-
- <appender name="TransactionOut"
- class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${logDir}/${transactionLog}.log</file>
- <rollingPolicy
- class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
- <fileNamePattern>${logDir}/${transactionLog}.%d{yyyy-MM-dd}.%i.log.zip
- </fileNamePattern>
- <maxFileSize>50MB</maxFileSize>
- <maxHistory>30</maxHistory>
- <totalSizeCap>10GB</totalSizeCap>
- </rollingPolicy>
- <encoder>
- <pattern>${transactionPattern}</pattern>
- </encoder>
- </appender>
-
- <appender name="AsyncTransactionOut"
- class="ch.qos.logback.classic.AsyncAppender">
- <appender-ref ref="TransactionOut" />
- </appender>
-
- <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
- <encoder>
- <Pattern>[%d{yyyy-MM-dd'T'HH:mm:ss.SSS+00:00, UTC}|%level|%logger{0}|%thread] %msg%n</Pattern>
- </encoder>
- </appender>
-
- <appender name="AsyncStdOut" class="ch.qos.logback.classic.AsyncAppender">
- <appender-ref ref="STDOUT" />
- </appender>
-
- <logger name="network" level="INFO" additivity="false">
- <appender-ref ref="AsyncNetworkOut" />
- <appender-ref ref="AsyncStdOut" />
- </logger>
-
- <logger name="org.eclipse.jetty.server.RequestLog" level="info" additivity="false">
- <appender-ref ref="AsyncNetworkOut" />
- <appender-ref ref="AsyncStdOut" />
- </logger>
-
- <logger name="org.eclipse.jetty" level="ERROR" />
-
- <root level="INFO">
- <appender-ref ref="AsyncDebugOut" />
- <appender-ref ref="AsyncErrorOut" />
- <appender-ref ref="AsyncMetricOut" />
- <appender-ref ref="AsyncTransactionOut" />
- <appender-ref ref="AsyncStdOut" />
- </root>
-
-</configuration>
diff --git a/csit/run-k8s-csit.sh b/csit/run-k8s-csit.sh
new file mode 100755
index 00000000..79da27c6
--- /dev/null
+++ b/csit/run-k8s-csit.sh
@@ -0,0 +1,442 @@
+#!/bin/bash
+#
+# ============LICENSE_START====================================================
+# Copyright (C) 2023 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======================================================
+
+# This script generates dummy robot result files for jenkins since k8s CSIT is not supported.
+
+if [ -z "${WORKSPACE}" ]; then
+ WORKSPACE=$(git rev-parse --show-toplevel)
+ export WORKSPACE
+fi
+
+export ROBOT_LOG_DIR=${WORKSPACE}/csit/archives/$2
+
+mkdir -p $ROBOT_LOG_DIR
+
+echo "This version of policy does not support CSIT in kubernetes. Generating dummy results..."
+
+cat >${ROBOT_LOG_DIR}/output.xml <<EOF
+<robot generator="Robot 6.1a1 (Python 3.11.2 on linux)" rpa="false" schemaversion="4">
+<statistics>
+<total>
+<stat pass="1" fail="0" skip="0">All Tests</stat>
+</total>
+<tag>
+</tag>
+<suite>
+<stat pass="1" fail="0" skip="0" id="s1" name="Dummy-Test">Dummy-Test</stat>
+</suite>
+</statistics>
+<errors></errors>
+</robot>
+EOF
+
+cat >${ROBOT_LOG_DIR}/log.html <<EOF
+<!DOCTYPE html>
+<head>
+ <style media="all" type="text/css">
+ /* Generic and misc styles */
+ body {
+ font-family: Helvetica, sans-serif;
+ font-size: 0.8em;
+ color: black;
+ padding: 6px;
+ background: white;
+ }
+ table {
+ table-layout: fixed;
+ word-wrap: break-word;
+ empty-cells: show;
+ font-size: 1em;
+ }
+ th, td {
+ vertical-align: top;
+ }
+ br {
+ mso-data-placement: same-cell; /* maintain line breaks in Excel */
+ }
+ hr {
+ background: #ccc;
+ height: 1px;
+ border: 0;
+ }
+ a, a:link, a:visited {
+ text-decoration: none;
+ color: #15c;
+ }
+ a > img {
+ border: 1px solid #15c !important;
+ }
+ a:hover, a:active {
+ text-decoration: underline;
+ color: #61c;
+ }
+ .parent-name {
+ font-size: 0.7em;
+ letter-spacing: -0.07em;
+ }
+ .message {
+ white-space: pre-wrap;
+ }
+ /* Headers */
+ #header {
+ width: 65em;
+ height: 3em;
+ margin: 6px 0;
+ }
+ h1 {
+ float: left;
+ margin: 0 0 0.5em 0;
+ width: 75%;
+ }
+ h2 {
+ clear: left;
+ }
+ #generated {
+ float: right;
+ text-align: right;
+ font-size: 0.9em;
+ white-space: nowrap;
+ }
+ /* Documentation headers */
+ .doc > h2 {
+ font-size: 1.2em;
+ }
+ .doc > h3 {
+ font-size: 1.1em;
+ }
+ .doc > h4 {
+ font-size: 1.0em;
+ }
+ /* Status text colors -- !important allows using them in links */
+ .fail {
+ color: #ce3e01 !important;
+ font-weight: bold;
+ }
+ .pass {
+ color: #098a09 !important;
+ }
+ .skip {
+ color: #927201 !important;
+ font-weight: bold;
+ }
+ .label {
+ padding: 2px 5px;
+ font-size: 0.75em;
+ letter-spacing: 1px;
+ white-space: nowrap;
+ color: black;
+ background-color: #ddd;
+ border-radius: 3px;
+ }
+ .label.debug, .label.trace, .label.error, .label.keyword {
+ letter-spacing: 0;
+ }
+ .label.pass, .label.fail, .label.error, .label.skip, .label.warn {
+ font-weight: bold;
+ }
+ .label.pass {
+ background-color: #97bd61;
+ color: #000 !important;
+ }
+ .label.fail, .label.error {
+ background-color: #ce3e01;
+ color: #fff !important;
+ }
+ .label.skip, .label.warn {
+ background-color: #fed84f;
+ color: #000 !important;
+ }
+ /* Top right header */
+ #top-right-header {
+ position: fixed;
+ top: 0;
+ right: 0;
+ z-index: 1000;
+ width: 12em;
+ text-align: center;
+ }
+ #report-or-log-link a {
+ display: block;
+ background: black;
+ color: white;
+ text-decoration: none;
+ font-weight: bold;
+ letter-spacing: 0.1em;
+ padding: 0.3em 0;
+ border-bottom-left-radius: 4px;
+ }
+ #report-or-log-link a:hover {
+ color: #ddd;
+ }
+ #log-level-selector {
+ padding: 0.3em 0;
+ font-size: 0.9em;
+ border-bottom-left-radius: 4px;
+ background: #ddd;
+ }
+ /* Statistics table */
+ .statistics {
+ width: 65em;
+ border-collapse: collapse;
+ empty-cells: show;
+ margin-bottom: 1em;
+ }
+ .statistics tr:hover {
+ background: #f4f4f4;
+ cursor: pointer;
+ }
+ .statistics th, .statistics td {
+ border: 1px solid #ccc;
+ padding: 0.1em 0.3em;
+ }
+ .statistics th {
+ background-color: #ddd;
+ padding: 0.2em 0.3em;
+ }
+ .statistics td {
+ vertical-align: middle;
+ }
+ .stats-col-stat {
+ width: 4.5em;
+ text-align: center;
+ }
+ .stats-col-elapsed {
+ width: 5.5em;
+ text-align: center;
+ }
+ .stats-col-graph {
+ width: 9em;
+ }
+ th.stats-col-graph:hover {
+ cursor: default;
+ }
+ .stat-name {
+ float: left;
+ }
+ .stat-name a, .stat-name span {
+ font-weight: bold;
+ }
+ .tag-links {
+ font-size: 0.9em;
+ float: right;
+ margin-top: 0.05em;
+ }
+ .tag-links span {
+ margin-left: 0.2em;
+ }
+ /* Statistics graph */
+ .graph, .empty-graph {
+ border: 1px solid #ccc;
+ width: auto;
+ height: 7px;
+ padding: 0;
+ background: #aaa;
+ }
+ .empty-graph {
+ background: #eee;
+ }
+ .pass-bar, .fail-bar, .skip-bar {
+ float: left;
+ height: 100%;
+ }
+ .fail-bar {
+ background: #ce3e01;
+ }
+ .pass-bar {
+ background: #97bd61;
+ }
+ .skip-bar {
+ background: #fed84f;
+ }
+ /* Tablesorter - adapted from provided Blue Skin */
+ .tablesorter-header {
+ background-image: url(data:image/gif;base64,R0lGODlhCwAJAIAAAH9/fwAAACH5BAEAAAEALAAAAAALAAkAAAIRjAOnBr3cnIr0WUjTrC9e9BQAOw==);
+ background-repeat: no-repeat;
+ background-position: center right;
+ cursor: pointer;
+ }
+ .tablesorter-header:hover {
+ background-color: #ccc;
+ }
+ .tablesorter-headerAsc {
+ background-image: url(data:image/gif;base64,R0lGODlhCwAJAKEAAAAAAH9/fwAAAAAAACH5BAEAAAIALAAAAAALAAkAAAIUlBWnFr3cnIr0WQOyBmvzp13CpxQAOw==);
+ background-color: #ccc !important;
+ }
+ .tablesorter-headerDesc {
+ background-image: url(data:image/gif;base64,R0lGODlhCwAJAKEAAAAAAH9/fwAAAAAAACH5BAEAAAIALAAAAAALAAkAAAIUlAWnBr3cnIr0WROyDmvzp13CpxQAOw==);
+ background-color: #ccc !important;
+ }
+ .sorter-false {
+ background-image: none;
+ cursor: default;
+ }
+ .sorter-false:hover {
+ background-color: #ddd;
+ }
+ </style>
+
+
+</head>
+<body>
+ <div id="statistics-container">
+ <h2>Test Statistics</h2>
+ <table class="statistics tablesorter tablesorter-default tablesorter2e2fe879cc465" id="total-stats" role="grid">
+ <thead>
+ <tr role="row" class="tablesorter-headerRow">
+ <th class="stats-col-name tablesorter-header tablesorter-headerUnSorted" data-column="0" tabindex="0" scope="col" role="columnheader" aria-disabled="false" aria-controls="total-stats" unselectable="on" aria-sort="none" aria-label="Total Statistics: No sort applied, activate to apply an ascending sort" style="user-select: none;">
+ <div class="tablesorter-header-inner">Total Statistics</div>
+ </th>
+ <th class="stats-col-stat tablesorter-header tablesorter-headerUnSorted" data-column="1" tabindex="0" scope="col" role="columnheader" aria-disabled="false" aria-controls="total-stats" unselectable="on" aria-sort="none" aria-label="Total: No sort applied, activate to apply a descending sort" style="user-select: none;">
+ <div class="tablesorter-header-inner">Total</div>
+ </th>
+ <th class="stats-col-stat tablesorter-header tablesorter-headerUnSorted" data-column="2" tabindex="0" scope="col" role="columnheader" aria-disabled="false" aria-controls="total-stats" unselectable="on" aria-sort="none" aria-label="Pass: No sort applied, activate to apply a descending sort" style="user-select: none;">
+ <div class="tablesorter-header-inner">Pass</div>
+ </th>
+ <th class="stats-col-stat tablesorter-header tablesorter-headerUnSorted" data-column="3" tabindex="0" scope="col" role="columnheader" aria-disabled="false" aria-controls="total-stats" unselectable="on" aria-sort="none" aria-label="Fail: No sort applied, activate to apply a descending sort" style="user-select: none;">
+ <div class="tablesorter-header-inner">Fail</div>
+ </th>
+ <th class="stats-col-stat tablesorter-header tablesorter-headerUnSorted" data-column="4" tabindex="0" scope="col" role="columnheader" aria-disabled="false" aria-controls="total-stats" unselectable="on" aria-sort="none" aria-label="Skip: No sort applied, activate to apply a descending sort" style="user-select: none;">
+ <div class="tablesorter-header-inner">Skip</div>
+ </th>
+ <th class="stats-col-elapsed tablesorter-header tablesorter-headerUnSorted" title="Total execution time of these tests. Excludes suite setups and teardowns." data-column="5" tabindex="0" scope="col" role="columnheader" aria-disabled="false" aria-controls="total-stats" unselectable="on" aria-sort="none" aria-label="Elapsed: No sort applied, activate to apply a descending sort" style="user-select: none;">
+ <div class="tablesorter-header-inner">Elapsed</div>
+ </th>
+ <th class="stats-col-graph tablesorter-header sorter-false tablesorter-headerUnSorted" data-column="6" scope="col" role="columnheader" aria-disabled="true" unselectable="on" aria-sort="none" aria-label="Pass / Fail / Skip: No sort applied, sorting is disabled" style="user-select: none;">
+ <div class="tablesorter-header-inner">Pass / Fail / Skip</div>
+ </th>
+ </tr>
+ </thead>
+ <tbody aria-live="polite" aria-relevant="all">
+ <tr class="row-0" role="row">
+ <td class="stats-col-name">
+ <div class="stat-name">
+ <span>All Tests</span>
+ </div>
+ </td>
+ <td class="stats-col-stat">1</td>
+ <td class="stats-col-stat">1</td>
+ <td class="stats-col-stat">0</td>
+ <td class="stats-col-stat">0</td>
+ <td class="stats-col-elapsed" title="Total execution time of these tests. Excludes suite setups and teardowns.">00:00:00</td>
+ <td class="stats-col-graph">
+ <div class="graph">
+ <div class="pass-bar" style="width: 100%" title="100%"></div>
+ <div class="fail-bar" style="width: 0%" title="0%"></div>
+ <div class="skip-bar" style="width: 0%" title="0%"></div>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <table class="statistics tablesorter tablesorter-default tablesorter8e8ffd77a824a" id="tag-stats" role="grid">
+ <thead>
+ <tr role="row" class="tablesorter-headerRow">
+ <th class="stats-col-name tablesorter-header tablesorter-headerUnSorted" data-column="0" tabindex="0" scope="col" role="columnheader" aria-disabled="false" aria-controls="tag-stats" unselectable="on" aria-sort="none" aria-label="Statistics by Tag: No sort applied, activate to apply an ascending sort" style="user-select: none;">
+ <div class="tablesorter-header-inner">Statistics by Tag</div>
+ </th>
+ <th class="stats-col-stat tablesorter-header tablesorter-headerUnSorted" data-column="1" tabindex="0" scope="col" role="columnheader" aria-disabled="false" aria-controls="tag-stats" unselectable="on" aria-sort="none" aria-label="Total: No sort applied, activate to apply a descending sort" style="user-select: none;">
+ <div class="tablesorter-header-inner">Total</div>
+ </th>
+ <th class="stats-col-stat tablesorter-header tablesorter-headerUnSorted" data-column="2" tabindex="0" scope="col" role="columnheader" aria-disabled="false" aria-controls="tag-stats" unselectable="on" aria-sort="none" aria-label="Pass: No sort applied, activate to apply a descending sort" style="user-select: none;">
+ <div class="tablesorter-header-inner">Pass</div>
+ </th>
+ <th class="stats-col-stat tablesorter-header tablesorter-headerUnSorted" data-column="3" tabindex="0" scope="col" role="columnheader" aria-disabled="false" aria-controls="tag-stats" unselectable="on" aria-sort="none" aria-label="Fail: No sort applied, activate to apply a descending sort" style="user-select: none;">
+ <div class="tablesorter-header-inner">Fail</div>
+ </th>
+ <th class="stats-col-stat tablesorter-header tablesorter-headerUnSorted" data-column="4" tabindex="0" scope="col" role="columnheader" aria-disabled="false" aria-controls="tag-stats" unselectable="on" aria-sort="none" aria-label="Skip: No sort applied, activate to apply a descending sort" style="user-select: none;">
+ <div class="tablesorter-header-inner">Skip</div>
+ </th>
+ <th class="stats-col-elapsed tablesorter-header tablesorter-headerUnSorted" title="Total execution time of these tests. Excludes suite setups and teardowns." data-column="5" tabindex="0" scope="col" role="columnheader" aria-disabled="false" aria-controls="tag-stats" unselectable="on" aria-sort="none" aria-label="Elapsed: No sort applied, activate to apply a descending sort" style="user-select: none;">
+ <div class="tablesorter-header-inner">Elapsed</div>
+ </th>
+ <th class="stats-col-graph tablesorter-header sorter-false tablesorter-headerUnSorted" data-column="6" scope="col" role="columnheader" aria-disabled="true" unselectable="on" aria-sort="none" aria-label="Pass / Fail / Skip: No sort applied, sorting is disabled" style="user-select: none;">
+ <div class="tablesorter-header-inner">Pass / Fail / Skip</div>
+ </th>
+ </tr>
+ </thead>
+ <tbody aria-live="polite" aria-relevant="all">
+ <tr class="row-0" role="row">
+ <td class="stats-col-name">No Tags</td>
+ <td class="stats-col-stat"></td>
+ <td class="stats-col-stat"></td>
+ <td class="stats-col-stat"></td>
+ <td class="stats-col-stat"></td>
+ <td class="stats-col-elapsed" title="Total execution time of these tests. Excludes suite setups and teardowns."></td>
+ <td class="stats-col-graph">
+ <div class="empty-graph"></div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <table class="statistics tablesorter tablesorter-default tablesorter06030fd685e0f" id="suite-stats" role="grid">
+ <thead>
+ <tr role="row" class="tablesorter-headerRow">
+ <th class="stats-col-name tablesorter-header tablesorter-headerUnSorted" data-column="0" tabindex="0" scope="col" role="columnheader" aria-disabled="false" aria-controls="suite-stats" unselectable="on" aria-sort="none" aria-label="Statistics by Suite: No sort applied, activate to apply an ascending sort" style="user-select: none;">
+ <div class="tablesorter-header-inner">Statistics by Suite</div>
+ </th>
+ <th class="stats-col-stat tablesorter-header tablesorter-headerUnSorted" data-column="1" tabindex="0" scope="col" role="columnheader" aria-disabled="false" aria-controls="suite-stats" unselectable="on" aria-sort="none" aria-label="Total: No sort applied, activate to apply a descending sort" style="user-select: none;">
+ <div class="tablesorter-header-inner">Total</div>
+ </th>
+ <th class="stats-col-stat tablesorter-header tablesorter-headerUnSorted" data-column="2" tabindex="0" scope="col" role="columnheader" aria-disabled="false" aria-controls="suite-stats" unselectable="on" aria-sort="none" aria-label="Pass: No sort applied, activate to apply a descending sort" style="user-select: none;">
+ <div class="tablesorter-header-inner">Pass</div>
+ </th>
+ <th class="stats-col-stat tablesorter-header tablesorter-headerUnSorted" data-column="3" tabindex="0" scope="col" role="columnheader" aria-disabled="false" aria-controls="suite-stats" unselectable="on" aria-sort="none" aria-label="Fail: No sort applied, activate to apply a descending sort" style="user-select: none;">
+ <div class="tablesorter-header-inner">Fail</div>
+ </th>
+ <th class="stats-col-stat tablesorter-header tablesorter-headerUnSorted" data-column="4" tabindex="0" scope="col" role="columnheader" aria-disabled="false" aria-controls="suite-stats" unselectable="on" aria-sort="none" aria-label="Skip: No sort applied, activate to apply a descending sort" style="user-select: none;">
+ <div class="tablesorter-header-inner">Skip</div>
+ </th>
+ <th class="stats-col-elapsed tablesorter-header tablesorter-headerUnSorted" title="Total execution time of this suite." data-column="5" tabindex="0" scope="col" role="columnheader" aria-disabled="false" aria-controls="suite-stats" unselectable="on" aria-sort="none" aria-label="Elapsed: No sort applied, activate to apply a descending sort" style="user-select: none;">
+ <div class="tablesorter-header-inner">Elapsed</div>
+ </th>
+ <th class="stats-col-graph tablesorter-header sorter-false tablesorter-headerUnSorted" data-column="6" scope="col" role="columnheader" aria-disabled="true" unselectable="on" aria-sort="none" aria-label="Pass / Fail / Skip: No sort applied, sorting is disabled" style="user-select: none;">
+ <div class="tablesorter-header-inner">Pass / Fail / Skip</div>
+ </th>
+ </tr>
+ </thead>
+ <tbody aria-live="polite" aria-relevant="all">
+ <tr onclick="makeElementVisible('s1')" class="row-0" role="row">
+ <td class="stats-col-name" title="pap">
+ <div class="stat-name">
+ <span href="#s1">
+ <span class="parent-name"></span>Dummy Test</span>
+ </div>
+ </td>
+ <td class="stats-col-stat">1</td>
+ <td class="stats-col-stat">1</td>
+ <td class="stats-col-stat">0</td>
+ <td class="stats-col-stat">0</td>
+ <td class="stats-col-elapsed" title="Total execution time of this suite.">00:00:00</td>
+ <td class="stats-col-graph">
+ <div class="graph">
+ <div class="pass-bar" style="width: 100%" title="100%"></div>
+ <div class="fail-bar" style="width: 0%" title="0%"></div>
+ <div class="skip-bar" style="width: 0%" title="0%"></div>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+</body>
+</html>
+EOF
+
+cp ${ROBOT_LOG_DIR}/log.html ${ROBOT_LOG_DIR}/report.html