From 52a02b2a4d2d9a6055a9ad0f0768f057f9259fb2 Mon Sep 17 00:00:00 2001 From: Krzysztof Kuzmicki Date: Wed, 8 Apr 2020 12:02:05 +0200 Subject: Enhance 5g bulk PM test case in order to use blueprints from DCAE inventory Issue-ID: INT-1521 Signed-off-by: Krzysztof Kuzmicki Change-Id: Ie757153744c69af9e5b98eaf351dfa6de214096a --- robot/assets/usecases/5gbulkpm/k8s-datafile.yaml | 136 --------------- robot/assets/usecases/5gbulkpm/k8s-pm-mapper.yaml | 200 ---------------------- robot/assets/usecases/5gbulkpm/k8s-sftp.yaml | 9 +- robot/resources/usecases/5gbulkpm_interface.robot | 6 +- robot/testsuites/usecases/5gbulkpm.robot | 44 +++-- 5 files changed, 24 insertions(+), 371 deletions(-) delete mode 100644 robot/assets/usecases/5gbulkpm/k8s-datafile.yaml delete mode 100644 robot/assets/usecases/5gbulkpm/k8s-pm-mapper.yaml diff --git a/robot/assets/usecases/5gbulkpm/k8s-datafile.yaml b/robot/assets/usecases/5gbulkpm/k8s-datafile.yaml deleted file mode 100644 index 5a0b0bb6..00000000 --- a/robot/assets/usecases/5gbulkpm/k8s-datafile.yaml +++ /dev/null @@ -1,136 +0,0 @@ - -#description: Docker application to collect log file from PNF -#blueprint_version: 1.0.0 ---- -tosca_definitions_version: cloudify_dsl_1_3 -description: Docker application to collect log file from PNF -imports: -- http://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml -- https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R5/k8splugin/1.6.0/k8splugin_types.yaml -- https://nexus.onap.org/service/local/repositories/raw/content/org.onap.ccsdk.platform.plugins/type_files/dmaap/dmaap.yaml -inputs: - PM_MEAS_FILES_feed0_location: - type: string - default: "loc00" - cert_directory: - type: string - default: "/opt/app/datafile/etc/cert/" - datafile-collector_cpu_limit: - type: string - default: "250m" - datafile-collector_cpu_request: - type: string - default: "250m" - datafile-collector_memory_limit: - type: string - default: "256Mi" - datafile-collector_memory_request: - type: string - default: "256Mi" - envs: - default: {} - external_port: - type: string - default: ":0" - feed0_name: - type: string - default: "bulk_pm_feed" - topic_name: - type: string - default: "unauthenticated.VES_NOTIFICATION_OUTPUT" - consumer_group: - type: string - default: "OpenDcae-c12" - consumer_id: - type: string - default: "C12" - log_directory: - type: string - default: "/var/log/ONAP" - replicas: - type: integer - description: number of instances - default: 1 - tag_version: - type: string - default: "nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.datafile.datafile-app-server:latest" - use_tls: - type: boolean - default: false -node_templates: - datafile-collector: - type: dcae.nodes.ContainerizedServiceComponentUsingDmaap - interfaces: - cloudify.interfaces.lifecycle: - start: - inputs: - envs: - get_input: envs - properties: - application_config: - service_calls: [] - streams_publishes: - PM_MEAS_FILES: - dmaap_info: <> - type: data_router - streams_subscribes: {} - dmaap.ftpesConfig.keyCert: /opt/app/datafile/config/cert.jks - dmaap.ftpesConfig.keyPasswordPath: /opt/app/datafile/config/jks.pass - dmaap.ftpesConfig.trustedCa: /opt/app/datafile/config/trust.jks - dmaap.ftpesConfig.trustedCaPasswordPath: /opt/app/datafile/etc/cert/trust.pass - dmaap.security.enableDmaapCertAuth: false - dmaap.security.keyStorePasswordPath: /opt/app/datafile/etc/cert/key.pass - dmaap.security.keyStorePath: /opt/app/datafile/etc/cert/key.p12 - dmaap.security.trustStorePasswordPath: /opt/app/datafile/etc/cert/trust.pass - dmaap.security.trustStorePath: /opt/app/datafile/etc/cert/trust.jks - streams_subscribes: - dmaap_subscriber: - dmaap_info: - topic_url: { concat: ['https://message-router:3905/events/',{ get_input: topic_name }, '/', { get_input: consumer_group }, "/", { get_input: consumer_id }] } - docker_config: - healthcheck: - interval: 15s - timeout: 1s - type: http - endpoint: /heartbeat - ports: - - concat: ["8100", {get_input: external_port}] - - concat: ["8433", {get_input: external_port}] - image: - get_input: tag_version - service_component_type: datafile-collector - log_info: - log_directory: - get_input: log_directory - replicas: - get_input: replicas - streams_publishes: - - name: feed0 - location: - get_input: PM_MEAS_FILES_feed0_location - type: data_router - tls_info: - cert_directory: - get_input: cert_directory - use_tls: - get_input: use_tls - resource_config: - limits: - cpu: - get_input: datafile-collector_cpu_limit - memory: - get_input: datafile-collector_memory_limit - requests: - cpu: - get_input: datafile-collector_cpu_request - memory: - get_input: datafile-collector_memory_request - relationships: - - type: ccsdk.relationships.publish_files - target: feed0 - feed0: - type: ccsdk.nodes.Feed - properties: - feed_name: - get_input: feed0_name - useExisting: true diff --git a/robot/assets/usecases/5gbulkpm/k8s-pm-mapper.yaml b/robot/assets/usecases/5gbulkpm/k8s-pm-mapper.yaml deleted file mode 100644 index c372618e..00000000 --- a/robot/assets/usecases/5gbulkpm/k8s-pm-mapper.yaml +++ /dev/null @@ -1,200 +0,0 @@ -# -# ============LICENSE_START======================================================= -# Copyright (C) 2019 Nordix Foundation. -# ================================================================================ -# Licensed under the Apache License, Version 2.0 (the 'License'); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an 'AS IS' BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 -# ============LICENSE_END========================================================= -# - -tosca_definitions_version: cloudify_dsl_1_3 - -imports: - - 'http://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml' - - 'https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R5/k8splugin/1.6.0/k8splugin_types.yaml' - - 'https://nexus.onap.org/service/local/repositories/raw/content/org.onap.ccsdk.platform.plugins/type_files/dmaap/dmaap.yaml' - -inputs: - filter: - type: string - description: PM Mapper filter on measInfo, measInfoId, measType, instanceId - default: "{ \"filters\":[] }" - enable_http: - type: boolean - description: Option to turn on HTTP connections - default: false - tag_version: - type: string - description: Docker image to be used - default: 'nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.pm-mapper:latest' - replicas: - type: integer - description: Number of instances - default: 1 - feed_name: - type: string - default: 'bulk_pm_feed' - topic_name: - type: string - default: 'PERFORMANCE_MEASUREMENTS' - client_role: - type: string - description: Client role to request secure access to topic - default: 'org.onap.dcae.pmPublisher' - client_id: - type: string - description: Client id for given AAF client - default: 'dcae@dcae.onap.org' - client_password: - type: string - description: Password for AAF client provided as client_id - dmaap_dr_username: - type: string - description: DMAAP Data Router user name - default: 'username' - dmaap_dr_password: - type: string - description: DMAAP Data Router password - default: 'password' - dcae_location: - type: string - description: DCAE location for the subscriber, used to set up routing - default: 'san-francisco' - pm_mapper_service_protocol: - type: string - description: PM Mapper protocol - default: 'https' - pm_mapper_service_port: - type: string - description: PM Mapper host port - default: '8443' - dmaap_dr_service_host: - type: string - description: DMAAP Data Router host address - default: 'dmaap-dr-node' - dmaap_dr_service_port: - type: string - description: DMAAP Data Router host port - default: '8443' - dmaap_mr_service_protocol: - type: string - description: DMAAP Message Router protocol - default: 'https' - dmaap_mr_service_host: - type: string - description: DMAAP Message Router host address - default: 'message-router' - dmaap_mr_service_port: - type: string - description: DMAAP Message Router host port - default: '3905' - cpu_limit: - type: string - default: '1000m' - cpu_request: - type: string - default: '1000m' - memory_limit: - type: string - default: '1024Mi' - memory_request: - type: string - default: '1024Mi' - -node_templates: - pm-feed: - type: ccsdk.nodes.Feed - properties: - feed_name: { get_input: feed_name } - useExisting: true - - pm-topic: - type: ccsdk.nodes.Topic - properties: - topic_name: { get_input: topic_name } - - pm-mapper: - type: dcae.nodes.ContainerizedServiceComponentUsingDmaap - interfaces: - cloudify.interfaces.lifecycle: - create: - inputs: - ports: - - '8443:0' - - '8081:0' - - relationships: - - type: ccsdk.relationships.subscribe_to_files - target: pm-feed - - type: ccsdk.relationships.publish_events - target: pm-topic - - properties: - service_component_type: 'dcae-pm-mapper' - service_component_name_override: 'dcae-pm-mapper' - application_config: - trust_store_path: '/opt/app/pm-mapper/etc/cert/trust.jks.b64' - trust_store_pass_path: '/opt/app/pm-mapper/etc/cert/trust.pass' - key_store_path: '/opt/app/pm-mapper/etc/cert/cert.jks.b64' - key_store_pass_path: '/opt/app/pm-mapper/etc/cert/jks.pass' - pm-mapper-filter: { get_input: filter } - enable_http: { get_input: enable_http } - dmaap_dr_delete_endpoint: { concat: ['https://',{ get_input: dmaap_dr_service_host },':',{ get_input: dmaap_dr_service_port },'/delete'] } - aaf_identity: { get_input: client_id } - aaf_password: { get_input: client_password } - streams_subscribes: - dmaap_subscriber: - type: data_router - dmaap_info: <> - streams_publishes: - dmaap_publisher: - type: message_router - dmaap_info: <> - resource_config: - limits: - cpu: { get_input: cpu_limit } - memory: { get_input: memory_limit } - requests: - cpu: { get_input: cpu_request } - memory: { get_input: memory_request } - docker_config: - healthcheck: - endpoint: /healthcheck - interval: 15s - timeout: 1s - type: https - streams_publishes: - - name: pm-topic - location: { get_input: dcae_location } - client_role: { get_input: client_role } - type: message-router - streams_subscribes: - - name: pm-feed - location: { get_input: dcae_location } - client_role: { get_input: client_role } - username: { get_input: dmaap_dr_username } - password: { get_input: dmaap_dr_password } - scheme: { get_input: pm_mapper_service_protocol } - route: delivery - delivery_url: '' - privileged: true - decompress: true - type: data_router - image: { get_input: tag_version } - replicas: { get_input: replicas } - log_info: - log_directory: '/var/log/ONAP/dcaegen2/services/pm-mapper' - tls_info: - cert_directory: '/opt/app/pm-mapper/etc/cert/' - use_tls: true \ No newline at end of file diff --git a/robot/assets/usecases/5gbulkpm/k8s-sftp.yaml b/robot/assets/usecases/5gbulkpm/k8s-sftp.yaml index a8fe1839..c865de38 100644 --- a/robot/assets/usecases/5gbulkpm/k8s-sftp.yaml +++ b/robot/assets/usecases/5gbulkpm/k8s-sftp.yaml @@ -1,9 +1,7 @@ tosca_definitions_version: cloudify_dsl_1_3 - imports: - 'http://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml' - - 'https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R5/k8splugin/1.6.0/k8splugin_types.yaml' - + - 'https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R6/k8splugin/1.7.2/k8splugin_types.yaml' inputs: tag_version: type: string @@ -13,7 +11,6 @@ inputs: type: integer description: Number of instances default: 1 - node_templates: sftpserver: type: dcae.nodes.ContainerizedPlatformComponent @@ -25,10 +22,8 @@ node_templates: SFTP_USERS: bulkpm:bulkpm:::upload ports: - '22:32222' - properties: name: "sftpserver" dns_name: "sftpserver" - image: { get_input: tag_version } - replicas: { get_input: replicas } \ No newline at end of file + replicas: { get_input: replicas } diff --git a/robot/resources/usecases/5gbulkpm_interface.robot b/robot/resources/usecases/5gbulkpm_interface.robot index b87f17f4..91d4d08e 100644 --- a/robot/resources/usecases/5gbulkpm_interface.robot +++ b/robot/resources/usecases/5gbulkpm_interface.robot @@ -10,7 +10,7 @@ ${DEPLOYMENT_SERVER} ${GLOBAL_DEPLOYMENT_HANDLER_ ${DR_ENDPOINT} ${GLOBAL_DMAAP_DR_PROV_SERVER_PROTOCOL}://${GLOBAL_INJECTED_DMAAP_DR_PROV_IP_ADDR}:${GLOBAL_DMAAP_DR_PROV_SERVER_PORT} ${MR_ENDPOINT} ${GLOBAL_MR_SERVER_PROTOCOL}://${GLOBAL_DMAAP_MESSAGE_ROUTER_SERVER_NAME}:${GLOBAL_DMAAP_MESSAGE_ROUTER_SERVER_PORT} ${DMAAP_BC_SERVER} ${GLOBAL_BC_SERVER_PROTOCOL}://${GLOBAL_INJECTED_BC_IP_ADDR}:${GLOBAL_BC_HTTPS_SERVER_PORT} -${VES_HEALTH_CHECK_PATH} ${GLOBAL_DCAE_VES_PROTOCOL}://${GLOBAL_INJECTED_DCAE_VES_HOST}:${GLOBAL_DCAE_VES_SERVER_PORT} +${VES_HEALTH_CHECK_PATH} ${GLOBAL_DCAE_VES_HTTPS_PROTOCOL}://${GLOBAL_INJECTED_DCAE_VES_HOST}:${GLOBAL_DCAE_VES_HTTPS_SERVER_PORT} *** Keywords *** Undeploy Service @@ -33,8 +33,6 @@ xNF PM File Validate Usecase Teardown Undeploy Service ${DEPLOYMENT_SERVER} /${DEPLOYMENT_ENDPOINT}/pmmapper - Undeploy Service ${INVENTORY_SERVER} ${INVENTORY_ENDPOINT}/${serviceTypeId-Pmmapper} Undeploy Service ${DEPLOYMENT_SERVER} /${DEPLOYMENT_ENDPOINT}/sftpserver Undeploy Service ${INVENTORY_SERVER} ${INVENTORY_ENDPOINT}/${serviceTypeId-Sftp} - Undeploy Service ${DEPLOYMENT_SERVER} /${DEPLOYMENT_ENDPOINT}/datafile - Undeploy Service ${INVENTORY_SERVER} ${INVENTORY_ENDPOINT}/${serviceTypeId-Dfc} \ No newline at end of file + Undeploy Service ${DEPLOYMENT_SERVER} /${DEPLOYMENT_ENDPOINT}/datafile \ No newline at end of file diff --git a/robot/testsuites/usecases/5gbulkpm.robot b/robot/testsuites/usecases/5gbulkpm.robot index 9b9c8c44..1a0252cb 100644 --- a/robot/testsuites/usecases/5gbulkpm.robot +++ b/robot/testsuites/usecases/5gbulkpm.robot @@ -18,8 +18,6 @@ Suite Teardown Usecase Teardown *** Variables *** ${INVENTORY_ENDPOINT} /dcae-service-types -${DFC_BLUEPRINT_PATH} ${EXECDIR}/robot/assets/usecases/5gbulkpm//k8s-datafile.yaml -${PMMAPPER_BLUEPRINT_PATH} ${EXECDIR}/robot/assets/usecases/5gbulkpm//k8s-pm-mapper.yaml ${XNF_SFTP_BLUEPRINT_PATH} ${EXECDIR}/robot/assets/usecases/5gbulkpm/k8s-sftp.yaml ${BLUEPRINT_TEMPLATE_PATH} ${EXECDIR}/robot/assets/usecases/5gbulkpm/blueprintTemplate.json ${FTP_FILE_PATH} ${EXECDIR}/robot/assets/usecases/5gbulkpm/pmfiles/A20181002.0000-1000-0015-1000_5G.xml.gz @@ -34,27 +32,26 @@ ${JSON_DATA_FILE} ${EXECDIR}/robot/assets/usecases/5gbulkpm/No ${VES_LISTENER_PATH} /eventListener/v7 ${PMMAPPER_SUB_ROLE_DATA} ${EXECDIR}/robot/assets/usecases/5gbulkpm/sub.json ${PMMAPPER_MR_CLUSTER_DATA} ${EXECDIR}/robot/assets/usecases/5gbulkpm/mr_clusters.json +${NEXUS3} ${GLOBAL_INJECTED_NEXUS_DOCKER_REPO} *** Test Cases *** Deploying Data File Collector [Tags] 5gbulkpm - ${blueprint}= OperatingSystem.Get File ${DFC_BLUEPRINT_PATH} - ${templatejson}= Load JSON From File ${BLUEPRINT_TEMPLATE_PATH} - ${templatejson}= Update Value To Json ${templatejson} blueprintTemplate ${blueprint} - ${templatejson}= Update Value To Json ${templatejson} typeName datafile - ${json_data} Convert JSON To String ${templatejson} ${headers}= Create Dictionary content-type=application/json ${session}= Create Session dfc ${INVENTORY_SERVER} - ${resp}= Post Request dfc ${INVENTORY_ENDPOINT} data=${json_data} headers=${headers} - ${serviceTypeId-Dfc} Set Variable ${resp.json().get('typeId')} + ${resp}= Get Request dfc ${INVENTORY_ENDPOINT}?typeName=k8s-datafile headers=${headers} + ${json}= Set Variable ${resp.json()} + ${serviceTypeId-Dfc} Set Variable ${json['items'][0]['typeId']} + ${image} Get Regexp Matches ${json['items'][0]['blueprintTemplate']} nexus3(.)*?(?=\\") + ${image} Replace String ${image}[0] nexus3.onap.org:10001 ${NEXUS3} Set Global Variable ${serviceTypeId-Dfc} - ${deployment_data}= Set Variable {"serviceTypeId": "${serviceTypeId-Dfc}"} + ${deployment_data}= Set Variable {"serviceTypeId": "${serviceTypeId-Dfc}", "inputs": {"tag_version": "${image}"}} ${session}= Create Session deployment-dfc ${DEPLOYMENT_SERVER} ${resp}= Put Request deployment-dfc /${DEPLOYMENT_ENDPOINT}/datafile data=${deployment_data} headers=${headers} ${operationLink} Set Variable ${resp.json().get('links').get('status')} ${operationId} Fetch From Right ${operationLink} / - Wait Until Keyword Succeeds 3 minute 20 sec Deployment Status ${DEPLOYMENT_SERVER} ${DEPLOYMENT_ENDPOINT} datafile ${operationId} + Wait Until Keyword Succeeds 5 minute 20 sec Deployment Status ${DEPLOYMENT_SERVER} ${DEPLOYMENT_ENDPOINT} datafile ${operationId} Deploying 3GPP PM Mapper [Tags] 5gbulkpm @@ -62,21 +59,19 @@ Deploying 3GPP PM Mapper ${headers}= Create Dictionary content-type=application/json ${session}= Create Session dmaapbc ${DMAAP_BC_SERVER} ${resp}= Post Request dmaapbc ${DMAAP_BC_MR_CLUSTER_PATH} data=${clusterdata} headers=${headers} - ${blueprint}= OperatingSystem.Get File ${PMMAPPER_BLUEPRINT_PATH} - ${templatejson}= Load JSON From File ${BLUEPRINT_TEMPLATE_PATH} - ${templatejson}= Update Value To Json ${templatejson} blueprintTemplate ${blueprint} - ${templatejson}= Update Value To Json ${templatejson} typeName pmmapper - ${json_data} Convert JSON To String ${templatejson} ${session}= Create Session pmmapper ${INVENTORY_SERVER} - ${resp}= Post Request pmmapper ${INVENTORY_ENDPOINT} data=${json_data} headers=${headers} - ${serviceTypeId-Pmmapper} Set Variable ${resp.json().get('typeId')} + ${resp}= Get Request pmmapper ${INVENTORY_ENDPOINT}?typeName=k8s-pm-mapper headers=${headers} + ${json}= Set Variable ${resp.json()} + ${serviceTypeId-Pmmapper} Set Variable ${json['items'][0]['typeId']} + ${image} Get Regexp Matches ${json['items'][0]['blueprintTemplate']} nexus3(.)*?(?=\') + ${image} Replace String ${image}[0] nexus3.onap.org:10001 ${NEXUS3} Set Global Variable ${serviceTypeId-Pmmapper} - ${deployment_data}= Set Variable {"inputs":{"client_password": "${GLOBAL_DCAE_PASSWORD}"},"serviceTypeId": "${serviceTypeId-Pmmapper}"} + ${deployment_data}= Set Variable {"inputs":{"client_password": "${GLOBAL_DCAE_PASSWORD}", "tag_version": "${image}"},"serviceTypeId": "${serviceTypeId-Pmmapper}"} ${session}= Create Session deployment-pmmapper ${DEPLOYMENT_SERVER} ${resp}= Put Request deployment-pmmapper /${DEPLOYMENT_ENDPOINT}/pmmapper data=${deployment_data} headers=${headers} ${operationLink} Set Variable ${resp.json().get('links').get('status')} ${operationId} Fetch From Right ${operationLink} / - Wait Until Keyword Succeeds 2 minute 10 sec Deployment Status ${DEPLOYMENT_SERVER} ${DEPLOYMENT_ENDPOINT} pmmapper ${operationId} + Wait Until Keyword Succeeds 3 minute 10 sec Deployment Status ${DEPLOYMENT_SERVER} ${DEPLOYMENT_ENDPOINT} pmmapper ${operationId} Deploying SFTP Server As xNF [Tags] 5gbulkpm @@ -90,12 +85,12 @@ Deploying SFTP Server As xNF ${resp}= Post Request sftp ${INVENTORY_ENDPOINT} data=${json_data} headers=${headers} ${serviceTypeId-Sftp}= Set Variable ${resp.json().get('typeId')} Set Global Variable ${serviceTypeId-Sftp} - ${deployment_data}= Set Variable {"serviceTypeId": "${serviceTypeId-Sftp}"} + ${deployment_data}= Set Variable {"serviceTypeId": "${serviceTypeId-Sftp}" } ${session}= Create Session deployment-sftpserver ${DEPLOYMENT_SERVER} ${resp}= Put Request deployment-sftpserver /${DEPLOYMENT_ENDPOINT}/sftpserver data=${deployment_data} headers=${headers} ${operationLink}= Set Variable ${resp.json().get('links').get('status')} ${operationId} Fetch From Right ${operationLink} / - Wait Until Keyword Succeeds 1 minute 5 sec Deployment Status ${DEPLOYMENT_SERVER} ${DEPLOYMENT_ENDPOINT} sftpserver ${operationId} + Wait Until Keyword Succeeds 2 minute 5 sec Deployment Status ${DEPLOYMENT_SERVER} ${DEPLOYMENT_ENDPOINT} sftpserver ${operationId} Checking PERFORMANCE_MEASUREMENTS Topic In Message Router @@ -133,7 +128,8 @@ Sending File Ready Event to VES Collector [Tags] 5gbulkpm ${headers}= Create Dictionary content-type=application/json ${fileready}= OperatingSystem.Get File ${JSON_DATA_FILE} - ${session}= Create Session ves ${VES_HEALTH_CHECK_PATH} + ${auth}= Create List ${GLOBAL_DCAE_VES_USERNAME} ${GLOBAL_DCAE_VES_PASSWORD} + ${session}= Create Session ves ${VES_HEALTH_CHECK_PATH} auth=${auth} ${resp}= Post Request ves ${VES_LISTENER_PATH} data=${fileready} headers=${headers} Should Be Equal As Strings ${resp.status_code} 202 ${VES_FILE_READY_NOTIFICATION} Set Variable {"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":"otenb5309","sequence":0,"sourceName":"oteNB5309","startEpochMicrosec":8745745764578,"timeZoneOffset":"UTC+05.30"},"notificationFields":{"changeIdentifier":"PM_MEAS_FILES","changeType":"FileReady","notificationFieldsVersion":"2.0","arrayOfNamedHashMap":[{"name":"A${epoch}.xml.gz","hashMap":{"location":"sftp://bulkpm:bulkpm@sftpserver:22/upload/A${epoch}.xml.gz","compression":"gzip","fileFormatType":"org.3GPP.32.435#measCollec","fileFormatVersion":"V10"}}]}}} @@ -142,4 +138,4 @@ Sending File Ready Event to VES Collector Verifying 3GPP Perf VES Content On PERFORMANCE_MEASUREMENTS Topic [Tags] 5gbulkpm - Wait Until Keyword Succeeds 1 minute 5 sec xNF PM File Validate perf3gpp_RnNode-Ericsson_pmMeasResult + Wait Until Keyword Succeeds 1 minute 5 sec xNF PM File Validate perf3gpp_RnNode-Ericsson_pmMeasResult \ No newline at end of file -- cgit 1.2.3-korg