]> gitweb.fluxo.info Git - hydra.git/commitdiff
Split code into functions at system-upgrade
authorSilvio Rhatto <rhatto@riseup.net>
Mon, 23 Dec 2013 16:09:19 +0000 (14:09 -0200)
committerSilvio Rhatto <rhatto@riseup.net>
Mon, 23 Dec 2013 16:09:19 +0000 (14:09 -0200)
share/hydractl/system-upgrade

index 79428137701048b6677d1fc966e936694ed47674..815217ed94bcb9746c90458cf5bc65f1f9f83de7 100755 (executable)
@@ -24,53 +24,61 @@ hydra_config_load
 BASENAME="`basename $0`"
 NEXTRELEASE="$1"
 
-# Available releases
-#release="`facter lsbdistcodename`" # this doesn't work on squeeze
-release="`facter 2> /dev/null | grep lsbdistcodename | sed -e 's/lsbdistcodename => //'`"
-nextrelease="`hydra_next_debian_release $release`"
-
-# Check release
-if [ "$?" != "0" ]; then
-  echo "Unsupported release"
-  exit 1
-fi
-
-# Check optional parameter
-if [ ! -z "$NEXTRELEASE" ]; then
-  if [ "$NEXTRELEASE" == "$release" ]; then
-    echo "System is already upgraded to $NEXTRELEASE"
+# Prepare the environment for a system upgrade
+function hydra_system_upgrade_prepare {
+  # Available releases
+  #release="`facter lsbdistcodename`" # this doesn't work on squeeze
+  release="`facter 2> /dev/null | grep lsbdistcodename | sed -e 's/lsbdistcodename => //'`"
+  nextrelease="`hydra_next_debian_release $release`"
+
+  # Check release
+  if [ "$?" != "0" ]; then
+    echo "Unsupported release"
     exit 1
   fi
 
-  if [ "$NEXTRELEASE" != "$nextrelease" ]; then
-    echo "Cannot upgrade: next release for this system is $nextrelease"
-    exit 1
+  # Check optional parameter
+  if [ ! -z "$NEXTRELEASE" ]; then
+    if [ "$NEXTRELEASE" == "$release" ]; then
+      echo "System is already upgraded to $NEXTRELEASE"
+      exit 1
+    fi
+
+    if [ "$NEXTRELEASE" != "$nextrelease" ]; then
+      echo "Cannot upgrade: next release for this system is $nextrelease"
+      exit 1
+    fi
   fi
-fi
 
-# Ensure puppet is stopped during the process
-echo "Disabling puppet during the upgrade..."
-service puppet stop
-sed -i -e 's/START=yes/START=no/' /etc/default/puppet
+  # Ensure puppet is stopped during the process
+  echo "Disabling puppet during the upgrade..."
+  hydractl puppet-disable
 
-# Configure apt for the next debian release
-echo ""
-echo "Updating apt configuration..."
-sed -i -e "s/$release/$nextrelease/g" /etc/apt/sources.list
-sed -i -e "s/$release/$nextrelease/g" /etc/apt/preferences
-sed -i -e 's|^deb http://backports.debian.org/debian-backports|#deb http://backports.debian.org/debian-backports|' /etc/apt/sources.list
+  # Configure apt for the next debian release
+  echo ""
+  echo "Updating apt configuration..."
+  sed -i -e "s/$release/$nextrelease/g" /etc/apt/sources.list
+  sed -i -e "s/$release/$nextrelease/g" /etc/apt/preferences
+  sed -i -e 's|^deb http://backports.debian.org/debian-backports|#deb http://backports.debian.org/debian-backports|' /etc/apt/sources.list
 
-# These will be generated by puppet and can be safely removed
-rm -f /etc/apt/sources.list.d/*
-rm -f /etc/apt/preferences.d/*
+  # These will be generated by puppet and can be safely removed
+  rm -f /etc/apt/sources.list.d/*
+  rm -f /etc/apt/preferences.d/*
+}
 
 # Update package listing and download new packages
-echo ""
-echo "Updating package listing..."
-apt-get update
-echo ""
-echo "Downloading packages..."
-apt-get dist-upgrade -d -y
+function hydra_system_upgrade_download {
+  echo ""
+  echo "Updating package listing..."
+  apt-get update
+  echo ""
+  echo "Downloading packages..."
+  apt-get dist-upgrade -d -y
+}
+
+# Prepare for the upgrade
+hydra_system_upgrade_prepare $*
+hydra_system_upgrade_download
 
 # Upgrade the system
 echo ""
@@ -102,5 +110,4 @@ fi
 # Enable puppet again
 echo ""
 echo "Starting puppet again..."
-sed -i -e 's/START=no/START=yes/' /etc/default/puppet
-service puppet start
+hydractl puppet-enable