From a800ace09fe6ebe64cc455e4ba5ccb3abcfd79fc Mon Sep 17 00:00:00 2001 From: Tomasz Wrobel Date: Wed, 4 Aug 2021 12:29:37 +0200 Subject: [PATCH] Add pm-mapper local development tools Issue-ID: DCAEGEN2-2879 Signed-off-by: Tomasz Wrobel Change-Id: I1fc872230d1c15c1b70439b8cb69d9053f716dfb --- tools/development/Makefile | 38 +++++++ tools/development/README.md | 80 ++++++++++++++ tools/development/certs/cert.jks | Bin 0 -> 4654 bytes tools/development/certs/jks.pass | 1 + tools/development/certs/trust.jks | Bin 0 -> 1413 bytes tools/development/certs/trust.pass | 1 + tools/development/clean-environment.sh | 21 ++++ tools/development/config-dmaap.sh | 36 +++++++ tools/development/docker-compose.yml | 116 +++++++++++++++++++++ tools/development/dr-mount/node.properties | 87 ++++++++++++++++ tools/development/dr-mount/provserver.properties | 60 +++++++++++ tools/development/env/containers_ip | 26 +++++ tools/development/files-publisher/Dockerfile | 9 ++ .../files/A20181002.0000-1000-0015-1000_5G.xml | 88 ++++++++++++++++ .../files/A20181002.0000-1000-0015-1000_5G.xml.gz | Bin 0 -> 959 bytes .../files-publisher/files/C20190329.0000-0015.xml | 49 +++++++++ .../files/C20190329.0000-0015.xml.gz | Bin 0 -> 584 bytes ...01+020024C202007171207+0200-1215+0200_45678.xml | 88 ++++++++++++++++ ...020024C202007171207+0200-1215+0200_45678.xml.gz | Bin 0 -> 969 bytes tools/development/message-router/mrserver.js | 49 +++++++++ tools/development/resources/addSubscriber.json | 20 ++++ tools/development/resources/cbs.json | 7 ++ tools/development/resources/config.json | 35 +++++++ tools/development/resources/createFeed.json | 18 ++++ tools/development/restart-pm-mapper.sh | 21 ++++ tools/development/run-pm-mapper.sh | 31 ++++++ tools/development/send-meas-collec.sh | 22 ++++ tools/development/send-meas-data.sh | 22 ++++ tools/development/setup-local.sh | 46 ++++++++ tools/development/subscribe-pm-mapper.sh | 21 ++++ 30 files changed, 992 insertions(+) create mode 100644 tools/development/Makefile create mode 100644 tools/development/README.md create mode 100644 tools/development/certs/cert.jks create mode 100644 tools/development/certs/jks.pass create mode 100644 tools/development/certs/trust.jks create mode 100644 tools/development/certs/trust.pass create mode 100755 tools/development/clean-environment.sh create mode 100755 tools/development/config-dmaap.sh create mode 100644 tools/development/docker-compose.yml create mode 100644 tools/development/dr-mount/node.properties create mode 100644 tools/development/dr-mount/provserver.properties create mode 100755 tools/development/env/containers_ip create mode 100644 tools/development/files-publisher/Dockerfile create mode 100644 tools/development/files-publisher/files/A20181002.0000-1000-0015-1000_5G.xml create mode 100644 tools/development/files-publisher/files/A20181002.0000-1000-0015-1000_5G.xml.gz create mode 100644 tools/development/files-publisher/files/C20190329.0000-0015.xml create mode 100644 tools/development/files-publisher/files/C20190329.0000-0015.xml.gz create mode 100644 tools/development/files-publisher/files/PM202007171301+020024C202007171207+0200-1215+0200_45678.xml create mode 100644 tools/development/files-publisher/files/PM202007171301+020024C202007171207+0200-1215+0200_45678.xml.gz create mode 100644 tools/development/message-router/mrserver.js create mode 100644 tools/development/resources/addSubscriber.json create mode 100644 tools/development/resources/cbs.json create mode 100644 tools/development/resources/config.json create mode 100644 tools/development/resources/createFeed.json create mode 100755 tools/development/restart-pm-mapper.sh create mode 100755 tools/development/run-pm-mapper.sh create mode 100755 tools/development/send-meas-collec.sh create mode 100755 tools/development/send-meas-data.sh create mode 100755 tools/development/setup-local.sh create mode 100755 tools/development/subscribe-pm-mapper.sh diff --git a/tools/development/Makefile b/tools/development/Makefile new file mode 100644 index 0000000..fc5cf39 --- /dev/null +++ b/tools/development/Makefile @@ -0,0 +1,38 @@ +# ============LICENSE_START======================================================= +# Copyright (C) 2021 NOKIA +# ================================================================================ +# 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========================================================= + +setup-all: setup-local run-pm-mapper config-dmaap subscribe-pm-mapper + +test: + @echo test + +setup-local: + @./setup-local.sh + +run-pm-mapper: + @./run-pm-mapper.sh + +config-dmaap: + @./config-dmaap.sh + +subscribe-pm-mapper: + @./subscribe-pm-mapper.sh + +clean-env: + @./clean-environment.sh + +list-files: + @ls files-publisher/files diff --git a/tools/development/README.md b/tools/development/README.md new file mode 100644 index 0000000..8c3dad8 --- /dev/null +++ b/tools/development/README.md @@ -0,0 +1,80 @@ +#PM-Mapper local development +This projects is based on pm-mapper CSIT aligned for local development + +##Run pm-mapper locally +To run pm-mapper execute following scripts +``` +make setup-all +``` +To change pm-mapper image go to script 'run-pm-mapper.sh' and edit': +``` +IMAGE=onap/org.onap.dcaegen2.services.pm-mapper:latest +``` + +To clean environment (remove all containers): +``` +make clean-env +``` + +##Send sample file + +1. To list avaiable files use: +``` +make list-files +``` + +2 a. To send MeasDataFile Enter to files publisher containers and go to files directory: +``` +./send-meas-data.sh +``` +E.g: +``` +./send-meas-data.sh C20190329.0000-0015.xml.gz +``` +MeasDataFile Examples: + +- C20190329.0000-0015.xml.gz +- PM202007171301+020024C202007171207+0200-1215+0200_45678.xml.gz + +2 b. To send MeasCollec file use: +``` +./send-meas-collec.sh A20181002.0000-1000-0015-1000_5G.xml +``` + +MeasCollec Examples: + +- A20181002.0000-1000-0015-1000_5G.xml.gz + +## HINTS: +File names must start with 'A', 'C' or 'PM' + +Files xml should be zipped by gzip. To send raw xml a small alignment is necessary: +Go to './send-meas-data.sh' or './send-meas-collec.sh' and change endpoint: +``` +https://dmaap-dr-node:8443/publish/1/Apm_TEST_REQUEST.xml.gz +``` +to: +``` +https://dmaap-dr-node:8443/publish/1/Apm_TEST_REQUEST.xml +``` + +To gzip file use: +``` +gzip -k +``` + +##Container logs: + +### PM-Mapper logs: +``` +docker logs -f pmmapper +``` + +### Message-Router simulator logs (output of processed messages by PM-Mapper): +``` +docker logs -f mr-simulator +``` + + +#####Info: +Certificate validity - 2023 August diff --git a/tools/development/certs/cert.jks b/tools/development/certs/cert.jks new file mode 100644 index 0000000000000000000000000000000000000000..33dc9a31aa5574aa13620ca9b45b2fd583fef227 GIT binary patch literal 4654 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 literal 0 HcmV?d00001 diff --git a/tools/development/certs/jks.pass b/tools/development/certs/jks.pass new file mode 100644 index 0000000..ae8f7e7 --- /dev/null +++ b/tools/development/certs/jks.pass @@ -0,0 +1 @@ +Er1tmip;T4w[%1}YE?x{fN9v \ No newline at end of file diff --git a/tools/development/certs/trust.jks b/tools/development/certs/trust.jks new file mode 100644 index 0000000000000000000000000000000000000000..679c95a5c2c82666c1b78ff3786b5b12fe809d7e GIT binary patch literal 1413 zcmb7DYdF&j9NtyOZA)s_5Tc#skpHaJ6m3@IxP&wlidC2rsU!CXJGKzHNp-a=}&;N(<@> zIg83Y2{`{XBkqF8o-1r>Vg{>?x!MoJ8Msfz5P#NrPJOPxDh=tH{PuRgR=qJyaeF#M z>^10niFzK_-;mRKt8>ODRc1)d_sKGHlP3RhXzXfUU*~E?0NKbXF=HccJ@r0Z) zMdVRtLP&}Cdgg2@ti?|^d9*YuKazOdYpJVGMXM5bUMNC!wK*rxr@7OVpetRu2yc)Q*-9)89BkeeH*cq#5DLo24>V z-WQCMI6y%<4$0Y>H1=t*XRs%S$d8^>r+-1@O9@rc%J&g;1BPlxm0@K~&`6!_0Lc^9 zit0@!hoBfLm8!q-vnXi)7>m(GEZr@*V7w@$wcgrY1CV5vtRChY_So5PTR-O~35{UV zWCD}tQ&~2&!oFyW3$^i&O7({?83AHX!HeF+zqXXk$fbhg&|Ff@RQ{ci(u%b*ShZ@}OHbQ1u?mVn$6V4DTu{20T{ zR&2%)3?l1vGpoZ29csuJKZd!`_;h#Iw##zs8sbDkpgzGwvYI;t%?(w!x~`@~Mr3Ff z#l_fld5JSH^rS1f{7g3WfJb)Q!nz!**Q^`JY+WGdJ6(G*WV&+wV|7RId>_|N?3?rH zF_4xQ-oJ}<)Ixye&&LV83xnQ6q;H6_%|?UWG-@T}5-SyT(IS5&3;%DMh46M%nLE){-aKos`qXVW2wbt&J3UISZ{Pn_VplZcmVLUIJ9lavr2VLP>85wX44TQ(8XP`CU*uAP z^FE)6mQG!NQtsesAWhucd~XeTzl%3Du9ZD!`crxxHQ + + + + + + + + + + + + + attTCHSeizures + succTCHSeizures + attImmediateAssignProcs + succImmediateAssignProcs + + 234 + 345 + 567 + 789 + + + 890 + 901 + 123 + 234 + + + 456 + 567 + 678 + 789 + true + + + + + + + attTCHSeizures1 + succTCHSeizures2 + attImmediateAssignProcs3 + succImmediateAssignProcs4 + + 4 + 86,87,2,6,77,96,75,33,24 + 40 + 90 + false + + + + + + + attTCHSeizures5 + succTCHSeizures6 + attImmediateAssignProcs7 + succImmediateAssignProcs8 + + 238 + 344 + 563 + 787 + + + 898 + 905 + 127 + 238 + + + 454 + 569 + 672 + 785 + true + + + + + + + diff --git a/tools/development/files-publisher/files/A20181002.0000-1000-0015-1000_5G.xml.gz b/tools/development/files-publisher/files/A20181002.0000-1000-0015-1000_5G.xml.gz new file mode 100644 index 0000000000000000000000000000000000000000..32865fc16376cad6e412630f42c7067228fd7963 GIT binary patch literal 959 zcmV;w13>&AiwFqAxvg9T06{V^F*q?WFfuMMFfcGJF)%PNEif=KH7zkPFfd;=M=p46 zYyiDiZFAB<5dLg`MJ9eUkav=F2#%s?X9{)-I(~DGWC_u{P3}^tzuwIy7$7OF7G)@N zw|o2Cvv1jS_<9>h!X4x^OcPgB`-&();-!9=1g`jbG3nXj>(K>2)}!n`0=foZ0=v(^ z6&Y-qyrq#StaDho;uHvdM;IBWQ3M`C$UbU0K#ZzNJP9KZ5H6vvxMnQ7l;zE4)7OJ6 z>!*1juUID23_L26+*^ltAnV#U3V8?=SA9b_Up8Rk1xLEv((nLnqjM}xQB?Ws^m^{C zAtt>rp^PLRh!=SNl5*j7>XDM^8OR9FMi56AFNP}&&_^IX{fx zZvse|tCp8nx6ct4Z;voE(L20z&tRMu3Cj^ln!-3u$_j9&@5j9l%b=%9Q<9JX{Pz*W zCFJd_R$x(8q6M!Tl#4RIZ7+CB2*P9$mabshl%AsZ6m_8*mx_YlSBi$e+-fK{5h}NF zU3C@U0fV!;P+-=s$r2*&fUrQ9Fq(HEvfuOODp{qt!QJjYW6xBu;ex#;T23*LHfjA zLwU#Pc@*tqingP)DLRVUridkVOp$wdZi>z^MZ+8%Q{(|_Qyf@!XA~PDEy_nD8?n5A zpxi;wy^g(>PGGVcH=&i(`~6X#eZn_NP}umvU|8y z^(Wb%XjN-aDK(Z}KlLnGyNe=#+lCDeIDJva8 zl?U{71e|XD?_yq&h&I)HcyO<*8%0yxk4_Q&|JLoJQ^fqUF*5kOIb!|gAhG}5B(b|D ziP1Gl^sZ;1b?(P>$0V`4CW+ZKNm|2>dw6b&9h1c9nj}uwB+$z?X00141&)Wb1 literal 0 HcmV?d00001 diff --git a/tools/development/files-publisher/files/C20190329.0000-0015.xml b/tools/development/files-publisher/files/C20190329.0000-0015.xml new file mode 100644 index 0000000..9c1b985 --- /dev/null +++ b/tools/development/files-publisher/files/C20190329.0000-0015.xml @@ -0,0 +1,49 @@ + + + + + + + + + + + + z1 a1 zz1 b1 + + 1 11 111 1111 + false + + + + + + + + + + attTCHSeizures succTCHSeizures2 zz2 b2 + + 2 22 222 2222 + false + + + + + + + + + + z3 a3 zz3 succImmediateAssignProcs8 + + 3 33 333 3333 + false + + + + + + + diff --git a/tools/development/files-publisher/files/C20190329.0000-0015.xml.gz b/tools/development/files-publisher/files/C20190329.0000-0015.xml.gz new file mode 100644 index 0000000000000000000000000000000000000000..bf981d55ecfbd92855d0536b4943a596a88005c9 GIT binary patch literal 584 zcmV-O0=NAiiwFpzMeJYz14A+}F*z_ZGC3|VFfcGJFfcJSE_iKh0M(UIYuhjo$KU%Y zg!VWZSrUa%lEAhsG*Gs(ggo?R$o3^wu`MIXO`A_YS&3q&4s8M}V@8T3=ls7r-w)p) z2Vus-iiyksJ?B|rhWNqS@|uwKdfnrzvg|3nB1>BmQ$k{h(8+^*0>b*g4QL6*?Rr<7 zeF{=|bb;J8SUSlY5GiPs7Izw!@_C4j%3*)R=n0Bc=^rA8A)YApRcLf;Q|txWSFJTs zIu~{U+DKIl@zyI^&|b9jxc549s?MwN%T|0`#hENHX<3GNQ4A|t%w=uHBHF*C(PhNu zlwC)W8=oWUe#4Uk(xkP!6Lelle=n@GFUYL-5$mW&G0IdTvT+eYqMewg#ZsZLnWjVB z>}e}gZ~v%b#Lmi_P@YXnKdJdXg&Pg zxd?xCA2d}>u^lZ%W?(?V@h}>)52sZc63P%jIIR0w7_bfo>>Lc(dl;Nb0ehPQb~*(| zO`B>9Yv + + + + + + + + + + + + + attTCHSeizures + succTCHSeizures + attImmediateAssignProcs + succImmediateAssignProcs + + 234 + 345 + 567 + 789 + + + 890 + 901 + 123 + 234 + + + 456 + 567 + 678 + 789 + true + + + + + + + attTCHSeizures1 + succTCHSeizures2 + attImmediateAssignProcs3 + succImmediateAssignProcs4 + + 4 + 86,87,2,6,77,96,75,33,24 + 40 + 90 + false + + + + + + + attTCHSeizures5 + succTCHSeizures6 + attImmediateAssignProcs7 + succImmediateAssignProcs8 + + 238 + 344 + 563 + 787 + + + 898 + 905 + 127 + 238 + + + 454 + 569 + 672 + 785 + true + + + + + + + diff --git a/tools/development/files-publisher/files/PM202007171301+020024C202007171207+0200-1215+0200_45678.xml.gz b/tools/development/files-publisher/files/PM202007171301+020024C202007171207+0200-1215+0200_45678.xml.gz new file mode 100644 index 0000000000000000000000000000000000000000..9d1add19a893677f3f7030ae89daf4659cdcd385 GIT binary patch literal 969 zcmV;)12+60iwFpzMeJYz15iyeFfuSOH!(LcGcYkLFfuSOGBiUnFfuSOH!(LcGB7tQ zFfuSOEip1NH7hVOFfd;g*vB_LJ+lE|kFd_}@WY8#O#WR=6xS0+Hk6_s?vlLP{Z zklk{$1W30-<2V6=U`+VRO3Lg~)7I;C*NU>N%kxNE%1jd(1VW>Eu!EwS&X+W|%UVUcIz77)d39+xX%!1Ru8b#!BH z^e%NBuiteO?~Ua^+wrsQX>eXZUo#oYCz4=%lPh+P&65HncS{$L_zL!tIiSLM`WU0q zUwL-JmVDP$b${avg5R4EA2QS0BcmFRa?0*d8$2Xok#ALbH}`aXRz8v8TNL4Cy`bnB zFNf?6IKwURUd}DIJjVx`WVktHNTr;QzRV#0UgRJKS~J{YWhz5a1i^dFtZK2FG=(sx z5S|*^Mj_bXeQ2SUpa~>z%HYZ(AZ+Ftujdmwd z_w7!;#pBtX^xB;4+5L7W+XID8_8s^Ak*p?&qAV72DDwgaTJ!HX8FlA=%6ZO0q-m6i z=X%OR_@kjmY0XgPualvSpG;Bai8;zTHA(f}nWYXDCv`utd*ysbcO&t3fxCUxbyQRB ztB#|3c(+x{Qq49iWT@Ac8+v7KXxIFbCgOaeZxy!n>j>NaNn!U-6t;7!u-y+XzilbE zD!)hMYxj>-CdYl9_CLD(9&ysskGx|T=8<=dw|M;M@_QsZ+5H2>b60-NW05>S)49rT r{eO2R8Po?kE+K!Bs;cwPq5NVWIQ=w8yJgA~_3+|9vF_yK$qxVko>a>e literal 0 HcmV?d00001 diff --git a/tools/development/message-router/mrserver.js b/tools/development/message-router/mrserver.js new file mode 100644 index 0000000..ace7f9b --- /dev/null +++ b/tools/development/message-router/mrserver.js @@ -0,0 +1,49 @@ +/* + * ============LICENSE_START======================================================= + * Copyright (C) 2021 Nokia. + * ================================================================================ + * 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========================================================= + */ +var httpServer = function () { + var http = require('http'), + + start = function (port) { + var server = http.createServer(function (req, res) { + processHttpRequest(req, res); + }); + server.listen(port, function () { + console.log('Listening on ' + port + '...'); + }); + }, + + processHttpRequest = function (req, res) { + res.writeHead(200, {'Content-Type': 'text/plain'}); + console.log('Received message'); + req.on('data', chunk => { + console.log(`-----MESSAGE_CONTENT_BEGIN-----\n ${chunk}`); + console.log('-----MESSAGE_CONTENT_END-----'); + }); + setTimeout(() => { + res.end('Published' + ' Successfully.\n'); + }, 100) + }; + + return { + start: start + } +}(); + +httpServer.start(3904); diff --git a/tools/development/resources/addSubscriber.json b/tools/development/resources/addSubscriber.json new file mode 100644 index 0000000..0666a7d --- /dev/null +++ b/tools/development/resources/addSubscriber.json @@ -0,0 +1,20 @@ +{ + "delivery":{ + "url":"http://dcae-pm-mapper:8081/delivery", + "user":"username", + "password":"password", + "use100":true + }, + "follow_redirect":false, + "metadataOnly":false, + "suspend":false, + "groupid":0, + "links":{ + "self": "https://dmaap-dr-prov/subscribe/1", + "log": "https://dmaap-dr-prov/feedlog/1", + "feed": "https://dmaap-dr-prov/feed/1" + }, + "subscriber":"pmmapper", + "decompress":true, + "privilegedSubscriber": true + } \ No newline at end of file diff --git a/tools/development/resources/cbs.json b/tools/development/resources/cbs.json new file mode 100644 index 0000000..5e0b943 --- /dev/null +++ b/tools/development/resources/cbs.json @@ -0,0 +1,7 @@ +{ + "ID": "cbs", + "Name": "config_binding_service", + "Tags": ["cbs"], + "Address": "", + "Port": 10000 +} \ No newline at end of file diff --git a/tools/development/resources/config.json b/tools/development/resources/config.json new file mode 100644 index 0000000..3f1009d --- /dev/null +++ b/tools/development/resources/config.json @@ -0,0 +1,35 @@ +{ + "pm-mapper-filter": { "filters":[]}, + "key_store_path": "/opt/app/pm-mapper/etc/certs/cert.jks", + "key_store_pass_path": "/opt/app/pm-mapper/etc/certs/jks.pass", + "trust_store_path": "/opt/app/pm-mapper/etc/certs/trust.jks", + "trust_store_pass_path": "/opt/app/pm-mapper/etc/certs/trust.pass", + "dmaap_dr_delete_endpoint": "https://dmaap-dr-node:8443/delete", + "dmaap_dr_feed_name": "1", + "aaf_identity": "aaf_admin@people.osaaf.org", + "aaf_password": "demo123456!", + "enable_http": true, + "streams_publishes": { + "dmaap_publisher": { + "type": "message_router", + "dmaap_info": { + "topic_url": "http://message-router:3904/events/org.onap.dmaap.mr.VES_PM", + "client_role": "org.onap.dcae.pmPublisher", + "location": "csit-pmmapper", + "client_id": "1562763644939" + } + } + }, + "streams_subscribes": { + "dmaap_subscriber": { + "type": "data_router", + "dmaap_info": { + "username": "username", + "password": "password", + "location": "csit-pmmapper", + "delivery_url": "http://dcae-pm-mapper:8081/delivery", + "subscriber_id": 1 + } + } + } +} \ No newline at end of file diff --git a/tools/development/resources/createFeed.json b/tools/development/resources/createFeed.json new file mode 100644 index 0000000..f93633d --- /dev/null +++ b/tools/development/resources/createFeed.json @@ -0,0 +1,18 @@ +{ + "name": "PM Mapper Feed", + "version": "m1.0", + "description": "PM Mapper Feed", + "business_description": "PM Mapper", + "suspend": false, + "deleted": false, + "changeowner": true, + "authorization": { + "classification": "unclassified", + "endpoint_addrs": [], + "endpoint_ids": [ + { + "password": "pmmapper", + "id": "pmmapper" + }] + } + } \ No newline at end of file diff --git a/tools/development/restart-pm-mapper.sh b/tools/development/restart-pm-mapper.sh new file mode 100755 index 0000000..3574dd5 --- /dev/null +++ b/tools/development/restart-pm-mapper.sh @@ -0,0 +1,21 @@ +#!/bin/bash +# ============LICENSE_START======================================================= +# Copyright (C) 2021 NOKIA +# ================================================================================ +# 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========================================================= +source ./env/containers_ip + +docker restart pmmapper + + diff --git a/tools/development/run-pm-mapper.sh b/tools/development/run-pm-mapper.sh new file mode 100755 index 0000000..0a01243 --- /dev/null +++ b/tools/development/run-pm-mapper.sh @@ -0,0 +1,31 @@ +#!/bin/bash +# ============LICENSE_START======================================================= +# Copyright (C) 2021 NOKIA +# ================================================================================ +# 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========================================================= +source ./env/containers_ip +IMAGE=onap/org.onap.dcaegen2.services.pm-mapper:latest + +docker run -d -p 8081:8081 \ + --mount type=bind,source="$PWD/certs",target="/opt/app/pm-mapper/etc/certs/" \ + -e "CONFIG_BINDING_SERVICE_SERVICE_HOST=$CBS_IP" \ + -e "CONFIG_BINDING_SERVICE_SERVICE_PORT=10000" \ + -e "HOSTNAME=pmmapper" \ + -e "PROCESSING_LIMIT_RATE=1" \ + -e "THREADS_MULTIPLIER=1" \ + -e "PROCESSING_THREADS_COUNT=1" \ + --add-host "dmaap-dr-node:$DR_NODE_IP" \ + --add-host "message-router:$NODE_IP" \ + --network=development_pmmapper-network \ + --name=pmmapper $IMAGE diff --git a/tools/development/send-meas-collec.sh b/tools/development/send-meas-collec.sh new file mode 100755 index 0000000..3358eda --- /dev/null +++ b/tools/development/send-meas-collec.sh @@ -0,0 +1,22 @@ +#!/bin/bash +# ============LICENSE_START======================================================= +# Copyright (C) 2021 NOKIA +# ================================================================================ +# 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========================================================= +PUBLISH_FILE_NAME=$1 + +MEAS_COLLEC_META_DATA_HEADER="X-DMAAP-DR-META:{\"productName\":\"gnb\",\"vendorName\":\"Nokia\",\"lastEpochMicrosec\":\"1538478000000\",\"sourceName\":\"oteNB5309\",\"startEpochMicrosec\":\"1538478900000\",\"timeZoneOffset\":\"UTC+05.00\",\"location\":\"ftpes://192.168.0.101:22/ftp/rop/A20161224.1045-1100.bin.gz\",\"compression\":\"gzip\",\"fileFormatType\":\"org.3GPP.32.435#measCollec\",\"fileFormatVersion\":\"V9\"}" +docker exec -it files-publisher curl -v -L -k -X PUT -H "Content-Type:application/octet-stream" -H "X-ONAP-RequestID:X-ONAP-RequestID=15" -H "${MEAS_COLLEC_META_DATA_HEADER}" -H "X-DMAAP-DR-ON-BEHALF-OF:pm-mapper" -H "Authorization:Basic cG1tYXBwZXI6cG1tYXBwZXI=" --data-binary @"/files/${PUBLISH_FILE_NAME}" https://dmaap-dr-node:8443/publish/1/Apm_TEST_REQUEST.xml.gz + + diff --git a/tools/development/send-meas-data.sh b/tools/development/send-meas-data.sh new file mode 100755 index 0000000..79e0939 --- /dev/null +++ b/tools/development/send-meas-data.sh @@ -0,0 +1,22 @@ +#!/bin/bash +# ============LICENSE_START======================================================= +# Copyright (C) 2021 NOKIA +# ================================================================================ +# 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========================================================= +PUBLISH_FILE_NAME=$1 + +MEAS_DATA_META_DATA_HEADER="X-DMAAP-DR-META:{\"productName\":\"gnb\",\"vendorName\":\"Nokia\",\"lastEpochMicrosec\":\"1538478000000\",\"sourceName\":\"oteNB5309\",\"startEpochMicrosec\":\"1538478900000\",\"timeZoneOffset\":\"UTC+05.00\",\"location\":\"ftpes://192.168.0.101:22/ftp/rop/A20161224.1045-1100.bin.gz\",\"compression\":\"gzip\",\"fileFormatType\":\"org.3GPP.28.532#measData\",\"fileFormatVersion\":\"V9\"}" +docker exec -it files-publisher curl -v -L -k -X PUT -H "Content-Type:application/octet-stream" -H "X-ONAP-RequestID:X-ONAP-RequestID=15" -H "${MEAS_DATA_META_DATA_HEADER}" -H "X-DMAAP-DR-ON-BEHALF-OF:pm-mapper" -H "Authorization:Basic cG1tYXBwZXI6cG1tYXBwZXI=" --data-binary @"/files/${PUBLISH_FILE_NAME}" https://dmaap-dr-node:8443/publish/1/Apm_TEST_REQUEST.xml.gz + + diff --git a/tools/development/setup-local.sh b/tools/development/setup-local.sh new file mode 100755 index 0000000..8dae91f --- /dev/null +++ b/tools/development/setup-local.sh @@ -0,0 +1,46 @@ +#!/bin/bash +# ============LICENSE_START======================================================= +# Copyright (C) 2021 NOKIA +# ================================================================================ +# 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========================================================= +SCRIPT_DIR=$PWD + +source ./env/containers_ip + +sed -i 's/datarouter-mariadb/'$MARIADB_IP'/g' $SCRIPT_DIR/dr-mount/provserver.properties + +docker-compose -f $SCRIPT_DIR/docker-compose.yml up -d mariadb consul cbs node files-publisher + +echo "Waiting for MariaDB to come up healthy..." +for i in {1..30}; do + mariadb_state=$(docker inspect --format='{{json .State.Health.Status}}' mariadb) + if [ $mariadb_state = '"healthy"' ] + then + break + else + sleep 2 + fi +done +[ "$mariadb_state" != '"healthy"' ] && echo "Error: MariaDB container state not healthy" && exit 1 + +docker-compose -f $SCRIPT_DIR/docker-compose.yml up -d datarouter-node datarouter-prov + +#Config Consul +curl --request PUT --data @$SCRIPT_DIR/resources/cbs.json http://$CONSUL_IP:8500/v1/agent/service/register +curl 'http://'$CONSUL_IP':8500/v1/kv/pmmapper?dc=dc1' -X PUT \ + -H 'Accept: application/json' \ + -H 'Content-Type: application/json' \ + -H 'X-Requested-With: XMLHttpRequest' \ + --data @$SCRIPT_DIR/resources/config.json + diff --git a/tools/development/subscribe-pm-mapper.sh b/tools/development/subscribe-pm-mapper.sh new file mode 100755 index 0000000..bbc775e --- /dev/null +++ b/tools/development/subscribe-pm-mapper.sh @@ -0,0 +1,21 @@ +#!/bin/bash +# ============LICENSE_START======================================================= +# Copyright (C) 2021 NOKIA +# ================================================================================ +# 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========================================================= +source ./env/containers_ip + +# PM Mapper subscriber on data router + +curl -v -X POST -H "Content-Type:application/vnd.dmaap-dr.subscription" -H "X-DMAAP-DR-ON-BEHALF-OF:pmmapper" --data-ascii @./resources/addSubscriber.json --post301 --location-trusted -k https://localhost:8443/subscribe/1 -- 2.16.6