]> gitweb.fluxo.info Git - hydra.git/commitdiff
Deploy: support for default node definition
authorSilvio Rhatto <rhatto@riseup.net>
Mon, 26 Oct 2015 21:00:41 +0000 (19:00 -0200)
committerSilvio Rhatto <rhatto@riseup.net>
Mon, 26 Oct 2015 21:00:41 +0000 (19:00 -0200)
lib/hydra/deploy

index 05705f650ac3bd75cb64284bd58e6b0ba667e994..b97897d713dc4ea8d8e5bfbb773ab1e042f456c1 100644 (file)
@@ -19,7 +19,7 @@ function hydra_deploy_setup {
       FQDN="`$DEPLOY_COMMAND cat /etc/hostname`"
       DEPLOY_DEST="$FQDN:"
       COPY_PATH="$RSYNC_PATH"
-      PUPPET_MANIFEST="/etc/puppet/manifests/nodes/$FQDN.pp"
+      hydra_deploy_set_manifest
     else
       echo "No folder specified."
       exit 1
@@ -31,7 +31,7 @@ function hydra_deploy_setup {
       DEPLOY_COMMAND="$SUDO chroot $FOLDER"
       DEPLOY_OPTS="$HYDRA_FOLDER/puppet/ $FOLDER/etc/puppet/"
       DEPLOY_DEST="$FOLDER"
-      PUPPET_MANIFEST="/etc/puppet/manifests/nodes/$FQDN.pp"
+      hydra_deploy_set_manifest
 
       if [ ! -d "$FOLDER"]; then
         echo "folder not found: $FOLDER"
@@ -52,7 +52,7 @@ function hydra_deploy_setup {
     DEPLOY_COMMAND="$SUDO"
     FQDN="`cat /etc/hostname`"
     PUPPET_OPTS="--confdir=$HYDRA_FOLDER/puppet --modulepath=$HYDRA_FOLDER/puppet/modules"
-    PUPPET_MANIFEST="$HYDRA_FOLDER/puppet/manifests/nodes/$FQDN.pp"
+    hydra_deploy_set_manifest $HYDRA_FOLDER
   fi
 
   # Common parameters
@@ -77,6 +77,24 @@ function hydra_deploy_setup {
   fi
 }
 
+# Manifest
+function hydra_deploy_set_manifest {
+  local prefix="$1"
+
+  if [ -z "$prefix" ]; then
+    prefix="/etc"
+  fi
+
+  if [ -e "$HYDRA_FOLDER/puppet/manifests/nodes/$FQDN.pp" ]; then
+    PUPPET_MANIFEST="$prefix/puppet/manifests/nodes/$FQDN.pp"
+  elif [ -e "$HYDRA_FOLDER/puppet/manifests/nodes/default.pp" ]; then
+    PUPPET_MANIFEST="$prefix/puppet/manifests/nodes/default.pp"
+  else
+    echo "no manifest found for $FQDN"
+    exit
+  fi
+}
+
 # Return a simple parameter from an YAML file
 function hydra_yaml_param {
   local param="$1"