]> gitweb.fluxo.info Git - hydra.git/commitdiff
Update hydra_hiera_query to version 5
authorSilvio Rhatto <rhatto@riseup.net>
Thu, 18 Jun 2020 18:19:32 +0000 (15:19 -0300)
committerSilvio Rhatto <rhatto@riseup.net>
Thu, 18 Jun 2020 18:19:32 +0000 (15:19 -0300)
lib/hydra/misc
share/hydra/compile

index 03dfd6b59d0f68aa57587defde796d622097c132..75edf19e360df6bd9332de7ad139e4b33eb01284 100644 (file)
@@ -167,29 +167,63 @@ function hydra_hiera_query {
   local param="$2"
 
   # Build basic query command
+  # Hiera 3 version
   # There might be weird hiera errors, so that's why we're doing a "2> /dev/null" redirection
-  hiera="hiera --config $HYDRA_FOLDER/puppet/hiera.yaml"
-  hiera_params="settings::confdir=$HYDRA_FOLDER/puppet ::clientcert=$node"
-  role="`$hiera nodo::role $hiera_params 2> /dev/null`"
-  location="`$hiera nodo::location $hiera_params 2> /dev/null`"
+  #lookup="hiera --config $HYDRA_FOLDER/puppet/hiera.yaml"
+  #lookup_params="settings::confdir=$HYDRA_FOLDER/puppet ::clientcert=$node"
+
+  # Build basic query command
+  # Hiera 5 version
+  lookup="puppet lookup --confdir $HYDRA_FOLDER/puppet/ --node $node nodo --render-as s"
+
+  # Hiera 3
+  #role="`$lookup $nodo::role $lookup_params 2> /dev/null`"
+  #location="`$lookup nodo::location $lookup_params 2> /dev/null`"
+
+  # Hiera 5
+  role="`$lookup $nodo::role 2> /dev/null`"
+  location="`$lookup nodo::location 2> /dev/null`"
+
+  #role="$(grep "^nodo::role: " $FACTS/${node}.yaml | cut -d ':' -f 2 | sed -e 's/ //g' -e 's/"//g')"
+  #location="$(grep "^nodo::location: " $FACTS/${node}.yaml   | cut -d ':' -f 2 | sed -e 's/ //g' -e 's/"//g')"
   virtual="$(grep "^virtual: " $FACTS/${node}.yaml | cut -d ':' -f 2 | sed -e 's/ //g' -e 's/"//g')"
   domain="$(grep "^domain: " $FACTS/${node}.yaml   | cut -d ':' -f 2 | sed -e 's/ //g' -e 's/"//g')"
 
   if [ ! -z "$virtual" ]; then
-    hiera_params="$hiera_params ::virtual=$virtual"
+    # Hiera 3
+    #lookup_params="$lookup_params ::virtual=$virtual"
+
+    # Hiera 5
+    export FACTER_virtual="$virtual"
   fi
 
   if [ ! -z "$role" ]; then
-    hiera_params="$hiera_params ::nodo::role=$role"
+    # Hiera 3
+    #lookup_params="$lookup_params ::nodo::role=$role"
+
+    # Hiera 5
+    export FACTER_role="$role"
   fi
 
   if [ ! -z "$location" ]; then
-    hiera_params="$hiera_params ::nodo::location=$location"
+    # Hiera 3
+    #lookup_params="$lookup_params ::nodo::location=$location"
+
+    # Hiera 5
+    export FACTER_location="$location"
   fi
 
   if [ ! -z "$domain" ]; then
-    hiera_params="$hiera_params ::domain=$domain"
+    # Hiera 3
+    #lookup_params="$lookup_params ::domain=$domain"
+
+    # Hiera 5
+    export FACTER_domain="$domain"
   fi
 
-  $hiera $param $hiera_params 2> /dev/null
+  # Hiera 3
+  #$lookup $param $lookup_params 2> /dev/null
+
+  # Hiera 5
+  $lookup $param 2> /dev/null
 }
index 14dd68ccf6c24347c55cbbb2c4322ab3874f8795..8734f816f48c41449afb7294b3262ba64d4cad19 100755 (executable)
@@ -73,13 +73,16 @@ echo "sshkeys:" >> $CONFIG
 
 for node in $NODES; do
   if [ -e "$FACTS/${node}.yaml" ]; then
+    echo "Processing $node..."
+
+    # Get key info
     rsakey="`hydractl_get_yaml_ssh_key $FACTS/${node}.yaml rsa`"
     sshed25519key="`hydractl_get_yaml_ssh_key $FACTS/${node}.yaml ed25519`"
     sshecdsakey="`hydractl_get_yaml_ssh_key $FACTS/${node}.yaml ecdsa`"
 
+    # SSH ports
     host_aliases=""
     ssh_ports="`hydra_hiera_query $node sshd::ports`"
-    echo $ssh_ports
 
     if [ "$ssh_ports" != "nil" ] && [ ! -z "$ssh_ports" ]; then
       ssh_ports="`echo $ssh_ports | sed -e 's/\[//g' -e 's/\]//g' -e 's/,//g'`"