aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordanielhanrahan <daniel.hanrahan@est.tech>2021-08-30 17:35:18 +0100
committerDaniel Hanrahan <daniel.hanrahan@est.tech>2021-09-07 08:22:23 +0000
commita8af9621cd5be96dc802710078bae90400f6792a (patch)
tree269bf18fec38852cdbbd5e5c0d0c5ff67dd3e356
parenta023942e415b1f0a5dfb40a1d8315b66cc951dad (diff)
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 <daniel.hanrahan@est.tech> Change-Id: I9a4c2b250a1f0460892a367a3b5bbb59e0e92411
-rw-r--r--gui-pdp-monitoring/pom.xml34
-rw-r--r--gui-pdp-monitoring/src/main/assembly/frontend.xml (renamed from gui-pdp-monitoring/src/main/assembly/resources.xml)12
-rw-r--r--gui-pdp-monitoring/src/main/java/org/onap/policy/gui/pdp/monitoring/PdpMonitoringMain.java2
-rw-r--r--gui-pdp-monitoring/src/main/java/org/onap/policy/gui/pdp/monitoring/PdpMonitoringServer.java19
-rw-r--r--gui-pdp-monitoring/src/main/java/org/onap/policy/gui/pdp/monitoring/PdpMonitoringServerParameters.java7
-rw-r--r--gui-pdp-monitoring/src/webapp/js/MonitoringConfig.js5
-rw-r--r--gui-pdp-monitoring/src/webapp/js/MonitoringMain.js8
-rw-r--r--gui-pdp-monitoring/src/webapp/webpack.config.js5
-rw-r--r--packages/policy-gui-docker/pom.xml15
-rw-r--r--packages/policy-gui-docker/src/main/docker/Dockerfile3
-rw-r--r--packages/policy-gui-docker/src/main/docker/nginx/default.conf.template10
-rw-r--r--packages/policy-gui-docker/src/main/docker/policy-gui.sh2
12 files changed, 50 insertions, 72 deletions
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 @@
<!--
============LICENSE_START=======================================================
- Copyright (C) 2020 Nordix Foundation.
+ Copyright (C) 2020-2021 Nordix Foundation.
Modifications Copyright (C) 2021 AT&T Intellectual Property. All rights reserved.
================================================================================
Licensed under the Apache License, Version 2.0 (the "License");
@@ -63,19 +63,6 @@
<artifactId>mockito-all</artifactId>
<scope>test</scope>
</dependency>
- <dependency>
- <groupId>org.assertj</groupId>
- <artifactId>assertj-core</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.onap.policy.gui</groupId>
- <artifactId>gui-common</artifactId>
- <version>${project.version}</version>
- <classifier>resources</classifier>
- <type>zip</type>
- <scope>provided</scope>
- </dependency>
</dependencies>
<build>
@@ -131,22 +118,19 @@
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-resources-plugin</artifactId>
+ <artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
- <id>Copy frontend build to target</id>
- <phase>prepare-package</phase>
+ <id>generate-gui-pdp-monitoring-tar</id>
+ <phase>package</phase>
<goals>
- <goal>copy-resources</goal>
+ <goal>single</goal>
</goals>
<configuration>
- <outputDirectory>${project.build.directory}/classes/webapp</outputDirectory>
- <resources>
- <resource>
- <directory>${webapp.dir}/dist</directory>
- <filtering>false</filtering>
- </resource>
- </resources>
+ <descriptors>
+ <descriptor>src/main/assembly/frontend.xml</descriptor>
+ </descriptors>
+ <finalName>${project.artifactId}-${project.version}</finalName>
</configuration>
</execution>
</executions>
diff --git a/gui-pdp-monitoring/src/main/assembly/resources.xml b/gui-pdp-monitoring/src/main/assembly/frontend.xml
index b204cab..610121b 100644
--- a/gui-pdp-monitoring/src/main/assembly/resources.xml
+++ b/gui-pdp-monitoring/src/main/assembly/frontend.xml
@@ -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.
@@ -18,15 +18,15 @@
============LICENSE_END=========================================================
-->
<assembly>
- <id>resources</id>
+ <id>frontend</id>
<formats>
- <format>zip</format>
+ <format>tar.gz</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<fileSets>
<fileSet>
- <directory>target/classes/webapp</directory>
- <outputDirectory>monitoring</outputDirectory>
+ <directory>${webapp.dir}/dist</directory>
+ <outputDirectory>pdp-monitoring</outputDirectory>
</fileSet>
</fileSets>
-</assembly> \ No newline at end of file
+</assembly>
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 @@
<includes>
<include>org.onap.policy.gui:gui-clamp:tar.gz:clamp-build:${project.version}</include>
</includes>
- <outputFileNameMapping>gui-clamp.tar.gz</outputFileNameMapping>
+ <outputFileNameMapping>gui-clamp-html.tar.gz</outputFileNameMapping>
+ </dependencySet>
+ <dependencySet>
+ <includes>
+ <include>org.onap.policy.gui:gui-pdp-monitoring:tar.gz:frontend:${project.version}</include>
+ </includes>
+ <outputFileNameMapping>gui-pdp-monitoring-html.tar.gz</outputFileNameMapping>
</dependencySet>
<dependencySet>
<includes>
@@ -172,6 +178,13 @@
<groupId>org.onap.policy.gui</groupId>
<artifactId>gui-pdp-monitoring</artifactId>
<version>${project.version}</version>
+ <classifier>frontend</classifier>
+ <type>tar.gz</type>
+ </dependency>
+ <dependency>
+ <groupId>org.onap.policy.gui</groupId>
+ <artifactId>gui-pdp-monitoring</artifactId>
+ <version>${project.version}</version>
<type>uber.jar</type>
</dependency>
<dependency>
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