aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--TODO.md1
-rwxr-xr-xshare/hydra/nodes13
2 files changed, 11 insertions, 3 deletions
diff --git a/TODO.md b/TODO.md
index b731ad7..c148595 100644
--- a/TODO.md
+++ b/TODO.md
@@ -7,7 +7,6 @@ Hydra
- install: move to /usr/local/share/hydra.
- bootless: properly support `$subdevice` in parted or always use first partition (like `/dev/sdb1`).
- init: add new repositories as superproject's submodules.
-- nodes: get node list via hiera files.
- newnode: do not generate manifest file, only hiera.
- deploy:
- fix /etc/puppet permissions.
diff --git a/share/hydra/nodes b/share/hydra/nodes
index b070680..4ddf916 100755
--- a/share/hydra/nodes
+++ b/share/hydra/nodes
@@ -18,13 +18,22 @@
# Get a list of puppet node files
function hydra_node_files {
- if [ -d "$PUPPET/manifests/nodes/" ]; then
+ if [ -d "$PUPPET/hiera/node/" ]; then
+ FILES="$PUPPET/hiera/node/*"
+ elif [ -d "$PUPPET/manifests/nodes/" ]; then
FILES="$PUPPET/manifests/nodes/*"
else
FILES="`find $PUPPET -name 'nodes.pp'`"
fi
}
+# Get using the filename
+function hydra_node_names {
+ for file in $FILES; do
+ basename $file .yaml
+ done
+}
+
# Get all lines matching a node definition
function hydra_node_lines {
# See http://www.mail-archive.com/puppet-users@googlegroups.com/msg01615.html
@@ -33,7 +42,7 @@ function hydra_node_lines {
# Default node retrieval method
function hydra_nodes {
- hydra_node_lines | cut -d "'" -f2
+ hydra_node_names
}
# Load