diff options
author | tv <tv@krebsco.de> | 2015-05-20 21:58:59 +0200 |
---|---|---|
committer | tv <tv@krebsco.de> | 2015-05-20 21:58:59 +0200 |
commit | e554c6a96718235a50d979daf2be1a8f41f3a2b5 (patch) | |
tree | 5a2ae5f940941d76320c3dd6e43417103c940be1 | |
parent | fc870549e7bb85d1482877784853d31e39a6fe09 (diff) |
lib/cac.sh: add cac_getserver_by_servername
-rwxr-xr-x | infest | 21 | ||||
-rw-r--r-- | lib/cac.sh | 10 | ||||
-rwxr-xr-x | networking-configuration | 20 |
3 files changed, 27 insertions, 24 deletions
@@ -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 @@ -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 2cae396..77b9a45 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 |