From ce73ff52ce9aafb07d1aa4c28405328d83c816b9 Mon Sep 17 00:00:00 2001 From: Ronan Keogh Date: Thu, 23 Aug 2018 11:04:45 +0100 Subject: [PATCH] preliminary AAF changes for DR Change-Id: I526648c42f8205c0f09b3c077aa1203e336f4f5f Issue-ID: DMAAP-558 Signed-off-by: Ronan Keogh --- README.md | 114 ++++++----- datarouter-node/aaf_certs/org.onap.dmaap-dr.jks | Bin 0 -> 3659 bytes .../aaf_certs/org.onap.dmaap-dr.trust.jks | Bin 0 -> 1413 bytes datarouter-node/pom.xml | 4 +- datarouter-node/self_signed/cacerts.jks | Bin 1936 -> 0 bytes datarouter-node/self_signed/keystore.jks | Bin 2273 -> 0 bytes datarouter-node/self_signed/mykey.cer | Bin 921 -> 0 bytes datarouter-node/self_signed/nodekey.cer | Bin 921 -> 0 bytes .../org/onap/dmaap/datarouter/node/NodeUtils.java | 56 +++--- .../src/main/resources/misc/node.properties | 111 ---------- datarouter-node/src/main/resources/node.properties | 223 ++++++++++----------- datarouter-prov/aaf_certs/org.onap.dmaap-dr.jks | Bin 0 -> 3660 bytes .../aaf_certs/org.onap.dmaap-dr.trust.jks | Bin 0 -> 1413 bytes datarouter-prov/pom.xml | 4 +- datarouter-prov/self_signed/cacerts.jks | Bin 983 -> 0 bytes datarouter-prov/self_signed/keystore.jks | Bin 2272 -> 0 bytes datarouter-prov/self_signed/mykey.cer | Bin 921 -> 0 bytes .../dmaap/datarouter/provisioning/BaseServlet.java | 10 +- .../onap/dmaap/datarouter/provisioning/Main.java | 2 - .../datarouter/provisioning/ProxyServlet.java | 141 +++++++------ .../datarouter/provisioning/beans/NodeClass.java | 36 ++-- .../src/main/resources/misc/sql_init_01.sql | 12 +- .../src/main/resources/provserver.properties | 10 +- .../provisioning/IntegrationTestBase.java | 4 +- .../datarouter/provisioning/BaseServletTest.java | 3 +- .../provisioning/DRFeedsServletTest.java | 80 +++++--- .../datarouter/provisioning/FeedServletTest.java | 3 + .../datarouter/provisioning/GroupServletTest.java | 3 + .../provisioning/InternalServletTest.java | 5 + .../datarouter/provisioning/RouteServletTest.java | 3 + .../provisioning/SubscribeServletTest.java | 2 + .../provisioning/SubscriptionServletTest.java | 4 + .../src/test/resources/integration_test.properties | 10 +- docker-compose/database/sql_init_01.sql | 12 +- docker-compose/docker-compose.yml | 19 +- .../node_data/aaf_certs/org.onap.dmaap-dr.jks | Bin 0 -> 3659 bytes .../aaf_certs/org.onap.dmaap-dr.trust.jks | Bin 0 -> 1413 bytes docker-compose/node_data/node.properties | 21 +- docker-compose/node_data/self_signed/cacerts.jks | Bin 1936 -> 0 bytes docker-compose/node_data/self_signed/keystore.jks | Bin 2273 -> 0 bytes docker-compose/node_data/self_signed/mykey.cer | Bin 921 -> 0 bytes docker-compose/node_data/self_signed/nodekey.cer | Bin 921 -> 0 bytes .../prov_data/aaf_certs/org.onap.dmaap-dr.jks | Bin 0 -> 3660 bytes .../aaf_certs/org.onap.dmaap-dr.trust.jks | Bin 0 -> 1413 bytes docker-compose/prov_data/provserver.properties | 10 +- docker-compose/prov_data/self_signed/cacerts.jks | Bin 983 -> 0 bytes docker-compose/prov_data/self_signed/keystore.jks | Bin 2272 -> 0 bytes docker-compose/prov_data/self_signed/mykey.cer | Bin 921 -> 0 bytes 48 files changed, 430 insertions(+), 472 deletions(-) create mode 100644 datarouter-node/aaf_certs/org.onap.dmaap-dr.jks create mode 100644 datarouter-node/aaf_certs/org.onap.dmaap-dr.trust.jks delete mode 100644 datarouter-node/self_signed/cacerts.jks delete mode 100644 datarouter-node/self_signed/keystore.jks delete mode 100644 datarouter-node/self_signed/mykey.cer delete mode 100644 datarouter-node/self_signed/nodekey.cer delete mode 100644 datarouter-node/src/main/resources/misc/node.properties create mode 100755 datarouter-prov/aaf_certs/org.onap.dmaap-dr.jks create mode 100755 datarouter-prov/aaf_certs/org.onap.dmaap-dr.trust.jks delete mode 100644 datarouter-prov/self_signed/cacerts.jks delete mode 100644 datarouter-prov/self_signed/keystore.jks delete mode 100644 datarouter-prov/self_signed/mykey.cer mode change 100644 => 100755 datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/BaseServlet.java mode change 100644 => 100755 datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/ProxyServlet.java mode change 100644 => 100755 datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/beans/NodeClass.java mode change 100644 => 100755 datarouter-prov/src/main/resources/misc/sql_init_01.sql mode change 100644 => 100755 datarouter-prov/src/main/resources/provserver.properties mode change 100644 => 100755 datarouter-prov/src/test/java/datarouter/provisioning/IntegrationTestBase.java mode change 100644 => 100755 datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/DRFeedsServletTest.java mode change 100644 => 100755 datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/GroupServletTest.java mode change 100644 => 100755 datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/SubscriptionServletTest.java mode change 100644 => 100755 docker-compose/database/sql_init_01.sql create mode 100755 docker-compose/node_data/aaf_certs/org.onap.dmaap-dr.jks create mode 100755 docker-compose/node_data/aaf_certs/org.onap.dmaap-dr.trust.jks delete mode 100644 docker-compose/node_data/self_signed/cacerts.jks delete mode 100644 docker-compose/node_data/self_signed/keystore.jks delete mode 100644 docker-compose/node_data/self_signed/mykey.cer delete mode 100644 docker-compose/node_data/self_signed/nodekey.cer create mode 100755 docker-compose/prov_data/aaf_certs/org.onap.dmaap-dr.jks create mode 100755 docker-compose/prov_data/aaf_certs/org.onap.dmaap-dr.trust.jks mode change 100644 => 100755 docker-compose/prov_data/provserver.properties delete mode 100644 docker-compose/prov_data/self_signed/cacerts.jks delete mode 100644 docker-compose/prov_data/self_signed/keystore.jks delete mode 100644 docker-compose/prov_data/self_signed/mykey.cer diff --git a/README.md b/README.md index 559b03d2..6e45867a 100644 --- a/README.md +++ b/README.md @@ -1,105 +1,103 @@ # DMAAP_DATAROUTER - + ## OVERVIEW - -The Data Routing System project is intended to provide a common framework by which data producers can make data available to data consumers and a way for potential consumers to find feeds with the data they require. + +The Data Routing System project is intended to provide a common framework by which data producers can make data available to data consumers and a way for potential consumers to find feeds with the data they require. The delivery of data from these kinds of production systems is the domain of the Data Routing System. Its primary goal is to make it easier to move data from existing applications that may not have been designed from the ground up to share data. The Data Routing System is different from many existing platforms for distributing messages from producers to consumers which focus on real-time delivery of small messages (on the order of a few kilobytes or so) for more Provisioning is implemented as a Java servlet running under Jetty in one JVM - + Provisioning data is stored in a MariaDB database - + The backup provisioning server and each node is informed any time provisioning data changes - + The backup provisioning server and each node may request the complete set of provisioning data at any time - + A Node is implemented as a Java servlet running under Jetty in one JVM Assumptions For 95% of all feeds (there will be some exceptions): - + Number of Publishing Endpoints per Feed: 1 – 10 - + Number of Subscribers per Feed: 2 – 10 - + File Size: 105 – 1010 bytes - + with a distribution towards the high end - + Frequency of Publishing: 1/day – 10/minute - + Lifetime of a Feed: months to years - + Lifetime of a Subscription: months to years - - + + Data Router and Sensitive Data Handling - + A publisher of a Data Router feed of sensitive (e.g., PCI, SPI, etc.) data needs to encrypt that data prior to delivering it to the Data Router - + The Data Router will distribute that data to all of the subscribers of that feed. - + Data Router does not examine the Feed content or enforce any restrictions or Validations on the Feed Content in any way - + It is the responsibility of the subscribers to work with the publisher to determine how to decrypt that data - - + + What the Data Router is NOT: Does not support streaming data - + Does not tightly couple to any specific publish endpoint or subscriber - + Agnostic as to source and sink of data residing in an RDBMS, NoSQL DB, Other DBMS, Flat Files, etc. - + Does not transform any published data - + Does not “examine” any published data - + Does not verify the integrity of a published file - + Does not perform any data “cleansing” - + Does not store feeds (not a repository or archive) - + There is no long-term storage – assumes subscribers are responsive most of the time - + Does not encrypt data when queued on a node - + Does not provide guaranteed order of delivery - + Per-file metadata can be used for ordering - - External customers supported is via DITREX (MOTS 18274) - - - -## BUILD - -Datarouter can be cloned and repository and builb using Maven -In the repository + + + +## BUILD + +Datarouter can be cloned and repository and builb using Maven +In the repository Go to datarouter-prov in the root mvn clean install - + Go to datarouter-node in the root mvn clean install - + Project Build will be Successful -## RUN +## RUN -Datarouter is a Unix based service +Datarouter is a Unix based service Pre-requisites to run the service @@ -111,39 +109,39 @@ Install MariaDB and load needed table into the database Sample sql_init_01.sql is provided in the datarouter-prov/src/main/resources/misc -Go to datarouter-prov module and run the service using main.java - -Go to datarouter-node module and run the service using nodemain.java +Go to datarouter-prov module and run the service using main.java + +Go to datarouter-node module and run the service using nodemain.java Curl Commands to test: create a feed: -curl -v -X POST -H "Content-Type : application/vnd.att-dr.feed" -H "X-ATT-DR-ON-BEHALF-OF: rs873m" --data-ascii @/opt/app/datartr/addFeed3.txt --post301 --location-trusted -k https://prov.datarouternew.com:8443 +curl -v -X POST -H "Content-Type : application/vnd.att-dr.feed" -H "X-ATT-DR-ON-BEHALF-OF: rs873m" --data-ascii @/opt/app/datartr/addFeed3.txt --post301 --location-trusted -k https://dmaap-dr-prov:8443 Subscribe to feed: -curl -v -X POST -H "Content-Type: application/vnd.att-dr.subscription" -H "X-ATT-DR-ON-BEHALF-OF: rs873m" --data-ascii @/opt/app/datartr/addSubscriber.txt --post301 --location-trusted -k https://prov.datarouternew.com:8443/subscribe/1 +curl -v -X POST -H "Content-Type: application/vnd.att-dr.subscription" -H "X-ATT-DR-ON-BEHALF-OF: rs873m" --data-ascii @/opt/app/datartr/addSubscriber.txt --post301 --location-trusted -k https://dmaap-dr-prov:8443/subscribe/1 Publish to feed: -curl -v -X PUT --user rs873m:rs873m -H "Content-Type: application/octet-stream" --data-binary @/opt/app/datartr/addFeed3.txt --post301 --location-trusted -k https://prov.datarouternew.com:8443/publish/1/test1 +curl -v -X PUT --user rs873m:rs873m -H "Content-Type: application/octet-stream" --data-binary @/opt/app/datartr/addFeed3.txt --post301 --location-trusted -k https://dmaap-dr-prov:8443/publish/1/test1 + - - ## CONFIGURATION + ## CONFIGURATION -Recommended +Recommended Environment - Unix based Java - 1.8 -Maven - 3.2.5 +Maven - 3.2.5 MariaDB - 10.2.14 Self Signed SSL certificates - - + + diff --git a/datarouter-node/aaf_certs/org.onap.dmaap-dr.jks b/datarouter-node/aaf_certs/org.onap.dmaap-dr.jks new file mode 100644 index 0000000000000000000000000000000000000000..4529cccbf5dd035ce0b06db7d47afe0c2f2bfb5b GIT binary patch literal 3659 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 literal 0 HcmV?d00001 diff --git a/datarouter-node/aaf_certs/org.onap.dmaap-dr.trust.jks b/datarouter-node/aaf_certs/org.onap.dmaap-dr.trust.jks new file mode 100644 index 0000000000000000000000000000000000000000..096fbb26aaf93c6ee214442c5d550a0c870dcd9a GIT binary patch literal 1413 zcmb7DYdF&j9Ntxju_ZNY2$8cK>OX5WqOl@}327!2t1z`(>d5`UPFpN;%dO0{Ls+qx zORihWeNCQp@?bpbNjXe(k!lX-IUo9PzMK!g=Y8Jy_ddVp_u+k&^U8S;2n1Ol@IR<_ zmf^<=J|P|01>|rPqZL;Yikfl0D*x2m;TRdY{=AU=Oco=%?oDzLqiK}YhH#yQM%9s^f(sN#`FSBSK4YjRx$p_m{sx4?O zB4h(GH;p*&Gxmq+wWeS5uIx6vG?x;Yaf z@f!|2M>&lfY|3lD_INfRU2aM#49GF_lBND(wSP`v)P|z^w(yg*Gt*sb1-QBWf)4Ju zD(WCJIik#eHTzvUtS!hOb*wz6FqU}OZ?R`UUAG!{x2&Aah+p%>P0VD5E;T=} zzj`d$v$9c=Wa>91U&fz%NqX|`kO)nWy^ z;4{`u!cvh9O#Rh+K$-+X_hlM(ItC0_N-kWbK^6Pgex7z8dq3orn^^$6-AVQAP^4;o>~ zc~0go6i3|>>AVa1!fXy@k56vr!m855u+<=h*}gz7bPIbrVzG4TLv45I`~crs5}5b# zK9ErmJ-Cf@&`0lE!o`zflP>=E+-G-TCE=GRw_lD*yBhQseiDp%h$fDw8%#* zdtg^h;#*ruw}reuJdD%O+DtNdd|jSy%z5ROrb&(}DXv(OK97o>z0jMEsd*vb@gqf# zcEqHZ(41;p+MSOMh8lw3_cl6=UlRbi@3OyJmgn*8#9a3vx`uoV}=|v6+dYEm3EkW|i=Q$ZD6At&H*)i>PPAe7)yWI)0Vjhv zw$d4L!uK<&bn7i2F>y*~fmFybI-XHZl;}PjkG+C=i{2jhhOc<`B3M^Dg3D7NPHcZ* SwZL)1t|WO^i8tl3g8v4}x?&Ol literal 0 HcmV?d00001 diff --git a/datarouter-node/pom.xml b/datarouter-node/pom.xml index c6bd3e94..18743db8 100755 --- a/datarouter-node/pom.xml +++ b/datarouter-node/pom.xml @@ -376,10 +376,10 @@ copy-resources - ${basedir}/target/opt/app/datartr/self_signed + ${basedir}/target/opt/app/datartr/aaf_certs - ${basedir}/self_signed + ${basedir}/aaf_certs misc/** **/** diff --git a/datarouter-node/self_signed/cacerts.jks b/datarouter-node/self_signed/cacerts.jks deleted file mode 100644 index dfd81433eeb9e44fb36f56c68c4627daf0e65356..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1936 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 literal 0 HcmV?d00001 diff --git a/datarouter-prov/aaf_certs/org.onap.dmaap-dr.trust.jks b/datarouter-prov/aaf_certs/org.onap.dmaap-dr.trust.jks new file mode 100755 index 0000000000000000000000000000000000000000..c8f9ee66bd456edbdb982eab58d65ba389b073c3 GIT binary patch literal 1413 zcmb7DYdF&j9NtyOZA)sFONiDI^`Etx(3r@vxuuygYl>*<+wx_Npt2r=R+UPm-FHGywCgo-skuHKD@7NUN#Q`fgth$|AR{B z89sr*=NW-MfL!vkuU^N1;2sAEfEfq`Cj%__F@Ocd6hR?i2t*N7@NmAfTrA`QstSrm z9DB}JRWMi?4g!pE2tY*vN`on@z@6Q!t?h8Cfbu3+Qh_-;S-aqr0mV(KpbnwA0lPF* zaYWz{K)@Zs5lo4m8mf3AfXCzhrT_C93$pv?cffEElm$V802V|E!h(Q7on~eBYISuC zbkMFR8O+DpxtHwGZu*{DXN2EZqbusUjrKIMEOOO~_%f-*n^`cAf?Cx$=7Mb}l@`<& zau${Q60jFnjkyb5RBn57Gc!bO+?_fUZ|FG{OW3RXjQmW2#S873T7SDwyTJsexHTOj z@)`EOKt78dY|Lr9^>o%RRcb`e_scT&kR< zMWi`1A+*GIE%QSvtTjL{d5o8pA4Rb7S?U>3(XPavZSO+$bhswniP><+PRyhSFE>51 zz3G(TUfw2*Oup5Xv4QjxPQ7*+72MVQKIH5wta9Uux_k;l>WvU>Q5aZ5NF$$-z=4} z^1f=ihyoQP6Of$kN#mb~`-b~+2!fa?b^2FCz64(tqkJDhH)N=GR~c2-2EVR%7$SPZ z+ED$;q)-$?rBd}bL6#NzVyxxZB8Kh}QZP}J($-+-sR4*HOID5ujQS|lEo)~2#9@(4 znpAl3*>sjYt#Ba5@?71`YM#O91!F+uEqvaeXtO?@RNxqY_oEF0bGsFgru}It*-A9h zO!-uUI?B&Nj$5KTa9baabTA^^zr`rN8}bS$J*5VLf)%r29b1onKj{sjupAOrkC@k;IpG&fA)%9@%I36Y^y z6dz0J@eyTc(vvRd3NqQ`176u33u`irev4iZvu%Nt?{f9|i0SgRPc_}e^8;Lp$Uo=v zLm(|LVsHo1+)HOY_R8rlOegn8_KOFwqLAy8JFkZ)-_NhMW$?Z`^bgi{dfQeM7kH^> z4(zFldv7J`HkH4kzHp+>?V14k%-Uhpo9E3D1@eARxCaj)XT6pUc+$cKAe8@B!du9}g_%!il zDsIPHwu$E?3@!)@VjSyqOHVW7WOwk9Wk#~NShlr0X8*^*)zCElc5F}*`|Op)b1Y41 zvhK!%@(L9GsWNs2I}s$wDBB2(HPaNN<5RTy!FUGn0pz#LB5=iO|I8Svp>y9iF{S9WNA}5L?wr#ENT<4Z>4tCPESkyE9v(ePU*uYa zcopy-resources - ${basedir}/target/opt/app/datartr/self_signed + ${basedir}/target/opt/app/datartr/aaf_certs - ${basedir}/self_signed + ${basedir}/aaf_certs misc/** **/** diff --git a/datarouter-prov/self_signed/cacerts.jks b/datarouter-prov/self_signed/cacerts.jks deleted file mode 100644 index 76a480ad6857e7dc62c603f1354d7b15faebb203..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 983 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 diff --git a/datarouter-prov/self_signed/mykey.cer b/datarouter-prov/self_signed/mykey.cer deleted file mode 100644 index 2a5c9d701adebe1c1bad90d8157287ecb3cce6d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 921 zcmXqLVxDTy#8kV0nTe5!iN&xhKi+_sjZ>@5qwPB{BO^B}gF&^SfB_#Hb0`a&FnefT zc3ysY9!!J-LxdeegbPE28zCZZAPX{?Sy-%~D8EcEC9x#2D8IBMwJ0yOTrW94*Fa93 z*U;R+(AdDp*wn(vBnr$mfpZ7eaZQX$$brSk%D~*j$j@NV#K^_e#K_37^7L|sE6We9 z&j0^%=7Ejjq1!k<<{fqOzqXSlJpHWu)vqp}$RE2;2TtA& zXH@Wdk+x>tEtAiGKEKgyKk2*Uu0pqpmEg8)R)f8Z=5B2NC-?Qm@c@p7U)LH=FsCQQ zY!ry~a9Ay}x=f2hf!H&-03&$Co " + na[i].toString()); @@ -520,9 +517,6 @@ public class BaseServlet extends HttpServlet implements ProvDataProvider { String[] pods = getPods(); na = new InetAddress[pods.length]; for (int i = 0; i < pods.length; i++) { - if (pods[i].indexOf('.') < 0) { - pods[i] += "." + provDomain; - } try { na[i] = InetAddress.getByName(pods[i]); intlogger.debug("PROV0003 DNS lookup: " + pods[i] + " => " + na[i].toString()); diff --git a/datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/Main.java b/datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/Main.java index 87979be6..800bd9af 100644 --- a/datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/Main.java +++ b/datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/Main.java @@ -185,8 +185,6 @@ public class Main { sslContextFactory.setTrustStorePath(DEFAULT_TRUSTSTORE); sslContextFactory.setTrustStorePassword("changeit"); } - sslContextFactory.setTrustStorePath("/opt/app/datartr/self_signed/cacerts.jks"); - sslContextFactory.setTrustStorePassword("changeit"); sslContextFactory.setWantClientAuth(true); // Servlet and Filter configuration diff --git a/datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/ProxyServlet.java b/datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/ProxyServlet.java old mode 100644 new mode 100755 index c560299a..8d6bfcf0 --- a/datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/ProxyServlet.java +++ b/datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/ProxyServlet.java @@ -35,12 +35,10 @@ import java.security.KeyStoreException; import java.util.Collections; import java.util.List; import java.util.Properties; - import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; - import org.apache.commons.io.IOUtils; import org.apache.http.Header; import org.apache.http.HttpEntity; @@ -57,16 +55,16 @@ import org.onap.dmaap.datarouter.provisioning.utils.DB; import org.onap.dmaap.datarouter.provisioning.utils.URLUtilities; /** - * This class is the base class for those servlets that need to proxy their requests from the - * standby to active server. Its methods perform the proxy function to the active server. If the - * active server is not reachable, a 503 (SC_SERVICE_UNAVAILABLE) is returned. Only - * DELETE/GET/PUT/POST are supported. + * This class is the base class for those servlets that need to proxy their requests from the standby to active server. + * Its methods perform the proxy function to the active server. If the active server is not reachable, a 503 + * (SC_SERVICE_UNAVAILABLE) is returned. Only DELETE/GET/PUT/POST are supported. * * @author Robert Eby * @version $Id: ProxyServlet.java,v 1.3 2014/03/24 18:47:10 eby Exp $ */ @SuppressWarnings("serial") public class ProxyServlet extends BaseServlet { + private boolean inited = false; private Scheme sch; @@ -80,13 +78,13 @@ public class ProxyServlet extends BaseServlet { try { // Set up keystore Properties props = (new DB()).getProperties(); - String type = props.getProperty(Main.KEYSTORE_TYPE_PROPERTY, "jks"); + String type = props.getProperty(Main.KEYSTORE_TYPE_PROPERTY, "jks"); String store = props.getProperty(Main.KEYSTORE_PATH_PROPERTY); - String pass = props.getProperty(Main.KEYSTORE_PASSWORD_PROPERTY); + String pass = props.getProperty(Main.KEYSTORE_PASSWORD_PROPERTY); KeyStore keyStore = readStore(store, pass, type); store = props.getProperty(Main.TRUSTSTORE_PATH_PROPERTY); - pass = props.getProperty(Main.TRUSTSTORE_PASSWORD_PROPERTY); + pass = props.getProperty(Main.TRUSTSTORE_PASSWORD_PROPERTY); if (store == null || store.length() == 0) { store = Main.DEFAULT_TRUSTSTORE; pass = "changeit"; @@ -95,30 +93,34 @@ public class ProxyServlet extends BaseServlet { // We are connecting with the node name, but the certificate will have the CNAME // So we need to accept a non-matching certificate name - SSLSocketFactory socketFactory = new SSLSocketFactory(keyStore, "changeit", trustStore); + SSLSocketFactory socketFactory = new SSLSocketFactory(keyStore, + props.getProperty(Main.KEYSTORE_PASSWORD_PROPERTY), trustStore); socketFactory.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER); sch = new Scheme("https", 443, socketFactory); inited = true; } catch (Exception e) { e.printStackTrace(); } - intlogger.info("ProxyServlet: inited = "+inited); + intlogger.info("ProxyServlet: inited = " + inited); } - private KeyStore readStore(String store, String pass, String type) throws KeyStoreException, FileNotFoundException { + + private KeyStore readStore(String store, String pass, String type) throws KeyStoreException { KeyStore ks = KeyStore.getInstance(type); - FileInputStream instream = new FileInputStream(new File(store)); - try { + try (FileInputStream instream = new FileInputStream(new File(store))) { ks.load(instream, pass.toCharArray()); + } catch (FileNotFoundException fileNotFoundException) { + System.err.println("ProxyServlet: " + fileNotFoundException); + fileNotFoundException.printStackTrace(); } catch (Exception x) { - System.err.println("READING TRUSTSTORE: "+x); - } finally { - try { instream.close(); } catch (Exception ignore) {} + System.err.println("READING TRUSTSTORE: " + x); } return ks; } + /** - * Return true if the requester has NOT set the noproxy CGI variable. - * If they have, this indicates they want to forcibly turn the proxy off. + * Return true if the requester has NOT set the noproxy CGI variable. If they have, this indicates + * they want to forcibly turn the proxy off. + * * @param req the HTTP request * @return true or false */ @@ -127,22 +129,25 @@ public class ProxyServlet extends BaseServlet { if (t != null) { t = t.replaceAll("&", "&"); for (String s : t.split("&")) { - if (s.equals("noproxy") || s.startsWith("noproxy=")) + if (s.equals("noproxy") || s.startsWith("noproxy=")) { return false; + } } } return true; } + /** - * Is this the standby server? If it is, the proxy functions can be used. - * If not, the proxy functions should not be called, and will send a response of 500 - * (Internal Server Error). + * Is this the standby server? If it is, the proxy functions can be used. If not, the proxy functions should not be + * called, and will send a response of 500 (Internal Server Error). + * * @return true if this server is the standby (and hence a proxy server). */ public boolean isProxyServer() { SynchronizerTask st = SynchronizerTask.getSynchronizer(); return st.getState() == SynchronizerTask.STANDBY; } + /** * Issue a proxy DELETE to the active provisioning server. */ @@ -150,6 +155,7 @@ public class ProxyServlet extends BaseServlet { public void doDelete(HttpServletRequest req, HttpServletResponse resp) throws IOException { doProxy(req, resp, "DELETE"); } + /** * Issue a proxy GET to the active provisioning server. */ @@ -157,6 +163,7 @@ public class ProxyServlet extends BaseServlet { public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { doProxy(req, resp, "GET"); } + /** * Issue a proxy PUT to the active provisioning server. */ @@ -164,6 +171,7 @@ public class ProxyServlet extends BaseServlet { public void doPut(HttpServletRequest req, HttpServletResponse resp) throws IOException { doProxy(req, resp, "PUT"); } + /** * Issue a proxy POST to the active provisioning server. */ @@ -171,58 +179,61 @@ public class ProxyServlet extends BaseServlet { public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException { doProxy(req, resp, "POST"); } + /** - * Issue a proxy GET to the active provisioning server. Unlike doGet() above, - * this method will allow the caller to fall back to other code if the remote server is unreachable. + * Issue a proxy GET to the active provisioning server. Unlike doGet() above, this method will allow the caller to + * fall back to other code if the remote server is unreachable. + * * @return true if the proxy succeeded */ public boolean doGetWithFallback(HttpServletRequest req, HttpServletResponse resp) throws IOException { boolean rv = false; if (inited) { String url = buildUrl(req); - intlogger.info("ProxyServlet: proxying with fallback GET "+url); - try(AbstractHttpClient httpclient = new DefaultHttpClient()){ - HttpRequestBase proxy = new HttpGet(url); - try { - httpclient.getConnectionManager().getSchemeRegistry().register(sch); - - // Copy request headers and request body - copyRequestHeaders(req, proxy); - - // Execute the request - HttpResponse pxy_response = httpclient.execute(proxy); - - // Get response headers and body - int code = pxy_response.getStatusLine().getStatusCode(); - resp.setStatus(code); - copyResponseHeaders(pxy_response, resp); - - HttpEntity entity = pxy_response.getEntity(); - if (entity != null) { - InputStream in = entity.getContent(); - IOUtils.copy(in, resp.getOutputStream()); - in.close(); + intlogger.info("ProxyServlet: proxying with fallback GET " + url); + try (AbstractHttpClient httpclient = new DefaultHttpClient()) { + HttpRequestBase proxy = new HttpGet(url); + try { + httpclient.getConnectionManager().getSchemeRegistry().register(sch); + + // Copy request headers and request body + copyRequestHeaders(req, proxy); + + // Execute the request + HttpResponse pxy_response = httpclient.execute(proxy); + + // Get response headers and body + int code = pxy_response.getStatusLine().getStatusCode(); + resp.setStatus(code); + copyResponseHeaders(pxy_response, resp); + + HttpEntity entity = pxy_response.getEntity(); + if (entity != null) { + InputStream in = entity.getContent(); + IOUtils.copy(in, resp.getOutputStream()); + in.close(); + } + rv = true; + + } catch (IOException e) { + System.err.println("ProxyServlet: " + e); + e.printStackTrace(); + } finally { + proxy.releaseConnection(); + httpclient.getConnectionManager().shutdown(); } - rv = true; - - } catch (IOException e) { - System.err.println("ProxyServlet: "+e); - e.printStackTrace(); - } finally { - proxy.releaseConnection(); - httpclient.getConnectionManager().shutdown(); - } } } else { intlogger.warn("ProxyServlet: proxy disabled"); } return rv; } + private void doProxy(HttpServletRequest req, HttpServletResponse resp, final String method) throws IOException { if (inited && isProxyServer()) { String url = buildUrl(req); - intlogger.info("ProxyServlet: proxying "+method + " "+url); - try(AbstractHttpClient httpclient = new DefaultHttpClient()) { + intlogger.info("ProxyServlet: proxying " + method + " " + url); + try (AbstractHttpClient httpclient = new DefaultHttpClient()) { ProxyHttpRequest proxy = new ProxyHttpRequest(method, url); try { httpclient.getConnectionManager().getSchemeRegistry().register(sch); @@ -264,33 +275,40 @@ public class ProxyServlet extends BaseServlet { resp.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); } } + private String buildUrl(HttpServletRequest req) { StringBuilder sb = new StringBuilder("https://"); sb.append(URLUtilities.getPeerPodName()); sb.append(req.getRequestURI()); String q = req.getQueryString(); - if (q != null) + if (q != null) { sb.append("?").append(q); + } return sb.toString(); } + private void copyRequestHeaders(HttpServletRequest from, HttpRequestBase to) { @SuppressWarnings("unchecked") List list = Collections.list(from.getHeaderNames()); for (String name : list) { // Proxy code will add this one - if (!name.equalsIgnoreCase("Content-Length")) + if (!name.equalsIgnoreCase("Content-Length")) { to.addHeader(name, from.getHeader(name)); + } } } + private void copyResponseHeaders(HttpResponse from, HttpServletResponse to) { for (Header hdr : from.getAllHeaders()) { // Don't copy Date: our Jetty will add another Date header - if (!hdr.getName().equals("Date")) + if (!hdr.getName().equals("Date")) { to.addHeader(hdr.getName(), hdr.getValue()); + } } } public class ProxyHttpRequest extends HttpEntityEnclosingRequestBase { + private final String method; public ProxyHttpRequest(final String method, final String uri) { @@ -298,6 +316,7 @@ public class ProxyServlet extends BaseServlet { this.method = method; setURI(URI.create(uri)); } + @Override public String getMethod() { return method; diff --git a/datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/beans/NodeClass.java b/datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/beans/NodeClass.java old mode 100644 new mode 100755 index 4c140490..f3eb1eb6 --- a/datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/beans/NodeClass.java +++ b/datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/beans/NodeClass.java @@ -32,7 +32,6 @@ import java.util.HashMap; import java.util.Map; import java.util.Set; import java.util.TreeSet; - import org.apache.log4j.Logger; import org.onap.dmaap.datarouter.provisioning.utils.DB; @@ -43,6 +42,7 @@ import org.onap.dmaap.datarouter.provisioning.utils.DB; * @version $Id: NodeClass.java,v 1.2 2014/01/15 16:08:43 eby Exp $ */ public abstract class NodeClass extends Syncable { + private static Map map; private static Logger intLogger = Logger.getLogger("org.onap.dmaap.datarouter.provisioning.internal"); public NodeClass() { @@ -53,19 +53,20 @@ public abstract class NodeClass extends Syncable { } /** - * Add nodes to the NODES table, when the NODES parameter value is changed. - * Nodes are only added to the table, they are never deleted. The node name is normalized - * to contain the domain (if missing). + * Add nodes to the NODES table, when the NODES parameter value is changed. Nodes are only added to the table, they + * are never deleted. The node name is normalized to contain the domain (if missing). * * @param nodes a pipe separated list of the current nodes */ public static void setNodes(String[] nodes) { - if (map == null) + if (map == null) { reload(); + } int nextid = 0; for (Integer n : map.values()) { - if (n >= nextid) + if (n >= nextid) { nextid = n + 1; + } } // take | separated list, add domain if needed. @@ -136,8 +137,9 @@ public abstract class NodeClass extends Syncable { public static Integer lookupNodeName(final String name) { Integer n = map.get(name); - if (n == null) + if (n == null) { throw new IllegalArgumentException("Invalid node name: " + name); + } return n; } @@ -148,8 +150,9 @@ public abstract class NodeClass extends Syncable { if (s.endsWith("*")) { s = s.substring(0, s.length() - 1); for (String s2 : keyset) { - if (s2.startsWith(s)) + if (s2.startsWith(s)) { coll.add(s2); + } } } else if (keyset.contains(s)) { coll.add(s); @@ -162,14 +165,6 @@ public abstract class NodeClass extends Syncable { return coll; } - protected String lookupNodeID(int n) { - for (String s : map.keySet()) { - if (map.get(s) == n) - return s; - } - return null; - } - public static String normalizeNodename(String s) { if (s != null && s.indexOf('.') <= 0) { Parameters p = Parameters.getParameter(Parameters.PROV_DOMAIN); @@ -184,4 +179,13 @@ public abstract class NodeClass extends Syncable { } } + + protected String lookupNodeID(int n) { + for (String s : map.keySet()) { + if (map.get(s) == n) { + return s; + } + } + return null; + } } diff --git a/datarouter-prov/src/main/resources/misc/sql_init_01.sql b/datarouter-prov/src/main/resources/misc/sql_init_01.sql old mode 100644 new mode 100755 index e01ce3b0..356a67a9 --- a/datarouter-prov/src/main/resources/misc/sql_init_01.sql +++ b/datarouter-prov/src/main/resources/misc/sql_init_01.sql @@ -124,18 +124,18 @@ CREATE TABLE GROUPS ( ); INSERT INTO PARAMETERS VALUES - ('ACTIVE_POD', 'prov.datarouternew.com'), - ('PROV_ACTIVE_NAME', 'prov.datarouternew.com'), + ('ACTIVE_POD', 'dmaap-dr-prov'), + ('PROV_ACTIVE_NAME', 'dmaap-dr-prov'), ('STANDBY_POD', ''), - ('PROV_NAME', 'prov.datarouternew.com'), - ('NODES', '172.100.0.1|node.datarouternew.com'), - ('PROV_DOMAIN', 'datarouternew.com'), + ('PROV_NAME', 'dmaap-dr-prov'), + ('NODES', 'dmaap-dr-node'), + ('PROV_DOMAIN', ''), ('DELIVERY_INIT_RETRY_INTERVAL', '10'), ('DELIVERY_MAX_AGE', '86400'), ('DELIVERY_MAX_RETRY_INTERVAL', '3600'), ('DELIVERY_RETRY_RATIO', '2'), ('LOGROLL_INTERVAL', '300'), - ('PROV_AUTH_ADDRESSES', '172.100.0.1|prov.datarouternew.com|node.datarouternew.com'), + ('PROV_AUTH_ADDRESSES', 'dmaap-dr-prov|dmaap-dr-node'), ('PROV_AUTH_SUBJECTS', ''), ('PROV_MAXFEED_COUNT', '10000'), ('PROV_MAXSUB_COUNT', '100000'), diff --git a/datarouter-prov/src/main/resources/provserver.properties b/datarouter-prov/src/main/resources/provserver.properties old mode 100644 new mode 100755 index 7758a64d..744bc9ce --- a/datarouter-prov/src/main/resources/provserver.properties +++ b/datarouter-prov/src/main/resources/provserver.properties @@ -27,11 +27,11 @@ org.onap.dmaap.datarouter.provserver.https.port = 8443 org.onap.dmaap.datarouter.provserver.https.relaxation = true org.onap.dmaap.datarouter.provserver.keystore.type = jks -org.onap.dmaap.datarouter.provserver.keymanager.password = changeit -org.onap.dmaap.datarouter.provserver.keystore.path = /opt/app/datartr/self_signed/keystore.jks -org.onap.dmaap.datarouter.provserver.keystore.password = changeit -org.onap.dmaap.datarouter.provserver.truststore.path = /opt/app/datartr/self_signed/cacerts.jks -org.onap.dmaap.datarouter.provserver.truststore.password = changeit +org.onap.dmaap.datarouter.provserver.keymanager.password = Qgw77oaQcdP*F8Pwa[&.,.Ab +org.onap.dmaap.datarouter.provserver.keystore.path = /opt/app/datartr/aaf_certs/org.onap.dmaap-dr.jks +org.onap.dmaap.datarouter.provserver.keystore.password = Qgw77oaQcdP*F8Pwa[&.,.Ab +org.onap.dmaap.datarouter.provserver.truststore.path = /opt/app/datartr/aaf_certs/org.onap.dmaap-dr.trust.jks +org.onap.dmaap.datarouter.provserver.truststore.password = 9M?)?:KAj1z6gpLhNrVUG@0T org.onap.dmaap.datarouter.provserver.accesslog.dir = /opt/app/datartr/logs org.onap.dmaap.datarouter.provserver.spooldir = /opt/app/datartr/spool diff --git a/datarouter-prov/src/test/java/datarouter/provisioning/IntegrationTestBase.java b/datarouter-prov/src/test/java/datarouter/provisioning/IntegrationTestBase.java old mode 100644 new mode 100755 index 71446219..3e5e1d04 --- a/datarouter-prov/src/test/java/datarouter/provisioning/IntegrationTestBase.java +++ b/datarouter-prov/src/test/java/datarouter/provisioning/IntegrationTestBase.java @@ -114,7 +114,7 @@ public class IntegrationTestBase { } } - SSLSocketFactory socketFactory = new SSLSocketFactory(keyStore, "changeit", trustStore); + SSLSocketFactory socketFactory = new SSLSocketFactory(keyStore, props.getProperty("test.kspassword"), trustStore); Scheme sch = new Scheme("https", 443, socketFactory); httpclient.getConnectionManager().getSchemeRegistry().register(sch); @@ -164,7 +164,7 @@ public class IntegrationTestBase { // shut down the connection manager to ensure // immediate deallocation of all system resources httpclient.getConnectionManager().shutdown(); - FileUtils.deleteDirectory(new File("./unit-test-logs")); + FileUtils.deleteDirectory(new File("." + File.pathSeparator+ "unit-test-logs")); } protected void ckResponse(HttpResponse response, int expect) { diff --git a/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/BaseServletTest.java b/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/BaseServletTest.java index 61d030d9..8cc48683 100755 --- a/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/BaseServletTest.java +++ b/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/BaseServletTest.java @@ -40,6 +40,7 @@ import java.util.HashSet; import java.util.Set; import static org.hamcrest.Matchers.is; import static org.hamcrest.Matchers.nullValue; +import static org.junit.Assert.assertNull; import static org.junit.Assert.assertThat; import static org.mockito.Matchers.anyInt; import static org.mockito.Mockito.mock; @@ -84,7 +85,7 @@ public class BaseServletTest extends DrServletTestBase { authAddressesAndNetworks.add(("127.0.0.1")); FieldUtils.writeDeclaredStaticField(BaseServlet.class, "authorizedAddressesAndNetworks", authAddressesAndNetworks, true); FieldUtils.writeDeclaredStaticField(BaseServlet.class, "requireCert", true, true); - assertThat(baseServlet.isAuthorizedForProvisioning(request), is("Client certificate is missing.")); + assertNull(baseServlet.isAuthorizedForProvisioning(request)); } @Test diff --git a/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/DRFeedsServletTest.java b/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/DRFeedsServletTest.java old mode 100644 new mode 100755 index 35bc85d8..87390bc5 --- a/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/DRFeedsServletTest.java +++ b/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/DRFeedsServletTest.java @@ -22,6 +22,21 @@ ******************************************************************************/ package org.onap.dmaap.datarouter.provisioning; +import static org.hamcrest.Matchers.notNullValue; +import static org.mockito.Mockito.anyInt; +import static org.mockito.Mockito.anyString; +import static org.mockito.Mockito.argThat; +import static org.mockito.Mockito.eq; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; +import static org.onap.dmaap.datarouter.provisioning.BaseServlet.BEHALF_HEADER; + +import java.util.HashSet; +import java.util.Set; +import javax.servlet.ServletOutputStream; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import org.apache.commons.lang3.reflect.FieldUtils; import org.jetbrains.annotations.NotNull; import org.json.JSONArray; @@ -38,20 +53,11 @@ import org.powermock.api.mockito.PowerMockito; import org.powermock.core.classloader.annotations.SuppressStaticInitializationFor; import org.powermock.modules.junit4.PowerMockRunner; -import javax.servlet.ServletOutputStream; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.util.HashSet; -import java.util.Set; - -import static org.hamcrest.Matchers.notNullValue; -import static org.mockito.Mockito.*; -import static org.onap.dmaap.datarouter.provisioning.BaseServlet.BEHALF_HEADER; - @RunWith(PowerMockRunner.class) @SuppressStaticInitializationFor("org.onap.dmaap.datarouter.provisioning.beans.Feed") public class DRFeedsServletTest extends DrServletTestBase { + private static DRFeedsServlet drfeedsServlet; @Mock @@ -77,14 +83,17 @@ public class DRFeedsServletTest extends DrServletTestBase { } @Test - public void Given_Request_Is_HTTP_GET_And_Is_Not_Secure_When_HTTPS_Is_Required_Then_Forbidden_Response_Is_Generated() throws Exception { + public void Given_Request_Is_HTTP_GET_And_Is_Not_Secure_When_HTTPS_Is_Required_Then_Forbidden_Response_Is_Generated() + throws Exception { when(request.isSecure()).thenReturn(false); + FieldUtils.writeDeclaredStaticField(BaseServlet.class, "isAddressAuthEnabled", "true", true); drfeedsServlet.doGet(request, response); verify(response).sendError(eq(HttpServletResponse.SC_FORBIDDEN), argThat(notNullValue(String.class))); } @Test - public void Given_Request_Is_HTTP_GET_And_BEHALF_HEADER_Is_Not_Set_In_Request_Then_Bad_Request_Response_Is_Generated() throws Exception { + public void Given_Request_Is_HTTP_GET_And_BEHALF_HEADER_Is_Not_Set_In_Request_Then_Bad_Request_Response_Is_Generated() + throws Exception { setBehalfHeader(null); drfeedsServlet.doGet(request, response); verify(response).sendError(eq(HttpServletResponse.SC_BAD_REQUEST), argThat(notNullValue(String.class))); @@ -92,7 +101,8 @@ public class DRFeedsServletTest extends DrServletTestBase { @Test - public void Given_Request_Is_HTTP_GET_And_URL_Path_Not_Valid_Then_Bad_Request_Response_Is_Generated() throws Exception { + public void Given_Request_Is_HTTP_GET_And_URL_Path_Not_Valid_Then_Bad_Request_Response_Is_Generated() + throws Exception { when(request.getRequestURI()).thenReturn("/123"); drfeedsServlet.doGet(request, response); verify(response).sendError(eq(HttpServletResponse.SC_NOT_FOUND), argThat(notNullValue(String.class))); @@ -100,7 +110,8 @@ public class DRFeedsServletTest extends DrServletTestBase { @Test - public void Given_Request_Is_HTTP_GET_And_Request_Is_Not_Authorized_Then_Forbidden_Response_Is_Generated() throws Exception { + public void Given_Request_Is_HTTP_GET_And_Request_Is_Not_Authorized_Then_Forbidden_Response_Is_Generated() + throws Exception { setAuthoriserToReturnRequestNotAuthorized(); drfeedsServlet.doGet(request, response); verify(response).sendError(eq(HttpServletResponse.SC_FORBIDDEN), argThat(notNullValue(String.class))); @@ -146,14 +157,17 @@ public class DRFeedsServletTest extends DrServletTestBase { @Test - public void Given_Request_Is_HTTP_POST_And_Is_Not_Secure_When_HTTPS_Is_Required_Then_Forbidden_Response_Is_Generated() throws Exception { + public void Given_Request_Is_HTTP_POST_And_Is_Not_Secure_When_HTTPS_Is_Required_Then_Forbidden_Response_Is_Generated() + throws Exception { when(request.isSecure()).thenReturn(false); + FieldUtils.writeDeclaredStaticField(BaseServlet.class, "isAddressAuthEnabled", "true", true); drfeedsServlet.doPost(request, response); verify(response).sendError(eq(HttpServletResponse.SC_FORBIDDEN), argThat(notNullValue(String.class))); } @Test - public void Given_Request_Is_HTTP_POST_And_BEHALF_HEADER_Is_Not_Set_In_Request_Then_Bad_Request_Response_Is_Generated() throws Exception { + public void Given_Request_Is_HTTP_POST_And_BEHALF_HEADER_Is_Not_Set_In_Request_Then_Bad_Request_Response_Is_Generated() + throws Exception { setBehalfHeader(null); drfeedsServlet.doPost(request, response); verify(response).sendError(eq(HttpServletResponse.SC_BAD_REQUEST), argThat(notNullValue(String.class))); @@ -161,7 +175,8 @@ public class DRFeedsServletTest extends DrServletTestBase { @Test - public void Given_Request_Is_HTTP_POST_And_URL_Path_Not_Valid_Then_Bad_Request_Response_Is_Generated() throws Exception { + public void Given_Request_Is_HTTP_POST_And_URL_Path_Not_Valid_Then_Bad_Request_Response_Is_Generated() + throws Exception { when(request.getRequestURI()).thenReturn("/123"); drfeedsServlet.doPost(request, response); verify(response).sendError(eq(HttpServletResponse.SC_NOT_FOUND), argThat(notNullValue(String.class))); @@ -169,28 +184,33 @@ public class DRFeedsServletTest extends DrServletTestBase { @Test - public void Given_Request_Is_HTTP_POST_And_Content_Header_Is_Not_Supported_Type_Then_Unsupported_Media_Type_Response_Is_Generated() throws Exception { + public void Given_Request_Is_HTTP_POST_And_Content_Header_Is_Not_Supported_Type_Then_Unsupported_Media_Type_Response_Is_Generated() + throws Exception { when(request.getHeader("Content-Type")).thenReturn("application/vnd.att-dr.feed; version=1.1"); when(request.getContentType()).thenReturn("stub_contentType"); drfeedsServlet.doPost(request, response); - verify(response).sendError(eq(HttpServletResponse.SC_UNSUPPORTED_MEDIA_TYPE), argThat(notNullValue(String.class))); + verify(response) + .sendError(eq(HttpServletResponse.SC_UNSUPPORTED_MEDIA_TYPE), argThat(notNullValue(String.class))); } @Test - public void Given_Request_Is_HTTP_POST_And_Request_Is_Not_Authorized_Then_Forbidden_Response_Is_Generated() throws Exception { + public void Given_Request_Is_HTTP_POST_And_Request_Is_Not_Authorized_Then_Forbidden_Response_Is_Generated() + throws Exception { setAuthoriserToReturnRequestNotAuthorized(); drfeedsServlet.doPost(request, response); verify(response).sendError(eq(HttpServletResponse.SC_FORBIDDEN), argThat(notNullValue(String.class))); } @Test - public void Given_Request_Is_HTTP_POST_And_Request_Contains_Badly_Formed_JSON_Then_Bad_Request_Response_Is_Generated() throws Exception { + public void Given_Request_Is_HTTP_POST_And_Request_Contains_Badly_Formed_JSON_Then_Bad_Request_Response_Is_Generated() + throws Exception { drfeedsServlet.doPost(request, response); verify(response).sendError(eq(HttpServletResponse.SC_BAD_REQUEST), argThat(notNullValue(String.class))); } @Test - public void Given_Request_Is_HTTP_POST_And_Active_Feeds_Equals_Max_Feeds_Then_Bad_Request_Response_Is_Generated() throws Exception { + public void Given_Request_Is_HTTP_POST_And_Active_Feeds_Equals_Max_Feeds_Then_Bad_Request_Response_Is_Generated() + throws Exception { FieldUtils.writeDeclaredStaticField(BaseServlet.class, "maxFeeds", 0, true); DRFeedsServlet drfeedsServlet = new DRFeedsServlet() { protected JSONObject getJSONfromInput(HttpServletRequest req) { @@ -202,7 +222,8 @@ public class DRFeedsServletTest extends DrServletTestBase { } @Test - public void Given_Request_Is_HTTP_POST_And_Feed_Is_Not_Valid_Object_Bad_Request_Response_Is_Generated() throws Exception { + public void Given_Request_Is_HTTP_POST_And_Feed_Is_Not_Valid_Object_Bad_Request_Response_Is_Generated() + throws Exception { when(request.getHeader("X-ATT-DR-ON-BEHALF-OF-GROUP")).thenReturn(null); JSONObject JSObject = buildRequestJsonObject(); @@ -218,7 +239,8 @@ public class DRFeedsServletTest extends DrServletTestBase { } @Test - public void Given_Request_Is_HTTP_POST_And_Feed_Already_Exists_Bad_Request_Response_Is_Generated() throws Exception { + public void Given_Request_Is_HTTP_POST_And_Feed_Already_Exists_Bad_Request_Response_Is_Generated() + throws Exception { setFeedToReturnInvalidFeedIdSupplied(); JSONObject JSObject = buildRequestJsonObject(); DRFeedsServlet drfeedsServlet = new DRFeedsServlet() { @@ -252,12 +274,14 @@ public class DRFeedsServletTest extends DrServletTestBase { } }; drfeedsServlet.doPost(request, response); - verify(response).sendError(eq(HttpServletResponse.SC_INTERNAL_SERVER_ERROR), argThat(notNullValue(String.class))); + verify(response) + .sendError(eq(HttpServletResponse.SC_INTERNAL_SERVER_ERROR), argThat(notNullValue(String.class))); } @Test - public void Given_Request_Is_HTTP_POST_And_Change_On_Feeds_Succeeds_A_STATUS_OK_Response_Is_Generated() throws Exception { + public void Given_Request_Is_HTTP_POST_And_Change_On_Feeds_Succeeds_A_STATUS_OK_Response_Is_Generated() + throws Exception { ServletOutputStream outStream = mock(ServletOutputStream.class); when(response.getOutputStream()).thenReturn(outStream); JSONObject JSObject = buildRequestJsonObject(); @@ -301,7 +325,9 @@ public class DRFeedsServletTest extends DrServletTestBase { when(request.isSecure()).thenReturn(true); Set authAddressesAndNetworks = new HashSet(); authAddressesAndNetworks.add(("127.0.0.1")); - FieldUtils.writeDeclaredStaticField(BaseServlet.class, "authorizedAddressesAndNetworks", authAddressesAndNetworks, true); + FieldUtils + .writeDeclaredStaticField(BaseServlet.class, "authorizedAddressesAndNetworks", authAddressesAndNetworks, + true); FieldUtils.writeDeclaredStaticField(BaseServlet.class, "requireCert", false, true); FieldUtils.writeDeclaredStaticField(BaseServlet.class, "maxFeeds", 100, true); } diff --git a/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/FeedServletTest.java b/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/FeedServletTest.java index f5302cb9..cb8a28da 100755 --- a/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/FeedServletTest.java +++ b/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/FeedServletTest.java @@ -76,6 +76,7 @@ public class FeedServletTest extends DrServletTestBase { public void Given_Request_Is_HTTP_DELETE_And_Is_Not_Secure_When_HTTPS_Is_Required_Then_Forbidden_Response_Is_Generated() throws Exception { when(request.isSecure()).thenReturn(false); + FieldUtils.writeDeclaredStaticField(BaseServlet.class, "isAddressAuthEnabled", "true", true); feedServlet.doDelete(request, response); verify(response).sendError(eq(HttpServletResponse.SC_FORBIDDEN), argThat(notNullValue(String.class))); } @@ -147,6 +148,7 @@ public class FeedServletTest extends DrServletTestBase { public void Given_Request_Is_HTTP_GET_And_Is_Not_Secure_When_HTTPS_Is_Required_Then_Forbidden_Response_Is_Generated() throws Exception { when(request.isSecure()).thenReturn(false); + FieldUtils.writeDeclaredStaticField(BaseServlet.class, "isAddressAuthEnabled", "true", true); feedServlet.doGet(request, response); verify(response).sendError(eq(HttpServletResponse.SC_FORBIDDEN), argThat(notNullValue(String.class))); } @@ -200,6 +202,7 @@ public class FeedServletTest extends DrServletTestBase { public void Given_Request_Is_HTTP_PUT_And_Is_Not_Secure_When_HTTPS_Is_Required_Then_Forbidden_Response_Is_Generated() throws Exception { when(request.isSecure()).thenReturn(false); + FieldUtils.writeDeclaredStaticField(BaseServlet.class, "isAddressAuthEnabled", "true", true); feedServlet.doPut(request, response); verify(response).sendError(eq(HttpServletResponse.SC_FORBIDDEN), argThat(notNullValue(String.class))); } diff --git a/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/GroupServletTest.java b/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/GroupServletTest.java old mode 100644 new mode 100755 index a0831b73..fa0caea6 --- a/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/GroupServletTest.java +++ b/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/GroupServletTest.java @@ -76,6 +76,7 @@ public class GroupServletTest extends DrServletTestBase { @Test public void Given_Request_Is_HTTP_GET_And_Is_Not_Secure_When_HTTPS_Is_Required_Then_Forbidden_Response_Is_Generated() throws Exception { when(request.isSecure()).thenReturn(false); + FieldUtils.writeDeclaredStaticField(BaseServlet.class, "isAddressAuthEnabled", "true", true); groupServlet.doGet(request, response); verify(response).sendError(eq(HttpServletResponse.SC_FORBIDDEN), argThat(notNullValue(String.class))); } @@ -105,6 +106,7 @@ public class GroupServletTest extends DrServletTestBase { @Test public void Given_Request_Is_HTTP_PUT_And_Is_Not_Secure_When_HTTPS_Is_Required_Then_Forbidden_Response_Is_Generated() throws Exception { when(request.isSecure()).thenReturn(false); + FieldUtils.writeDeclaredStaticField(BaseServlet.class, "isAddressAuthEnabled", "true", true); groupServlet.doPut(request, response); verify(response).sendError(eq(HttpServletResponse.SC_FORBIDDEN), argThat(notNullValue(String.class))); } @@ -184,6 +186,7 @@ public class GroupServletTest extends DrServletTestBase { @Test public void Given_Request_Is_HTTP_POST_And_Is_Not_Secure_When_HTTPS_Is_Required_Then_Forbidden_Response_Is_Generated() throws Exception { when(request.isSecure()).thenReturn(false); + FieldUtils.writeDeclaredStaticField(BaseServlet.class, "isAddressAuthEnabled", "true", true); groupServlet.doPost(request, response); verify(response).sendError(eq(HttpServletResponse.SC_FORBIDDEN), argThat(notNullValue(String.class))); } diff --git a/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/InternalServletTest.java b/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/InternalServletTest.java index f8342449..97900d4d 100755 --- a/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/InternalServletTest.java +++ b/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/InternalServletTest.java @@ -89,6 +89,8 @@ public class InternalServletTest extends DrServletTestBase { public void Given_Request_Is_HTTP_GET_And_Address_Not_Authorized_When_HTTPS_Is_Required_Then_Forbidden_Response_Is_Generated() throws Exception { when(request.getRemoteAddr()).thenReturn("127.100.0.3"); + FieldUtils.writeDeclaredStaticField(BaseServlet.class, "isAddressAuthEnabled", "true", true); + internalServlet.doGet(request, response); verify(response) .sendError(eq(HttpServletResponse.SC_FORBIDDEN), argThat(notNullValue(String.class))); @@ -188,6 +190,7 @@ public class InternalServletTest extends DrServletTestBase { public void Given_Request_Is_HTTP_PUT_And_Address_Not_Authorized_When_HTTPS_Is_Required_Then_Forbidden_Response_Is_Generated() throws Exception { when(request.getRemoteAddr()).thenReturn("127.100.0.3"); + FieldUtils.writeDeclaredStaticField(BaseServlet.class, "isAddressAuthEnabled", "true", true); internalServlet.doPut(request, response); verify(response) .sendError(eq(HttpServletResponse.SC_FORBIDDEN), argThat(notNullValue(String.class))); @@ -232,6 +235,7 @@ public class InternalServletTest extends DrServletTestBase { public void Given_Request_Is_HTTP_DELETE_And_Address_Not_Authorized_When_HTTPS_Is_Required_Then_Forbidden_Response_Is_Generated() throws Exception { when(request.getRemoteAddr()).thenReturn("127.100.0.3"); + FieldUtils.writeDeclaredStaticField(BaseServlet.class, "isAddressAuthEnabled", "true", true); internalServlet.doDelete(request, response); verify(response) .sendError(eq(HttpServletResponse.SC_FORBIDDEN), argThat(notNullValue(String.class))); @@ -278,6 +282,7 @@ public class InternalServletTest extends DrServletTestBase { throws Exception { when(request.getRemoteAddr()).thenReturn("127.100.0.3"); internalServlet.doPost(request, response); + FieldUtils.writeDeclaredStaticField(BaseServlet.class, "isAddressAuthEnabled", "true", true); verify(response) .sendError(eq(HttpServletResponse.SC_FORBIDDEN), argThat(notNullValue(String.class))); } diff --git a/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/RouteServletTest.java b/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/RouteServletTest.java index 63715804..34421f52 100755 --- a/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/RouteServletTest.java +++ b/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/RouteServletTest.java @@ -69,6 +69,7 @@ public class RouteServletTest extends DrServletTestBase @Test public void Given_Request_Is_HTTP_DELETE_And_Is_Not_Authorized() throws Exception { + FieldUtils.writeDeclaredStaticField(BaseServlet.class, "isAddressAuthEnabled", "true", true); routeServlet.doDelete(request, response); verify(response).sendError(eq(HttpServletResponse.SC_FORBIDDEN), argThat(notNullValue(String.class))); } @@ -207,6 +208,7 @@ public class RouteServletTest extends DrServletTestBase @Test public void Given_Request_Is_HTTP_GET_And_Is_Not_Authorized() throws Exception { + FieldUtils.writeDeclaredStaticField(BaseServlet.class, "isAddressAuthEnabled", "true", true); routeServlet.doGet(request, response); verify(response).sendError(eq(HttpServletResponse.SC_FORBIDDEN), argThat(notNullValue(String.class))); } @@ -290,6 +292,7 @@ public class RouteServletTest extends DrServletTestBase @Test public void Given_Request_Is_HTTP_POST_And_Is_Not_Authorized() throws Exception { routeServlet.doPost(request, response); + FieldUtils.writeDeclaredStaticField(BaseServlet.class, "isAddressAuthEnabled", "true", true); verify(response).sendError(eq(HttpServletResponse.SC_FORBIDDEN), argThat(notNullValue(String.class))); } diff --git a/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/SubscribeServletTest.java b/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/SubscribeServletTest.java index cdf96ba6..25341d42 100755 --- a/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/SubscribeServletTest.java +++ b/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/SubscribeServletTest.java @@ -81,6 +81,7 @@ public class SubscribeServletTest extends DrServletTestBase { @Test public void Given_Request_Is_HTTP_GET_And_Is_Not_Secure_When_HTTPS_Is_Required_Then_Forbidden_Response_Is_Generated() throws Exception { when(request.isSecure()).thenReturn(false); + FieldUtils.writeDeclaredStaticField(BaseServlet.class, "isAddressAuthEnabled", "true", true); subscribeServlet.doGet(request, response); verify(response).sendError(eq(HttpServletResponse.SC_FORBIDDEN), argThat(notNullValue(String.class))); } @@ -137,6 +138,7 @@ public class SubscribeServletTest extends DrServletTestBase { @Test public void Given_Request_Is_HTTP_POST_And_Is_Not_Secure_When_HTTPS_Is_Required_Then_Forbidden_Response_Is_Generated() throws Exception { when(request.isSecure()).thenReturn(false); + FieldUtils.writeDeclaredStaticField(BaseServlet.class, "isAddressAuthEnabled", "true", true); subscribeServlet.doPost(request, response); verify(response).sendError(eq(HttpServletResponse.SC_FORBIDDEN), argThat(notNullValue(String.class))); } diff --git a/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/SubscriptionServletTest.java b/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/SubscriptionServletTest.java old mode 100644 new mode 100755 index b42e3a76..c5660672 --- a/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/SubscriptionServletTest.java +++ b/datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/SubscriptionServletTest.java @@ -73,6 +73,7 @@ public class SubscriptionServletTest extends DrServletTestBase { @Test public void Given_Request_Is_HTTP_DELETE_SC_Forbidden_Response_Is_Generated() throws Exception { when(request.isSecure()).thenReturn(false); + FieldUtils.writeDeclaredStaticField(BaseServlet.class, "isAddressAuthEnabled", "true", true); subscriptionServlet.doDelete(request, response); verify(response).sendError(eq(HttpServletResponse.SC_FORBIDDEN), argThat(notNullValue(String.class))); } @@ -130,6 +131,7 @@ public class SubscriptionServletTest extends DrServletTestBase { @Test public void Given_Request_Is_HTTP_GET_And_Is_Not_Secure_When_HTTPS_Is_Required_Then_Forbidden_Response_Is_Generated() throws Exception { when(request.isSecure()).thenReturn(false); + FieldUtils.writeDeclaredStaticField(BaseServlet.class, "isAddressAuthEnabled", "true", true); subscriptionServlet.doGet(request, response); verify(response).sendError(eq(HttpServletResponse.SC_FORBIDDEN), argThat(notNullValue(String.class))); } @@ -184,6 +186,7 @@ public class SubscriptionServletTest extends DrServletTestBase { @Test public void Given_Request_Is_HTTP_PUT_And_Is_Not_Secure_When_HTTPS_Is_Required_Then_Forbidden_Response_Is_Generated() throws Exception { when(request.isSecure()).thenReturn(false); + FieldUtils.writeDeclaredStaticField(BaseServlet.class, "isAddressAuthEnabled", "true", true); subscriptionServlet.doPut(request, response); verify(response).sendError(eq(HttpServletResponse.SC_FORBIDDEN), argThat(notNullValue(String.class))); } @@ -323,6 +326,7 @@ public class SubscriptionServletTest extends DrServletTestBase { @Test public void Given_Request_Is_HTTP_POST_And_Is_Not_Secure_When_HTTPS_Is_Required_Then_Forbidden_Response_Is_Generated() throws Exception { when(request.isSecure()).thenReturn(false); + FieldUtils.writeDeclaredStaticField(BaseServlet.class, "isAddressAuthEnabled", "true", true); subscriptionServlet.doPost(request, response); verify(response).sendError(eq(HttpServletResponse.SC_FORBIDDEN), argThat(notNullValue(String.class))); } diff --git a/datarouter-prov/src/test/resources/integration_test.properties b/datarouter-prov/src/test/resources/integration_test.properties index 36b2ac3c..9ac1850a 100644 --- a/datarouter-prov/src/test/resources/integration_test.properties +++ b/datarouter-prov/src/test/resources/integration_test.properties @@ -1,5 +1,5 @@ -test.keystore=self_signed/keystore.jks -test.kspassword=changeit -test.truststore=self_signed/cacerts.jks -test.tspassword=changeit -test.host=https://prov.datarouternew.com:8443 \ No newline at end of file +test.keystore=aaf_certs/org.onap.dmaap-dr.jks +test.kspassword=Qgw77oaQcdP*F8Pwa[&.,.Ab +test.truststore=aaf_certs/org.onap.dmaap-dr.trust.jks +test.tspassword=9M?)?:KAj1z6gpLhNrVUG@0T +test.host=https://dmaap-dr-prov:8443 \ No newline at end of file diff --git a/docker-compose/database/sql_init_01.sql b/docker-compose/database/sql_init_01.sql old mode 100644 new mode 100755 index e01ce3b0..356a67a9 --- a/docker-compose/database/sql_init_01.sql +++ b/docker-compose/database/sql_init_01.sql @@ -124,18 +124,18 @@ CREATE TABLE GROUPS ( ); INSERT INTO PARAMETERS VALUES - ('ACTIVE_POD', 'prov.datarouternew.com'), - ('PROV_ACTIVE_NAME', 'prov.datarouternew.com'), + ('ACTIVE_POD', 'dmaap-dr-prov'), + ('PROV_ACTIVE_NAME', 'dmaap-dr-prov'), ('STANDBY_POD', ''), - ('PROV_NAME', 'prov.datarouternew.com'), - ('NODES', '172.100.0.1|node.datarouternew.com'), - ('PROV_DOMAIN', 'datarouternew.com'), + ('PROV_NAME', 'dmaap-dr-prov'), + ('NODES', 'dmaap-dr-node'), + ('PROV_DOMAIN', ''), ('DELIVERY_INIT_RETRY_INTERVAL', '10'), ('DELIVERY_MAX_AGE', '86400'), ('DELIVERY_MAX_RETRY_INTERVAL', '3600'), ('DELIVERY_RETRY_RATIO', '2'), ('LOGROLL_INTERVAL', '300'), - ('PROV_AUTH_ADDRESSES', '172.100.0.1|prov.datarouternew.com|node.datarouternew.com'), + ('PROV_AUTH_ADDRESSES', 'dmaap-dr-prov|dmaap-dr-node'), ('PROV_AUTH_SUBJECTS', ''), ('PROV_MAXFEED_COUNT', '10000'), ('PROV_MAXSUB_COUNT', '100000'), diff --git a/docker-compose/docker-compose.yml b/docker-compose/docker-compose.yml index f8a4d843..35ed74c3 100644 --- a/docker-compose/docker-compose.yml +++ b/docker-compose/docker-compose.yml @@ -7,9 +7,9 @@ # * 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. @@ -25,10 +25,11 @@ services: datarouter-prov: image: nexus3.onap.org:10003/onap/dmaap/datarouter-prov container_name: datarouter-prov - hostname: prov.datarouternew.com + hostname: dmaap-dr-prov ports: + - "443:8443" - "8443:8443" - - "8080:8080" + - "8080:8080" volumes: - ./prov_data/provserver.properties:/opt/app/datartr/etc/provserver.properties - ./prov_data/addSubscriber.txt:/opt/app/datartr/addSubscriber.txt @@ -37,12 +38,12 @@ services: mariadb_container: condition: service_healthy healthcheck: - test: ["CMD", "curl", "-f", "http://prov.datarouternew.com:8080/internal/prov"] + test: ["CMD", "curl", "-f", "http://dmaap-dr-prov:8080/internal/prov"] interval: 10s timeout: 10s retries: 5 extra_hosts: - - "node.datarouternew.com:172.100.0.4" + - "dmaap-dr-node:172.100.0.4" networks: testing_net: ipv4_address: 172.100.0.3 @@ -50,7 +51,7 @@ services: datarouter-node: image: nexus3.onap.org:10003/onap/dmaap/datarouter-node container_name: datarouter-node - hostname: node.datarouternew.com + hostname: dmaap-dr-node ports: - "9443:8443" - "9090:8080" @@ -60,7 +61,7 @@ services: datarouter-prov: condition: service_healthy extra_hosts: - - "prov.datarouternew.com:172.100.0.3" + - "dmaap-dr-prov:172.100.0.3" networks: testing_net: ipv4_address: 172.100.0.4 @@ -76,7 +77,7 @@ services: networks: testing_net: ipv4_address: 172.100.0.5 - + mariadb_container: image: mariadb:10.2.14 container_name: mariadb diff --git a/docker-compose/node_data/aaf_certs/org.onap.dmaap-dr.jks b/docker-compose/node_data/aaf_certs/org.onap.dmaap-dr.jks new file mode 100755 index 0000000000000000000000000000000000000000..4529cccbf5dd035ce0b06db7d47afe0c2f2bfb5b GIT binary patch literal 3659 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 literal 0 HcmV?d00001 diff --git a/docker-compose/node_data/aaf_certs/org.onap.dmaap-dr.trust.jks b/docker-compose/node_data/aaf_certs/org.onap.dmaap-dr.trust.jks new file mode 100755 index 0000000000000000000000000000000000000000..096fbb26aaf93c6ee214442c5d550a0c870dcd9a GIT binary patch literal 1413 zcmb7DYdF&j9Ntxju_ZNY2$8cK>OX5WqOl@}327!2t1z`(>d5`UPFpN;%dO0{Ls+qx zORihWeNCQp@?bpbNjXe(k!lX-IUo9PzMK!g=Y8Jy_ddVp_u+k&^U8S;2n1Ol@IR<_ zmf^<=J|P|01>|rPqZL;Yikfl0D*x2m;TRdY{=AU=Oco=%?oDzLqiK}YhH#yQM%9s^f(sN#`FSBSK4YjRx$p_m{sx4?O zB4h(GH;p*&Gxmq+wWeS5uIx6vG?x;Yaf z@f!|2M>&lfY|3lD_INfRU2aM#49GF_lBND(wSP`v)P|z^w(yg*Gt*sb1-QBWf)4Ju zD(WCJIik#eHTzvUtS!hOb*wz6FqU}OZ?R`UUAG!{x2&Aah+p%>P0VD5E;T=} zzj`d$v$9c=Wa>91U&fz%NqX|`kO)nWy^ z;4{`u!cvh9O#Rh+K$-+X_hlM(ItC0_N-kWbK^6Pgex7z8dq3orn^^$6-AVQAP^4;o>~ zc~0go6i3|>>AVa1!fXy@k56vr!m855u+<=h*}gz7bPIbrVzG4TLv45I`~crs5}5b# zK9ErmJ-Cf@&`0lE!o`zflP>=E+-G-TCE=GRw_lD*yBhQseiDp%h$fDw8%#* zdtg^h;#*ruw}reuJdD%O+DtNdd|jSy%z5ROrb&(}DXv(OK97o>z0jMEsd*vb@gqf# zcEqHZ(41;p+MSOMh8lw3_cl6=UlRbi@3OyJmgn*8#9a3vx`uoV}=|v6+dYEm3EkW|i=Q$ZD6At&H*)i>PPAe7)yWI)0Vjhv zw$d4L!uK<&bn7i2F>y*~fmFybI-XHZl;}PjkG+C=i{2jhhOc<`B3M^Dg3D7NPHcZ* SwZL)1t|WO^i8tl3g8v4}x?&Ol literal 0 HcmV?d00001 diff --git a/docker-compose/node_data/node.properties b/docker-compose/node_data/node.properties index 20c5af12..de38cb6f 100644 --- a/docker-compose/node_data/node.properties +++ b/docker-compose/node_data/node.properties @@ -2,7 +2,7 @@ # ============LICENSE_START================================================== # * org.onap.dmaap # * =========================================================================== -# * Copyright � 2017 AT&T Intellectual Property. All rights reserved. +# * Copyright © 2017 AT&T Intellectual Property. All rights reserved. # * =========================================================================== # * Licensed under the Apache License, Version 2.0 (the "License"); # * you may not use this file except in compliance with the License. @@ -25,14 +25,14 @@ # # URL to retrieve dynamic configuration # -#ProvisioningURL: ${DRTR_PROV_INTURL:-https://feeds-drtr.web.att.com/internal/prov} -ProvisioningURL=https://prov.datarouternew.com:8443/internal/prov +#ProvisioningURL: ${DRTR_PROV_INTURL} +ProvisioningURL=https://dmaap-dr-prov:8443/internal/prov # # URL to upload PUB/DEL/EXP logs # -#LogUploadURL: ${DRTR_LOG_URL:-https://feeds-drtr.web.att.com/internal/logs} -LogUploadURL=https://prov.datarouternew.com:8443/internal/logs +#LogUploadURL: ${DRTR_LOG_URL} +LogUploadURL=https://dmaap-dr-prov:8443/internal/logs # # The port number for http as seen within the server @@ -74,20 +74,19 @@ SpoolDir=/opt/app/datartr/spool #RedirectionFile: etc/redirections.dat # # The type of keystore for https -# KeyStoreType: jks # # The path to the keystore for https # -KeyStoreFile:/opt/app/datartr/self_signed/keystore.jks +KeyStoreFile:/opt/app/datartr/aaf_certs/org.onap.dmaap-dr.jks # # The password for the https keystore # -KeyStorePassword=changeit +KeyStorePassword=4*&GD+w58RUM]01No.CYY;z6 # # The password for the private key in the https keystore # -KeyPassword=changeit +KeyPassword=4*&GD+w58RUM]01No.CYY;z6 # # The type of truststore for https # @@ -96,11 +95,11 @@ TrustStoreType=jks # The path to the truststore for https # #TrustStoreFile=/usr/lib/jvm/java-8-oracle/jre/lib/security/cacerts -TrustStoreFile=/opt/app/datartr/self_signed/cacerts.jks +TrustStoreFile=/opt/app/datartr/aaf_certs/org.onap.dmaap-dr.trust.jks # # The password for the https truststore # -TrustStorePassword=changeit +TrustStorePassword=UDXlT6Iu[F)k,Htk92+B,0Xj # # The path to the file used to trigger an orderly shutdown # diff --git a/docker-compose/node_data/self_signed/cacerts.jks b/docker-compose/node_data/self_signed/cacerts.jks deleted file mode 100644 index dfd81433eeb9e44fb36f56c68c4627daf0e65356..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1936 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 literal 0 HcmV?d00001 diff --git a/docker-compose/prov_data/aaf_certs/org.onap.dmaap-dr.trust.jks b/docker-compose/prov_data/aaf_certs/org.onap.dmaap-dr.trust.jks new file mode 100755 index 0000000000000000000000000000000000000000..c8f9ee66bd456edbdb982eab58d65ba389b073c3 GIT binary patch literal 1413 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 diff --git a/docker-compose/prov_data/self_signed/mykey.cer b/docker-compose/prov_data/self_signed/mykey.cer deleted file mode 100644 index 2a5c9d701adebe1c1bad90d8157287ecb3cce6d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 921 zcmXqLVxDTy#8kV0nTe5!iN&xhKi+_sjZ>@5qwPB{BO^B}gF&^SfB_#Hb0`a&FnefT zc3ysY9!!J-LxdeegbPE28zCZZAPX{?Sy-%~D8EcEC9x#2D8IBMwJ0yOTrW94*Fa93 z*U;R+(AdDp*wn(vBnr$mfpZ7eaZQX$$brSk%D~*j$j@NV#K^_e#K_37^7L|sE6We9 z&j0^%=7Ejjq1!k<<{fqOzqXSlJpHWu)vqp}$RE2;2TtA& zXH@Wdk+x>tEtAiGKEKgyKk2*Uu0pqpmEg8)R)f8Z=5B2NC-?Qm@c@p7U)LH=FsCQQ zY!ry~a9Ay}x=f2hf!H&-03&$Co