Juan Hernandez has uploaded a new change for review. Change subject: core: Remove rmw-war ......................................................................
core: Remove rmw-war This war, located in the frontend, contains a few servlts that are in fact more related to the backend, and it doesn't grant the existence of a different module and .war file. This patch moves all the content to the root web application. As the URLs don't change there is no impact outside of the engine. Change-Id: I1b5a292cb28cbc460cf45a9595bddd7ebb824857 Signed-off-by: Juan Hernandez <juan.hernan...@redhat.com> --- M backend/manager/modules/root/pom.xml R backend/manager/modules/root/src/main/java/org/ovirt/engine/core/redirect/RedirectServlet.java R backend/manager/modules/root/src/main/java/org/ovirt/engine/core/register/RegisterServlet.java A backend/manager/modules/root/src/main/java/org/ovirt/engine/core/status/HealthStatus.java R backend/manager/modules/root/src/main/java/org/ovirt/engine/core/validate/ValidateSession.java M backend/manager/modules/root/src/main/webapp/WEB-INF/web.xml M ear/pom.xml M frontend/pom.xml D frontend/wars/pom.xml D frontend/wars/rmw-war/pom.xml D frontend/wars/rmw-war/src/main/java/org/ovirt/engine/core/status/HealthStatus.java D frontend/wars/rmw-war/src/main/webapp/WEB-INF/web.xml M packaging/fedora/spec/ovirt-engine.spec.in 13 files changed, 143 insertions(+), 259 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/24/11324/1 diff --git a/backend/manager/modules/root/pom.xml b/backend/manager/modules/root/pom.xml index 9bf68c0..bbec95f 100644 --- a/backend/manager/modules/root/pom.xml +++ b/backend/manager/modules/root/pom.xml @@ -58,6 +58,13 @@ <scope>provided</scope> </dependency> + <dependency> + <groupId>${engine.groupId}</groupId> + <artifactId>bll</artifactId> + <version>${engine.version}</version> + <scope>provided</scope> + </dependency> + </dependencies> <build> diff --git a/frontend/wars/rmw-war/src/main/java/org/ovirt/engine/core/redirect/RedirectServlet.java b/backend/manager/modules/root/src/main/java/org/ovirt/engine/core/redirect/RedirectServlet.java similarity index 100% rename from frontend/wars/rmw-war/src/main/java/org/ovirt/engine/core/redirect/RedirectServlet.java rename to backend/manager/modules/root/src/main/java/org/ovirt/engine/core/redirect/RedirectServlet.java diff --git a/frontend/wars/rmw-war/src/main/java/org/ovirt/engine/core/register/RegisterServlet.java b/backend/manager/modules/root/src/main/java/org/ovirt/engine/core/register/RegisterServlet.java similarity index 98% rename from frontend/wars/rmw-war/src/main/java/org/ovirt/engine/core/register/RegisterServlet.java rename to backend/manager/modules/root/src/main/java/org/ovirt/engine/core/register/RegisterServlet.java index 8b6e30d..9b82009 100644 --- a/frontend/wars/rmw-war/src/main/java/org/ovirt/engine/core/register/RegisterServlet.java +++ b/backend/manager/modules/root/src/main/java/org/ovirt/engine/core/register/RegisterServlet.java @@ -13,7 +13,6 @@ import org.apache.commons.lang.StringUtils; import org.ovirt.engine.core.bll.interfaces.BackendInternal; -import org.ovirt.engine.core.common.action.VdcReturnValueBase; import org.ovirt.engine.core.common.businessentities.VDSType; import org.ovirt.engine.core.common.queries.RegisterVdsParameters; import org.ovirt.engine.core.common.queries.VdcQueryReturnValue; diff --git a/backend/manager/modules/root/src/main/java/org/ovirt/engine/core/status/HealthStatus.java b/backend/manager/modules/root/src/main/java/org/ovirt/engine/core/status/HealthStatus.java new file mode 100644 index 0000000..923ea8e --- /dev/null +++ b/backend/manager/modules/root/src/main/java/org/ovirt/engine/core/status/HealthStatus.java @@ -0,0 +1,91 @@ +package org.ovirt.engine.core.status; + +import java.io.IOException; +import java.io.PrintWriter; +import java.net.HttpURLConnection; + +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.ovirt.engine.core.bll.interfaces.BackendInternal; +import org.ovirt.engine.core.common.queries.VdcQueryParametersBase; +import org.ovirt.engine.core.common.queries.VdcQueryReturnValue; +import org.ovirt.engine.core.common.queries.VdcQueryType; +import org.ovirt.engine.core.utils.log.Log; +import org.ovirt.engine.core.utils.log.LogFactory; +import org.ovirt.engine.core.utils.ejb.BeanProxyType; +import org.ovirt.engine.core.utils.ejb.BeanType; +import org.ovirt.engine.core.utils.ejb.EjbUtils; + +/*** + * This class is a servlet implementation, aimed to report fundemental health of engine. + * The servlet URL is: /OvirtEngineWeb/HealthStatus (as defined in web.xml), and these + * are the possible HTTP return codes: + * - 200: OK + * - 500: Unable to connect to DB. + * - 404/other: Depending on Tomcat/Jboss state, servlet may be unavailable or connection refused. + * If the servlet is unable to contact the backend bean, it'll write an apropriate message to out. + * + */ +public class HealthStatus extends HttpServlet { + + private static Log log = LogFactory.getLog(HealthStatus.class); + + private boolean runQuery(HttpServletRequest request, PrintWriter out) { + boolean fReturn = false; + BackendInternal backend = null; + VdcQueryParametersBase params = null; + VdcQueryReturnValue v = null; + + try { + backend = (BackendInternal) EjbUtils.findBean(BeanType.BACKEND, BeanProxyType.LOCAL); + log.debug("Calling CheckDBConnection query"); + + params = new VdcQueryParametersBase(); + + v = backend.runInternalQuery(VdcQueryType.CheckDBConnection, params); + if (v != null) { + fReturn = v.getSucceeded(); + out.print(fReturn ? "DB Up!" : "DB Down!"); + } else { + log.error("Got NULL from backend.RunQuery!"); + } + } catch (Throwable t) { + String msg = "Unable to contact Database!"; + if (backend == null) + { + msg = "Unable to contact Backend!"; + } + out.print(msg); + log.error(msg + " Caught exception while trying to run query: ", t); + fReturn = false; + } + + return fReturn; + } + + protected void doGet(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + log.debug("Health Status servlet: entry"); + response.setContentType("text/html"); + PrintWriter out = response.getWriter(); + + try { + if (runQuery(request, out)) { + out.print("Welcome to Health Status!"); + log.debug("Succeeded to run Health Status."); + } else { + response.setStatus(HttpURLConnection.HTTP_INTERNAL_ERROR); + log.error("Failed to run Health Status."); + } + } catch (Exception e) { + response.setStatus(HttpURLConnection.HTTP_INTERNAL_ERROR); + log.error("Error calling runQuery: ", e); + } finally { + out.close(); + } + log.debug("Health Status servlet: close"); + } +} diff --git a/frontend/wars/rmw-war/src/main/java/org/ovirt/engine/core/validate/ValidateSession.java b/backend/manager/modules/root/src/main/java/org/ovirt/engine/core/validate/ValidateSession.java similarity index 97% rename from frontend/wars/rmw-war/src/main/java/org/ovirt/engine/core/validate/ValidateSession.java rename to backend/manager/modules/root/src/main/java/org/ovirt/engine/core/validate/ValidateSession.java index 623f43c..7f046e3 100644 --- a/frontend/wars/rmw-war/src/main/java/org/ovirt/engine/core/validate/ValidateSession.java +++ b/backend/manager/modules/root/src/main/java/org/ovirt/engine/core/validate/ValidateSession.java @@ -1,7 +1,6 @@ package org.ovirt.engine.core.validate; import java.io.IOException; -import java.io.PrintWriter; import java.net.HttpURLConnection; import javax.servlet.ServletException; @@ -9,7 +8,6 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import org.ovirt.engine.core.bll.MultiLevelAdministrationHandler; import org.ovirt.engine.core.bll.interfaces.BackendInternal; import org.ovirt.engine.core.common.queries.VdcQueryParametersBase; import org.ovirt.engine.core.common.queries.VdcQueryReturnValue; diff --git a/backend/manager/modules/root/src/main/webapp/WEB-INF/web.xml b/backend/manager/modules/root/src/main/webapp/WEB-INF/web.xml index d653621..56054da 100644 --- a/backend/manager/modules/root/src/main/webapp/WEB-INF/web.xml +++ b/backend/manager/modules/root/src/main/webapp/WEB-INF/web.xml @@ -151,6 +151,51 @@ <url-pattern>/spice/usbfilter.txt</url-pattern> </servlet-mapping> + <!-- Servlet for automatic registration of hypervisors: --> + <servlet> + <servlet-name>RegisterServlet</servlet-name> + <servlet-class>org.ovirt.engine.core.register.RegisterServlet</servlet-class> + </servlet> + <servlet-mapping> + <servlet-name>RegisterServlet</servlet-name> + <url-pattern>/OvirtEngineWeb/register</url-pattern> + <url-pattern>/OvirtEngineWeb/VdsAutoRegistration.aspx</url-pattern> + </servlet-mapping> + + <!-- Servlet used by external applications (the notification service + and external clustering infrastructure) to check the health of + the engine: --> + <servlet> + <servlet-name>HealthStatus</servlet-name> + <servlet-class>org.ovirt.engine.core.status.HealthStatus</servlet-class> + </servlet> + <servlet-mapping> + <servlet-name>HealthStatus</servlet-name> + <url-pattern>/OvirtEngineWeb/HealthStatus/*</url-pattern> + <url-pattern>/OvirtEngineWeb/HealthStatus.aspx</url-pattern> + </servlet-mapping> + + <!-- Redirect servlet (used by the reports integration): --> + <servlet> + <servlet-name>RedirectServlet</servlet-name> + <servlet-class>org.ovirt.engine.core.redirect.RedirectServlet</servlet-class> + </servlet> + <servlet-mapping> + <servlet-name>RedirectServlet</servlet-name> + <url-pattern>/OvirtEngineWeb/RedirectServlet</url-pattern> + </servlet-mapping> + + <!-- Servlet used to validate sessions (used by the reports + integration): --> + <servlet> + <servlet-name>ValidateSession</servlet-name> + <servlet-class>org.ovirt.engine.core.validate.ValidateSession</servlet-class> + </servlet> + <servlet-mapping> + <servlet-name>ValidateSession</servlet-name> + <url-pattern>/OvirtEngineWeb/ValidateSession</url-pattern> + </servlet-mapping> + <!-- Go to the index when a page is not found (preserving the 404 status code): --> <error-page> diff --git a/ear/pom.xml b/ear/pom.xml index c1e5812..3feb5b6 100644 --- a/ear/pom.xml +++ b/ear/pom.xml @@ -65,13 +65,6 @@ </dependency> <dependency> - <groupId>org.ovirt.engine.ui</groupId> - <artifactId>rmw-war</artifactId> - <version>${engine.version}</version> - <type>war</type> - </dependency> - - <dependency> <groupId>org.ovirt.engine.api</groupId> <artifactId>restapi-webapp</artifactId> <version>${engine.version}</version> @@ -204,13 +197,6 @@ <artifactId>root-war</artifactId> <bundleFileName>root.war</bundleFileName> <contextRoot>/</contextRoot> - </webModule> - - <webModule> - <groupId>org.ovirt.engine.ui</groupId> - <artifactId>rmw-war</artifactId> - <bundleFileName>ovirtengineweb.war</bundleFileName> - <contextRoot>/OvirtEngineWeb</contextRoot> </webModule> <webModule> diff --git a/frontend/pom.xml b/frontend/pom.xml index c66b121..174d81f 100644 --- a/frontend/pom.xml +++ b/frontend/pom.xml @@ -13,7 +13,6 @@ <description>An aggregator module for all frontend modules.</description> <modules> <module>webadmin</module> - <module>wars</module> </modules> <properties> <engine.groupId>org.ovirt.engine.ui</engine.groupId> diff --git a/frontend/wars/pom.xml b/frontend/wars/pom.xml deleted file mode 100644 index 24edd2b..0000000 --- a/frontend/wars/pom.xml +++ /dev/null @@ -1,19 +0,0 @@ -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - - <parent> - <groupId>org.ovirt.engine.ui</groupId> - <artifactId>frontend-all</artifactId> - <version>3.2.0</version> - </parent> - - <artifactId>wars</artifactId> - <packaging>pom</packaging> - - <name>oVirt WARs</name> - - <modules> - <module>rmw-war</module> - </modules> - -</project> diff --git a/frontend/wars/rmw-war/pom.xml b/frontend/wars/rmw-war/pom.xml deleted file mode 100644 index c5c8413..0000000 --- a/frontend/wars/rmw-war/pom.xml +++ /dev/null @@ -1,31 +0,0 @@ -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - - <parent> - <groupId>org.ovirt.engine.ui</groupId> - <artifactId>wars</artifactId> - <version>3.2.0</version> - </parent> - - <artifactId>rmw-war</artifactId> - <packaging>war</packaging> - - <name>oVirt Web Application Module</name> - - <dependencies> - <dependency> - <groupId>org.ovirt.engine.core</groupId> - <artifactId>common</artifactId> - <version>${engine.version}</version> - <scope>provided</scope> - </dependency> - - <dependency> - <groupId>org.ovirt.engine.core</groupId> - <artifactId>bll</artifactId> - <version>${engine.version}</version> - <scope>provided</scope> - </dependency> - </dependencies> - -</project> diff --git a/frontend/wars/rmw-war/src/main/java/org/ovirt/engine/core/status/HealthStatus.java b/frontend/wars/rmw-war/src/main/java/org/ovirt/engine/core/status/HealthStatus.java deleted file mode 100644 index ce4bcd3..0000000 --- a/frontend/wars/rmw-war/src/main/java/org/ovirt/engine/core/status/HealthStatus.java +++ /dev/null @@ -1,91 +0,0 @@ -package org.ovirt.engine.core.status; - -import java.io.IOException; -import java.io.PrintWriter; -import java.net.HttpURLConnection; - -import javax.servlet.ServletException; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import org.ovirt.engine.core.bll.interfaces.BackendInternal; -import org.ovirt.engine.core.common.queries.VdcQueryParametersBase; -import org.ovirt.engine.core.common.queries.VdcQueryReturnValue; -import org.ovirt.engine.core.common.queries.VdcQueryType; -import org.ovirt.engine.core.utils.log.Log; -import org.ovirt.engine.core.utils.log.LogFactory; -import org.ovirt.engine.core.utils.ejb.BeanProxyType; -import org.ovirt.engine.core.utils.ejb.BeanType; -import org.ovirt.engine.core.utils.ejb.EjbUtils; - -/*** - * This class is a servlet implementation, aimed to report fundemental health of engine. - * The servlet URL is: /OvirtEngineWeb/HealthStatus (as defined in web.xml), and these - * are the possible HTTP return codes: - * - 200: OK - * - 500: Unable to connect to DB. - * - 404/other: Depending on Tomcat/Jboss state, servlet may be unavailable or connection refused. - * If the servlet is unable to contact the backend bean, it'll write an apropriate message to out. - * - */ -public class HealthStatus extends HttpServlet { - - private static Log log = LogFactory.getLog(HealthStatus.class); - - private boolean runQuery(HttpServletRequest request, PrintWriter out) { - boolean fReturn = false; - BackendInternal backend = null; - VdcQueryParametersBase params = null; - VdcQueryReturnValue v = null; - - try { - backend = (BackendInternal) EjbUtils.findBean(BeanType.BACKEND, BeanProxyType.LOCAL); - log.debug("Calling CheckDBConnection query"); - - params = new VdcQueryParametersBase(); - - v = backend.runInternalQuery(VdcQueryType.CheckDBConnection, params); - if (v != null) { - fReturn = v.getSucceeded(); - out.print(fReturn ? "DB Up!" : "DB Down!"); - } else { - log.error("Got NULL from backend.RunQuery!"); - } - } catch (Throwable t) { - String msg = "Unable to contact Database!"; - if (backend == null) - { - msg = "Unable to contact Backend!"; - } - out.print(msg); - log.error(msg + " Caught exception while trying to run query: ", t); - fReturn = false; - } - - return fReturn; - } - - protected void doGet(HttpServletRequest request, HttpServletResponse response) - throws ServletException, IOException { - log.debug("Health Status servlet: entry"); - response.setContentType("text/html"); - PrintWriter out = response.getWriter(); - - try { - if (runQuery(request, out)) { - out.print("Welcome to Health Status!"); - log.debug("Succeeded to run Health Status."); - } else { - response.setStatus(HttpURLConnection.HTTP_INTERNAL_ERROR); - log.error("Failed to run Health Status."); - } - } catch (Exception e) { - response.setStatus(HttpURLConnection.HTTP_INTERNAL_ERROR); - log.error("Error calling runQuery: ", e); - } finally { - out.close(); - } - log.debug("Health Status servlet: close"); - } -} diff --git a/frontend/wars/rmw-war/src/main/webapp/WEB-INF/web.xml b/frontend/wars/rmw-war/src/main/webapp/WEB-INF/web.xml deleted file mode 100644 index a275d25..0000000 --- a/frontend/wars/rmw-war/src/main/webapp/WEB-INF/web.xml +++ /dev/null @@ -1,99 +0,0 @@ -<web-app xmlns="http://java.sun.com/xml/ns/javaee" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" - version="2.5"> - - <!-- Name the application --> - <display-name>oVirt Registration WebApp</display-name> - <description>oVirt Registration WebApp</description> - - <!-- Set timeout to 120 minutes --> - <session-config> - <session-timeout>120</session-timeout> - </session-config> - - <servlet> - <servlet-name>RegisterServlet</servlet-name> - <servlet-class>org.ovirt.engine.core.register.RegisterServlet</servlet-class> - </servlet> - <servlet> - <servlet-name>HealthStatus</servlet-name> - <servlet-class>org.ovirt.engine.core.status.HealthStatus</servlet-class> - </servlet> - <servlet> - <servlet-name>RedirectServlet</servlet-name> - <servlet-class>org.ovirt.engine.core.redirect.RedirectServlet</servlet-class> - </servlet> - <servlet> - <servlet-name>ValidateSession</servlet-name> - <servlet-class>org.ovirt.engine.core.validate.ValidateSession</servlet-class> - </servlet> - - <!-- Access the new way --> - <servlet-mapping> - <servlet-name>RegisterServlet</servlet-name> - <url-pattern>/register</url-pattern> - </servlet-mapping> - <!-- Here for backward compatibility --> - <servlet-mapping> - <servlet-name>RegisterServlet</servlet-name> - <url-pattern>/VdsAutoRegistration.aspx</url-pattern> - </servlet-mapping> - - <!-- Access the new way --> - <servlet-mapping> - <servlet-name>HealthStatus</servlet-name> - <url-pattern>/HealthStatus/*</url-pattern> - <!-- Backward compatibility --> - <url-pattern>/HealthStatus.aspx</url-pattern> - </servlet-mapping> - <servlet-mapping> - <servlet-name>RedirectServlet</servlet-name> - <url-pattern>/RedirectServlet</url-pattern> - </servlet-mapping> - <servlet-mapping> - <servlet-name>ValidateSession</servlet-name> - <url-pattern>/ValidateSession</url-pattern> - </servlet-mapping> - - <!-- Define, in order of preference, which file to show when no filename is defined in the path --> - <!-- eg: when user goes to http://yoursite.com/ or http://yoursite.com/somefolder --> - <!-- Defaults are provided in the server-wide web.xml file, such as index.jsp, index.htm --> - <!-- Note: using this tag overrides the defaults, so don't forget to add them here --> - <welcome-file-list> - <!-- Use index.swf if present, or splash.jsp, otherwise just look for the normal defaults --> - <welcome-file>index.swf</welcome-file> - <welcome-file>splash.jsp</welcome-file> - <welcome-file>index.html</welcome-file> - <welcome-file>index.htm</welcome-file> - <welcome-file>index.jsp</welcome-file> - </welcome-file-list> - -<mime-mapping> - - <extension>xaml</extension> - <mime-type>application/xaml+xml</mime-type> - -</mime-mapping> - -<mime-mapping> - <extension>xap</extension> - <mime-type>application/x-silverlight-app</mime-type> -</mime-mapping> - -<mime-mapping> - <extension>xbap</extension> - <mime-type>application/x-ms-xbap</mime-type> -</mime-mapping> - -<mime-mapping> - <extension>crt</extension> - <mime-type>application/x-x509-ca-cert</mime-type> -</mime-mapping> - - <welcome-file-list> - <welcome-file>Default.htm</welcome-file> -</welcome-file-list> - - -</web-app> diff --git a/packaging/fedora/spec/ovirt-engine.spec.in b/packaging/fedora/spec/ovirt-engine.spec.in index 6b7135d..2472124 100644 --- a/packaging/fedora/spec/ovirt-engine.spec.in +++ b/packaging/fedora/spec/ovirt-engine.spec.in @@ -655,7 +655,6 @@ %{engine_ear}/lib %{engine_ear}/engine-bll.jar %{engine_ear}/engine-scheduler.jar -%{engine_ear}/ovirtengineweb.war # Root web application: %{root_war} -- To view, visit http://gerrit.ovirt.org/11324 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I1b5a292cb28cbc460cf45a9595bddd7ebb824857 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Juan Hernandez <juan.hernan...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches