diff options
-rwxr-xr-x | leap-platform-test | 41 |
1 files changed, 27 insertions, 14 deletions
diff --git a/leap-platform-test b/leap-platform-test index dd5c909..11bb799 100755 --- a/leap-platform-test +++ b/leap-platform-test @@ -30,20 +30,21 @@ EOF add_nodes() { for i in $@ do - case $i in + node=${i%:*} + services=${i#*:} + + case $services in openvpn) - config='openvpn.gateway_address:10.5.5.99' + # leap node add : multiple json variable aren't merged right (Feature #2499) + # config='openvpn.gateway_address:10.5.5.98 openvpn.second_gateway_address:10.5.5.99' + config='openvpn.gateway_address:10.5.5.98' ;; *) config='' ;; esac - # for now, we assume that the nodes are named after their service - # and we just cut off the number at the end - services=`echo $i | sed 's/[[:digit:]]//g'` - - leap node add --local $i $config services:$services + leap node add --local $node $config services:$services done } @@ -52,7 +53,7 @@ bootstrap_nodes() { for vm in $@ do leap $OPTS local start $vm - wait_for_node $i + wait_for_node $vm leap $OPTS node init $vm # set hostname + do dist-upgrade leap $OPTS deploy $vm --tags site_apt::dist_upgrade,site_config::hosts @@ -85,8 +86,10 @@ create_provider() { # for now, we use the vagrant pubkey until https://leap.se/code/issues/2039 is solved leap $OPTS add-user --self --ssh-pub-key=/usr/lib/ruby/gems/1.9.1/gems/leap_cli-0.2.1/vendor/vagrant_ssh_keys/vagrant.pub leap $OPTS cert ca && leap cert csr - leap $OPTS cert dh + # for developing, we just copy a test dp.pem file + # leap $OPTS cert dh + cp $ROOTDIR/dh.pem.test $PROVIDERDIR/files/ca/dh.pem add_nodes $NODES } @@ -162,9 +165,10 @@ ip_pingable () { } wait_for_node() { - ip=`get_ip $i` + vm=$1 + ip=`get_ip $vm` online=0 - echo "Waiting for VM $i (IP: $ip) to come up..." + echo "Waiting for VM $vm (IP: $ip) to come up..." while [ $online -eq 0 ] do ip_pingable $ip && online=1 @@ -222,10 +226,19 @@ source /etc/leap/platform-test-common.cfg [ -e $PROVIDERDIR ] && cd $PROVIDERDIR -if ! $all ; then - nodes=$nodelist -else + + +if $all ; then + # use NODES variable from the config file nodes=$NODES + + # strip services from nodes_services + # i.e. nodes_services='redevcouchdb1:couchdb redevcouchdb2:couchdb' + # -> nodes='redevcouchdb1 redevcouchdb2' + nodes=`echo "$NODES" | sed 's/:[[:alnum:]]*//g'` +else + # use nodelist provided via cmdline parameters + nodes=$nodelist fi |