Author: rkanter
Date: Mon Mar 18 20:04:55 2013
New Revision: 1457953
URL: http://svn.apache.org/r1457953
Log:
OOZIE-1268 Configuring Oozie to use SSL doesn't work if addtowar.sh is invoked
directly (rkanter)
Added:
oozie/trunk/distro/src/main/tomcat/ssl-web.xml
Removed:
oozie/trunk/webapp/src/main/webapp/WEB-INF/ssl-web.xml
Modified:
oozie/trunk/distro/pom.xml
oozie/trunk/distro/src/main/bin/addtowar.sh
oozie/trunk/distro/src/main/bin/oozie-setup.sh
oozie/trunk/docs/src/site/twiki/AG_Install.twiki
oozie/trunk/release-log.txt
oozie/trunk/src/main/assemblies/distro.xml
Modified: oozie/trunk/distro/pom.xml
URL:
http://svn.apache.org/viewvc/oozie/trunk/distro/pom.xml?rev=1457953&r1=1457952&r2=1457953&view=diff
==============================================================================
--- oozie/trunk/distro/pom.xml (original)
+++ oozie/trunk/distro/pom.xml Mon Mar 18 20:04:55 2013
@@ -101,6 +101,10 @@
<copy file="src/main/tomcat/server.xml"
toDir="target/tomcat/oozie-server/conf"/>
<copy file="src/main/tomcat/logging.properties"
toDir="target/tomcat/oozie-server/conf"/>
+ <mkdir
dir="target/tomcat/oozie-server/conf/ssl"/>
+ <copy file="src/main/tomcat/server.xml"
toDir="target/tomcat/oozie-server/conf/ssl"/>
+ <copy file="src/main/tomcat/ssl-server.xml"
toDir="target/tomcat/oozie-server/conf/ssl"/>
+ <copy file="src/main/tomcat/ssl-web.xml"
toDir="target/tomcat/oozie-server/conf/ssl"/>
<copy
todir="target/tomcat/oozie-server/webapps/ROOT">
<fileset dir="src/main/tomcat/ROOT"/>
</copy>
Modified: oozie/trunk/distro/src/main/bin/addtowar.sh
URL:
http://svn.apache.org/viewvc/oozie/trunk/distro/src/main/bin/addtowar.sh?rev=1457953&r1=1457952&r2=1457953&view=diff
==============================================================================
--- oozie/trunk/distro/src/main/bin/addtowar.sh (original)
+++ oozie/trunk/distro/src/main/bin/addtowar.sh Mon Mar 18 20:04:55 2013
@@ -132,7 +132,7 @@ function printUsage() {
echo " [-hadoopJarsSNAPSHOT] (if Hadoop jars version on system is
SNAPSHOT)"
echo " [-extjs EXTJS_PATH] (expanded or ZIP)"
echo " [-jars JARS_PATH] (multiple JAR path separated by ':')"
- echo " [-secure]"
+ echo " [-secureWeb WEB_XML_PATH] (path to secure web.xml)"
echo
}
@@ -154,8 +154,8 @@ extjsHome=""
jarsPath=""
inputWar=""
outputWar=""
-secure=false
-secureConfigsDir="${OOZIE_CONFIG}/ssl"
+secureWeb=false
+secureWebPath=""
while [ $# -gt 0 ]
do
@@ -224,9 +224,17 @@ do
exit -1
fi
outputWar=$1
- elif [ "$1" = "-secure" ]; then
+ elif [ "$1" = "-secureWeb" ]; then
shift
- secure=true
+ if [ $# -eq 0 ]; then
+ echo
+ echo "Missing option value, secure web.xml path"
+ echo
+ printUsage
+ exit -1
+ fi
+ secureWebPath=$1
+ secureWeb=true
fi
shift
done
@@ -262,15 +270,11 @@ if [ "${addJars}" = "true" ]; then
done
fi
-if [ "${secure}" = "true" ]; then
- checkFileExists ${secureConfigsDir}/ssl-server.xml
- checkFileExists ${secureConfigsDir}/ssl-web.xml
+if [ "${secureWeb}" = "true" ]; then
+ checkFileExists ${secureWebPath}
echo
echo "Using SSL (HTTPS)"
echo
-else
- checkFileExists ${secureConfigsDir}/server.xml
- checkFileExists ${secureConfigsDir}/web.xml
fi
#Unpacking original war
@@ -347,14 +351,10 @@ if [ "${addJars}" = "true" ]; then
done
fi
-if [ "${secure}" = "true" ]; then
+if [ "${secureWeb}" = "true" ]; then
#Inject the SSL version of web.xml in oozie war
- cp ${secureConfigsDir}/ssl-web.xml ${tmpWarDir}/WEB-INF/web.xml
- checkExec "injecting secure web.xml file into staging"
-else
- #Inject the regular version of web.xml in oozie war
- cp ${secureConfigsDir}/web.xml ${tmpWarDir}/WEB-INF/web.xml
- checkExec "injecting regular web.xml file into staging"
+ cp ${secureWebPath} ${tmpWarDir}/WEB-INF/web.xml
+ checkExec "Injecting secure web.xml file into staging"
fi
#Creating new Oozie WAR
@@ -372,15 +372,5 @@ echo
echo "New Oozie WAR file with added '${components}' at ${outputWar}"
echo
-if [ "${secure}" = "true" ]; then
- #Inject the SSL version of server.xml in oozie-server
- cp ${secureConfigsDir}/ssl-server.xml
${secureConfigsDir}/../../oozie-server/conf/server.xml
- checkExec "injecting secure server.xml file into oozie-server"
-else
- #Inject the regular version of server.xml in oozie-server
- cp ${secureConfigsDir}/server.xml
${secureConfigsDir}/../../oozie-server/conf/server.xml
- checkExec "injecting regular server.xml file into oozie-server"
-fi
-
cleanUp
exit 0
Modified: oozie/trunk/distro/src/main/bin/oozie-setup.sh
URL:
http://svn.apache.org/viewvc/oozie/trunk/distro/src/main/bin/oozie-setup.sh?rev=1457953&r1=1457952&r2=1457953&view=diff
==============================================================================
--- oozie/trunk/distro/src/main/bin/oozie-setup.sh (original)
+++ oozie/trunk/distro/src/main/bin/oozie-setup.sh Mon Mar 18 20:04:55 2013
@@ -73,6 +73,7 @@ inputWar="${OOZIE_HOME}/oozie.war"
outputWar="${CATALINA_BASE}/webapps/oozie.war"
outputWarExpanded="${CATALINA_BASE}/webapps/oozie"
secure=""
+secureConfigsDir="${CATALINA_BASE}/conf/ssl"
while [ $# -gt 0 ]
do
@@ -205,7 +206,13 @@ else
OPTIONS="${OPTIONS} -hadoop ${hadoopVersion} ${hadoopPath}"
fi
if [ "${secure}" != "" ]; then
- OPTIONS="${OPTIONS} -secure"
+ OPTIONS="${OPTIONS} -secureWeb ${secureConfigsDir}/ssl-web.xml"
+ #Use the SSL version of server.xml in oozie-server
+ cp ${secureConfigsDir}/ssl-server.xml ${CATALINA_BASE}/conf/server.xml
+ echo "INFO: Using secure server.xml"
+ else
+ #Use the regular version of server.xml in oozie-server
+ cp ${secureConfigsDir}/server.xml ${CATALINA_BASE}/conf/server.xml
fi
${OOZIE_HOME}/bin/addtowar.sh -inputwar ${inputWar} -outputwar ${outputWar}
${OPTIONS}
Added: oozie/trunk/distro/src/main/tomcat/ssl-web.xml
URL:
http://svn.apache.org/viewvc/oozie/trunk/distro/src/main/tomcat/ssl-web.xml?rev=1457953&view=auto
==============================================================================
--- oozie/trunk/distro/src/main/tomcat/ssl-web.xml (added)
+++ oozie/trunk/distro/src/main/tomcat/ssl-web.xml Mon Mar 18 20:04:55 2013
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you 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.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application
2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
+
+<web-app>
+ <display-name>OOZIE</display-name>
+
+ <!-- Listeners -->
+ <listener>
+
<listener-class>org.apache.oozie.servlet.ServicesLoader</listener-class>
+ </listener>
+
+ <!-- Servlets -->
+ <servlet>
+ <servlet-name>versions</servlet-name>
+ <display-name>WS API for Workflow Instances</display-name>
+ <servlet-class>org.apache.oozie.servlet.VersionServlet</servlet-class>
+ <load-on-startup>1</load-on-startup>
+ </servlet>
+
+ <servlet>
+ <servlet-name>v0admin</servlet-name>
+ <display-name>Oozie admin</display-name>
+ <servlet-class>org.apache.oozie.servlet.V0AdminServlet</servlet-class>
+ <load-on-startup>1</load-on-startup>
+ </servlet>
+
+ <servlet>
+ <servlet-name>v1admin</servlet-name>
+ <display-name>Oozie admin</display-name>
+ <servlet-class>org.apache.oozie.servlet.V1AdminServlet</servlet-class>
+ <load-on-startup>1</load-on-startup>
+ </servlet>
+
+ <servlet>
+ <servlet-name>callback</servlet-name>
+ <display-name>Callback Notification</display-name>
+ <servlet-class>org.apache.oozie.servlet.CallbackServlet</servlet-class>
+ <load-on-startup>1</load-on-startup>
+ </servlet>
+
+ <servlet>
+ <servlet-name>v0jobs</servlet-name>
+ <display-name>WS API for Workflow Jobs</display-name>
+ <servlet-class>org.apache.oozie.servlet.V0JobsServlet</servlet-class>
+ <load-on-startup>1</load-on-startup>
+ </servlet>
+
+ <servlet>
+ <servlet-name>v1jobs</servlet-name>
+ <display-name>WS API for Workflow Jobs</display-name>
+ <servlet-class>org.apache.oozie.servlet.V1JobsServlet</servlet-class>
+ <load-on-startup>1</load-on-startup>
+ </servlet>
+
+ <servlet>
+ <servlet-name>v0job</servlet-name>
+ <display-name>WS API for a specific Workflow Job</display-name>
+ <servlet-class>org.apache.oozie.servlet.V0JobServlet</servlet-class>
+ <load-on-startup>1</load-on-startup>
+ </servlet>
+
+ <servlet>
+ <servlet-name>v1job</servlet-name>
+ <display-name>WS API for a specific Workflow Job</display-name>
+ <servlet-class>org.apache.oozie.servlet.V1JobServlet</servlet-class>
+ <load-on-startup>1</load-on-startup>
+ </servlet>
+
+ <servlet>
+ <servlet-name>sla-event</servlet-name>
+ <display-name>WS API for specific SLA Events</display-name>
+ <servlet-class>org.apache.oozie.servlet.SLAServlet</servlet-class>
+ <load-on-startup>1</load-on-startup>
+ </servlet>
+
+ <!-- servlet-mapping -->
+ <servlet-mapping>
+ <servlet-name>versions</servlet-name>
+ <url-pattern>/versions</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>v0admin</servlet-name>
+ <url-pattern>/v0/admin/*</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>v1admin</servlet-name>
+ <url-pattern>/v1/admin/*</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>callback</servlet-name>
+ <url-pattern>/callback/*</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>v0jobs</servlet-name>
+ <url-pattern>/v0/jobs</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>v1jobs</servlet-name>
+ <url-pattern>/v1/jobs</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>v0job</servlet-name>
+ <url-pattern>/v0/job/*</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>v1job</servlet-name>
+ <url-pattern>/v1/job/*</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>sla-event</servlet-name>
+ <url-pattern>/v1/sla/*</url-pattern>
+ </servlet-mapping>
+
+ <!-- welcome-file -->
+ <welcome-file-list>
+ <welcome-file>index.html</welcome-file>
+ </welcome-file-list>
+
+ <filter>
+ <filter-name>hostnameFilter</filter-name>
+ <filter-class>org.apache.oozie.servlet.HostnameFilter</filter-class>
+ </filter>
+
+ <filter>
+ <filter-name>authenticationfilter</filter-name>
+ <filter-class>org.apache.oozie.servlet.AuthFilter</filter-class>
+ </filter>
+
+ <filter-mapping>
+ <filter-name>hostnameFilter</filter-name>
+ <url-pattern>*</url-pattern>
+ </filter-mapping>
+
+ <filter-mapping>
+ <filter-name>authenticationfilter</filter-name>
+ <url-pattern>/versions/*</url-pattern>
+ </filter-mapping>
+
+ <filter-mapping>
+ <filter-name>authenticationfilter</filter-name>
+ <url-pattern>/v0/*</url-pattern>
+ </filter-mapping>
+
+ <filter-mapping>
+ <filter-name>authenticationfilter</filter-name>
+ <url-pattern>/v1/*</url-pattern>
+ </filter-mapping>
+
+ <filter-mapping>
+ <filter-name>authenticationfilter</filter-name>
+ <url-pattern>/index.html</url-pattern>
+ </filter-mapping>
+
+ <filter-mapping>
+ <filter-name>authenticationfilter</filter-name>
+ <url-pattern>*.js</url-pattern>
+ </filter-mapping>
+
+ <filter-mapping>
+ <filter-name>authenticationfilter</filter-name>
+ <url-pattern>/ext-2.2/*</url-pattern>
+ </filter-mapping>
+
+ <filter-mapping>
+ <filter-name>authenticationfilter</filter-name>
+ <url-pattern>/docs/*</url-pattern>
+ </filter-mapping>
+
+ <!-- Require SSL (HTTPS) for everything except callbacks -->
+ <security-constraint>
+ <web-resource-collection>
+ <web-resource-name>Callback</web-resource-name>
+ <url-pattern>/callback/*</url-pattern>
+ </web-resource-collection>
+ <user-data-constraint>
+ <transport-guarantee>NONE</transport-guarantee>
+ </user-data-constraint>
+ </security-constraint>
+ <security-constraint>
+ <web-resource-collection>
+ <web-resource-name>Oozie Resources</web-resource-name>
+ <url-pattern>/*</url-pattern>
+ </web-resource-collection>
+ <user-data-constraint>
+ <transport-guarantee>CONFIDENTIAL</transport-guarantee>
+ </user-data-constraint>
+ </security-constraint>
+
+</web-app>
Modified: oozie/trunk/docs/src/site/twiki/AG_Install.twiki
URL:
http://svn.apache.org/viewvc/oozie/trunk/docs/src/site/twiki/AG_Install.twiki?rev=1457953&r1=1457952&r2=1457953&view=diff
==============================================================================
--- oozie/trunk/docs/src/site/twiki/AG_Install.twiki (original)
+++ oozie/trunk/docs/src/site/twiki/AG_Install.twiki Mon Mar 18 20:04:55 2013
@@ -105,6 +105,7 @@ The =addtowar.sh= script options are:
[-hadoop HADOOP_VERSION HADOOP_PATH]
[-extjs EXTJS_PATH]
[-jars JARS_PATH] (multiple JAR path separated by ':')
+ [-secureWeb WEB_XML_PATH] (path to secure web.xml)
</verbatim>
The original =oozie.war= file is in the Oozie server installation directory.
Modified: oozie/trunk/release-log.txt
URL:
http://svn.apache.org/viewvc/oozie/trunk/release-log.txt?rev=1457953&r1=1457952&r2=1457953&view=diff
==============================================================================
--- oozie/trunk/release-log.txt (original)
+++ oozie/trunk/release-log.txt Mon Mar 18 20:04:55 2013
@@ -73,6 +73,7 @@ OOZIE-944 Implement Workflow Generator U
-- Oozie 3.3.2 (unreleased)
+OOZIE-1268 Configuring Oozie to use SSL doesn't work if addtowar.sh is invoked
directly (rkanter)
OOZIE-1208 Oozie web-console when displaying Coord Job Log for an action gives
Format Error (rohini via mona)
OOZIE-1233 Add ability to configure Oozie to use HTTPS (SSL) (rkanter)
OOZIE-1242 Dryrun option for workflows mentions version 3.4 when it should be
3.3.2 (rkanter)
Modified: oozie/trunk/src/main/assemblies/distro.xml
URL:
http://svn.apache.org/viewvc/oozie/trunk/src/main/assemblies/distro.xml?rev=1457953&r1=1457952&r2=1457953&view=diff
==============================================================================
--- oozie/trunk/src/main/assemblies/distro.xml (original)
+++ oozie/trunk/src/main/assemblies/distro.xml Mon Mar 18 20:04:55 2013
@@ -165,23 +165,5 @@
<outputDirectory>/</outputDirectory>
<fileMode>0444</fileMode>
</file>
- <!-- Oozie SSL (HTTPS) server.xml -->
- <file>
-
<source>${basedir}/../distro/src/main/tomcat/ssl-server.xml</source>
- <outputDirectory>/conf/ssl</outputDirectory>
- </file>
- <file>
- <source>${basedir}/../distro/src/main/tomcat/server.xml</source>
- <outputDirectory>/conf/ssl</outputDirectory>
- </file>
- <!-- Oozie SSL (HTTPS) web.xml -->
- <file>
-
<source>${basedir}/../webapp/src/main/webapp/WEB-INF/ssl-web.xml</source>
- <outputDirectory>/conf/ssl</outputDirectory>
- </file>
- <file>
-
<source>${basedir}/../webapp/src/main/webapp/WEB-INF/web.xml</source>
- <outputDirectory>/conf/ssl</outputDirectory>
- </file>
</files>
</assembly>