aboutsummaryrefslogtreecommitdiffstats
path: root/robot/assets
diff options
context:
space:
mode:
authorKrzysztof Kuzmicki <krzysztof.kuzmicki@nokia.com>2021-03-24 23:44:17 +0100
committerKrzysztof Kuzmicki <krzysztof.kuzmicki@nokia.com>2021-04-12 23:36:07 +0200
commitcef7e63e2b03c76f13dba5e0bc962ef79f6f4816 (patch)
treeb3e8f96a03066b153b59e1f52a70de96607cb7ff /robot/assets
parent77566b39c2acbf347d3f7fb5c27ddf3212f06d80 (diff)
[ROBOT] Add new E2E test for 5G BulkPM usecase from HTTP server to ONAP gating
The goal is to add test suite for new E2E test for 5G BulkPM use case using HTTPS server as an origin for PM files to be downloaded from. Connection between DFC and HTTPS will be based on CMPv2 Certificate-based authentication Issue-ID: INT-1815 Signed-off-by: Krzysztof Kuzmicki <krzysztof.kuzmicki@nokia.com> Change-Id: Iebb71eb68538618cbc0c42444a039bd0f8effcf5 (cherry picked from commit a19a5d2bfc58597b7b02bca70d4a42329cf93b6c)
Diffstat (limited to 'robot/assets')
-rw-r--r--robot/assets/cmpv2/k8s-mongo-ves-client.yaml37
-rw-r--r--robot/assets/cmpv2/k8s-mongo.yaml10
-rw-r--r--robot/assets/cmpv2/k8s-pnf-simulator.yaml10
-rw-r--r--robot/assets/cmpv2/k8s-ves-client.yaml75
-rw-r--r--robot/assets/templates/dfc/consul.jinja31
-rw-r--r--robot/assets/templates/dfc/notification.jinja34
-rw-r--r--robot/assets/usecases/5gbulkpm/k8s-https.yaml78
7 files changed, 271 insertions, 4 deletions
diff --git a/robot/assets/cmpv2/k8s-mongo-ves-client.yaml b/robot/assets/cmpv2/k8s-mongo-ves-client.yaml
new file mode 100644
index 00000000..42523993
--- /dev/null
+++ b/robot/assets/cmpv2/k8s-mongo-ves-client.yaml
@@ -0,0 +1,37 @@
+tosca_definitions_version: cloudify_dsl_1_3
+imports:
+ - 'http://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml'
+ - 'plugin:k8splugin?version=>=3.4.2,<4.0.0'
+inputs:
+ tag_version:
+ type: string
+ description: Docker image to be used
+ default: 'mongo'
+ replicas:
+ type: integer
+ description: Number of instances
+ default: 1
+ service_component_type:
+ type: string
+ default: "mongo-ves-client"
+ service_component_name_override:
+ type: string
+ default: "mongo-ves-client"
+node_templates:
+ mongo:
+ type: dcae.nodes.ContainerizedServiceComponent
+ interfaces:
+ cloudify.interfaces.lifecycle:
+ start:
+ inputs:
+ envs:
+ MONGO_INITDB_ROOT_USERNAME: root
+ MONGO_INITDB_ROOT_PASSWORD: zXcVbN123!
+ MONGO_INITDB_DATABASE: pnf_simulator
+ ports:
+ - '27017:0'
+ properties:
+ service_component_type: { get_input: service_component_type }
+ service_component_name_override: { get_input: service_component_name_override }
+ image: { get_input: tag_version }
+ replicas: { get_input: replicas }
diff --git a/robot/assets/cmpv2/k8s-mongo.yaml b/robot/assets/cmpv2/k8s-mongo.yaml
index 3823bff2..010eb65c 100644
--- a/robot/assets/cmpv2/k8s-mongo.yaml
+++ b/robot/assets/cmpv2/k8s-mongo.yaml
@@ -11,6 +11,12 @@ inputs:
type: integer
description: Number of instances
default: 1
+ service_component_type:
+ type: string
+ default: "mongo"
+ service_component_name_override:
+ type: string
+ default: "mongo"
node_templates:
mongo:
type: dcae.nodes.ContainerizedServiceComponent
@@ -25,7 +31,7 @@ node_templates:
ports:
- '27017:0'
properties:
- service_component_type: mongo
- service_component_name_override: mongo
+ service_component_type: { get_input: service_component_type }
+ service_component_name_override: { get_input: service_component_name_override }
image: { get_input: tag_version }
replicas: { get_input: replicas }
diff --git a/robot/assets/cmpv2/k8s-pnf-simulator.yaml b/robot/assets/cmpv2/k8s-pnf-simulator.yaml
index 1916ba95..89e838b9 100644
--- a/robot/assets/cmpv2/k8s-pnf-simulator.yaml
+++ b/robot/assets/cmpv2/k8s-pnf-simulator.yaml
@@ -33,6 +33,12 @@ inputs:
type: boolean
description: Flag to indicate external tls enable/disable.
default: true
+ service_component_type:
+ type: string
+ default: "pnf-simulator"
+ service_component_name_override:
+ type: string
+ default: "pnf-simulator"
node_templates:
pnf-simulator:
type: dcae.nodes.ContainerizedServiceComponent
@@ -45,8 +51,8 @@ node_templates:
ports:
- '5000:0'
properties:
- service_component_type: pnf-simulator
- service_component_name_override: pnf-simulator
+ service_component_type: { get_input: service_component_type }
+ service_component_name_override: { get_input: service_component_name_override }
image: { get_input: tag_version }
replicas: { get_input: replicas }
always_pull_image: true
diff --git a/robot/assets/cmpv2/k8s-ves-client.yaml b/robot/assets/cmpv2/k8s-ves-client.yaml
new file mode 100644
index 00000000..cfb5fd53
--- /dev/null
+++ b/robot/assets/cmpv2/k8s-ves-client.yaml
@@ -0,0 +1,75 @@
+tosca_definitions_version: cloudify_dsl_1_3
+imports:
+ - 'http://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml'
+ - 'plugin:k8splugin?version=>=3.4.2,<4.0.0'
+inputs:
+ tag_version:
+ type: string
+ description: Docker image to be used
+ default: 'nexus3.onap.org:10001/onap/org.onap.integration.nfsimulator.vesclient:latest'
+ replicas:
+ type: integer
+ description: Number of instances
+ default: 1
+ external_cert_cert_type:
+ type: string
+ description: Output type
+ default: 'P12'
+ external_cert_ca_name:
+ type: string
+ description: Name of Certificate Authority configured on CertService side.
+ default: 'RA'
+ external_cert_common_name:
+ type: string
+ description: Common name which should be present in certificate.
+ default: 'ves-client'
+ external_cert_sans:
+ type: string
+ description: 'List of Subject Alternative Names (SANs) which should be present
+ in certificate. Delimiter - , Should contain common_name value and other FQDNs
+ under which given component is accessible.'
+ default: 'ves-client'
+ external_cert_use_external_tls:
+ type: boolean
+ description: Flag to indicate external tls enable/disable.
+ default: true
+ service_component_type:
+ type: string
+ default: "ves-client"
+ service_component_name_override:
+ type: string
+ default: "ves-client"
+node_templates:
+ ves-client:
+ type: dcae.nodes.ContainerizedServiceComponent
+ interfaces:
+ cloudify.interfaces.lifecycle:
+ start:
+ inputs:
+ envs:
+ STRICT_HOSTNAME_VERIFICATION: 'true'
+ MONGO_HOSTNAME:
+ concat: ["mongo-", {get_input: service_component_name_override}]
+ ports:
+ - '5000:0'
+ properties:
+ service_component_type: { get_input: service_component_type }
+ service_component_name_override: { get_input: service_component_name_override }
+ image: { get_input: tag_version }
+ replicas: { get_input: replicas }
+ always_pull_image: true
+ tls_info:
+ cert_directory: '/app/store/'
+ external_cert:
+ external_cert_directory: '/app/store/'
+ use_external_tls:
+ get_input: external_cert_use_external_tls
+ cert_type:
+ get_input: external_cert_cert_type
+ ca_name:
+ get_input: external_cert_ca_name
+ external_certificate_parameters:
+ common_name:
+ get_input: external_cert_common_name
+ sans:
+ get_input: external_cert_sans
diff --git a/robot/assets/templates/dfc/consul.jinja b/robot/assets/templates/dfc/consul.jinja
new file mode 100644
index 00000000..f630f976
--- /dev/null
+++ b/robot/assets/templates/dfc/consul.jinja
@@ -0,0 +1,31 @@
+{
+ "service_calls": [],
+ "streams_publishes": {
+ "PM_MEAS_FILES": {
+ "dmaap_info": "<<feed0>>",
+ "type": "data_router"
+ }
+ },
+ "dmaap.certificateConfig.keyCert": "/opt/app/datafile/etc/cert/cert.p12",
+ "dmaap.certificateConfig.keyPasswordPath": "/opt/app/datafile/etc/cert/p12.pass",
+ "dmaap.certificateConfig.trustedCa": "/opt/app/datafile/etc/cert/trust.jks",
+ "dmaap.certificateConfig.trustedCaPasswordPath": "/opt/app/datafile/etc/cert/trust.pass",
+ "dmaap.security.enableDmaapCertAuth": true,
+ "dmaap.certificateConfig.httpsHostnameVerify": {{httpsHostnameVerify}},
+ "dmaap.security.keyStorePasswordPath": "/opt/app/datafile/etc/cert/jks.pass",
+ "dmaap.security.keyStorePath": "/opt/app/datafile/etc/cert/cert.jks",
+ "dmaap.security.trustStorePasswordPath": "/opt/app/datafile/etc/cert/trust.pass",
+ "dmaap.security.trustStorePath": "/opt/app/datafile/etc/cert/trust.jks",
+ "dmaap.dmaapConsumerConfiguration.consumerGroup": "OpenDcae-c12",
+ "dmaap.dmaapConsumerConfiguration.consumerId": "C12",
+ "dmaap.dmaapConsumerConfiguration.timeoutMs": -1,
+ "sftp.security.strictHostKeyChecking": true,
+ "streams_subscribes": {
+ "dmaap_subscriber": {
+ "type": "message_router",
+ "dmaap_info": {
+ "topic_url": "https://message-router:3905/events/unauthenticated.VES_NOTIFICATION_OUTPUT"
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/robot/assets/templates/dfc/notification.jinja b/robot/assets/templates/dfc/notification.jinja
new file mode 100644
index 00000000..83396c29
--- /dev/null
+++ b/robot/assets/templates/dfc/notification.jinja
@@ -0,0 +1,34 @@
+{
+ "event": {
+ "commonEventHeader": {
+ "version": "4.0.1",
+ "vesEventListenerVersion": "7.0.1",
+ "domain": "notification",
+ "eventName": "Noti_RnNode-Ericsson_FileReady",
+ "eventId": "FileReady_1797490e-10ae-4d48-9ea7-3d7d790b25e1",
+ "lastEpochMicrosec": 8745745764578,
+ "priority": "Normal",
+ "reportingEntityName": "NOK6061ZW3",
+ "sequence": 0,
+ "sourceName": "NOK6061ZW3",
+ "startEpochMicrosec": 8745745764578,
+ "timeZoneOffset": "UTC+05.30"
+ },
+ "notificationFields": {
+ "changeIdentifier": "PM_MEAS_FILES",
+ "changeType": "FileReady",
+ "notificationFieldsVersion": "2.0",
+ "arrayOfNamedHashMap": [
+ {
+ "name": "{{pm_file}}",
+ "hashMap": {
+ "location": "https://{{https_server_host}}:443/{{pm_file}}",
+ "compression": "gzip",
+ "fileFormatType": "{{fileFormatType}}",
+ "fileFormatVersion": "{{fileFormatVersion}}"
+ }
+ }
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/robot/assets/usecases/5gbulkpm/k8s-https.yaml b/robot/assets/usecases/5gbulkpm/k8s-https.yaml
new file mode 100644
index 00000000..ac1d69a1
--- /dev/null
+++ b/robot/assets/usecases/5gbulkpm/k8s-https.yaml
@@ -0,0 +1,78 @@
+tosca_definitions_version: cloudify_dsl_1_3
+imports:
+ - 'http://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml'
+ - 'plugin:k8splugin?version=>=3.4.2,<4.0.0'
+inputs:
+ tag_version:
+ type: string
+ description: Docker image to be used
+ default: 'nexus3.onap.org:10001/onap/org.onap.integration.nfsimulator.pmhttpsserver:latest'
+ replicas:
+ type: integer
+ description: Number of instances
+ default: 1
+ external_cert_cert_type:
+ type: string
+ description: Output type
+ default: 'PEM'
+ external_cert_ca_name:
+ type: string
+ description: Name of Certificate Authority configured on CertService side.
+ default: 'RA'
+ external_cert_common_name:
+ type: string
+ description: Common name which should be present in certificate.
+ default: 'https-server'
+ external_cert_sans:
+ type: string
+ description: 'List of Subject Alternative Names (SANs) which should be present
+ in certificate. Delimiter - , Should contain common_name value and other FQDNs
+ under which given component is accessible.'
+ default: 'https-server'
+ external_cert_use_external_tls:
+ type: boolean
+ description: Flag to indicate external tls enable/disable.
+ default: true
+ service_component_type:
+ type: string
+ default: "https-server"
+ service_component_name_override:
+ type: string
+ default: "https-server"
+ enable_tls:
+ type: boolean
+ default: false
+node_templates:
+ httpsserver:
+ type: dcae.nodes.ContainerizedServiceComponent
+ interfaces:
+ cloudify.interfaces.lifecycle:
+ start:
+ inputs:
+ ports:
+ - '80:0'
+ - '8080:0'
+ - '443:0'
+ properties:
+ service_component_type: { get_input: service_component_type }
+ service_component_name_override: { get_input: service_component_name_override }
+ image: { get_input: tag_version }
+ replicas: { get_input: replicas }
+ always_pull_image: true
+ tls_info:
+ cert_directory: '/etc/apache2/certs/'
+ use_tls:
+ get_input: enable_tls
+ external_cert:
+ external_cert_directory: '/etc/apache2/certs/'
+ use_external_tls:
+ get_input: external_cert_use_external_tls
+ cert_type:
+ get_input: external_cert_cert_type
+ ca_name:
+ get_input: external_cert_ca_name
+ external_certificate_parameters:
+ common_name:
+ get_input: external_cert_common_name
+ sans:
+ get_input: external_cert_sans