Add BIGTOP_CLASSPATH functionality to tomcat deployment

Details

Description

BIGTOP-811 originally wanted to add the ability to detect SQL connectors and other plugins in standard locations and dynmically add them to the classpath. This effort stopped short when it became clear that a major architectural change was needed to make this work for Tomcat-based components. This was one of the main motivations for BIGTOP-939, which is now completed. We need to add a small snippet of code to integrate the two efforts, so the dynamic tomcat deployment can now use BIGTOP_CLASSPATH.

Activity

This patch modifies Oozie and Sqoop (the only Tomcat components that frequently require users to install SQL connectors, AFAIK) to build up BIGTOP_CLASSPATH, and if non-empty, to append it to Tomcat's classpath. This patch also adds a couple of suggestions from Mark Grover's review of BIGTOP-939 - mainly changing the use of "default" and "secure" in Oozie's configuration names to "http" and "https". I'm open to other suggestions if we don't like these names, I just personally didn't think it sounded comforting to the user the the default would be "non-secure".

I also noticed while testing these changes, that BIGTOP-939 caused some problems when Oozie was installed and removed repeatedly (or upgraded). I was creating some symlinks post-install, but moved them to be part of the package contents directly. This appears to work well on openSUSE 12.3, RHEL 6, and Ubuntu Lucid - although I'm a tad hesitant because I know I've had problems with including absolute symlinks in packages before if the file they pointed to wasn't installed on the build system. I was a little surprised this worked. Anyone know more? Are we doing something to force package builds to allow this?

Sean Mackrory
added a comment - 18/Sep/13 16:22 This patch modifies Oozie and Sqoop (the only Tomcat components that frequently require users to install SQL connectors, AFAIK) to build up BIGTOP_CLASSPATH, and if non-empty, to append it to Tomcat's classpath. This patch also adds a couple of suggestions from Mark Grover 's review of BIGTOP-939 - mainly changing the use of "default" and "secure" in Oozie's configuration names to "http" and "https". I'm open to other suggestions if we don't like these names, I just personally didn't think it sounded comforting to the user the the default would be "non-secure".
I also noticed while testing these changes, that BIGTOP-939 caused some problems when Oozie was installed and removed repeatedly (or upgraded). I was creating some symlinks post-install, but moved them to be part of the package contents directly. This appears to work well on openSUSE 12.3, RHEL 6, and Ubuntu Lucid - although I'm a tad hesitant because I know I've had problems with including absolute symlinks in packages before if the file they pointed to wasn't installed on the build system. I was a little surprised this worked. Anyone know more? Are we doing something to force package builds to allow this?

Roman Shaposhnik, would you mind giving this a quick re-review? I had to rebase it on top of some other recent fixes that have gone in and make minor changes. I also simplified the regular expression I was using in sed as that technique appears to not be supported on the older distros.

Sean Mackrory
added a comment - 08/Oct/13 23:30 Roman Shaposhnik , would you mind giving this a quick re-review? I had to rebase it on top of some other recent fixes that have gone in and make minor changes. I also simplified the regular expression I was using in sed as that technique appears to not be supported on the older distros.