Alon Bar-Lev has uploaded a new change for review.

Change subject: packaging: introduce generic file serving
......................................................................

packaging: introduce generic file serving

current implementation adds a reference for each file within root
web.xml, this is inflexible to manage and add new files as needed.

new implementation defines maps /ovirt-engine-files URI into
/usr/share/ovirt-engine/files, every file within that directory will be
exposed to application.

packaging can add misc files or symlinks to expose files based on
specific location or capabilities.

moved:
1. spice
2. spice-html5
3. novnc

usbfilter.txt moved out of spice directory as it is application provided
and not spice artifact.

Related-To: https://bugzilla.redhat.com/show_bug.cgi?id=997418
Change-Id: I1cd8b39ff2647bc006e09d50c9fc7088fcef7434
Signed-off-by: Alon Bar-Lev <[email protected]>
---
M Makefile
M backend/manager/modules/root/src/main/webapp/WEB-INF/web.xml
M backend/manager/modules/root/src/main/webapp/ovirt-engine-novnc-main.html
M backend/manager/modules/root/src/main/webapp/ovirt-engine-spicehtml5-main.html
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/Configurator.java
M 
frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/uicommon/UserPortalConfigurator.java
M ovirt-engine.spec.in
M packaging/conf/ovirt-engine-proxy.conf.v2.in
M packaging/services/ovirt-engine/ovirt-engine.conf.in
9 files changed, 41 insertions(+), 144 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/22/19722/1

diff --git a/Makefile b/Makefile
index cfd8af3..f865325 100644
--- a/Makefile
+++ b/Makefile
@@ -61,7 +61,6 @@
 PKG_LOG_DIR=$(LOCALSTATE_DIR)/log/$(ENGINE_NAME)
 PKG_TMP_DIR=$(LOCALSTATE_DIR)/tmp/$(ENGINE_NAME)
 PKG_STATE_DIR=$(LOCALSTATE_DIR)/lib/$(ENGINE_NAME)
-SPICE_DIR=/usr/share/spice
 JBOSS_HOME=/usr/share/jboss-as
 PYTHON_DIR=$(PYTHON_SYS_DIR)
 DEV_PYTHON_DIR=
@@ -147,7 +146,6 @@
        -e "s|@PACKAGE_NAME@|$(PACKAGE_NAME)|g" \
        -e "s|@PACKAGE_VERSION@|$(PACKAGE_VERSION)|g" \
        -e "s|@DISPLAY_VERSION@|$(DISPLAY_VERSION)|g" \
-       -e "s|@SPICE_DIR@|$(SPICE_DIR)|g" \
        -e "s|@JBOSS_HOME@|$(JBOSS_HOME)|g" \
        $< > $@
 
@@ -339,7 +337,7 @@
        $(MAKE) copy-recursive SOURCEDIR=packaging/sys-etc 
TARGETDIR="$(DESTDIR)$(SYSCONF_DIR)" EXCLUDE_GEN="$(GENERATED)"
        $(MAKE) copy-recursive SOURCEDIR=packaging/etc 
TARGETDIR="$(DESTDIR)$(PKG_SYSCONF_DIR)" EXCLUDE_GEN="$(GENERATED)"
        $(MAKE) copy-recursive SOURCEDIR=packaging/pki 
TARGETDIR="$(DESTDIR)$(PKG_PKI_DIR)" EXCLUDE_GEN="$(GENERATED)"
-       for d in bin branding conf firewalld manual services setup; do \
+       for d in bin branding conf files firewalld manual services setup; do \
                $(MAKE) copy-recursive SOURCEDIR="packaging/$${d}" 
TARGETDIR="$(DESTDIR)$(DATA_DIR)/$${d}" EXCLUDE_GEN="$(GENERATED)"; \
        done
        $(MAKE) copy-recursive SOURCEDIR=packaging/man 
TARGETDIR="$(DESTDIR)$(MAN_DIR)" EXCLUDE_GEN="$(GENERATED)"
@@ -373,6 +371,11 @@
        install -d -m 755 "$(DESTDIR)$(PKG_SYSCONF_DIR)/branding"
        install -d -m 750 "$(DESTDIR)$(PKG_STATE_DIR)/backups"
 
+       install -d -m 0755 "$(DESTDIR)$(DATA_DIR)/files"
+       ln -s "$(PKG_SYSCONF_DIR)/usbfilter.txt" 
"$(DESTDIR)$(DATA_DIR)/files/usbfilter.txt"
+       ln -s "/usr/share/novnc" "$(DESTDIR)$(DATA_DIR)/files/novnc"
+       ln -s "/usr/share/spice-html5" "$(DESTDIR)$(DATA_DIR)/files/spice-html5"
+
        install -d -m 755 "$(DESTDIR)$(PKG_SYSCONF_DIR)/branding"
        -rm -f "$(DESTDIR)$(PKG_SYSCONF_DIR)/branding/00-ovirt.brand"
        ln -s "$(DATA_DIR)/branding/ovirt.brand" 
"$(DESTDIR)$(PKG_SYSCONF_DIR)/branding/00-ovirt.brand"
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 8c92a34..e0ae418 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
@@ -71,122 +71,18 @@
     <url-pattern>/docs/*</url-pattern>
   </servlet-mapping>
 
-  <!-- noVNC: -->
+  <!-- Files: -->
   <servlet>
-    <servlet-name>novnc</servlet-name>
-    <servlet-class>org.ovirt.engine.core.DocsServlet</servlet-class>
-    <init-param>
-      <param-name>file</param-name>
-      <param-value>%{ENGINE_NOVNC_DIR}</param-value>
-    </init-param>
-  </servlet>
-  <servlet-mapping>
-    <servlet-name>novnc</servlet-name>
-    <url-pattern>/ovirt-engine-novnc/*</url-pattern>
-  </servlet-mapping>
-
-  <!-- SPICE-HTML5: -->
-  <servlet>
-    <servlet-name>spicehtml5</servlet-name>
-    <servlet-class>org.ovirt.engine.core.DocsServlet</servlet-class>
-    <init-param>
-      <param-name>file</param-name>
-      <param-value>%{ENGINE_SPICE_HTML5_DIR}</param-value>
-    </init-param>
-  </servlet>
-  <servlet-mapping>
-    <servlet-name>spicehtml5</servlet-name>
-    <url-pattern>/ovirt-engine-spicehtml5/*</url-pattern>
-  </servlet-mapping>
-
-  <!-- SpiceX.cab -->
-  <servlet>
-    <servlet-name>SpiceX.cab</servlet-name>
+    <servlet-name>files</servlet-name>
     <servlet-class>org.ovirt.engine.core.FileServlet</servlet-class>
     <init-param>
-      <param-name>type</param-name>
-      <param-value>application/octet-stream</param-value>
-    </init-param>
-    <init-param>
       <param-name>file</param-name>
-      <param-value>%{SPICE_DIR}/SpiceX.cab</param-value>
+      <param-value>%{ENGINE_USR}/files</param-value>
     </init-param>
   </servlet>
   <servlet-mapping>
-    <servlet-name>SpiceX.cab</servlet-name>
-    <url-pattern>/spice/SpiceX.cab</url-pattern>
-  </servlet-mapping>
-
-  <!-- SpiceVersion.txt -->
-  <servlet>
-    <servlet-name>SpiceVersion.txt</servlet-name>
-    <servlet-class>org.ovirt.engine.core.FileServlet</servlet-class>
-    <init-param>
-      <param-name>type</param-name>
-      <param-value>text/plain</param-value>
-    </init-param>
-    <init-param>
-      <param-name>file</param-name>
-      <param-value>%{SPICE_DIR}/SpiceVersion.txt</param-value>
-    </init-param>
-  </servlet>
-  <servlet-mapping>
-    <servlet-name>SpiceVersion.txt</servlet-name>
-    <url-pattern>/spice/SpiceVersion.txt</url-pattern>
-  </servlet-mapping>
-
-  <!-- SpiceX_x64.cab -->
-  <servlet>
-    <servlet-name>SpiceX_x64.cab</servlet-name>
-    <servlet-class>org.ovirt.engine.core.FileServlet</servlet-class>
-    <init-param>
-      <param-name>type</param-name>
-      <param-value>application/octet-stream</param-value>
-    </init-param>
-    <init-param>
-      <param-name>file</param-name>
-      <param-value>%{SPICE_DIR}/SpiceX_x64.cab</param-value>
-    </init-param>
-  </servlet>
-  <servlet-mapping>
-    <servlet-name>SpiceX_x64.cab</servlet-name>
-    <url-pattern>/spice/SpiceX_x64.cab</url-pattern>
-  </servlet-mapping>
-
-  <!-- SpiceVersion_x64.txt -->
-  <servlet>
-    <servlet-name>SpiceVersion_x64.txt</servlet-name>
-    <servlet-class>org.ovirt.engine.core.FileServlet</servlet-class>
-    <init-param>
-      <param-name>type</param-name>
-      <param-value>text/plain</param-value>
-    </init-param>
-    <init-param>
-      <param-name>file</param-name>
-      <param-value>%{SPICE_DIR}/SpiceVersion_x64.txt</param-value>
-    </init-param>
-  </servlet>
-  <servlet-mapping>
-    <servlet-name>SpiceVersion_x64.txt</servlet-name>
-    <url-pattern>/spice/SpiceVersion_x64.txt</url-pattern>
-  </servlet-mapping>
-
-  <!-- USB filter: -->
-  <servlet>
-    <servlet-name>usbfilter.txt</servlet-name>
-    <servlet-class>org.ovirt.engine.core.FileServlet</servlet-class>
-    <init-param>
-      <param-name>type</param-name>
-      <param-value>text/plain</param-value>
-    </init-param>
-    <init-param>
-      <param-name>file</param-name>
-      <param-value>%{ENGINE_ETC}/usbfilter.txt</param-value>
-    </init-param>
-  </servlet>
-  <servlet-mapping>
-    <servlet-name>usbfilter.txt</servlet-name>
-    <url-pattern>/spice/usbfilter.txt</url-pattern>
+    <servlet-name>files</servlet-name>
+    <url-pattern>/ovirt-engine-files/*</url-pattern>
   </servlet-mapping>
 
   <!-- Servlet for automatic registration of hypervisors: -->
diff --git 
a/backend/manager/modules/root/src/main/webapp/ovirt-engine-novnc-main.html 
b/backend/manager/modules/root/src/main/webapp/ovirt-engine-novnc-main.html
index ff6279b..80baee9 100644
--- a/backend/manager/modules/root/src/main/webapp/ovirt-engine-novnc-main.html
+++ b/backend/manager/modules/root/src/main/webapp/ovirt-engine-novnc-main.html
@@ -19,9 +19,9 @@
             
src='http://getfirebug.com/releases/lite/1.2/firebug-lite-compressed.js'></script>
     -->
 
-<script>var INCLUDE_URI="ovirt-engine-novnc/include/";</script>
-<script src="ovirt-engine-novnc/include/vnc.js"></script>
-<link rel="stylesheet" href="ovirt-engine-novnc/include/base.css" 
title="plain">
+<script>var INCLUDE_URI="ovirt-engine-files/novnc/include/";</script>
+<script src="ovirt-engine-files/novnc/include/vnc.js"></script>
+<link rel="stylesheet" href="ovirt-engine-files/novnc/include/base.css" 
title="plain">
 </head>
 
 <body style="margin: 0px;">
diff --git 
a/backend/manager/modules/root/src/main/webapp/ovirt-engine-spicehtml5-main.html
 
b/backend/manager/modules/root/src/main/webapp/ovirt-engine-spicehtml5-main.html
index 232e655..9606da6 100644
--- 
a/backend/manager/modules/root/src/main/webapp/ovirt-engine-spicehtml5-main.html
+++ 
b/backend/manager/modules/root/src/main/webapp/ovirt-engine-spicehtml5-main.html
@@ -28,29 +28,29 @@
     <head>
 
         <title>Spice Javascript client</title>
-        <script src="ovirt-engine-spicehtml5/enums.js"></script>
-        <script src="ovirt-engine-spicehtml5/atKeynames.js"></script>
-        <script src="ovirt-engine-spicehtml5/utils.js"></script>
-        <script src="ovirt-engine-spicehtml5/png.js"></script>
-        <script src="ovirt-engine-spicehtml5/lz.js"></script>
-        <script src="ovirt-engine-spicehtml5/quic.js"></script>
-        <script src="ovirt-engine-spicehtml5/bitmap.js"></script>
-        <script src="ovirt-engine-spicehtml5/spicedataview.js"></script>
-        <script src="ovirt-engine-spicehtml5/spicetype.js"></script>
-        <script src="ovirt-engine-spicehtml5/spicemsg.js"></script>
-        <script src="ovirt-engine-spicehtml5/wire.js"></script>
-        <script src="ovirt-engine-spicehtml5/spiceconn.js"></script>
-        <script src="ovirt-engine-spicehtml5/display.js"></script>
-        <script src="ovirt-engine-spicehtml5/main.js"></script>
-        <script src="ovirt-engine-spicehtml5/inputs.js"></script>
-        <script src="ovirt-engine-spicehtml5/cursor.js"></script>
-        <script src="ovirt-engine-spicehtml5/thirdparty/jsbn.js"></script>
-        <script src="ovirt-engine-spicehtml5/thirdparty/rsa.js"></script>
-        <script src="ovirt-engine-spicehtml5/thirdparty/prng4.js"></script>
-        <script src="ovirt-engine-spicehtml5/thirdparty/rng.js"></script>
-        <script src="ovirt-engine-spicehtml5/thirdparty/sha1.js"></script>
-        <script src="ovirt-engine-spicehtml5/ticket.js"></script>
-        <link rel="stylesheet" type="text/css" 
href="ovirt-engine-spicehtml5/spice.css" />
+        <script src="ovirt-engine-files/spice-html5/enums.js"></script>
+        <script src="ovirt-engine-files/spice-html5/atKeynames.js"></script>
+        <script src="ovirt-engine-files/spice-html5/utils.js"></script>
+        <script src="ovirt-engine-files/spice-html5/png.js"></script>
+        <script src="ovirt-engine-files/spice-html5/lz.js"></script>
+        <script src="ovirt-engine-files/spice-html5/quic.js"></script>
+        <script src="ovirt-engine-files/spice-html5/bitmap.js"></script>
+        <script src="ovirt-engine-files/spice-html5/spicedataview.js"></script>
+        <script src="ovirt-engine-files/spice-html5/spicetype.js"></script>
+        <script src="ovirt-engine-files/spice-html5/spicemsg.js"></script>
+        <script src="ovirt-engine-files/spice-html5/wire.js"></script>
+        <script src="ovirt-engine-files/spice-html5/spiceconn.js"></script>
+        <script src="ovirt-engine-files/spice-html5/display.js"></script>
+        <script src="ovirt-engine-files/spice-html5/main.js"></script>
+        <script src="ovirt-engine-files/spice-html5/inputs.js"></script>
+        <script src="ovirt-engine-files/spice-html5/cursor.js"></script>
+        <script 
src="ovirt-engine-files/spice-html5/thirdparty/jsbn.js"></script>
+        <script 
src="ovirt-engine-files/spice-html5/thirdparty/rsa.js"></script>
+        <script 
src="ovirt-engine-files/spice-html5/thirdparty/prng4.js"></script>
+        <script 
src="ovirt-engine-files/spice-html5/thirdparty/rng.js"></script>
+        <script 
src="ovirt-engine-files/spice-html5/thirdparty/sha1.js"></script>
+        <script src="ovirt-engine-files/spice-html5/ticket.js"></script>
+        <link rel="stylesheet" type="text/css" 
href="ovirt-engine-files/spice-html5/spice.css" />
 
         <script>
             var host = null, port = null;
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/Configurator.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/Configurator.java
index b93627a..ee96a57 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/Configurator.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/Configurator.java
@@ -195,7 +195,7 @@
      * Returns the base URL for retrieving Spice-related resources.
      */
     public static String getSpiceBaseURL() {
-        return FrontendUrlUtils.getRootURL() + "spice/"; //$NON-NLS-1$
+        return FrontendUrlUtils.getRootURL() + "ovirt-engine-files/spice/"; 
//$NON-NLS-1$
     }
 
     protected void setUsbFilter(String usbFilter) {
diff --git 
a/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/uicommon/UserPortalConfigurator.java
 
b/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/uicommon/UserPortalConfigurator.java
index ebb653e..c6b1e25 100644
--- 
a/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/uicommon/UserPortalConfigurator.java
+++ 
b/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/uicommon/UserPortalConfigurator.java
@@ -66,7 +66,7 @@
     }
 
     public void updateUsbFilter() {
-        fetchFile(getSpiceBaseURL() + "usbfilter.txt", 
usbFilterFileFetchedEvent); //$NON-NLS-1$
+        fetchFile("/ovirt-engine-files/usbfilter.txt", 
usbFilterFileFetchedEvent); //$NON-NLS-1$
     }
 
     @Override
diff --git a/ovirt-engine.spec.in b/ovirt-engine.spec.in
index a5e018f..b3f6f64 100644
--- a/ovirt-engine.spec.in
+++ b/ovirt-engine.spec.in
@@ -715,6 +715,7 @@
 %dir %{engine_ear}
 %dir %{engine_etc}/osinfo.conf.d
 %{engine_data}/conf/osinfo-defaults.properties
+%{engine_data}/files/
 %{engine_data}/manual/
 %{engine_ear}/META-INF
 %{engine_ear}/bll.jar
diff --git a/packaging/conf/ovirt-engine-proxy.conf.v2.in 
b/packaging/conf/ovirt-engine-proxy.conf.v2.in
index 076725d..c941407 100644
--- a/packaging/conf/ovirt-engine-proxy.conf.v2.in
+++ b/packaging/conf/ovirt-engine-proxy.conf.v2.in
@@ -41,7 +41,7 @@
         ProxyPass ajp://127.0.0.1:@JBOSS_AJP_PORT@/
     </Location>
 
-    <LocationMatch 
^/(UserPortal($|/)|RHEVManagerWeb($|/)|OvirtEngineWeb($|/)|webadmin($|/)|docs($|/)|ovirt-engine-novnc/|ovirt-engine-novnc-main.html$|ovirt-engine-theme/|ovirt-engine-theme-resource/|ovirt-engine-spicehtml5/|ovirt-engine-spicehtml5-main.html$|spice/|ca.crt$|engine.ssh.key.txt$|rhevm.ssh.key.txt$|ovirt-engine-attachment/)>
+    <LocationMatch 
^/(UserPortal($|/)|RHEVManagerWeb($|/)|OvirtEngineWeb($|/)|webadmin($|/)|docs($|/)|ovirt-engine-theme/|ovirt-engine-theme-resource/|ca.crt$|engine.ssh.key.txt$|rhevm.ssh.key.txt$|ovirt-engine-files/|ovirt-engine-attachment/|ovirt-engine-novnc-main.html$|ovirt-engine-spicehtml5-main.html$)>
         ProxyPassMatch ajp://127.0.0.1:@JBOSS_AJP_PORT@
         <IfModule deflate_module>
             AddOutputFilterByType DEFLATE text/javascript text/css text/html 
text/xml text/json application/xml application/json application/x-yaml
diff --git a/packaging/services/ovirt-engine/ovirt-engine.conf.in 
b/packaging/services/ovirt-engine/ovirt-engine.conf.in
index c199ced..0bf4939 100644
--- a/packaging/services/ovirt-engine/ovirt-engine.conf.in
+++ b/packaging/services/ovirt-engine/ovirt-engine.conf.in
@@ -33,9 +33,6 @@
 ENGINE_DOC="@ENGINE_DOC@"
 ENGINE_VAR="@ENGINE_VAR@"
 ENGINE_CACHE="@ENGINE_CACHE@"
-SPICE_DIR="@SPICE_DIR@"
-ENGINE_NOVNC_DIR="/usr/share/novnc"
-ENGINE_SPICE_HTML5_DIR="/usr/share/spice-html5"
 ENGINE_MANUAL="${ENGINE_USR}/manual"
 
 #


-- 
To view, visit http://gerrit.ovirt.org/19722
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I1cd8b39ff2647bc006e09d50c9fc7088fcef7434
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: ovirt-engine-3.3
Gerrit-Owner: Alon Bar-Lev <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to