From a8af9621cd5be96dc802710078bae90400f6792a Mon Sep 17 00:00:00 2001 From: danielhanrahan Date: Mon, 30 Aug 2021 17:35:18 +0100 Subject: Make gui-pdp-monitoring work in Docker image Serve PDP Monitoring HTML using nginx in Docker image Don't serve HTML content from PdpMonitoringServer Remove unused dependencies in gui-pdp-monitoring Add proxy setting for local dev testing with npm start Issue-ID: POLICY-3603 Signed-off-by: danielhanrahan Change-Id: I9a4c2b250a1f0460892a367a3b5bbb59e0e92411 --- gui-pdp-monitoring/pom.xml | 34 ++++++---------------- gui-pdp-monitoring/src/main/assembly/frontend.xml | 32 ++++++++++++++++++++ gui-pdp-monitoring/src/main/assembly/resources.xml | 32 -------------------- .../gui/pdp/monitoring/PdpMonitoringMain.java | 2 +- .../gui/pdp/monitoring/PdpMonitoringServer.java | 19 ++---------- .../monitoring/PdpMonitoringServerParameters.java | 7 +---- .../src/webapp/js/MonitoringConfig.js | 5 ++-- gui-pdp-monitoring/src/webapp/js/MonitoringMain.js | 8 ++--- gui-pdp-monitoring/src/webapp/webpack.config.js | 5 +++- packages/policy-gui-docker/pom.xml | 15 +++++++++- .../policy-gui-docker/src/main/docker/Dockerfile | 3 +- .../src/main/docker/nginx/default.conf.template | 10 +++---- .../src/main/docker/policy-gui.sh | 2 +- 13 files changed, 76 insertions(+), 98 deletions(-) create mode 100644 gui-pdp-monitoring/src/main/assembly/frontend.xml delete mode 100644 gui-pdp-monitoring/src/main/assembly/resources.xml diff --git a/gui-pdp-monitoring/pom.xml b/gui-pdp-monitoring/pom.xml index 4fe4491..4f9b72c 100644 --- a/gui-pdp-monitoring/pom.xml +++ b/gui-pdp-monitoring/pom.xml @@ -1,6 +1,6 @@ + + frontend + + tar.gz + + false + + + ${webapp.dir}/dist + pdp-monitoring + + + diff --git a/gui-pdp-monitoring/src/main/assembly/resources.xml b/gui-pdp-monitoring/src/main/assembly/resources.xml deleted file mode 100644 index b204cab..0000000 --- a/gui-pdp-monitoring/src/main/assembly/resources.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - resources - - zip - - false - - - target/classes/webapp - monitoring - - - \ No newline at end of file diff --git a/gui-pdp-monitoring/src/main/java/org/onap/policy/gui/pdp/monitoring/PdpMonitoringMain.java b/gui-pdp-monitoring/src/main/java/org/onap/policy/gui/pdp/monitoring/PdpMonitoringMain.java index 398cbc4..2c0bb3a 100644 --- a/gui-pdp-monitoring/src/main/java/org/onap/policy/gui/pdp/monitoring/PdpMonitoringMain.java +++ b/gui-pdp-monitoring/src/main/java/org/onap/policy/gui/pdp/monitoring/PdpMonitoringMain.java @@ -152,7 +152,7 @@ public class PdpMonitoringMain { public void shutdown() { if (pdpMonitoringServer != null) { LOGGER.info(PDP_MONITORING_PREFIX + "{}) shutting down", this); - pdpMonitoringServer.shutdown(parameters.getPort(), parameters.getDefaultRestPort()); + pdpMonitoringServer.shutdown(parameters.getPort()); } shutdownLatch.countDown(); state = ServicesState.STOPPED; diff --git a/gui-pdp-monitoring/src/main/java/org/onap/policy/gui/pdp/monitoring/PdpMonitoringServer.java b/gui-pdp-monitoring/src/main/java/org/onap/policy/gui/pdp/monitoring/PdpMonitoringServer.java index 78e048d..bfb273d 100644 --- a/gui-pdp-monitoring/src/main/java/org/onap/policy/gui/pdp/monitoring/PdpMonitoringServer.java +++ b/gui-pdp-monitoring/src/main/java/org/onap/policy/gui/pdp/monitoring/PdpMonitoringServer.java @@ -22,7 +22,6 @@ package org.onap.policy.gui.pdp.monitoring; import lombok.NonNull; -import org.eclipse.jetty.servlets.CrossOriginFilter; import org.onap.policy.common.endpoints.http.server.HttpServletServer; import org.onap.policy.common.endpoints.http.server.HttpServletServerFactoryInstance; import org.slf4j.Logger; @@ -41,9 +40,6 @@ public class PdpMonitoringServer { // The HTTP server exposing JAX-RS resources defined in this application. private HttpServletServer jerseyServer; - // The HTTP server exposing static resources defined in this application. - private HttpServletServer staticResourceServer; - /** * Starts the HTTP server for the Pdp statistics monitoring on the default base URI and with the * default REST packages. @@ -58,34 +54,23 @@ public class PdpMonitoringServer { * @param parameters The Pdp parameters to use to start the server. */ public PdpMonitoringServer(@NonNull final PdpMonitoringServerParameters parameters) { - LOGGER.debug("Pdp Monitoring starting . . ."); jerseyServer = HttpServletServerFactoryInstance.getServerFactory().build("PDP Monitoring Rest Server", false, - parameters.getServerHost(), parameters.getDefaultRestPort(), parameters.getContextPath(), false, true); + parameters.getServerHost(), parameters.getPort(), parameters.getContextPath(), false, true); jerseyServer.addServletPackage(parameters.getDefaultRestPath(), parameters.getRestPackage()); - jerseyServer.addFilterClass(parameters.getDefaultRestPath(), CrossOriginFilter.class.getName()); jerseyServer.start(); - staticResourceServer = HttpServletServerFactoryInstance.getServerFactory().buildStaticResourceServer( - "PDP Monitoring Html Server", false, parameters.getServerHost(), parameters.getPort(), - parameters.getContextPath(), true); - staticResourceServer.addServletResource(null, - PdpMonitoringServer.class.getClassLoader().getResource("webapp").toExternalForm()); - staticResourceServer.start(); - LOGGER.debug("Pdp Monitoring started"); } /** * Shut down the web server. * - * @param htmlPort port number of static resource server * @param restPort port number of jersey server */ - public void shutdown(int htmlPort, int restPort) { + public void shutdown(int restPort) { LOGGER.debug("Pdp Monitoring . . ."); - HttpServletServerFactoryInstance.getServerFactory().destroy(htmlPort); HttpServletServerFactoryInstance.getServerFactory().destroy(restPort); LOGGER.debug("Pdp Monitoring shut down"); } diff --git a/gui-pdp-monitoring/src/main/java/org/onap/policy/gui/pdp/monitoring/PdpMonitoringServerParameters.java b/gui-pdp-monitoring/src/main/java/org/onap/policy/gui/pdp/monitoring/PdpMonitoringServerParameters.java index a76fa02..78fb479 100644 --- a/gui-pdp-monitoring/src/main/java/org/onap/policy/gui/pdp/monitoring/PdpMonitoringServerParameters.java +++ b/gui-pdp-monitoring/src/main/java/org/onap/policy/gui/pdp/monitoring/PdpMonitoringServerParameters.java @@ -38,7 +38,6 @@ import org.onap.policy.common.parameters.annotations.Min; @Getter @Setter public class PdpMonitoringServerParameters { - public static final int DEFAULT_PORT = 18999; public static final int INFINITY_TIME_TO_LIVE = -1; // Base URI the HTTP server will listen on @@ -55,7 +54,7 @@ public class PdpMonitoringServerParameters { @Min(1024) @Max(65534) - private int port = DEFAULT_PORT; + private int port = DEFAULT_REST_PORT; @Min(-1) private long timeToLive = INFINITY_TIME_TO_LIVE; @@ -88,8 +87,4 @@ public class PdpMonitoringServerParameters { public String getDefaultRestPath() { return "/" + DEFAULT_REST_PATH; } - - public int getDefaultRestPort() { - return DEFAULT_REST_PORT; - } } diff --git a/gui-pdp-monitoring/src/webapp/js/MonitoringConfig.js b/gui-pdp-monitoring/src/webapp/js/MonitoringConfig.js index f929282..6e5200e 100644 --- a/gui-pdp-monitoring/src/webapp/js/MonitoringConfig.js +++ b/gui-pdp-monitoring/src/webapp/js/MonitoringConfig.js @@ -1,6 +1,6 @@ /*- * ============LICENSE_START======================================================= - * Copyright (C) 2020 Nordix Foundation. + * Copyright (C) 2020-2021 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,7 +21,6 @@ // Configuration used for page layout and charts const config = { refresh: 5000, - restPort: 17999, engineService: { parent: "engineService", tableId: "engineServicesTable", @@ -124,4 +123,4 @@ const config = { } }; -export { config, }; \ No newline at end of file +export { config, }; diff --git a/gui-pdp-monitoring/src/webapp/js/MonitoringMain.js b/gui-pdp-monitoring/src/webapp/js/MonitoringMain.js index 9198d63..48aa96c 100644 --- a/gui-pdp-monitoring/src/webapp/js/MonitoringMain.js +++ b/gui-pdp-monitoring/src/webapp/js/MonitoringMain.js @@ -1,6 +1,6 @@ /*- * ============LICENSE_START======================================================= - * Copyright (C) 2020 Nordix Foundation. + * Copyright (C) 2020-2021 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -68,8 +68,8 @@ function readyCallback() { window.restRootURL = location.protocol + "//" + window.location.hostname - + ':' + config.restPort - + (location.pathname.endsWith("/monitoring/") ? location.pathname.substring(0, location.pathname.indexOf("monitoring/")) : location.pathname) + + ':' + window.location.port + + window.location.pathname + "papservices/monitoring/"; // Initialize tooltip for the charts initTooltip(); @@ -108,4 +108,4 @@ function readyCallback() { $(document).ready(readyCallback); // Export for unit testing -export { readyCallback, servicesCallback }; \ No newline at end of file +export { readyCallback, servicesCallback }; diff --git a/gui-pdp-monitoring/src/webapp/webpack.config.js b/gui-pdp-monitoring/src/webapp/webpack.config.js index f387ebe..4b1c179 100644 --- a/gui-pdp-monitoring/src/webapp/webpack.config.js +++ b/gui-pdp-monitoring/src/webapp/webpack.config.js @@ -10,6 +10,9 @@ module.exports = { devServer: { contentBase: path.join(__dirname, 'dist'), compress: true, - port: 9000 + port: 9000, + proxy: { + "/papservices/monitoring": "http://localhost:17999", + } } }; diff --git a/packages/policy-gui-docker/pom.xml b/packages/policy-gui-docker/pom.xml index 94453ce..9574600 100644 --- a/packages/policy-gui-docker/pom.xml +++ b/packages/policy-gui-docker/pom.xml @@ -94,7 +94,13 @@ org.onap.policy.gui:gui-clamp:tar.gz:clamp-build:${project.version} - gui-clamp.tar.gz + gui-clamp-html.tar.gz + + + + org.onap.policy.gui:gui-pdp-monitoring:tar.gz:frontend:${project.version} + + gui-pdp-monitoring-html.tar.gz @@ -168,6 +174,13 @@ clamp-build tar.gz + + org.onap.policy.gui + gui-pdp-monitoring + ${project.version} + frontend + tar.gz + org.onap.policy.gui gui-pdp-monitoring diff --git a/packages/policy-gui-docker/src/main/docker/Dockerfile b/packages/policy-gui-docker/src/main/docker/Dockerfile index e58c9ea..8820139 100644 --- a/packages/policy-gui-docker/src/main/docker/Dockerfile +++ b/packages/policy-gui-docker/src/main/docker/Dockerfile @@ -40,7 +40,8 @@ COPY /maven/gui-pdp-monitoring-uber.jar ./lib/ COPY nginx/nginx.conf /etc/nginx/nginx.conf COPY nginx/default.conf.template /etc/nginx/templates/default.conf.template COPY nginx/index.html /usr/share/nginx/html/ -ADD /maven/gui-clamp.tar.gz /usr/share/nginx/html/ +ADD /maven/gui-clamp-html.tar.gz /usr/share/nginx/html/ +ADD /maven/gui-pdp-monitoring-html.tar.gz /usr/share/nginx/html/ RUN rm /etc/nginx/conf.d/default.conf && \ ln -sf /dev/stdout /var/log/nginx/access.log && \ ln -sf /dev/stderr /var/log/nginx/error.log && \ diff --git a/packages/policy-gui-docker/src/main/docker/nginx/default.conf.template b/packages/policy-gui-docker/src/main/docker/nginx/default.conf.template index a12f34b..d407827 100644 --- a/packages/policy-gui-docker/src/main/docker/nginx/default.conf.template +++ b/packages/policy-gui-docker/src/main/docker/nginx/default.conf.template @@ -11,14 +11,12 @@ server { proxy_pass ${CLAMP_REST_URL}/restservices/clds/; } - location /apex-editor/ { - proxy_pass http://localhost:18989/; - proxy_set_header Host $host; - proxy_set_header If-Modified-Since $http_if_modified_since; + location /pdp-monitoring/papservices/monitoring/ { + proxy_pass http://localhost:17999/papservices/monitoring/; } - location /pdp-monitoring/ { - proxy_pass http://localhost:18999/; + location /apex-editor/ { + proxy_pass http://localhost:18989/; proxy_set_header Host $host; proxy_set_header If-Modified-Since $http_if_modified_since; } diff --git a/packages/policy-gui-docker/src/main/docker/policy-gui.sh b/packages/policy-gui-docker/src/main/docker/policy-gui.sh index 4d4cbee..bb2d9c9 100644 --- a/packages/policy-gui-docker/src/main/docker/policy-gui.sh +++ b/packages/policy-gui-docker/src/main/docker/policy-gui.sh @@ -27,7 +27,7 @@ echo "Starting gui-editor-apex" $JAVA_HOME/bin/java -jar "$POLICY_HOME/lib/gui-editor-apex-uber.jar" -p 18989 & echo "Starting gui-pdp-monitoring" -$JAVA_HOME/bin/java -jar "$POLICY_HOME/lib/gui-pdp-monitoring-uber.jar" -p 18999 & +$JAVA_HOME/bin/java -jar "$POLICY_HOME/lib/gui-pdp-monitoring-uber.jar" -p 17999 & echo "Starting nginx" envsubst '${CLAMP_REST_URL}' < /etc/nginx/templates/default.conf.template > /etc/nginx/conf.d/default.conf -- cgit 1.2.3-korg