From 17dee411a4e39dc17ae578cd20390c262874d150 Mon Sep 17 00:00:00 2001 From: Silvio Rhatto Date: Sat, 5 Mar 2016 22:58:54 -0300 Subject: Get node list via hiera files --- TODO.md | 1 - share/hydra/nodes | 13 +++++++++++-- 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 -- cgit v1.2.3