lib/cac.sh: add cac_getserver_by_servername

This commit is contained in:
tv 2015-05-20 21:58:59 +02:00
parent a2970fcae7
commit 3cc354008a
3 changed files with 27 additions and 24 deletions

21
infest
View File

@ -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

View File

@ -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)

View File

@ -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