You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by nc...@apache.org on 2016/02/03 20:14:21 UTC

[07/16] ambari git commit: AMBARI-14877. [Ambari tarballs] Refactor postinstall and postremove scripts to use install-helper.sh exclusively (aonishuk)

AMBARI-14877. [Ambari tarballs] Refactor postinstall and postremove scripts to use install-helper.sh exclusively (aonishuk)


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

Branch: refs/heads/branch-dev-patch-upgrade
Commit: f6a75a609caa1ce24c6cf9ab1f6303eb5bc9e923
Parents: 58b91c8
Author: Andrew Onishuk <ao...@hortonworks.com>
Authored: Wed Feb 3 11:52:49 2016 +0200
Committer: Andrew Onishuk <ao...@hortonworks.com>
Committed: Wed Feb 3 11:52:49 2016 +0200

----------------------------------------------------------------------
 ambari-agent/conf/unix/install-helper.sh        | 40 +++++++++++++++-
 .../src/main/package/deb/control/postinst       | 12 +----
 .../src/main/package/deb/control/posttrm        | 15 ------
 ambari-agent/src/main/package/deb/control/prerm |  8 ----
 .../src/main/package/rpm/postinstall.sh         | 19 +-------
 ambari-agent/src/main/package/rpm/preremove.sh  |  8 ----
 ambari-agent/src/packages/tarball/all.xml       |  4 +-
 ambari-server/conf/unix/install-helper.sh       | 48 ++++++++++++++++----
 ambari-server/src/main/assemblies/server.xml    |  2 +-
 .../src/main/package/deb/control/postinst       | 10 +---
 .../src/main/package/deb/control/posttrm        | 15 ------
 .../src/main/package/deb/control/prerm          | 18 +-------
 .../src/main/package/rpm/postinstall.sh         |  8 +---
 ambari-server/src/main/package/rpm/preremove.sh | 18 ++------
 14 files changed, 92 insertions(+), 133 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/f6a75a60/ambari-agent/conf/unix/install-helper.sh
----------------------------------------------------------------------
diff --git a/ambari-agent/conf/unix/install-helper.sh b/ambari-agent/conf/unix/install-helper.sh
index 185290c..91ae248 100644
--- a/ambari-agent/conf/unix/install-helper.sh
+++ b/ambari-agent/conf/unix/install-helper.sh
@@ -33,6 +33,11 @@ PYTHON_WRAPER_TARGET="/usr/bin/ambari-python-wrap"
 PYTHON_WRAPER_SOURCE="/var/lib/ambari-agent/ambari-python-wrap"
 
 do_install(){
+  if [ -d "/etc/ambari-agent/conf.save" ]; then
+    cp -f /etc/ambari-agent/conf.save/* /etc/ambari-agent/conf
+    mv /etc/ambari-agent/conf.save /etc/ambari-agent/conf_$(date '+%d_%m_%y_%H_%M').save
+  fi
+    
   # setting ambari_commons shared resource
   rm -rf "$OLD_COMMON_DIR"
   if [ ! -d "$COMMON_DIR" ]; then
@@ -61,10 +66,34 @@ do_install(){
   
   chmod 777 /var/lib/ambari-agent/tmp
   chmod 700 /var/lib/ambari-agent/data
+
+  which chkconfig > /dev/null 2>&1
+  if [ "$?" -eq 0 ] ; then
+    chkconfig --add ambari-agent
+  fi
+  which update-rc.d > /dev/null 2>&1
+  if [ "$?" -eq 0 ] ; then
+    update-rc.d ambari-agent defaults
+  fi
+
+  BAK=/etc/ambari-agent/conf/ambari-agent.ini.old
+  ORIG=/etc/ambari-agent/conf/ambari-agent.ini
+
+  if [ -f $BAK ]; then
+    if [ -f "/var/lib/ambari-agent/upgrade_agent_configs.py" ]; then
+      /var/lib/ambari-agent/upgrade_agent_configs.py
+    fi
+    mv $BAK ${BAK}_$(date '+%d_%m_%y_%H_%M').save
+  fi
 }
 
 do_remove(){
-
+  /usr/sbin/ambari-agent stop > /dev/null 2>&1
+  if [ -d "/etc/ambari-agent/conf.save" ]; then
+    mv /etc/ambari-agent/conf.save /etc/ambari-agent/conf_$(date '+%d_%m_%y_%H_%M').save
+  fi
+  mv /etc/ambari-agent/conf /etc/ambari-agent/conf.save
+    
   if [ -f "$PYTHON_WRAPER_TARGET" ]; then
     rm -f "$PYTHON_WRAPER_TARGET"
   fi
@@ -93,6 +122,15 @@ do_remove(){
   if [ -f "$INSTALL_HELPER_SERVER" ]; then  #  call server shared files installer
     $INSTALL_HELPER_SERVER install
   fi
+
+  which chkconfig > /dev/null 2>&1
+  if [ "$?" -eq 0 ] ; then
+    chkconfig --list | grep ambari-server && chkconfig --del ambari-agent
+  fi
+  which update-rc.d > /dev/null 2>&1
+  if [ "$?" -eq 0 ] ; then
+    update-rc.d -f ambari-agent remove
+  fi
 }
 
 do_upgrade(){

http://git-wip-us.apache.org/repos/asf/ambari/blob/f6a75a60/ambari-agent/src/main/package/deb/control/postinst
----------------------------------------------------------------------
diff --git a/ambari-agent/src/main/package/deb/control/postinst b/ambari-agent/src/main/package/deb/control/postinst
index ceca9be..48cb07c 100644
--- a/ambari-agent/src/main/package/deb/control/postinst
+++ b/ambari-agent/src/main/package/deb/control/postinst
@@ -14,20 +14,12 @@
 # See the License for the specific language governing permissions and
 # limitations under the License
 
+# Warning: don't add changes to this script directly, please add changes to install-helper.sh.
+
 if [ "$1" == "configure" ]; then  # Action is install
   if [ -f "/var/lib/ambari-agent/install-helper.sh" ]; then
     /var/lib/ambari-agent/install-helper.sh install
   fi
-  update-rc.d ambari-agent defaults
 fi
 
-BAK=/etc/ambari-agent/conf/ambari-agent.ini.old
-ORIG=/etc/ambari-agent/conf/ambari-agent.ini
-
-if [ -f $BAK ];then
-  if [ -f "/var/lib/ambari-agent/upgrade_agent_configs.py" ]; then
-    /var/lib/ambari-agent/upgrade_agent_configs.py
-  fi
-  mv $BAK ${BAK}_$(date '+%d_%m_%y_%H_%M').save
-fi
 exit 0

http://git-wip-us.apache.org/repos/asf/ambari/blob/f6a75a60/ambari-agent/src/main/package/deb/control/posttrm
----------------------------------------------------------------------
diff --git a/ambari-agent/src/main/package/deb/control/posttrm b/ambari-agent/src/main/package/deb/control/posttrm
deleted file mode 100644
index 21a01fa..0000000
--- a/ambari-agent/src/main/package/deb/control/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/f6a75a60/ambari-agent/src/main/package/deb/control/prerm
----------------------------------------------------------------------
diff --git a/ambari-agent/src/main/package/deb/control/prerm b/ambari-agent/src/main/package/deb/control/prerm
index 70a9c63..8da949c 100644
--- a/ambari-agent/src/main/package/deb/control/prerm
+++ b/ambari-agent/src/main/package/deb/control/prerm
@@ -19,17 +19,9 @@
 # for details
 
 if [ "$1" == "remove" ]; then # Action is uninstall
-    /usr/sbin/ambari-agent stop > /dev/null 2>&1
-    if [ -d "/etc/ambari-agent/conf.save" ];  then
-        mv /etc/ambari-agent/conf.save /etc/ambari-agent/conf_$(date '+%d_%m_%y_%H_%M').save
-    fi
-    mv /etc/ambari-agent/conf /etc/ambari-agent/conf.save
-
     if [ -f "/var/lib/ambari-agent/install-helper.sh" ]; then
       /var/lib/ambari-agent/install-helper.sh remove
     fi
-
-    update-rc.d -f ambari-agent remove
 fi
 
 exit 0

http://git-wip-us.apache.org/repos/asf/ambari/blob/f6a75a60/ambari-agent/src/main/package/rpm/postinstall.sh
----------------------------------------------------------------------
diff --git a/ambari-agent/src/main/package/rpm/postinstall.sh b/ambari-agent/src/main/package/rpm/postinstall.sh
index 56c6573..17e6e0e 100644
--- a/ambari-agent/src/main/package/rpm/postinstall.sh
+++ b/ambari-agent/src/main/package/rpm/postinstall.sh
@@ -13,36 +13,19 @@
 # See the License for the specific language governing permissions and
 # limitations under the License
 
+# Warning: don't add changes to this script directly, please add changes to install-helper.sh.
 
 case "$1" in
   1) # Action install
     if [ -f "/var/lib/ambari-agent/install-helper.sh" ]; then
         /var/lib/ambari-agent/install-helper.sh install
     fi
-  chkconfig --add ambari-agent
   ;;
   2) # Action upgrade
-    if [ -d "/etc/ambari-agent/conf.save" ]; then
-        cp -f /etc/ambari-agent/conf.save/* /etc/ambari-agent/conf
-        mv /etc/ambari-agent/conf.save /etc/ambari-agent/conf_$(date '+%d_%m_%y_%H_%M').save
-    fi
-
     if [ -f "/var/lib/ambari-agent/install-helper.sh" ]; then
         /var/lib/ambari-agent/install-helper.sh upgrade
     fi
   ;;
 esac
 
-
-BAK=/etc/ambari-agent/conf/ambari-agent.ini.old
-ORIG=/etc/ambari-agent/conf/ambari-agent.ini
-
-if [ -f $BAK ]; then
-  if [ -f "/var/lib/ambari-agent/upgrade_agent_configs.py" ]; then
-    /var/lib/ambari-agent/upgrade_agent_configs.py
-  fi
-  mv $BAK ${BAK}_$(date '+%d_%m_%y_%H_%M').save
-fi
-
-
 exit 0

http://git-wip-us.apache.org/repos/asf/ambari/blob/f6a75a60/ambari-agent/src/main/package/rpm/preremove.sh
----------------------------------------------------------------------
diff --git a/ambari-agent/src/main/package/rpm/preremove.sh b/ambari-agent/src/main/package/rpm/preremove.sh
index 2078acd..e266114 100644
--- a/ambari-agent/src/main/package/rpm/preremove.sh
+++ b/ambari-agent/src/main/package/rpm/preremove.sh
@@ -19,17 +19,9 @@
 
 
 if [ "$1" -eq 0 ]; then  # Action is uninstall
-    /usr/sbin/ambari-agent stop > /dev/null 2>&1
-    if [ -d "/etc/ambari-agent/conf.save" ]; then
-        mv /etc/ambari-agent/conf.save /etc/ambari-agent/conf_$(date '+%d_%m_%y_%H_%M').save
-    fi
-    mv /etc/ambari-agent/conf /etc/ambari-agent/conf.save
-
     if [ -f "/var/lib/ambari-agent/install-helper.sh" ]; then
       /var/lib/ambari-agent/install-helper.sh remove
     fi
-
-    chkconfig --list | grep ambari-server && chkconfig --del ambari-server
 fi
 
 exit 0

http://git-wip-us.apache.org/repos/asf/ambari/blob/f6a75a60/ambari-agent/src/packages/tarball/all.xml
----------------------------------------------------------------------
diff --git a/ambari-agent/src/packages/tarball/all.xml b/ambari-agent/src/packages/tarball/all.xml
index d4ed2ff..d9732cc 100644
--- a/ambari-agent/src/packages/tarball/all.xml
+++ b/ambari-agent/src/packages/tarball/all.xml
@@ -161,7 +161,7 @@
     </file>
     <file>
       <fileMode>755</fileMode>
-      <source>conf/unix/ambari-agent</source>
+      <source>${basedir}/target/src/ambari-agent</source>
       <outputDirectory>/usr/sbin</outputDirectory>
     </file>
     <file>
@@ -187,7 +187,7 @@
     <file>
       <fileMode>755</fileMode>
       <source>etc/init.d/ambari-agent</source>
-      <outputDirectory>/etc/init.d/ambari-agent</outputDirectory>
+      <outputDirectory>/etc/init.d</outputDirectory>
     </file>
     <file>
       <fileMode>644</fileMode>

http://git-wip-us.apache.org/repos/asf/ambari/blob/f6a75a60/ambari-server/conf/unix/install-helper.sh
----------------------------------------------------------------------
diff --git a/ambari-server/conf/unix/install-helper.sh b/ambari-server/conf/unix/install-helper.sh
index 2635694..c7d05b4 100644
--- a/ambari-server/conf/unix/install-helper.sh
+++ b/ambari-server/conf/unix/install-helper.sh
@@ -33,6 +33,9 @@ PYTHON_WRAPER_TARGET="/usr/bin/ambari-python-wrap"
 PYTHON_WRAPER_SOURCE="/var/lib/ambari-server/ambari-python-wrap"
 
 do_install(){
+  rm -f /usr/sbin/ambari-server
+  ln -s /etc/init.d/ambari-server /usr/sbin/ambari-server
+ 
   # setting ambari_commons shared resource
   rm -rf "$OLD_COMMON_DIR"
   if [ ! -d "$COMMON_DIR" ]; then
@@ -54,10 +57,27 @@ do_install(){
   if [ ! -f "$PYTHON_WRAPER_TARGET" ]; then
     ln -s "$PYTHON_WRAPER_SOURCE" "$PYTHON_WRAPER_TARGET"
   fi
+
+  which chkconfig > /dev/null 2>&1
+  if [ "$?" -eq 0 ] ; then
+    chkconfig --add ambari-server
+  fi
+  which update-rc.d > /dev/null 2>&1
+  if [ "$?" -eq 0 ] ; then
+    update-rc.d ambari-server defaults
+  fi
 }
 
 do_remove(){
+  /usr/sbin/ambari-server stop > /dev/null 2>&1
+  if [ -d "/etc/ambari-server/conf.save" ]; then
+      mv /etc/ambari-server/conf.save /etc/ambari-server/conf_$(date '+%d_%m_%y_%H_%M').save
+  fi
+  # Remove link created during install
+  rm -f /usr/sbin/ambari-server
 
+  mv /etc/ambari-server/conf /etc/ambari-server/conf.save
+    
   if [ -f "$PYTHON_WRAPER_TARGET" ]; then
     rm -f "$PYTHON_WRAPER_TARGET"
   fi
@@ -90,20 +110,30 @@ do_remove(){
   if [ -f "$INSTALL_HELPER_AGENT" ]; then  #  call agent shared files installer
     $INSTALL_HELPER_AGENT install
   fi
+
+  which chkconfig > /dev/null 2>&1
+  if [ "$?" -eq 0 ] ; then
+    chkconfig --list | grep ambari-server && chkconfig --del ambari-server
+  fi
+  which update-rc.d > /dev/null 2>&1
+  if [ "$?" -eq 0 ] ; then
+    update-rc.d -f ambari-server remove
+  fi
 }
 
 do_upgrade(){
+  # this function only gets called for rpm. Deb packages always call do_install directly.
   do_install
 }
 
 case "$1" in
-install)
-  do_install
-  ;;
-remove)
-  do_remove
-  ;;
-upgrade)
-  do_upgrade
-  ;;
+	install)
+	  do_install
+	  ;;
+	remove)
+	  do_remove
+	  ;;
+	upgrade)
+	  do_upgrade
+	  ;;
 esac

http://git-wip-us.apache.org/repos/asf/ambari/blob/f6a75a60/ambari-server/src/main/assemblies/server.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/assemblies/server.xml b/ambari-server/src/main/assemblies/server.xml
index c24bce6..17d6bdb 100644
--- a/ambari-server/src/main/assemblies/server.xml
+++ b/ambari-server/src/main/assemblies/server.xml
@@ -200,7 +200,7 @@
     </file>
     <file>
       <fileMode>755</fileMode>
-      <source>sbin/ambari-server</source>
+      <source>${basedir}/target/ambari-server</source>
       <outputDirectory>/etc/init.d</outputDirectory>
     </file>
     <file>

http://git-wip-us.apache.org/repos/asf/ambari/blob/f6a75a60/ambari-server/src/main/package/deb/control/postinst
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/package/deb/control/postinst b/ambari-server/src/main/package/deb/control/postinst
index c3b6235..e8d12c3 100644
--- a/ambari-server/src/main/package/deb/control/postinst
+++ b/ambari-server/src/main/package/deb/control/postinst
@@ -14,18 +14,12 @@
 # See the License for the specific language governing permissions and
 # limitations under the License
 
-if [ -e "/usr/sbin/ambari-server" ]; then # Check is needed for upgrade
-    # Remove link created by previous package version
-    rm -f /usr/sbin/ambari-server
-fi
-
-ln -s /etc/init.d/ambari-server /usr/sbin/ambari-server
+# Warning: don't add changes to this script directly, please add changes to install-helper.sh.
 
-if [ "$1" == "configure" ]; then  # Action is install
+if [ "$1" == "configure" ] ; then
   if [ -f "/var/lib/ambari-server/install-helper.sh" ]; then
       /var/lib/ambari-server/install-helper.sh install
   fi
-  update-rc.d ambari-server defaults
 fi
 
 exit 0

http://git-wip-us.apache.org/repos/asf/ambari/blob/f6a75a60/ambari-server/src/main/package/deb/control/posttrm
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/package/deb/control/posttrm b/ambari-server/src/main/package/deb/control/posttrm
deleted file mode 100644
index 21a01fa..0000000
--- a/ambari-server/src/main/package/deb/control/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/f6a75a60/ambari-server/src/main/package/deb/control/prerm
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/package/deb/control/prerm b/ambari-server/src/main/package/deb/control/prerm
index 927ba4c..98e3be5 100644
--- a/ambari-server/src/main/package/deb/control/prerm
+++ b/ambari-server/src/main/package/deb/control/prerm
@@ -14,26 +14,12 @@
 # See the License for the specific language governing permissions and
 # limitations under the License
 
+# Warning: don't add changes to this script directly, please add changes to install-helper.sh.
 
-
-if [ "$1" == "remove" ]; then # Action is uninstall
-    /usr/sbin/ambari-server stop > /dev/null 2>&1
-    if [ -d "/etc/ambari-server/conf.save" ]; then
-        mv /etc/ambari-server/conf.save /etc/ambari-server/conf_$(date '+%d_%m_%y_%H_%M').save
-    fi
-
-    if [ -e "/usr/sbin/ambari-server" ]; then
-        # Remove link created during install
-        rm /usr/sbin/ambari-server
-    fi
-
-    mv /etc/ambari-server/conf /etc/ambari-server/conf.save
-
+if [ "$1" == "remove" ] ; then # Action is uninstall
     if [ -f "/var/lib/ambari-server/install-helper.sh" ]; then
       /var/lib/ambari-server/install-helper.sh remove
     fi
-
-    update-rc.d -f ambari-server remove
 fi
 
 exit 0

http://git-wip-us.apache.org/repos/asf/ambari/blob/f6a75a60/ambari-server/src/main/package/rpm/postinstall.sh
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/package/rpm/postinstall.sh b/ambari-server/src/main/package/rpm/postinstall.sh
index 9b0b54a..5ca1d17 100644
--- a/ambari-server/src/main/package/rpm/postinstall.sh
+++ b/ambari-server/src/main/package/rpm/postinstall.sh
@@ -13,19 +13,13 @@
 # See the License for the specific language governing permissions and
 # limitations under the License
 
-if [ -e "/usr/sbin/ambari-server" ]; then # Check is needed for upgrade
-    # Remove link created by previous package version
-    rm -f /usr/sbin/ambari-server
-fi
-
-ln -s /etc/init.d/ambari-server /usr/sbin/ambari-server
+# Warning: don't add changes to this script directly, please add changes to install-helper.sh.
 
 case "$1" in
   1) # Action install
     if [ -f "/var/lib/ambari-server/install-helper.sh" ]; then
         /var/lib/ambari-server/install-helper.sh install
     fi
-    chkconfig --add ambari-server
   ;;
   2) # Action upgrade
     if [ -f "/var/lib/ambari-server/install-helper.sh" ]; then

http://git-wip-us.apache.org/repos/asf/ambari/blob/f6a75a60/ambari-server/src/main/package/rpm/preremove.sh
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/package/rpm/preremove.sh b/ambari-server/src/main/package/rpm/preremove.sh
index 6febaa8..445e9ad 100644
--- a/ambari-server/src/main/package/rpm/preremove.sh
+++ b/ambari-server/src/main/package/rpm/preremove.sh
@@ -17,24 +17,12 @@
 # during package update. See http://www.ibm.com/developerworks/library/l-rpm2/
 # for details
 
-if [ "$1" -eq 0 ]; then  # Action is uninstall
-    /usr/sbin/ambari-server stop > /dev/null 2>&1
-    if [ -d "/etc/ambari-server/conf.save" ]; then
-        mv /etc/ambari-server/conf.save /etc/ambari-server/conf_$(date '+%d_%m_%y_%H_%M').save
-    fi
-
-    if [ -e "/usr/sbin/ambari-server" ]; then
-        # Remove link created during install
-        rm /usr/sbin/ambari-server
-    fi
-
-    mv /etc/ambari-server/conf /etc/ambari-server/conf.save
+# Warning: don't add changes to this script directly, please add changes to install-helper.sh.
 
+if [ "$1" -eq 0 ]; then  # Action is uninstall
     if [ -f "/var/lib/ambari-server/install-helper.sh" ]; then
       /var/lib/ambari-server/install-helper.sh remove
     fi
-
-    chkconfig --list | grep ambari-server && chkconfig --del ambari-server
 fi
 
-exit 0
+exit 0
\ No newline at end of file