Overview
The high level goal of this effort is to build a distribution of OODT that sets up, installs, and runs within three commands. While three commands may seem arbitrary the number serves to push this effort to the edge of ease of setup and configuration required to get going. This distribution of OODT will include both a deployment and source structure for managing the evolution of your installation of OODT.
Maven offers an improved way to export, configure and build OODT called Archetypes. Archetypes simply put are a way to define templates for projects. Within these project templates we can also include packaging instructions to conform to the guidelines below to increase the similarity amongst deployments of OODT. Moreover, we will build higher level scripts and configuration to tie the pieces together at the system level.
This This wiki will be used to capture thoughts, ideas and plans for the first archetypes we develop for OODT. To To keep things simple we are going to initially focus to initially focus on a small number of modules that are typically deployed and configured together. Finally, our goal is to build an 80% solution that works in most cases to get people out of the gates and running with a full OODT solution. We believe this effort will help increase adoption of an already great system that is highly configurable.
Assumptions:
- The initial archetype will export RELEASED versions of OODT
- The initial archetype The initial archetype will export Crawler, FileManager and Workflow Manager ONLY (they will be bundled together and configured to work together)
- other modules will be added in the future
- FileManager Policy will be read recursively from the components/filemanager/policy directory. This This will remove the requirement to make properties updates when additional policy files are added in sub-directories.
...
- Archetype will only support a single version for all components. No No mixing versions of individual components
- Maven Archetype process will be completed using 5 commands or less
...
- Submit INFRA ticket to create a place to put all Maven Central artifacts
- Load/Install artifacts to Maven Central
Default
...
Deployment Structure
In order for the easy installation to work properly we will need to settle on a default project layout structure. Below Below is our plan of how we want to layout the project when the default project is built. First First we will list out an overview, then we can detail each path and what files are going to be saved into each.
Code Block |
---|
/ |
...
$DEPLOYMENT_BASE_DIR |
...
/archive |
...
/bin |
...
/components |
...
/crawler
/filemanager
/workflowmanager
/conf
/inbound
...
/crawler
/bin
/conf
/policy
/filemanager
/bin
/conf
/policy
/workflowmanager
/bin
/conf
/policy
/conf
/staging
/workflow_out
|
Project Path Details
/$PROJECT_BASE_DIR/bin - This will contain scripts that will manipulate the underlying components. For For example all 3 components can be started, stopped and restarted from this directory. At At the same time you can also manipulate a single component at a time from this dir also.
...
Manipulate a single component
Wiki Markup |
---|
\_./oodt \[start,stop, restart\] \[crawler OR filemanager OR workflowmanager\]\_ |
*/$PROJECT_BASE_DIR/components - This will contain a single folder for each component. Initially this will only contain the 3 components we have selected to start this process, but as more components are added they will be added in here.
/$PROJECT_BASE_DIR/conf - This will contain configuration and properties files which apply to several components. This This should (like the bin dir) give users a single directory they can go into to configure the associate components.
Parameters that can be managed within the conf directory
oodt.properties
Code Block |
---|
crawler_port=9101 |
...
filemanager_port=9102 |
...
workflowmanager_port=9103 |
JAVA_HOME
Component settings we plan to default
...
filemanager
workflowmanager
Future Work
Once the above is complete our thoughts are that the next items to be incorporated are as follows:
*Tomcat Distribution
*OODT Services (Health Monitor, ?)
*OODT Web Apps (Curator, ?)
*CAS PGE
Maven Archetype Information
...