AMBARI-22647. Rafactor: Package Log Search and Log Feeder into jars + cleanup 
start scripts (oleewere)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/562795c4
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/562795c4
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/562795c4

Branch: refs/heads/branch-feature-AMBARI-22008-isilon
Commit: 562795c4d35bf3b45d196856e9d66e5dfdd0a17b
Parents: f9ad13d
Author: Oliver Szabo <oleew...@gmail.com>
Authored: Fri Dec 15 22:17:46 2017 +0100
Committer: Oliver Szabo <oleew...@gmail.com>
Committed: Mon Dec 18 16:28:38 2017 +0100

----------------------------------------------------------------------
 .../ambari-logsearch-assembly/pom.xml           | 117 +++-----
 .../src/main/package/deb/logfeeder/postinst     |  22 ++
 .../src/main/package/deb/logfeeder/postrm       |   6 +
 .../src/main/package/deb/logfeeder/posttrm      |  15 -
 .../src/main/package/deb/logfeeder/preinst      |  13 +
 .../src/main/package/deb/portal/postinst        |  19 ++
 .../src/main/package/deb/portal/postrm          |   6 +
 .../src/main/package/deb/portal/preinst         |  13 +
 .../main/package/rpm/logfeeder/postinstall.sh   |  37 +++
 .../main/package/rpm/logfeeder/postremove.sh    |  21 ++
 .../main/package/rpm/logfeeder/preinstall.sh    |  28 ++
 .../src/main/package/rpm/portal/postinstall.sh  |  34 +++
 .../src/main/package/rpm/portal/postremove.sh   |  21 ++
 .../src/main/package/rpm/portal/preinstall.sh   |  28 ++
 .../ambari-logsearch-logfeeder/README.md        |   4 +-
 .../ambari-logsearch-logfeeder/build.properties |  18 --
 .../ambari-logsearch-logfeeder/build.xml        |  28 +-
 .../ambari-logsearch-logfeeder/pom.xml          |  31 --
 .../ambari-logsearch-logfeeder/run.sh           |   4 +-
 .../org/apache/ambari/logfeeder/LogFeeder.java  |  35 +--
 .../ambari/logfeeder/LogFeederCommandLine.java  |  63 ++--
 .../ambari/logfeeder/common/ConfigHandler.java  |   7 +-
 .../src/main/package/deb/control/control        |  22 --
 .../src/main/package/deb/control/postinst       |  15 -
 .../src/main/package/deb/control/postrm         |  15 -
 .../src/main/package/deb/control/preinst        |  15 -
 .../src/main/package/deb/control/prerm          |  15 -
 .../src/main/scripts/logfeeder-env.sh           |  40 +++
 .../src/main/scripts/logfeeder.sh               | 292 +++++++++++++++++++
 .../src/main/scripts/run.sh                     | 103 -------
 .../ambari-logsearch-server/README.md           |   2 +-
 .../ambari-logsearch-server/build.xml           |  36 ++-
 .../ambari-logsearch-server/pom.xml             |  11 -
 ambari-logsearch/ambari-logsearch-server/run.sh |   2 +-
 .../org/apache/ambari/logsearch/LogSearch.java  |   2 +-
 .../src/main/scripts/logsearch-env.sh           |  40 +++
 .../src/main/scripts/logsearch.sh               | 274 +++++++++++++++++
 .../src/main/scripts/run.sh                     |  99 -------
 .../src/main/scripts/stop.sh                    |  44 ---
 ambari-logsearch/docker/Dockerfile              |   6 +-
 ambari-logsearch/docker/all.yml                 |   4 +-
 ambari-logsearch/docker/bin/start.sh            |  30 +-
 ambari-logsearch/docker/docker-compose.yml      |   2 -
 ambari-logsearch/docker/logsearch-logfeeder.yml |   1 -
 ambari-logsearch/docker/logsearch-server.yml    |   1 -
 .../test-config/logfeeder/logfeeder-env.sh      |   5 +-
 .../test-config/logfeeder/logfeeder.properties  |   2 +-
 .../test-config/logsearch/logsearch-env.sh      |   5 +-
 .../logsearch/logsearch-https.properties        |   4 +-
 .../test-config/logsearch/logsearch.properties  |   4 +-
 .../0.5.0/configuration/logfeeder-env.xml       |   2 +-
 .../configuration/logfeeder-properties.xml      |   2 +-
 .../0.5.0/configuration/logsearch-env.xml       |   6 +-
 .../0.5.0/package/scripts/logfeeder.py          |   7 +-
 .../0.5.0/package/scripts/logsearch.py          |   8 +-
 .../0.5.0/package/scripts/logsearch_common.py   |  54 ----
 .../LOGSEARCH/0.5.0/package/scripts/params.py   |   8 +-
 .../0.5.0/package/scripts/setup_logfeeder.py    |   2 +-
 .../0.5.0/package/scripts/setup_logsearch.py    |   2 +-
 .../0.5.0/properties/logfeeder-env.sh.j2        |   5 +-
 .../0.5.0/properties/logsearch-env.sh.j2        |   5 +-
 .../stack-hooks/after-INSTALL/scripts/params.py |   2 +-
 .../hooks/after-INSTALL/test_after_install.py   |   8 +-
 .../stacks/2.4/LOGSEARCH/test_logfeeder.py      |  34 +--
 .../stacks/2.4/LOGSEARCH/test_logsearch.py      |  31 +-
 .../test/python/stacks/2.4/configs/default.json |   2 +-
 66 files changed, 1102 insertions(+), 737 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/562795c4/ambari-logsearch/ambari-logsearch-assembly/pom.xml
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-assembly/pom.xml 
b/ambari-logsearch/ambari-logsearch-assembly/pom.xml
index cbc62ce..19c3d90 100644
--- a/ambari-logsearch/ambari-logsearch-assembly/pom.xml
+++ b/ambari-logsearch/ambari-logsearch-assembly/pom.xml
@@ -82,6 +82,18 @@
                 <configuration>
                   <group>Development</group>
                   <name>${logsearch.portal.package.name}</name>
+                  <postinstallScriptlet>
+                    
<scriptFile>${project.basedir}/src/main/package/rpm/portal/postinstall.sh</scriptFile>
+                    <fileEncoding>utf-8</fileEncoding>
+                  </postinstallScriptlet>
+                  <postremoveScriptlet>
+                    
<scriptFile>${project.basedir}/src/main/package/rpm/portal/postremove.sh</scriptFile>
+                    <fileEncoding>utf-8</fileEncoding>
+                  </postremoveScriptlet>
+                  <preinstallScriptlet>
+                    
<scriptFile>${project.basedir}/src/main/package/rpm/portal/preinstall.sh</scriptFile>
+                    <fileEncoding>utf-8</fileEncoding>
+                  </preinstallScriptlet>
                   <mappings>
                     <mapping>
                       <directory>${logsearch.portal.mapping.path}</directory>
@@ -89,37 +101,11 @@
                         <source>
                           
<location>${logsearch.server.dir}/target/package</location>
                           <excludes>
-                            <exclude>classes/log4j.xml</exclude>
-                            <exclude>classes/logsearch.properties</exclude>
-                            <exclude>classes/user_pass.json</exclude>
-                            <exclude>classes/HadoopServiceConfig.json</exclude>
-                            <exclude>solr_configsets/**</exclude>
                             <exclude>libs/checkstyle*.jar</exclude>
                           </excludes>
                         </source>
                       </sources>
                     </mapping>
-                    <mapping>
-                      
<directory>${logsearch.portal.conf.mapping.path}</directory>
-                      <sources>
-                        <source>
-                          
<location>${logsearch.server.dir}/target/package/classes</location>
-                          <includes>
-                            <include>log4j.xml</include>
-                            <include>logsearch.properties</include>
-                            <include>user_pass.json</include>
-                          </includes>
-                        </source>
-                      </sources>
-                    </mapping>
-                    <mapping>
-                      
<directory>${logsearch.portal.conf.mapping.path}/solr_configsets</directory>
-                      <sources>
-                        <source>
-                          
<location>${logsearch.server.dir}/target/package/solr_configsets</location>
-                        </source>
-                      </sources>
-                    </mapping>
                   </mappings>
                 </configuration>
               </execution>
@@ -132,6 +118,18 @@
                 <configuration>
                   <group>Development</group>
                   <name>${logsearch.logfeeder.package.name}</name>
+                  <postinstallScriptlet>
+                    
<scriptFile>${project.basedir}/src/main/package/rpm/logfeeder/postinstall.sh</scriptFile>
+                    <fileEncoding>utf-8</fileEncoding>
+                  </postinstallScriptlet>
+                  <postremoveScriptlet>
+                    
<scriptFile>${project.basedir}/src/main/package/rpm/logfeeder/postremove.sh</scriptFile>
+                    <fileEncoding>utf-8</fileEncoding>
+                  </postremoveScriptlet>
+                  <preinstallScriptlet>
+                    
<scriptFile>${project.basedir}/src/main/package/rpm/logfeeder/preinstall.sh</scriptFile>
+                    <fileEncoding>utf-8</fileEncoding>
+                  </preinstallScriptlet>
                   <mappings>
                     <mapping>
                       
<directory>${logsearch.logfeeder.mapping.path}</directory>
@@ -139,27 +137,11 @@
                         <source>
                           
<location>${logsearch.logfeeder.dir}/target/package</location>
                           <excludes>
-                            <exclude>classes/log4j.xml</exclude>
-                            <exclude>classes/logfeeder.properties</exclude>
-                            <exclude>classes/grok-patterns</exclude>
                             <exclude>libs/checkstyle*.jar</exclude>
                           </excludes>
                         </source>
                       </sources>
                     </mapping>
-                    <mapping>
-                      
<directory>${logsearch.logfeeder.conf.mapping.path}</directory>
-                      <sources>
-                        <source>
-                          
<location>${logsearch.logfeeder.dir}/target/package/classes</location>
-                          <includes>
-                            <include>log4j.xml</include>
-                            <include>logfeeder.properties</include>
-                            <include>grok-patterns</include>
-                          </includes>
-                        </source>
-                      </sources>
-                    </mapping>
                   </mappings>
                 </configuration>
               </execution>
@@ -197,7 +179,11 @@
                       
<directory>${project.basedir}/src/main/package/deb</directory>
                       <excludes>
                         <exclude>portal/postinst</exclude>
+                        <exclude>portal/postrm</exclude>
+                        <exclude>portal/preinstall</exclude>
                         <exclude>logfeeder/postinst</exclude>
+                        <exclude>logfeeder/postrm</exclude>
+                        <exclude>logfeeder/preinstall</exclude>
                       </excludes>
                       <filtering>false</filtering>
                     </resource>
@@ -205,7 +191,11 @@
                       
<directory>${project.basedir}/src/main/package/deb</directory>
                       <includes>
                         <include>portal/postinst</include>
+                        <include>portal/postrm</include>
+                        <include>portal/preinstall</include>
                         <include>logfeeder/postinst</include>
+                        <include>logfeeder/postrm</include>
+                        <include>logfeeder/preinstall</include>
                       </includes>
                       <filtering>true</filtering>
                     </resource>
@@ -242,34 +232,9 @@
                         <group>root</group>
                       </mapper>
                       <excludes>
-                        
classes/log4j.xml,classes/logsearch.properties,classes/user_pass.json,classes/HadoopServiceConfig.json,solr_configsets/**,libs/checkstyle*.jar
+                        libs/checkstyle*.jar
                       </excludes>
                     </data>
-                    <data>
-                      <src>${logsearch.server.dir}/target/package/classes</src>
-                      <type>directory</type>
-                      <mapper>
-                        <prefix>${logsearch.portal.conf.mapping.path}</prefix>
-                        <type>perm</type>
-                        <user>root</user>
-                        <group>root</group>
-                        <filemode>644</filemode>
-                      </mapper>
-                      <includes>
-                        log4j.xml,logsearch.properties,user_pass.json
-                      </includes>
-                    </data>
-                    <data>
-                      
<src>${logsearch.server.dir}/target/package/solr_configsets</src>
-                      <type>directory</type>
-                      <mapper>
-                        
<prefix>${logsearch.portal.conf.mapping.path}/solr_configsets</prefix>
-                        <type>perm</type>
-                        <user>root</user>
-                        <group>root</group>
-                      </mapper>
-                      <excludes>libs/checkstyle*.jar</excludes>
-                    </data>
                   </dataSet>
                 </configuration>
               </execution>
@@ -297,23 +262,9 @@
                         <group>root</group>
                       </mapper>
                       <excludes>
-                        
classes/log4j.xml,classes/logfeeder.properties,classes/grok-patterns,libs/checkstyle*.jar
+                        libs/checkstyle*.jar
                       </excludes>
                     </data>
-                    <data>
-                      
<src>${logsearch.logfeeder.dir}/target/package/classes</src>
-                      <type>directory</type>
-                      <mapper>
-                        
<prefix>${logsearch.logfeeder.conf.mapping.path}</prefix>
-                        <type>perm</type>
-                        <user>root</user>
-                        <group>root</group>
-                        <filemode>644</filemode>
-                      </mapper>
-                      <includes>
-                        log4j.xml,logfeeder.properties,grok-patterns
-                      </includes>
-                    </data>
                   </dataSet>
                 </configuration>
               </execution>

http://git-wip-us.apache.org/repos/asf/ambari/blob/562795c4/ambari-logsearch/ambari-logsearch-assembly/src/main/package/deb/logfeeder/postinst
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-assembly/src/main/package/deb/logfeeder/postinst
 
b/ambari-logsearch/ambari-logsearch-assembly/src/main/package/deb/logfeeder/postinst
index 21a01fa..a4eec77 100644
--- 
a/ambari-logsearch/ambari-logsearch-assembly/src/main/package/deb/logfeeder/postinst
+++ 
b/ambari-logsearch/ambari-logsearch-assembly/src/main/package/deb/logfeeder/postinst
@@ -13,3 +13,25 @@
 # 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
+
+LOGFEEDER_SCRIPT_LINK_NAME="/usr/bin/logfeeder"
+LOGFEEDER_SCRIPT_SOURCE="/usr/lib/ambari-logsearch-logfeeder/bin/logfeeder.sh"
+
+LOGFEEDER_CONF_LINK="/etc/ambari-logsearch-logfeeder/conf"
+LOGFEEDER_CONF_SOURCE="/usr/lib/ambari-logsearch-logfeeder/conf"
+
+ln -s $LOGFEEDER_SCRIPT_SOURCE $LOGFEEDER_SCRIPT_LINK_NAME
+ln -s $LOGFEEDER_CONF_SOURCE $LOGFEEDER_CONF_LINK
+
+# handle old checkpoint & keys folder
+
+LOGFEEDER_CONF_BACKUP="/usr/lib/ambari-logsearch-logfeeder/conf-old"
+
+if [ -d "$LOGFEEDER_CONF_BACKUP" ]; then
+  if [ -d "$LOGFEEDER_CONF_BACKUP/keys" ]; then
+    cp -r $LOGFEEDER_CONF_BACKUP/keys $LOGFEEDER_CONF_SOURCE
+  fi
+  if [ -d "$LOGFEEDER_CONF_BACKUP/checkpoints" ]; then
+    cp -r $LOGFEEDER_CONF_BACKUP/checkpoints $LOGFEEDER_CONF_SOURCE
+  fi
+fi
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/562795c4/ambari-logsearch/ambari-logsearch-assembly/src/main/package/deb/logfeeder/postrm
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-assembly/src/main/package/deb/logfeeder/postrm
 
b/ambari-logsearch/ambari-logsearch-assembly/src/main/package/deb/logfeeder/postrm
index 21a01fa..5f1c623 100644
--- 
a/ambari-logsearch/ambari-logsearch-assembly/src/main/package/deb/logfeeder/postrm
+++ 
b/ambari-logsearch/ambari-logsearch-assembly/src/main/package/deb/logfeeder/postrm
@@ -13,3 +13,9 @@
 # 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
+
+LOGFEEDER_SCRIPT_LINK_NAME="/usr/bin/logfeeder"
+LOGFEEDER_CONF_DIR_LINK="/etc/ambari-logsearch-logfeeder/conf"
+
+rm -f $LOGFEEDER_SCRIPT_LINK_NAME
+rm -f $LOGFEEDER_CONF_DIR_LINK
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/562795c4/ambari-logsearch/ambari-logsearch-assembly/src/main/package/deb/logfeeder/posttrm
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-assembly/src/main/package/deb/logfeeder/posttrm
 
b/ambari-logsearch/ambari-logsearch-assembly/src/main/package/deb/logfeeder/posttrm
deleted file mode 100644
index 21a01fa..0000000
--- 
a/ambari-logsearch/ambari-logsearch-assembly/src/main/package/deb/logfeeder/posttrm
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/bash
-# 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

http://git-wip-us.apache.org/repos/asf/ambari/blob/562795c4/ambari-logsearch/ambari-logsearch-assembly/src/main/package/deb/logfeeder/preinst
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-assembly/src/main/package/deb/logfeeder/preinst
 
b/ambari-logsearch/ambari-logsearch-assembly/src/main/package/deb/logfeeder/preinst
index 21a01fa..01d70e0 100644
--- 
a/ambari-logsearch/ambari-logsearch-assembly/src/main/package/deb/logfeeder/preinst
+++ 
b/ambari-logsearch/ambari-logsearch-assembly/src/main/package/deb/logfeeder/preinst
@@ -13,3 +13,16 @@
 # 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
+
+LOGFEEDER_CONF="/etc/ambari-logsearch-logfeeder/conf"
+LOGFEEDER_CONF_BACKUP="/usr/lib/ambari-logsearch-logfeeder/conf-old"
+
+if [ -d $LOGFEEDER_CONF_BACKUP ]; then
+  rm -rf $LOGFEEDER_CONF_BACKUP
+fi
+
+if [ -d $LOGFEEDER_CONF ]; then
+  mkdir -p $LOGFEEDER_CONF_BACKUP
+  cp -r $LOGFEEDER_CONF/* $LOGFEEDER_CONF_BACKUP
+  rm -rf $LOGFEEDER_CONF
+fi
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/562795c4/ambari-logsearch/ambari-logsearch-assembly/src/main/package/deb/portal/postinst
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-assembly/src/main/package/deb/portal/postinst
 
b/ambari-logsearch/ambari-logsearch-assembly/src/main/package/deb/portal/postinst
index 21a01fa..9107482 100644
--- 
a/ambari-logsearch/ambari-logsearch-assembly/src/main/package/deb/portal/postinst
+++ 
b/ambari-logsearch/ambari-logsearch-assembly/src/main/package/deb/portal/postinst
@@ -13,3 +13,22 @@
 # 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
+
+LOGSEARCH_SCRIPT_LINK_NAME="/usr/bin/logsearch"
+LOGSEARCH_SCRIPT_SOURCE="/usr/lib/ambari-logsearch-portal/bin/logsearch.sh"
+
+LOGSEARCH_CONF_LINK="/etc/ambari-logsearch-portal/conf"
+LOGSEARCH_CONF_SOURCE="/usr/lib/ambari-logsearch-portal/conf"
+
+ln -s $LOGSEARCH_SCRIPT_SOURCE $LOGSEARCH_SCRIPT_LINK_NAME
+ln -s $LOGSEARCH_CONF_SOURCE $LOGSEARCH_CONF_LINK
+
+# handle old keys folder
+
+LOGSEARCH_CONF_BACKUP="/usr/lib/ambari-logsearch-portal/conf-old"
+
+if [ -d "$LOGSEARCH_CONF_BACKUP" ]; then
+  if [ -d "$LOGSEARCH_CONF_BACKUP/keys" ]; then
+    cp -r $LOGSEARCH_CONF_BACKUP/keys $LOGSEARCH_CONF_SOURCE
+  fi
+fi
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/562795c4/ambari-logsearch/ambari-logsearch-assembly/src/main/package/deb/portal/postrm
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-assembly/src/main/package/deb/portal/postrm 
b/ambari-logsearch/ambari-logsearch-assembly/src/main/package/deb/portal/postrm
index 21a01fa..8de05c1 100644
--- 
a/ambari-logsearch/ambari-logsearch-assembly/src/main/package/deb/portal/postrm
+++ 
b/ambari-logsearch/ambari-logsearch-assembly/src/main/package/deb/portal/postrm
@@ -13,3 +13,9 @@
 # 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
+
+LOGSEARCH_SCRIPT_LINK_NAME="/usr/bin/logsearch"
+LOGSEARCH_CONF_DIR_LINK="/etc/ambari-logsearch-portal/conf"
+
+rm -f $LOGSEARCH_SCRIPT_LINK_NAME
+rm -f $LOGSEARCH_CONF_DIR_LINK
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/562795c4/ambari-logsearch/ambari-logsearch-assembly/src/main/package/deb/portal/preinst
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-assembly/src/main/package/deb/portal/preinst
 
b/ambari-logsearch/ambari-logsearch-assembly/src/main/package/deb/portal/preinst
index 21a01fa..dfb8752 100644
--- 
a/ambari-logsearch/ambari-logsearch-assembly/src/main/package/deb/portal/preinst
+++ 
b/ambari-logsearch/ambari-logsearch-assembly/src/main/package/deb/portal/preinst
@@ -13,3 +13,16 @@
 # 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
+
+LOGSEARCH_CONF="/etc/ambari-logsearch-portal/conf"
+LOGSEARCH_CONF_BACKUP="/usr/lib/ambari-logsearch-portal/conf-old"
+
+if [ -d $LOGSEARCH_CONF_BACKUP ]; then
+  rm -rf $LOGSEARCH_CONF_BACKUP
+fi
+
+if [ -d $LOGSEARCH_CONF ]; then
+  mkdir -p $LOGSEARCH_CONF_BACKUP
+  cp -r $LOGSEARCH_CONF/* $LOGSEARCH_CONF_BACKUP
+  rm -rf $LOGSEARCH_CONF
+fi
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/562795c4/ambari-logsearch/ambari-logsearch-assembly/src/main/package/rpm/logfeeder/postinstall.sh
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-assembly/src/main/package/rpm/logfeeder/postinstall.sh
 
b/ambari-logsearch/ambari-logsearch-assembly/src/main/package/rpm/logfeeder/postinstall.sh
new file mode 100755
index 0000000..a4eec77
--- /dev/null
+++ 
b/ambari-logsearch/ambari-logsearch-assembly/src/main/package/rpm/logfeeder/postinstall.sh
@@ -0,0 +1,37 @@
+#!/bin/bash
+# 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
+
+LOGFEEDER_SCRIPT_LINK_NAME="/usr/bin/logfeeder"
+LOGFEEDER_SCRIPT_SOURCE="/usr/lib/ambari-logsearch-logfeeder/bin/logfeeder.sh"
+
+LOGFEEDER_CONF_LINK="/etc/ambari-logsearch-logfeeder/conf"
+LOGFEEDER_CONF_SOURCE="/usr/lib/ambari-logsearch-logfeeder/conf"
+
+ln -s $LOGFEEDER_SCRIPT_SOURCE $LOGFEEDER_SCRIPT_LINK_NAME
+ln -s $LOGFEEDER_CONF_SOURCE $LOGFEEDER_CONF_LINK
+
+# handle old checkpoint & keys folder
+
+LOGFEEDER_CONF_BACKUP="/usr/lib/ambari-logsearch-logfeeder/conf-old"
+
+if [ -d "$LOGFEEDER_CONF_BACKUP" ]; then
+  if [ -d "$LOGFEEDER_CONF_BACKUP/keys" ]; then
+    cp -r $LOGFEEDER_CONF_BACKUP/keys $LOGFEEDER_CONF_SOURCE
+  fi
+  if [ -d "$LOGFEEDER_CONF_BACKUP/checkpoints" ]; then
+    cp -r $LOGFEEDER_CONF_BACKUP/checkpoints $LOGFEEDER_CONF_SOURCE
+  fi
+fi
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/562795c4/ambari-logsearch/ambari-logsearch-assembly/src/main/package/rpm/logfeeder/postremove.sh
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-assembly/src/main/package/rpm/logfeeder/postremove.sh
 
b/ambari-logsearch/ambari-logsearch-assembly/src/main/package/rpm/logfeeder/postremove.sh
new file mode 100755
index 0000000..5f1c623
--- /dev/null
+++ 
b/ambari-logsearch/ambari-logsearch-assembly/src/main/package/rpm/logfeeder/postremove.sh
@@ -0,0 +1,21 @@
+#!/bin/bash
+# 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
+
+LOGFEEDER_SCRIPT_LINK_NAME="/usr/bin/logfeeder"
+LOGFEEDER_CONF_DIR_LINK="/etc/ambari-logsearch-logfeeder/conf"
+
+rm -f $LOGFEEDER_SCRIPT_LINK_NAME
+rm -f $LOGFEEDER_CONF_DIR_LINK
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/562795c4/ambari-logsearch/ambari-logsearch-assembly/src/main/package/rpm/logfeeder/preinstall.sh
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-assembly/src/main/package/rpm/logfeeder/preinstall.sh
 
b/ambari-logsearch/ambari-logsearch-assembly/src/main/package/rpm/logfeeder/preinstall.sh
new file mode 100644
index 0000000..01d70e0
--- /dev/null
+++ 
b/ambari-logsearch/ambari-logsearch-assembly/src/main/package/rpm/logfeeder/preinstall.sh
@@ -0,0 +1,28 @@
+#!/bin/bash
+# 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
+
+LOGFEEDER_CONF="/etc/ambari-logsearch-logfeeder/conf"
+LOGFEEDER_CONF_BACKUP="/usr/lib/ambari-logsearch-logfeeder/conf-old"
+
+if [ -d $LOGFEEDER_CONF_BACKUP ]; then
+  rm -rf $LOGFEEDER_CONF_BACKUP
+fi
+
+if [ -d $LOGFEEDER_CONF ]; then
+  mkdir -p $LOGFEEDER_CONF_BACKUP
+  cp -r $LOGFEEDER_CONF/* $LOGFEEDER_CONF_BACKUP
+  rm -rf $LOGFEEDER_CONF
+fi
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/562795c4/ambari-logsearch/ambari-logsearch-assembly/src/main/package/rpm/portal/postinstall.sh
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-assembly/src/main/package/rpm/portal/postinstall.sh
 
b/ambari-logsearch/ambari-logsearch-assembly/src/main/package/rpm/portal/postinstall.sh
new file mode 100644
index 0000000..9107482
--- /dev/null
+++ 
b/ambari-logsearch/ambari-logsearch-assembly/src/main/package/rpm/portal/postinstall.sh
@@ -0,0 +1,34 @@
+#!/bin/bash
+# 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
+
+LOGSEARCH_SCRIPT_LINK_NAME="/usr/bin/logsearch"
+LOGSEARCH_SCRIPT_SOURCE="/usr/lib/ambari-logsearch-portal/bin/logsearch.sh"
+
+LOGSEARCH_CONF_LINK="/etc/ambari-logsearch-portal/conf"
+LOGSEARCH_CONF_SOURCE="/usr/lib/ambari-logsearch-portal/conf"
+
+ln -s $LOGSEARCH_SCRIPT_SOURCE $LOGSEARCH_SCRIPT_LINK_NAME
+ln -s $LOGSEARCH_CONF_SOURCE $LOGSEARCH_CONF_LINK
+
+# handle old keys folder
+
+LOGSEARCH_CONF_BACKUP="/usr/lib/ambari-logsearch-portal/conf-old"
+
+if [ -d "$LOGSEARCH_CONF_BACKUP" ]; then
+  if [ -d "$LOGSEARCH_CONF_BACKUP/keys" ]; then
+    cp -r $LOGSEARCH_CONF_BACKUP/keys $LOGSEARCH_CONF_SOURCE
+  fi
+fi
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/562795c4/ambari-logsearch/ambari-logsearch-assembly/src/main/package/rpm/portal/postremove.sh
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-assembly/src/main/package/rpm/portal/postremove.sh
 
b/ambari-logsearch/ambari-logsearch-assembly/src/main/package/rpm/portal/postremove.sh
new file mode 100644
index 0000000..8de05c1
--- /dev/null
+++ 
b/ambari-logsearch/ambari-logsearch-assembly/src/main/package/rpm/portal/postremove.sh
@@ -0,0 +1,21 @@
+#!/bin/bash
+# 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
+
+LOGSEARCH_SCRIPT_LINK_NAME="/usr/bin/logsearch"
+LOGSEARCH_CONF_DIR_LINK="/etc/ambari-logsearch-portal/conf"
+
+rm -f $LOGSEARCH_SCRIPT_LINK_NAME
+rm -f $LOGSEARCH_CONF_DIR_LINK
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/562795c4/ambari-logsearch/ambari-logsearch-assembly/src/main/package/rpm/portal/preinstall.sh
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-assembly/src/main/package/rpm/portal/preinstall.sh
 
b/ambari-logsearch/ambari-logsearch-assembly/src/main/package/rpm/portal/preinstall.sh
new file mode 100644
index 0000000..dfb8752
--- /dev/null
+++ 
b/ambari-logsearch/ambari-logsearch-assembly/src/main/package/rpm/portal/preinstall.sh
@@ -0,0 +1,28 @@
+#!/bin/bash
+# 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
+
+LOGSEARCH_CONF="/etc/ambari-logsearch-portal/conf"
+LOGSEARCH_CONF_BACKUP="/usr/lib/ambari-logsearch-portal/conf-old"
+
+if [ -d $LOGSEARCH_CONF_BACKUP ]; then
+  rm -rf $LOGSEARCH_CONF_BACKUP
+fi
+
+if [ -d $LOGSEARCH_CONF ]; then
+  mkdir -p $LOGSEARCH_CONF_BACKUP
+  cp -r $LOGSEARCH_CONF/* $LOGSEARCH_CONF_BACKUP
+  rm -rf $LOGSEARCH_CONF
+fi
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/562795c4/ambari-logsearch/ambari-logsearch-logfeeder/README.md
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/README.md 
b/ambari-logsearch/ambari-logsearch-logfeeder/README.md
index d2e55f0..48cb81b 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/README.md
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/README.md
@@ -29,11 +29,11 @@ First you need to start every required service (except 
logfeeder), go to `ambari
 docker-compose up -d zookeeper solr logsearch
 ```
 
-Secondly, if you are planning to run Log Feeder from an IDE, for running the 
LogFeeder main methoud, you will need to set the working directory to 
`ambari/ambari-logsearch/ambari-logsearch-logfeeder` and use `--monitor` as a 
command line argument.
+Secondly, if you are planning to run Log Feeder from an IDE, for running the 
LogFeeder main methoud, you will need to set the working directory to 
`ambari/ambari-logsearch/ambari-logsearch-logfeeder` or set 
`LOGFEEDER_RELATIVE_LOCATION` env variable.
 With Maven, you won't need these steps, just run this command from the 
ambari-logsearch-logfeeder folder:
 
 ```bash
-mvn clean package -DskipTests exec:java
+mvn clean package -DskipTests spring-boot:run
 ```
 
 # Input Configuration

http://git-wip-us.apache.org/repos/asf/ambari/blob/562795c4/ambari-logsearch/ambari-logsearch-logfeeder/build.properties
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/build.properties 
b/ambari-logsearch/ambari-logsearch-logfeeder/build.properties
deleted file mode 100644
index 013ba2e..0000000
--- a/ambari-logsearch/ambari-logsearch-logfeeder/build.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-#   Licensed 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.
-
-app.pkg.dir=${app.work.dir}/pkg
-
-app.dev.war.dir=${app.work.dir}/webapps/logsearch
-app.war.name=logsearch.war
-
-app.target.dir=${builddir}/target/classes/static
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/562795c4/ambari-logsearch/ambari-logsearch-logfeeder/build.xml
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/build.xml 
b/ambari-logsearch/ambari-logsearch-logfeeder/build.xml
index 738b2ef..c150b55 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/build.xml
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/build.xml
@@ -19,10 +19,8 @@
   <property environment="env"/>
   <property name="debuglevel" value="source,lines,vars"/>
   <dirname property="builddir" file="build.xml"/>
-  <property name="target" value="1.7"/>
-  <property name="source" value="1.7"/>
-  <property file="local.properties"/>
-  <property file="build.properties"/>
+  <property name="target" value="1.8"/>
+  <property name="source" value="1.8"/>
   <target name="init">
   </target>
   <target name="build"/>
@@ -31,18 +29,20 @@
     <delete dir="target/package"/>
     <copy todir="target/package/libs" includeEmptyDirs="no">
       <fileset dir="target/libs"/>
+      <fileset file="target/ambari-logsearch-logfeeder*.jar"/>
     </copy>
-    <copy todir="target/package/classes" includeEmptyDirs="no">
-      <fileset dir="target/classes"/>
+    <copy todir="target/package/bin" includeEmptyDirs="no">
+      <fileset file="src/main/scripts/logfeeder.sh"/>
     </copy>
-    <copy todir="target/package" includeEmptyDirs="no">
-      <fileset file="config.json"/>
+    <copy todir="target/package/conf" includeEmptyDirs="no">
+      <fileset file="target/classes/grok-patterns"/>
+      <fileset file="target/classes/log4j.xml"/>
+      <fileset file="target/classes/logfeeder.properties"/>
+      <fileset file="target/classes/alias_config.json"/>
+      <fileset file="src/main/scripts/logfeeder-env.sh"/>
     </copy>
-    <copy todir="target/package" includeEmptyDirs="no">
-      <fileset file="grok-patterns"/>
-      <fileset file="src/main/scripts/run.sh"/>
-    </copy>
-    <chmod file="target/package/run.sh" perm="755"/>
+    <chmod file="target/package/bin/logfeeder.sh" perm="755"/>
+    <chmod file="target/package/conf/logfeeder-env.sh" perm="755"/>
     <tar compression="gzip" destfile="target/ambari-logsearch-logfeeder.tgz">
       <tarfileset mode="755" dir="target/package">
         <include name="*.sh"/>
@@ -52,6 +52,4 @@
       </tarfileset>
     </tar>
   </target>
-  <target description="Build all projects which reference this project. Useful 
to propagate changes."
-          name="build-refprojects"/>
 </project>

http://git-wip-us.apache.org/repos/asf/ambari/blob/562795c4/ambari-logsearch/ambari-logsearch-logfeeder/pom.xml
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/pom.xml 
b/ambari-logsearch/ambari-logsearch-logfeeder/pom.xml
index 005af15..6a3524d 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/pom.xml
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/pom.xml
@@ -198,7 +198,6 @@
     </dependency>
   </dependencies>
   <build>
-    <finalName>LogFeeder</finalName>
     <pluginManagement>
       <plugins>
         <plugin>
@@ -222,40 +221,10 @@
           <target>${jdk.version}</target>
         </configuration>
       </plugin>
-
-      <!-- Exec main class plugin -->
-      <plugin>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>exec-maven-plugin</artifactId>
-        <version>1.2.1</version>
-        <executions>
-          <execution>
-            <goals>
-              <goal>java</goal>
-            </goals>
-          </execution>
-        </executions>
-        <configuration>
-          <mainClass>org.apache.ambari.logfeeder.LogFeeder</mainClass>
-          <arguments>
-            <argument>--monitor</argument>
-          </arguments>
-        </configuration>
-      </plugin>
       <plugin>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-maven-plugin</artifactId>
         <version>${spring-boot.version}</version>
-        <configuration>
-          <classifier>exec</classifier>
-        </configuration>
-        <executions>
-          <execution>
-            <goals>
-              <goal>repackage</goal>
-            </goals>
-          </execution>
-        </executions>
       </plugin>
       <!-- copy-dependencies -->
       <plugin>

http://git-wip-us.apache.org/repos/asf/ambari/blob/562795c4/ambari-logsearch/ambari-logsearch-logfeeder/run.sh
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/run.sh 
b/ambari-logsearch/ambari-logsearch-logfeeder/run.sh
index 70947ec..47a9e6c 100755
--- a/ambari-logsearch/ambari-logsearch-logfeeder/run.sh
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/run.sh
@@ -14,6 +14,4 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-echo "LOG FEEDER"
-mvn clean compile
-mvn exec:java
+mvn clean spring-boot:run

http://git-wip-us.apache.org/repos/asf/ambari/blob/562795c4/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/LogFeeder.java
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/LogFeeder.java
 
b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/LogFeeder.java
index 2d31e5a..235109c 100644
--- 
a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/LogFeeder.java
+++ 
b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/LogFeeder.java
@@ -18,54 +18,21 @@
  */
 package org.apache.ambari.logfeeder;
 
-import com.google.gson.GsonBuilder;
-import org.apache.ambari.logfeeder.common.LogEntryParseTester;
-import org.apache.commons.io.FileUtils;
-import org.apache.log4j.LogManager;
 import org.springframework.boot.Banner;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.boot.builder.SpringApplicationBuilder;
 import org.springframework.boot.system.ApplicationPidFileWriter;
 
-import java.io.File;
-import java.nio.charset.Charset;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
 @SpringBootApplication(
   scanBasePackages = {"org.apache.ambari.logfeeder"}
 )
 public class LogFeeder {
 
   public static void main(String[] args) {
-    LogFeederCommandLine cli = new LogFeederCommandLine(args);
-    if (cli.isTest()) {
-      test(cli);
-    }
-    String pidFile = System.getenv("PID_FILE") == null ? "logfeeder.pid" : 
System.getenv("PID_FILE");
+    String pidFile = System.getenv("LOGFEEDER_PID_FILE") == null ? 
"logfeeder.pid" : System.getenv("LOGFEEDER_PID_FILE");
     new SpringApplicationBuilder(LogFeeder.class)
       .bannerMode(Banner.Mode.OFF)
       .listeners(new ApplicationPidFileWriter(pidFile))
       .run(args);
   }
-
-  private static void test(LogFeederCommandLine cli) {
-    try {
-      LogManager.shutdown();
-      String testLogEntry = cli.getTestLogEntry();
-      String testShipperConfig = FileUtils.readFileToString(new 
File(cli.getTestShipperConfig()), Charset.defaultCharset());
-      List<String> testGlobalConfigs = new ArrayList<>();
-      for (String testGlobalConfigFile : 
cli.getTestGlobalConfigs().split(",")) {
-        testGlobalConfigs.add(FileUtils.readFileToString(new 
File(testGlobalConfigFile), Charset.defaultCharset()));
-      }
-      String testLogId = cli.getTestLogId();
-      Map<String, Object> result = new LogEntryParseTester(testLogEntry, 
testShipperConfig, testGlobalConfigs, testLogId).parse();
-      String parsedLogEntry = new 
GsonBuilder().setPrettyPrinting().create().toJson(result);
-      System.out.println("The result of the parsing is:\n" + parsedLogEntry);
-    } catch (Exception e) {
-      System.out.println("Exception occurred, could not test if log entry is 
parseable");
-      e.printStackTrace(System.out);
-    }
-  }
 }

http://git-wip-us.apache.org/repos/asf/ambari/blob/562795c4/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/LogFeederCommandLine.java
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/LogFeederCommandLine.java
 
b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/LogFeederCommandLine.java
index 61e7a1e..a6fcb2a 100644
--- 
a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/LogFeederCommandLine.java
+++ 
b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/LogFeederCommandLine.java
@@ -19,22 +19,25 @@
 
 package org.apache.ambari.logfeeder;
 
+import com.google.gson.GsonBuilder;
+import org.apache.ambari.logfeeder.common.LogEntryParseTester;
 import org.apache.commons.cli.CommandLine;
 import org.apache.commons.cli.CommandLineParser;
 import org.apache.commons.cli.DefaultParser;
 import org.apache.commons.cli.HelpFormatter;
 import org.apache.commons.cli.Option;
 import org.apache.commons.cli.Options;
+import org.apache.commons.io.FileUtils;
 import org.apache.commons.lang.StringUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.log4j.LogManager;
 
+import java.io.File;
+import java.nio.charset.Charset;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
 
 public class LogFeederCommandLine {
-
-  private static final Logger LOG = 
LoggerFactory.getLogger(LogFeederCommandLine.class);
   
   private static final String TEST_COMMAND = "test";
   private static final String TEST_LOG_ENTRY_OPTION = "test-log-entry";
@@ -42,11 +45,9 @@ public class LogFeederCommandLine {
   private static final String TEST_GLOBAL_CONFIG_OPTION = "test-global-config";
   private static final String TEST_LOG_ID_OPTION = "test-log-id";
   
-  private static final String COMMAND_LINE_SYNTAX = "java 
org.apache.ambari.logfeeder.LogFeeder -(monitor|test) [args]";
-  
-  private CommandLine cli;
+  private static final String COMMAND_LINE_SYNTAX = "java 
org.apache.ambari.logfeeder.LogFeederCommandLine --test [args]";
 
-  public LogFeederCommandLine(String[] args) {
+  public static void main(String[] args) {
     Options options = new Options();
     HelpFormatter helpFormatter = new HelpFormatter();
     helpFormatter.setDescPadding(10);
@@ -95,7 +96,7 @@ public class LogFeederCommandLine {
 
     try {
       CommandLineParser cmdLineParser = new DefaultParser();
-      cli = cmdLineParser.parse(options, args);
+      CommandLine cli = cmdLineParser.parse(options, args);
 
       if (cli.hasOption('h')) {
         helpFormatter.printHelp(COMMAND_LINE_SYNTAX, options);
@@ -105,11 +106,12 @@ public class LogFeederCommandLine {
       if (cli.hasOption("t")) {
         command = TEST_COMMAND;
         validateRequiredOptions(cli, command, testLogEntryOption, 
testShipperConfOption);
-      } else {
-        LOG.info("Start application in monitor mode ");
       }
+      test(cli);
     } catch (Exception e) {
-      LOG.info("Error parsing command line parameters: {}. LogFeeder will be 
started in monitoring mode.", e.getMessage());
+      e.printStackTrace();
+      helpFormatter.printHelp(COMMAND_LINE_SYNTAX, options);
+      System.exit(1);
     }
   }
 
@@ -125,24 +127,23 @@ public class LogFeederCommandLine {
         String.format("The following options required for '%s' : %s", command, 
StringUtils.join(requiredOptions, ",")));
     }
   }
-  
-  public boolean isTest() {
-    return cli != null && cli.hasOption('t');
-  }
-  
-  public String getTestLogEntry() {
-    return cli.getOptionValue("tle");
-  }
-  
-  public String getTestShipperConfig() {
-    return cli.getOptionValue("tsc");
-  }
-  
-  public String getTestGlobalConfigs() {
-    return cli.getOptionValue("tgc");
-  }
-  
-  public String getTestLogId() {
-    return cli.getOptionValue("tli");
+
+  private static void test(CommandLine cli) {
+    try {
+      LogManager.shutdown();
+      String testLogEntry = cli.getOptionValue("tle");
+      String testShipperConfig = FileUtils.readFileToString(new 
File(cli.getOptionValue("tsc")), Charset.defaultCharset());
+      List<String> testGlobalConfigs = new ArrayList<>();
+      for (String testGlobalConfigFile : cli.getOptionValue("tgc").split(",")) 
{
+        testGlobalConfigs.add(FileUtils.readFileToString(new 
File(testGlobalConfigFile), Charset.defaultCharset()));
+      }
+      String testLogId = cli.getOptionValue("tli");
+      Map<String, Object> result = new LogEntryParseTester(testLogEntry, 
testShipperConfig, testGlobalConfigs, testLogId).parse();
+      String parsedLogEntry = new 
GsonBuilder().setPrettyPrinting().create().toJson(result);
+      System.out.println("The result of the parsing is:\n" + parsedLogEntry);
+    } catch (Exception e) {
+      System.out.println("Exception occurred, could not test if log entry is 
parseable");
+      e.printStackTrace(System.out);
+    }
   }
 }

http://git-wip-us.apache.org/repos/asf/ambari/blob/562795c4/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/common/ConfigHandler.java
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/common/ConfigHandler.java
 
b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/common/ConfigHandler.java
index 35c0e6a..037f4a1 100644
--- 
a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/common/ConfigHandler.java
+++ 
b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/common/ConfigHandler.java
@@ -21,12 +21,12 @@ package org.apache.ambari.logfeeder.common;
 
 import java.io.BufferedInputStream;
 import java.io.File;
+import java.io.FileNotFoundException;
 import java.lang.reflect.Type;
 import java.nio.charset.Charset;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
-import java.util.Comparator;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
@@ -62,6 +62,7 @@ import org.apache.log4j.Level;
 import org.apache.log4j.Logger;
 
 import com.google.gson.reflect.TypeToken;
+import org.springframework.core.io.ClassPathResource;
 
 import javax.annotation.PostConstruct;
 import javax.annotation.PreDestroy;
@@ -146,6 +147,10 @@ public class ConfigHandler implements InputConfigMonitor {
 
   private void loadConfigsUsingClassLoader(String configFileName) throws 
Exception {
     try (BufferedInputStream fis = (BufferedInputStream) 
this.getClass().getClassLoader().getResourceAsStream(configFileName)) {
+      ClassPathResource configFile = new ClassPathResource(configFileName);
+      if (!configFile.exists()) {
+        throw new FileNotFoundException(configFileName);
+      }
       String configData = IOUtils.toString(fis, Charset.defaultCharset());
       loadConfigs(configData);
     }

http://git-wip-us.apache.org/repos/asf/ambari/blob/562795c4/ambari-logsearch/ambari-logsearch-logfeeder/src/main/package/deb/control/control
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/package/deb/control/control
 
b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/package/deb/control/control
deleted file mode 100644
index 40cd855..0000000
--- 
a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/package/deb/control/control
+++ /dev/null
@@ -1,22 +0,0 @@
-# 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
-Package: [[artifactId]]
-Version: [[package-version]]-[[package-release]]
-Section: [[deb.section]]
-Priority: [[deb.priority]]
-Depends: [[deb.dependency.list]]
-Architecture: [[deb.architecture]]
-Description: [[description]]
-Maintainer: [[deb.publisher]]

http://git-wip-us.apache.org/repos/asf/ambari/blob/562795c4/ambari-logsearch/ambari-logsearch-logfeeder/src/main/package/deb/control/postinst
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/package/deb/control/postinst
 
b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/package/deb/control/postinst
deleted file mode 100644
index 21a01fa..0000000
--- 
a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/package/deb/control/postinst
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/bash
-# 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

http://git-wip-us.apache.org/repos/asf/ambari/blob/562795c4/ambari-logsearch/ambari-logsearch-logfeeder/src/main/package/deb/control/postrm
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/package/deb/control/postrm
 
b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/package/deb/control/postrm
deleted file mode 100644
index 21a01fa..0000000
--- 
a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/package/deb/control/postrm
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/bash
-# 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

http://git-wip-us.apache.org/repos/asf/ambari/blob/562795c4/ambari-logsearch/ambari-logsearch-logfeeder/src/main/package/deb/control/preinst
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/package/deb/control/preinst
 
b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/package/deb/control/preinst
deleted file mode 100644
index 21a01fa..0000000
--- 
a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/package/deb/control/preinst
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/bash
-# 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

http://git-wip-us.apache.org/repos/asf/ambari/blob/562795c4/ambari-logsearch/ambari-logsearch-logfeeder/src/main/package/deb/control/prerm
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/package/deb/control/prerm
 
b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/package/deb/control/prerm
deleted file mode 100644
index 21a01fa..0000000
--- 
a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/package/deb/control/prerm
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/bash
-# 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

http://git-wip-us.apache.org/repos/asf/ambari/blob/562795c4/ambari-logsearch/ambari-logsearch-logfeeder/src/main/scripts/logfeeder-env.sh
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/scripts/logfeeder-env.sh 
b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/scripts/logfeeder-env.sh
new file mode 100755
index 0000000..37e9930
--- /dev/null
+++ 
b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/scripts/logfeeder-env.sh
@@ -0,0 +1,40 @@
+#!/bin/bash
+# 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.
+
+# Log Feeder extra options
+export LOGFEEDER_JAVA_OPTS=${LOGFEEDER_JAVA_OPTS:-""}
+
+# Log Feeder debug options
+# export LOGFEEDER_DEBUG=true
+# exoprt LOGFEEDER_DEBUG_SUSPEND=n
+export LOGFEEDER_DEBUG_PORT=5006
+
+# Log Feeder memory
+# export LOGFEEDER_JAVA_MEM="-Xmx512m"
+
+# export LOG_PATH=/var/log/ambari-logsearch-logfeeder/
+# export LOG_FILE=logfeeder.log
+
+# Pid file of the application
+# export LOGFEEDER_PID_DIR=/var/run/ambari-logsearch-logfeeder
+# export LOGFEEDER_PID_FILE=logfeeder.pid
+
+# SSL settings"
+# export LOGFEEDER_SSL="true"
+# export LOGFEEDER_KEYSTORE_LOCATION="/my/path/keystore.jks"
+# export LOGFEEDER_KEYSTORE_TYPE="jks"
+# export LOGFEEDER_TRUSTSTORE_LOCATION="/my/path/trutstore.jks"
+# export LOGFEEDER_TRUSTSTORE_TYPE="jks"
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/562795c4/ambari-logsearch/ambari-logsearch-logfeeder/src/main/scripts/logfeeder.sh
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/scripts/logfeeder.sh 
b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/scripts/logfeeder.sh
new file mode 100755
index 0000000..cfacea5
--- /dev/null
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/scripts/logfeeder.sh
@@ -0,0 +1,292 @@
+#!/bin/bash
+# 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.
+
+JVM="java"
+
+if [ -x $JAVA_HOME/bin/java ]; then
+  JVM=$JAVA_HOME/bin/java
+fi
+
+if [ "$LOGFEEDER_JAVA_MEM" = "" ]; then
+  LOGFEEDER_JAVA_MEM="-Xmx512m"
+fi
+
+readlinkf(){
+  # get real path on mac OSX
+  perl -MCwd -e 'print Cwd::abs_path shift' "$1";
+}
+
+if [ "$(uname -s)" = 'Linux' ]; then
+  SCRIPT_DIR="`dirname "$(readlink -f "$0")"`"
+else
+  SCRIPT_DIR="`dirname "$(readlinkf "$0")"`"
+fi
+
+LOGFEEDER_ROOT_DIR="`dirname \"$SCRIPT_DIR\"`"
+LOGFEEDER_LIBS_DIR="$LOGFEEDER_ROOT_DIR/libs"
+
+if [ "$LOGFEEDER_CONF_DIR" = "" ]; then
+  LOGFEEDER_CONF_DIR="/etc/ambari-logsearch-logfeeder/conf"
+  if [ ! -d $LOGFEEDER_CONF_DIR ]; then
+    if [ -d "$LOGFEEDER_ROOT_DIR/conf" ]; then
+      LOGFEEDER_CONF_DIR="$LOGFEEDER_ROOT_DIR/conf"
+    fi
+  fi
+fi
+
+if [ -f "$LOGFEEDER_CONF_DIR/logfeeder-env.sh" ]; then
+  source $LOGFEEDER_CONF_DIR/logfeeder-env.sh
+fi
+
+if [ ! -z "$LOGSEARCH_SOLR_CLIENT_SSL_INCLUDE" ]; then
+  source $LOGSEARCH_SOLR_CLIENT_SSL_INCLUDE
+fi
+
+if [ -z "$LOGFEEDER_PID_FILE" ]; then
+  LOGFEEDER_PID_DIR=$HOME
+  export LOGFEEDER_PID_FILE=$LOGFEEDER_PID_DIR/logfeeder.pid
+fi
+
+if [ -z "$LOG_FILE" ]; then
+  export LOG_FILE="logfeeder.log"
+fi
+
+LOGFEEDER_GC_LOGFILE="logfeeder_gc.log"
+
+if [ -z "$LOG_PATH" ]; then
+  LOG_FILE="$HOME/$LOG_FILE"
+  LOGFEEDER_GC_LOGFILE="$HOME/$LOGFEEDER_GC_LOGFILE"
+else
+  LOG_PATH_WITHOUT_SLASH=${LOG_PATH%/}
+  LOG_FILE="$LOG_PATH_WITHOUT_SLASH/$LOG_FILE"
+  LOGFEEDER_GC_LOGFILE="$LOG_PATH_WITHOUT_SLASH/$LOGFEEDER_GC_LOGFILE"
+fi
+
+LOGFEEDER_GC_OPTS="-XX:+PrintGCDetails -XX:+PrintGCDateStamps 
-Xloggc:$LOGFEEDER_GC_LOGFILE"
+
+function print_usage() {
+  cat << EOF
+
+   Usage: [<command>] [<arguments with flags>]
+
+   commands:
+     start                         Start Log Feeder
+     stop                          Stop Log Feeder
+     status                        Check Log Feeder status (pid file)
+     test                          Test Log Feeder shipper configs
+     help                          Print usage
+
+
+   start command arguments:
+     -d, --debug                   Start java process in debug mode
+     -f, --foreground              Start java process in foreground
+
+   test command arguments:
+     -h, --help                    Print usage
+     -tle, --test-log-entry        Log entry to test if it's parseable 
(required)
+     -tsc, --test-shipper-config   Shipper configuration file for testing if 
log entry is parseable (required)
+     -tgc, --test-global-config    Global configuration files (comma separated 
list) for testing if log entry is parseable
+     -tli, --test-log-id           The id of the log to test
+
+EOF
+}
+
+function spinner() {
+  local pid=$1
+  local delay=0.5
+  local spinstr='|/-\'
+  while [ "$(ps aux | awk '{print $2}' | grep -w $pid)" ]; do
+      local temp=${spinstr#?}
+      printf " [%c]  " "$spinstr"
+      local spinstr=$temp${spinstr%"$temp"}
+      sleep $delay
+      printf "\b\b\b\b\b\b"
+  done
+  printf "    \b\b\b\b"
+}
+
+function status() {
+  echo "Checking Log Feeder status ..."
+  if [ -f "$LOGFEEDER_PID_FILE" ]; then
+    LOGFEEDER_PID=`cat "$LOGFEEDER_PID_FILE"`
+  else
+    echo "Log Feeder pid not exists. (probably the process is not running)"
+    exit 1
+  fi
+
+  if ps -p $LOGFEEDER_PID > /dev/null
+   then
+   echo "Log Feeder process is running. (pid: $LOGFEEDER_PID)"
+   exit 0
+  else
+   echo "Log Feeder process is not running."
+   exit 1
+  fi
+}
+
+function start() {
+  (status);
+  exit_status=$(echo $?)
+  if [ "$exit_status" = "0" ]; then
+    echo "Skipping start process."
+    exit 0
+  fi
+
+  FG="false"
+  LOGFEEDER_DEBUG_SUSPEND=${LOGFEEDER_DEBUG_SUSPEND:-n}
+  LOGFEEDER_DEBUG_PORT=${LOGFEEDER_DEBUG_PORT:-"5006"}
+
+  if [ "$LOGFEEDER_DEBUG" = "true" ]; then
+    LOGFEEDER_JAVA_OPTS="$LOGFEEDER_JAVA_OPTS -Xdebug 
-Xrunjdwp:transport=dt_socket,address=$LOGFEEDER_DEBUG_PORT,server=y,suspend=$LOGFEEDER_DEBUG_SUSPEND
 "
+  fi
+
+  if [ "$LOGFEEDER_SSL" = "true" ]; then
+    LOGFEEDER_JAVA_OPTS="$LOGFEEDER_JAVA_OPTS 
-Djavax.net.ssl.keyStore=$LOGFEEDER_KEYSTORE_LOCATION 
-Djavax.net.ssl.keyStoreType=$LOGFEEDER_KEYSTORE_TYPE 
-Djavax.net.ssl.trustStore=$LOGFEEDER_TRUSTSTORE_LOCATION 
-Djavax.net.ssl.trustStoreType=$LOGFEEDER_TRUSTSTORE_TYPE"
+  fi
+
+  if [ "$LOGFEEDER_JMX" = "true" ]; then
+   LOGFEEDER_JAVA_OPTS="$LOGFEEDER_JAVA_OPTS -Dcom.sun.management.jmxremote 
-Dcom.sun.management.jmxremote.ssl=false 
-Dcom.sun.management.jmxremote.authenticate=false 
-Dcom.sun.management.jmxremote.port=2098"
+  fi
+
+  if [ $# -gt 0 ]; then
+    while true; do
+      case "$1" in
+          -f|--foreground)
+              FG="true"
+              shift
+          ;;
+          -d|--debug)
+              if [ "$LOGFEEDER_DEBUG" != "true" ]; then
+                LOGFEEDER_JAVA_OPTS="$LOGFEEDER_JAVA_OPTS -Xdebug 
-Xrunjdwp:transport=dt_socket,address=$LOGFEEDER_DEBUG_PORT,server=y,suspend=$LOGFEEDER_DEBUG_SUSPEND
 "
+              fi
+              shift
+          ;;
+          *)
+              if [ "${1:0:2}" == "-D" ]; then
+                # pass thru any opts that begin with -D (java system props)
+                LOGFEEDER_JAVA_OPTS+=("$1")
+                echo "$LOGFEEDER_JAVA_OPTS"
+                shift
+              else
+                if [ "$1" != "" ]; then
+                  print_usage
+                  exit 1
+                else
+                  break
+                fi
+              fi
+          ;;
+      esac
+    done
+  fi
+
+  if [ $FG == "true" ]; then
+    echo "Starting logfeeder... (foreground) pid_file=$LOGFEEDER_PID_FILE"
+    echo "Run command $JVM -cp '$LOGFEEDER_CONF_DIR:$LOGFEEDER_LIBS_DIR/*' 
$LOGFEEDER_GC_OPTS $LOGFEEDER_JAVA_OPTS $LOGFEEDER_JAVA_MEM 
org.apache.ambari.logfeeder.LogFeeder"
+    $JVM -cp "$LOGFEEDER_CONF_DIR:$LOGFEEDER_LIBS_DIR/*" $LOGFEEDER_GC_OPTS 
$LOGFEEDER_JAVA_OPTS $LOGFEEDER_JAVA_MEM org.apache.ambari.logfeeder.LogFeeder
+  else
+   echo "Starting logfeeder... Output file=$LOG_FILE 
pid_file=$LOGFEEDER_PID_FILE"
+   echo "Run command nohup $JVM -cp 
'$LOGFEEDER_CONF_DIR:$LOGFEEDER_LIBS_DIR/*' $LOGFEEDER_GC_OPTS 
$LOGFEEDER_JAVA_OPTS $LOGFEEDER_JAVA_MEM org.apache.ambari.logfeeder.LogFeeder"
+   nohup $JVM -cp "$LOGFEEDER_CONF_DIR:$LOGFEEDER_LIBS_DIR/*" 
$LOGFEEDER_GC_OPTS $LOGFEEDER_JAVA_OPTS $LOGFEEDER_JAVA_MEM 
org.apache.ambari.logfeeder.LogFeeder > $LOG_FILE 2>&1 &
+  fi
+}
+
+function stop() {
+  LOGFEEDER_STOP_WAIT=3
+  if [ -f "$LOGFEEDER_PID_FILE" ]; then
+    LOGFEEDER_PID=`cat "$LOGFEEDER_PID_FILE"`
+  fi
+
+  if [ "$LOGFEEDER_PID" != "" ]; then
+    echo -e "Sending stop command to Log Feeder... Checking PID: 
$LOGFEEDER_PID."
+    kill $LOGFEEDER_PID
+      (loops=0
+      while true
+      do
+        CHECK_PID=`ps auxww | awk '{print $2}' | grep -w $LOGFEEDER_PID | sort 
-r | tr -d ' '`
+        if [ "$CHECK_PID" != "" ]; then
+          slept=$((loops * 2))
+          if [ $slept -lt $LOGFEEDER_STOP_WAIT ]; then
+            sleep 2
+            loops=$[$loops+1]
+          else
+            exit # subshell!
+          fi
+        else
+          exit # subshell!
+        fi
+      done) &
+    spinner $!
+    rm -f "$LOGFEEDER_PID_FILE"
+  else
+    echo -e "No LogFeeder process found to stop."
+    exit 0
+  fi
+
+  CHECK_PID=`ps auxww | awk '{print $2}' | grep -w $LOGFEEDER_PID | sort -r | 
tr -d ' '`
+  if [ "$CHECK_PID" != "" ]; then
+    echo -e "Log Feeder process $LOGFEEDER_PID is still running; forcefully 
killing it now."
+    kill -9 $LOGFEEDER_PID
+    echo "Killed process $LOGFEEDER_PID"
+    rm -f "$LOGFEEDER_PID_FILE"
+    sleep 1
+  else
+    echo "Log Feeder is stopped."
+  fi
+
+  CHECK_PID=`ps auxww | awk '{print $2}' | grep -w $LOGFEEDER_PID | sort -r | 
tr -d ' '`
+  if [ "$CHECK_PID" != "" ]; then
+    echo "ERROR: Failed to kill Log Feeder Java process $LOGFEEDER_PID ... 
script fails."
+    exit 1
+  fi
+}
+
+function test() {
+  echo "Running command: $JVM -cp "$LOGFEEDER_CONF_DIR:$LOGFEEDER_LIBS_DIR/*" 
org.apache.ambari.logfeeder.LogFeederCommandLine --test ${@}"
+  $JVM -cp "$LOGFEEDER_CONF_DIR:$LOGFEEDER_LIBS_DIR/*" $LOGFEEDER_JAVA_OPTS 
org.apache.ambari.logfeeder.LogFeederCommandLine --test ${@}
+}
+
+if [ $# -gt 0 ]; then
+    SCRIPT_CMD="$1"
+    shift
+else
+   print_usage
+   exit 1
+fi
+
+case $SCRIPT_CMD in
+  start)
+    start ${1+"$@"}
+  ;;
+  stop)
+    stop
+  ;;
+  status)
+    status
+  ;;
+  test)
+    test ${1+"$@"}
+  ;;
+  help)
+    print_usage
+    exit 0
+  ;;
+  *)
+    print_usage
+    exit 1
+  ;;
+
+esac
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/562795c4/ambari-logsearch/ambari-logsearch-logfeeder/src/main/scripts/run.sh
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/scripts/run.sh 
b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/scripts/run.sh
deleted file mode 100644
index 22e1cb2..0000000
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/scripts/run.sh
+++ /dev/null
@@ -1,103 +0,0 @@
-#!/bin/bash
-# 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.
-
-curr_dir=`pwd`
-cd `dirname $0`; script_dir=`pwd`; cd $curr_dir
-
-foreground=0
-if [ "$1" = "-foreground" ]; then
-  foreground=1
-  shift
-fi
-
-if [ ! -z "$LOGFEEDER_INCLUDE" ]; then
-  source $LOGFEEDER_INCLUDE
-fi
-
-if [ ! -z "$LOGSEARCH_SOLR_CLIENT_SSL_INCLUDE" ]; then
-  source $LOGSEARCH_SOLR_CLIENT_SSL_INCLUDE
-fi
-
-JAVA=java
-if [ -x $JAVA_HOME/bin/java ]; then
-  JAVA=$JAVA_HOME/bin/java
-fi
-
-if [ "$LOGFEEDER_JAVA_MEM" = "" ]; then
-  LOGFEEDER_JAVA_MEM="-Xmx512m"
-fi
-
-if [ "$LOGFILE" = "" ]; then
-  LOGFILE="/var/log/logfeeder/logfeeder.out"
-fi
-
-if [ "$PID_FILE" = "" ]; then
-  LOGFEEDER_PID_DIR=$HOME
-  PID_FILE=$LOGFEEDER_PID_DIR/logsearch-logfeeder-$USER.pid
-fi
-
-if [ "$LOGFEEDER_CONF_DIR" = "" ]; then
-  LOGFEEDER_CONF_DIR="/etc/logfeeder/conf"
-  if [ ! -d $LOGFEEDER_CONF_DIR ]; then
-    if [ -d $script_dir/classes ]; then
-      LOGFEEDER_CONF_DIR=$script_dir/classes
-    fi
-  fi
-fi
-
-LOGFEEDER_DEBUG_SUSPEND=${LOGFEEDER_DEBUG_SUSPEND:-n}
-if [ "$LOGFEEDER_DEBUG" = "true" ] && [ ! -z "$LOGFEEDER_DEBUG_PORT" ]; then
-  LOGFEEDER_JAVA_OPTS="$LOGFEEDER_JAVA_OPTS -Xdebug 
-Xrunjdwp:transport=dt_socket,address=$LOGFEEDER_DEBUG_PORT,server=y,suspend=$LOGFEEDER_DEBUG_SUSPEND
 "
-fi
-
-LOGFEEDER_GC_LOGFILE=`dirname $LOGFILE`/logfeeder_gc.log
-LOGFEEDER_GC_OPTS="-XX:+PrintGCDetails -XX:+PrintGCDateStamps 
-Xloggc:$LOGFEEDER_GC_LOGFILE"
-
-#JMX="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.ssl=false 
-Dcom.sun.management.jmxremote.authenticate=false 
-Dcom.sun.management.jmxremote.port=2098"
-
-if [ "$LOGFEEDER_SSL" = "true" ]; then
-  LOGFEEDER_JAVA_OPTS="$LOGFEEDER_JAVA_OPTS 
-Djavax.net.ssl.keyStore=$LOGFEEDER_KEYSTORE_LOCATION 
-Djavax.net.ssl.keyStoreType=$LOGFEEDER_KEYSTORE_TYPE 
-Djavax.net.ssl.trustStore=$LOGFEEDER_TRUSTSTORE_LOCATION 
-Djavax.net.ssl.trustStoreType=$LOGFEEDER_TRUSTSTORE_TYPE"
-fi
-
-if [ $foreground -eq 0 ]; then
-  if [ -f ${PID_FILE} ]; then
-  PID=`cat ${PID_FILE}`
-    if kill -0 $PID 2>/dev/null; then
-      echo "logfeeder already running (${PID}) killing..."
-      kill $PID 2>/dev/null
-      sleep 5
-      if kill -0 $PID 2>/dev/null; then
-        echo "logfeeder still running. Will kill process forcefully in another 
10 seconds..."
-        sleep 10
-        kill -9 $PID 2>/dev/null
-        sleep 2
-      fi
-    fi
-
-    if kill -0 $PID 2>/dev/null; then
-      echo "ERROR: Even after all efforts to stop logfeeder, it is still 
running. pid=$PID. Please manually kill the service and try again."
-      exit 1
-    fi
-  fi
-
-  echo "Starting logfeeder. Output file=$LOGFILE pid_file=$PID_FILE"
-  #LOGFEEDER_CLI_CLASSPATH=set -x
-nohup $JAVA -cp 
"$LOGFEEDER_CLI_CLASSPATH:$LOGFEEDER_CONF_DIR:$script_dir/libs/*:$script_dir/classes"
 $LOGFEEDER_GC_OPTS $LOGFEEDER_JAVA_MEM $LOGFEEDER_JAVA_OPTS $JMX 
org.apache.ambari.logfeeder.LogFeeder --monitor $* > $LOGFILE 2>&1 &
-  echo $! > $PID_FILE
-else
-$JAVA -cp 
"$LOGFEEDER_CLI_CLASSPATH:$LOGFEEDER_CONF_DIR:$script_dir/libs/*:$script_dir/classes"
 $LOGFEEDER_JAVA_MEM $LOGFEEDER_JAVA_OPTS $JMX 
org.apache.ambari.logfeeder.LogFeeder --monitor $*
-fi
-

http://git-wip-us.apache.org/repos/asf/ambari/blob/562795c4/ambari-logsearch/ambari-logsearch-server/README.md
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-server/README.md 
b/ambari-logsearch/ambari-logsearch-server/README.md
index 26b1f73..7432344 100644
--- a/ambari-logsearch/ambari-logsearch-server/README.md
+++ b/ambari-logsearch/ambari-logsearch-server/README.md
@@ -33,7 +33,7 @@ Then you can start Log Search server from maven
 cd ambari/ambari-logsearch/ambari-logsearch-server
 ./run.sh
 # or
-mvn clean spring-boot:run
+mvn clean package -DskipTests spring-boot:run
 ```
 
 You can also start Log Search server from an IDE as well. One thing is 
important: the config set location that the server tries to upload to 
ZooKeeper. By default config sets are located at 
`${LOGSEARCH_SERVER_RELATIVE_LOCATION:}src/main/configsets` in 
`logsearch.properties`. Based or from where you run `LogSearch.java`, you need 
to set `LOGSEARCH_SERVER_RELATIVE_LOCATION` env variable properly. 

http://git-wip-us.apache.org/repos/asf/ambari/blob/562795c4/ambari-logsearch/ambari-logsearch-server/build.xml
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-server/build.xml 
b/ambari-logsearch/ambari-logsearch-server/build.xml
index 5c50485..c711fe1 100644
--- a/ambari-logsearch/ambari-logsearch-server/build.xml
+++ b/ambari-logsearch/ambari-logsearch-server/build.xml
@@ -19,9 +19,8 @@
   <property environment="env"/>
   <property name="debuglevel" value="source,lines,vars"/>
   <dirname property="builddir" file="build.xml"/>
-  <property name="target" value="1.7"/>
-  <property name="source" value="1.7"/>
-  <property file="build.properties"/>
+  <property name="target" value="1.8"/>
+  <property name="source" value="1.8"/>
 
   <target name="init">
   </target>
@@ -31,20 +30,34 @@
     <delete dir="target/package"/>
     <copy todir="target/package/libs" includeEmptyDirs="no">
       <fileset dir="target/libs"/>
+      <fileset file="target/ambari-logsearch-server*.jar"/>
     </copy>
     <copy todir="target/classes/static" includeEmptyDirs="no">
       <fileset dir="target/dist"/>
     </copy>
-    <copy todir="target/package/classes" includeEmptyDirs="no">
-      <fileset dir="target/classes"/>
+    <copy todir="target/package/webapp/static" includeEmptyDirs="no">
+      <fileset dir="target/classes/static"/>
     </copy>
-    <copy todir="target/package/solr_configsets" includeEmptyDirs="yes">
+    <copy todir="target/package/webapp/swagger" includeEmptyDirs="no">
+      <fileset dir="target/classes/swagger"/>
+    </copy>
+    <copy todir="target/package/conf" includeEmptyDirs="no">
+      <fileset file="src/main/scripts/logsearch-env.sh"/>
+      <fileset file="target/classes/log4j.xml"/>
+      <fileset file="target/classes/default.properties"/>
+      <fileset file="target/classes/logsearch.properties"/>
+      <fileset file="target/classes/info.properties"/>
+      <fileset file="target/classes/user_pass.json"/>
+      <fileset file="target/classes/HadoopServiceConfig.json"/>
+    </copy>
+    <copy todir="target/package/conf/solr_configsets" includeEmptyDirs="yes">
       <fileset dir="src/main/configsets"/>
     </copy>
-    <copy todir="target/package" includeEmptyDirs="no">
-      <fileset file="src/main/scripts/*"/>
+    <copy todir="target/package/bin" includeEmptyDirs="no">
+      <fileset file="src/main/scripts/logsearch.sh"/>
     </copy>
-    <chmod file="target/package/*.sh" perm="755"/>
+    <chmod file="target/package/bin/logsearch.sh" perm="755"/>
+    <chmod file="target/package/conf/logsearch-env.sh" perm="755"/>
     <tar compression="gzip" destfile="target/ambari-logsearch-portal.tar.gz">
       <tarfileset mode="755" dir="target/package">
         <include name="*.sh"/>
@@ -53,10 +66,5 @@
         <exclude name="*.sh"/>
       </tarfileset>
     </tar>
-
   </target>
-
-
-  <target description="Build all projects which reference this project. Useful 
to propagate changes."
-          name="build-refprojects"/>
 </project>

http://git-wip-us.apache.org/repos/asf/ambari/blob/562795c4/ambari-logsearch/ambari-logsearch-server/pom.xml
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-server/pom.xml 
b/ambari-logsearch/ambari-logsearch-server/pom.xml
index 5444b00..6a7debf 100755
--- a/ambari-logsearch/ambari-logsearch-server/pom.xml
+++ b/ambari-logsearch/ambari-logsearch-server/pom.xml
@@ -44,7 +44,6 @@
         <activeByDefault>true</activeByDefault>
       </activation>
       <build>
-        <finalName>LogSearch</finalName>
         <resources>
           <resource>
             <directory>src/main/resources</directory>
@@ -77,16 +76,6 @@
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-maven-plugin</artifactId>
             <version>${spring-boot.version}</version>
-            <configuration>
-              <classifier>exec</classifier>
-            </configuration>
-            <executions>
-              <execution>
-                <goals>
-                  <goal>repackage</goal>
-                </goals>
-              </execution>
-            </executions>
           </plugin>
           <plugin>
             <groupId>org.apache.maven.plugins</groupId>

http://git-wip-us.apache.org/repos/asf/ambari/blob/562795c4/ambari-logsearch/ambari-logsearch-server/run.sh
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-server/run.sh 
b/ambari-logsearch/ambari-logsearch-server/run.sh
index f245930..2de0536 100755
--- a/ambari-logsearch/ambari-logsearch-server/run.sh
+++ b/ambari-logsearch/ambari-logsearch-server/run.sh
@@ -17,4 +17,4 @@ echo "
 ███████╗╚██████╔╝╚██████╔╝ 
   ███████║███████╗██║  
██║██║  ██║╚██████╗██║  ██║
 ╚══════╝ ╚═════╝  ╚═════╝     
╚══════╝╚══════╝╚═╝  ╚═╝╚═╝  
╚═╝ ╚═════╝╚═╝  ╚═╝
 "
-mvn clean spring-boot:run
+mvn clean package -DskipTests spring-boot:run

http://git-wip-us.apache.org/repos/asf/ambari/blob/562795c4/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/LogSearch.java
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/LogSearch.java
 
b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/LogSearch.java
index 39343c7..45cda0a 100644
--- 
a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/LogSearch.java
+++ 
b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/LogSearch.java
@@ -36,7 +36,7 @@ public class LogSearch {
 
   public static void main(String[] args) {
 
-    String pidFile = System.getenv("PID_FILE") == null ? "logsearch.pid" : 
System.getenv("PID_FILE");
+    String pidFile = System.getenv("LOGSEARCH_PID_FILE") == null ? 
"logsearch.pid" : System.getenv("LOGSEARCH_PID_FILE");
     new SpringApplicationBuilder(LogSearch.class)
       .bannerMode(Banner.Mode.OFF)
       .listeners(new ApplicationPidFileWriter(pidFile))

http://git-wip-us.apache.org/repos/asf/ambari/blob/562795c4/ambari-logsearch/ambari-logsearch-server/src/main/scripts/logsearch-env.sh
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-server/src/main/scripts/logsearch-env.sh 
b/ambari-logsearch/ambari-logsearch-server/src/main/scripts/logsearch-env.sh
new file mode 100755
index 0000000..d8a837f
--- /dev/null
+++ b/ambari-logsearch/ambari-logsearch-server/src/main/scripts/logsearch-env.sh
@@ -0,0 +1,40 @@
+#!/bin/bash
+# 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.
+
+# Log Search extra options
+export LOGSEARCH_JAVA_OPTS=${LOGSEARCH_JAVA_OPTS:-""}
+
+# Log Search debug options
+# export LOGSEARCH_DEBUG=true
+# exoprt LOGSEARCH_DEBUG_SUSPEND=n
+export LOGSEARCH_DEBUG_PORT=5005
+
+# Log Search memory
+# export LOGSEARCH_JAVA_MEM="--Xmx1024m"
+
+# export LOG_PATH=/var/log/ambari-logsearch-logfeeder/
+# export LOG_FILE=logsearch.log
+
+# Pid file of the application
+# export LOGSEARCH_PID_DIR=/var/run/ambari-logsearch-logfeeder
+# export LOGSEARCH_PID_FILE=logfeeder.pid
+
+# SSL settings"
+# export LOGSEARCH_SSL="true"
+# export LOGSEARCH_KEYSTORE_LOCATION="/my/path/keystore.jks"
+# export LOGSEARCH_KEYSTORE_TYPE="jks"
+# export LOGSEARCH_TRUSTSTORE_LOCATION="/my/path/trutstore.jks"
+# export LOGSEARCH_TRUSTSTORE_TYPE="jks"
\ No newline at end of file

Reply via email to