]> gitweb.fluxo.info Git - hydra.git/commitdiff
Newnode: role support
authorSilvio Rhatto <rhatto@riseup.net>
Sun, 2 Oct 2016 18:42:56 +0000 (15:42 -0300)
committerSilvio Rhatto <rhatto@riseup.net>
Sun, 2 Oct 2016 18:42:56 +0000 (15:42 -0300)
share/hydra/newnode

index cfd521c4167d4b9c35738520a206d6e348327eba..dabc27c045e2363149954cb8d7c904fa3657e7ca 100755 (executable)
@@ -23,7 +23,7 @@ hydra_config_load
 # Parameters
 BASENAME="`basename $0`"
 NODE="$1"
-CLASS="$2"
+ROLE="$2"
 DOMAIN="`cat $HYDRA_FOLDER/config/domain 2> /dev/null`"
 
 # Check if node was given by fqdn or just hostname
@@ -33,7 +33,7 @@ fi
 
 # Check configuration and parameters
 if [ -z "$NODE" ]; then
-  echo "usage: hydra $BASENAME <node> [class]"
+  echo "usage: hydra $BASENAME <node> [role]"
   exit 1
 elif [ ! -e "$HYDRA_FOLDER/config/domain" ]; then
   echo "fatal: please configure your domain at $HYDRA_FOLDER/config/domain"
@@ -44,9 +44,9 @@ elif [ -e "$HYDRA_FOLDER/puppet/config/node/$NODE.yaml" ]; then
 fi
 
 # Provision config
-if [ ! -z "$CLASS" ]; then
-  if [ -e "$APP_BASE/share/config/provision/$CLASS.conf" ]; then
-    cp $APP_BASE/share/config/provision/$CLASS.conf $HYDRA_FOLDER/config/provision/$NODE.conf
+if [ ! -z "$ROLE" ]; then
+  if [ -e "$APP_BASE/share/config/provision/$ROLE.conf" ]; then
+    cp $APP_BASE/share/config/provision/$ROLE.conf $HYDRA_FOLDER/config/provision/$NODE.conf
   fi
 fi
 
@@ -61,6 +61,11 @@ fi
 mkdir -p $HYDRA_FOLDER/puppet/config/node
 cp $YAML $HYDRA_FOLDER/puppet/config/node/$NODE.yaml
 
+# Fix role configuration
+if [ ! -z "$ROLE" ]; then
+  sed -i -e "s/nodo::role: 'virtual'/nodo::role: '$ROLE'" $HYDRA_FOLDER/puppet/config/node/$NODE.yaml
+fi
+
 # Set secret YAML template
 if [ -e "$HYDRA_FOLDER/config/puppet/secrets/nodo.example.org.yaml" ]; then
   YAML="$HYDRA_FOLDER/config/puppet/secrets/nodo.example.org.yaml"