Setup files to support PM Mapper Publishing 81/83181/9
authorrajendrajaiswal <rajendra.jaiswal@ericsson.com>
Thu, 21 Mar 2019 16:31:19 +0000 (16:31 +0000)
committerRajendra Jaiswal <rajendra.jaiswal@ericsson.com>
Wed, 27 Mar 2019 15:22:40 +0000 (15:22 +0000)
Change-Id: Ic3b2e0817cf1542383e081415d011346c64bf646
Issue-ID: INT-863
Signed-off-by: rajendrajaiswal <rajendra.jaiswal@ericsson.com>
plans/dcaegen2-pmmapper/pmmapper/assets/config.json
plans/dcaegen2-pmmapper/pmmapper/composefile/docker-compose-pmmapper.yml
plans/dcaegen2-pmmapper/pmmapper/dmaapbc.sh
plans/dcaegen2-pmmapper/pmmapper/setup.sh
tests/dcaegen2-pmmapper/pmmapper/assets/A_meas_result.xml [deleted file]
tests/dcaegen2-pmmapper/pmmapper/pmmapper.robot

index 5eec438..79b3201 100644 (file)
@@ -19,8 +19,8 @@
             "type": "message_router",
             "aaf_password": null,
             "dmaap_info": {
-                "topic_url": "https://message-router:3904/events/org.onap.dmaap.onapCSIT.pm_mapper",
-                "client_role": "org.onap.dmaap.client.pub",
+                "topic_url": "http://message-router:3904/events/topic.org.onap.dmaap.mr.test1",
+                "client_role": "org.onap.dmaap.mr.topic",
                 "location": "csit-pmmapper",
                 "client_id": null
             },
index b14a73c..a7f5b97 100644 (file)
@@ -12,3 +12,4 @@ services:
     extra_hosts:
       - "dmaap-bc:BUSIP"
       - "dmaap-dr-node:DRNODEIP"
+      - "message-router:DMAAPMRIP"
index 1405112..1430258 100755 (executable)
@@ -1,22 +1,23 @@
 #!/bin/bash
 # $1 is the IP address of the buscontroller
+
 # INITIALIZE: dmaap object
+echo $'\nInitializing /dmaap endpoint'
 JSON=/tmp/dmaap.json
 cat << EOF > $JSON
 {
 "version": "1",
-"topicNsRoot": "org.onap.dmaap",
+"topicNsRoot": "topic.org.onap.dmaap",
 "drProvUrl": "https://dmaap-dr-prov:8443",
-"dmaapName": "DataRouter",
+"dmaapName": "mr",
 "bridgeAdminTopic": "MM_AGENT_PROV"
 
 }
 EOF
-
-echo "Initializing /dmaap endpoint"
 curl -v -X POST -d @${JSON} -H "Content-Type: application/json" http://$1:8080/webapi/dmaap
 
 # INITIALIZE: dcaeLocation object
+echo $'\nInitializing /dcaeLocations endpoint'
 JSON=/tmp/dcaeLocation.json
 cat << EOF > $JSON
 {
@@ -26,26 +27,25 @@ cat << EOF > $JSON
 "zone": "zoneA"
 }
 EOF
-
-echo "Initializing /dcaeLocations endpoint"
 curl -v -X POST -d @${JSON} -H "Content-Type: application/json" http://$1:8080/webapi/dcaeLocations
 
 # INITIALIZE: MR object in 1 site
+echo $'\nInitializing /mr_clusters endpoint'
+DMAAP=$(docker ps -a -q --filter="name=dmaap_1")
 DMAAP_MR_IP=$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $DMAAP)
 JSON=/tmp/mr.json
 cat << EOF > $JSON
 {
 "dcaeLocationName": "csit-pmmapper",
-"fqdn": "$DMAAP_MR_IP",
+"fqdn": "${DMAAP_MR_IP}",
 "topicProtocol" : "http",
 "topicPort": "3904"
 }
 EOF
-
-echo "Initializing /mr_clusters endpoint"
 curl -v -X POST -d @${JSON} -H "Content-Type: application/json" http://$1:8080/webapi/mr_clusters
 
 # CREATING: DR feed
+echo $'\nInitializing /feeds endpoint'
 JSON=/tmp/feed.json
 cat << EOF > $JSON
 {
@@ -67,6 +67,30 @@ cat << EOF > $JSON
         ]
 }
 EOF
-echo "Initializing /feeds endpoint"
 curl -v -X POST -d @${JSON} -H "Content-Type: application/json" http://$1:8080/webapi/feeds
+
+# CREATING: MR Topic
+echo $'\nInitializing /topic endpoint'
+JSON=/tmp/topic.json
+cat << EOF > $JSON
+{
+"topicName":"test1",
+"topicDescription":"PM Mapper - VES Event",
+"owner":"pmmapper"
+}
+EOF
+curl -v -X POST -d @${JSON} -H "Content-Type: application/json" http://$1:8080/webapi/topics
+
+# CREATING: MR Client
+echo $'\nInitializing /mr_clients endpoint'
+JSON=/tmp/mrclients.json
+cat << EOF > $JSON
+{
+"fqtn": "topic.org.onap.dmaap.mr.test1",
+"dcaeLocationName": "csit-pmmapper",
+"clientRole": "org.onap.dmaap.mr.topic",
+"action": [ "pub", "view" ]
+}
+EOF
+curl -v -X POST -d @${JSON} -H "Content-Type: application/json" http://$1:8080/webapi/mr_clients
 sleep 5
\ No newline at end of file
index 2924bd2..18d8237 100644 (file)
@@ -122,6 +122,7 @@ CBS_IP=$(docker inspect '--format={{range .NetworkSettings.Networks}}{{.IPAddres
 sed -i 's/CBSIP/'$CBS_IP'/g' docker-compose.yml
 sed -i 's/BUSIP/'$DMAAPBC_IP'/g' docker-compose.yml
 sed -i 's/DRNODEIP/'$DR_NODE_IP'/g' docker-compose.yml
+sed -i 's/DMAAPMRIP/'$DMAAP_MR_IP'/g' docker-compose.yml
 docker-compose up -d
 
 # Wait for initialization of Docker container for 3GPP PM Mapper
@@ -143,6 +144,7 @@ docker exec pmmapper /bin/sh -c "cat /var/log/ONAP/dcaegen2/services/pm-mapper/p
 cat /tmp/pmmapper.log
 docker exec buscontroller /bin/sh -c "cat /opt/app/dmaapbc/logs/ONAP/application.log"
 curl -k https://$DR_PROV_IP:8443/internal/prov
+curl http://${DMAAP_MR_IP}:3904/events/topic.org.onap.dmaap.mr.test1/CG1/C1?timeout=1000
 
 #Pass any variables required by Robot test suites in ROBOT_VARIABLES
-ROBOT_VARIABLES="-v CONSUL_IP:${CONSUL_IP} -v DR_PROV_IP:${DR_PROV_IP} -v DMAAPBC_IP:${DMAAPBC_IP} -v DMAAP_MR_IP:${DMAAP_MR_IP} -v CBS_IP:${CBS_IP} -v PMMAPPER_IP:${PMMAPPER_IP} -v DR_NODE_IP:${DR_NODE_IP}"
\ No newline at end of file
+ROBOT_VARIABLES="-v DMAAP_MR_IP:${DMAAP_MR_IP} -v CONSUL_IP:${CONSUL_IP} -v DR_PROV_IP:${DR_PROV_IP} -v DMAAPBC_IP:${DMAAPBC_IP} -v DMAAP_MR_IP:${DMAAP_MR_IP} -v CBS_IP:${CBS_IP} -v PMMAPPER_IP:${PMMAPPER_IP} -v DR_NODE_IP:${DR_NODE_IP}"
\ No newline at end of file
diff --git a/tests/dcaegen2-pmmapper/pmmapper/assets/A_meas_result.xml b/tests/dcaegen2-pmmapper/pmmapper/assets/A_meas_result.xml
deleted file mode 100644 (file)
index 269fdf1..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<measCollecFile xmlns="http://www.3gpp.org/ftp/specs/archive/32_series/32.435#measCollec">
-    <fileHeader dnPrefix="some dnPrefix" vendorName="FooBar Ltd"
-                fileFormatVersion="32.435 V10.0">
-        <fileSender localDn="Dublin"/>
-        <measCollec beginTime="2018-10-02T12:00:00+01:00"/>
-    </fileHeader>
-    <measData>
-        <managedElement swVersion="r0.1" localDn="Dublin"/>
-        <measInfo measInfoId="some measInfoId">
-            <job jobId="jobId"/>
-            <granPeriod endTime="2018-10-02T12:15:00Z" duration="PT900S"/>
-            <repPeriod duration="PT900S"/>
-            <measTypes>a b c</measTypes>
-            <measValue measObjLdn="objLdn">
-                <measResults>76 27 98</measResults>
-                <suspect>false</suspect>
-            </measValue>
-        </measInfo>
-    </measData>
-    <fileFooter>
-        <measCollec endTime="2018-10-02T12:15:00+01:00"/>
-    </fileFooter>
-</measCollecFile>
index 311ee43..cbb77f9 100644 (file)
@@ -17,7 +17,6 @@ ${DELIVERY_ENDPOINT}                     /delivery
 ${HEALTHCHECK_ENDPOINT}                  /healthcheck
 ${NO_MANAGED_ELEMENT_PATH}               %{WORKSPACE}/tests/dcaegen2-pmmapper/pmmapper/assets/A_no_managed_element.xml
 ${NO_MEASDATA_PATH}                      %{WORKSPACE}/tests/dcaegen2-pmmapper/pmmapper/assets/A_no_measdata.xml
-${MEASD_RESULT_PATH}                     %{WORKSPACE}/tests/dcaegen2-pmmapper/pmmapper/assets/A_meas_result.xml
 ${VALID_METADATA_PATH}                   %{WORKSPACE}/tests/dcaegen2-pmmapper/pmmapper/assets/valid_metadata.json
 ${DIFF_VENDOR_METADATA}                  %{WORKSPACE}/tests/dcaegen2-pmmapper/pmmapper/assets/diff_vendor_metadata.json
 ${CLI_EXEC_CLI_PM_LOG}                   docker exec pmmapper /bin/sh -c "tail -5 /var/log/ONAP/dcaegen2/services/pm-mapper/pm-mapper_output.log"
@@ -29,6 +28,7 @@ ${CLI_EXEC_PM_FILTER}                    curl 'http://${CONSUL_IP}:8500/v1/kv/pm
 ${CLI_RESTART_PMMAPPER}                  docker restart pmmapper
 ${CLI_DELETE_SUB1}                       curl -i -X DELETE -H "Content-Type:application/vnd.dmaap-dr.subscription" -H "X-DMAAP-DR-ON-BEHALF-OF:DGL" -k https://localhost:8443/subs/1
 ${CLI_DELETE_SUB2}                       curl -i -X DELETE -H "Content-Type:application/vnd.dmaap-dr.subscription" -H "X-DMAAP-DR-ON-BEHALF-OF:DGL" -k https://localhost:8443/subs/2
+${CLI_MESSAGE_ROUTER_TOPIC}              curl http://${DMAAP_MR_IP}:3904/events/topic.org.onap.dmaap.mr.test1/CG1/C1?timeout=2000
 
 *** Test Cases ***
 
@@ -43,7 +43,6 @@ Verify 3GPP PM Mapper Subscribes to Data Router
     CheckLog                        ${CLI_EXEC_CLI_SUBS}             3gpppmmapper
     CheckLog                        ${CLI_EXEC_CLI_SUBS}             "privilegedSubscriber":true
 
-
 Verify Health Check returns 200 when a REST GET request to healthcheck url
     [Tags]                          PM_MAPPER_03
     [Documentation]                 Verify Health Check returns 200 when a REST GET request to healthcheck url
@@ -71,56 +70,46 @@ Verify 3GPP PM Mapper responds appropriately when invalid metadata is provided
     VerifyResponse                  ${resp.content}                 Malformed Metadata.
     CheckLog                        ${CLI_EXEC_CLI_PM_LOG}          RequestID=2
 
-Verify 3GPP PM Mapper received pushed PM data from Data Router
+Verify 3GPP PM Mapper received pushed PM data from data router and publishes to message router.
     [Tags]                          PM_MAPPER_06
-    [Documentation]                 Verify 3GPP PM Mapper received pushed PM data from Data Router
+    [Documentation]                 Verify 3GPP PM Mapper received pushed PM data from data router and publishes to message router.
     [Timeout]                       1 minute
     ${PM_DATA}=                     Get File                         ${PM_DATA_FILE_PATH}
     ${valid_metatdata}              Get File                         ${VALID_METADATA_PATH}
     ${resp}=                        PutCall                          ${PUBLISH_NODE_URL}     3    ${PM_DATA}    ${PUBLISH_CONTENT_TYPE}    ${valid_metatdata.replace("\n","")}    pmmapper
     VerifyResponse                  ${resp.status_code}              204
     Sleep                           10s
-    CheckLog                        ${CLI_EXEC_CLI_PM_LOG}           Event Processed
+    CheckLog                        ${CLI_EXEC_CLI_PM_LOG}           Successfully published VES events to messagerouter
     CheckLog                        ${CLI_EXEC_CLI_PM_LOG}           RequestID=3
-
-Verify that PM Mapper logs successful when a file that contains measdata is provided
-    [Tags]                          PM_MAPPER_07
-    [Documentation]                 Verify that PM Mapper logs successful when a file that contains measdata is provided
-    [Timeout]                       1 minute
-    ${valid_meas_result_content}=   Get File                         ${MEASD_RESULT_PATH}
-    ${valid_metatdata}              Get File                         ${VALID_METADATA_PATH}
-    ${headers}=                     Create Dictionary                X-ONAP-RequestID=4  Content-Type=application/xml  X-DMAAP-DR-PUBLISH-ID=4  X-DMAAP-DR-META=${valid_metatdata.replace("\n","")}
-    ${resp}=                        Put Request                      mapper_session  ${DELIVERY_ENDPOINT}/A_meas_result.xml    data=${valid_meas_result_content}    headers=${headers}
-    VerifyResponse                  ${resp.status_code}              200
-    CheckLog                        ${CLI_EXEC_CLI_PM_LOG}           XML validation successful
-    CheckLog                        ${CLI_EXEC_CLI_PM_LOG}           RequestID=4
+    Sleep                           10s
+    CheckLog                        ${CLI_MESSAGE_ROUTER_TOPIC}      perf3gpp_gnb-Ericsson_pmMeasResult
 
 Verify that PM Mapper logs successful when a file that contains no measdata is provided
-    [Tags]                          PM_MAPPER_08
+    [Tags]                          PM_MAPPER_07
     [Documentation]                 Verify that PM Mapper logs successful when a file that contains no measdata is provided
     [Timeout]                       1 minute
     ${valid_no_measdata_content}=   Get File                         ${NO_MEASDATA_PATH}
     ${valid_metatdata}              Get File                         ${VALID_METADATA_PATH}
-    ${headers}=                     Create Dictionary                X-ONAP-RequestID=5  Content-Type=application/xml  X-DMAAP-DR-PUBLISH-ID=3  X-DMAAP-DR-META=${valid_metatdata.replace("\n","")}
+    ${headers}=                     Create Dictionary                X-ONAP-RequestID=4  Content-Type=application/xml  X-DMAAP-DR-PUBLISH-ID=3  X-DMAAP-DR-META=${valid_metatdata.replace("\n","")}
     ${resp}=                        Put Request                      mapper_session  ${DELIVERY_ENDPOINT}/A_no_measdata.xml    data=${valid_no_measdata_content}    headers=${headers}
     VerifyResponse                  ${resp.status_code}              200
-    CheckLog                        ${CLI_EXEC_CLI_PM_LOG}           XML validation successful
-    CheckLog                        ${CLI_EXEC_CLI_PM_LOG}           RequestID=5
+    CheckLog                        ${CLI_EXEC_CLI_PM_LOG}           MeasData is empty
+    CheckLog                        ${CLI_EXEC_CLI_PM_LOG}           RequestID=4
 
 Verify that PM Mapper throws Event failed validation against schema error when no managed element content is provided
-    [Tags]                          PM_MAPPER_09
+    [Tags]                          PM_MAPPER_08
     [Documentation]                 Verify 3gpp pm mapper responds with an error when no managed element content is provided
     [Timeout]                       1 minute
     ${no_managed_element_content}=  Get File                         ${NO_MANAGED_ELEMENT_PATH}
     ${valid_metatdata}              Get File                         ${VALID_METADATA_PATH}
-    ${headers}=                     Create Dictionary                X-ONAP-RequestID=6  Content-Type=application/xml  X-DMAAP-DR-PUBLISH-ID=2  X-DMAAP-DR-META=${valid_metatdata.replace("\n","")}
+    ${headers}=                     Create Dictionary                X-ONAP-RequestID=5  Content-Type=application/xml  X-DMAAP-DR-PUBLISH-ID=2  X-DMAAP-DR-META=${valid_metatdata.replace("\n","")}
     ${resp}=                        Put Request                      mapper_session  ${DELIVERY_ENDPOINT}/A_no_managed_element.xml    data=${no_managed_element_content}    headers=${headers}
     VerifyResponse                  ${resp.status_code}              200
     CheckLog                        ${CLI_EXEC_CLI_PM_LOG}           XML validation failed
-    CheckLog                        ${CLI_EXEC_CLI_PM_LOG}           RequestID=6
+    CheckLog                        ${CLI_EXEC_CLI_PM_LOG}           RequestID=5
 
 Verify that PM Mapper correctly identifies a file that should not be mapped based on metadata filtering.
-    [Tags]                          PM_MAPPER_10
+    [Tags]                          PM_MAPPER_09
     [Documentation]                 Verify that PM Mapper correctly identifies a file that should not be mapped based on metadata filtering.
     [Timeout]                       1 minute
     ${cli_cmd_output}=              Run Process                      ${CLI_EXEC_VENDOR_FILTER}                   shell=yes
@@ -129,12 +118,12 @@ Verify that PM Mapper correctly identifies a file that should not be mapped base
     Should Be Equal As Strings      ${cli_cmd_output.rc}             0
     ${cli_cmd_output}=              Run Process                      ${CLI_RESTART_PMMAPPER}                     shell=yes
     Sleep                           10s
-    ${valid_meas_result_content}=   Get File                         ${MEASD_RESULT_PATH}
+    ${pm_data}=                     Get File                         ${PM_DATA_FILE_PATH}
     ${diff_vendor_metadata}=        Get File                         ${DIFF_VENDOR_METADATA}
-    ${headers}=                     Create Dictionary                X-ONAP-RequestID=7  Content-Type=application/xml  X-DMAAP-DR-PUBLISH-ID=2  X-DMAAP-DR-META=${diff_vendor_metadata.replace("\n","")}
-    ${resp}=                        Put Request                      mapper_session  ${DELIVERY_ENDPOINT}/A_meas_result.xml    data=${valid_meas_result_content}    headers=${headers}
+    ${headers}=                     Create Dictionary                X-ONAP-RequestID=6  Content-Type=application/xml  X-DMAAP-DR-PUBLISH-ID=2  X-DMAAP-DR-META=${diff_vendor_metadata.replace("\n","")}
+    ${resp}=                        Put Request                      mapper_session  ${DELIVERY_ENDPOINT}/A20181002.0000-1000-0015-1000_5G.xml    data=${pm_data}    headers=${headers}
     CheckLog                        ${CLI_EXEC_CLI_PM_LOG}           Metadata does not match any filters,
-    CheckLog                        ${CLI_EXEC_CLI_PM_LOG}           RequestID=7
+    CheckLog                        ${CLI_EXEC_CLI_PM_LOG}           RequestID=6
 
 
 *** Keywords ***