diff --git a/infest b/infest index c6d509a50..dc5e54070 100755 --- a/infest +++ b/infest @@ -19,12 +19,9 @@ nix_find_sha1sum=86f8775bd4f0841edd4c816df861cebf509d58c3 # hostname= main() { - listservers=$(cac_listservers) + server=$(cac_getserver_by_servername "$cac_servername") - config=$(echo $listservers \ - | jq -r ".[]|select(.servername==\"$cac_servername\")") - - serverstatus=$(echo $config | jq -r .status) + serverstatus=$(echo $server | jq -r .status) case $serverstatus in 'Powered On') : ;; *) @@ -32,9 +29,9 @@ main() { exit 2 esac - template=$(echo $config | jq -r .template) + template=$(echo $server | jq -r .template) case $template in - 'CentOS-7-64bit') infest_centos7_64bit "$config";; + 'CentOS-7-64bit') infest_centos7_64bit "$server";; *) echo $0: bad template: $template >&2 exit 3 @@ -43,14 +40,14 @@ main() { infest_centos7_64bit() { - config=$1 - address=$(echo $config | jq -r .ip) - gateway=$(echo $config | jq -r .gateway) + server=$1 + address=$(echo $server | jq -r .ip) + gateway=$(echo $server | jq -r .gateway) nameserver=8.8.8.8 - netmask=$(echo $config | jq -r .netmask) + netmask=$(echo $server | jq -r .netmask) prefixLength=$(netmaskToPrefixLengh $netmask) RSYNC_RSH='sshpass -e ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' - SSHPASS=$(echo $config | jq -r .rootpass) + SSHPASS=$(echo $server | jq -r .rootpass) export SSHPASS export RSYNC_RSH diff --git a/lib/cac.sh b/lib/cac.sh index 482e4ddea..c78576ebf 100644 --- a/lib/cac.sh +++ b/lib/cac.sh @@ -1,5 +1,15 @@ . ./lib/url.sh + +cac_getserver_by_servername() {( + serverlist=$(cac_listservers) + echo $serverlist \ + | jq \ + --arg name "$1" \ + '.[]|select(.servername==$name)' +)} + + cac_listservers() {( listservers=$(_cac_get_api_v1 listservers) status=$(echo "$listservers" | jq -r .status) diff --git a/networking-configuration b/networking-configuration index 2cae39663..77b9a45be 100755 --- a/networking-configuration +++ b/networking-configuration @@ -19,22 +19,18 @@ hostname=$2 # hostname= -main() { - listservers=$(cac_listservers) - - config=$(echo $listservers \ - | jq -r ".[]|select(.servername==\"$cac_servername\")") - - print_networking_configuraton "$config" -} +main() {( + server=$(cac_getserver_by_servername "$cac_servername") + print_networking_configuraton "$server" +)} print_networking_configuraton() { - config=$1 - address=$(echo $config | jq -r .ip) - gateway=$(echo $config | jq -r .gateway) + server=$1 + address=$(echo $server | jq -r .ip) + gateway=$(echo $server | jq -r .gateway) nameserver=8.8.8.8 - netmask=$(echo $config | jq -r .netmask) + netmask=$(echo $server | jq -r .netmask) prefixLength=$(netmaskToPrefixLengh $netmask) # TODO generate all config and put it into a temp dir, then rsync that