(List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "this is not working yet"]]}) (Com {[LIT_CHARS exit]}) (Com {[LIT_CHARS source]} {[LIT_CHARS ./virtualbox_env.sh]}) (= scope= flags=0 words=[] bindings=[('UP', {[ComSub (Pipeline (Com {[VarSub VBM]} {[LIT_CHARS showvminfo]} {[LIT_CHARS bcpc-bootstrap]}) (Com {[LIT_CHARS grep]} {[LIT_CHARS -i]} {[LIT_CHARS State]}) )]})]) (If (DBracket {B! {B2 BINARY_STRING_TILDE_EQUAL {[VarSub UP]} {[LIT_CHARS running]}}}) (List (Com {[VarSub VBM]} {[LIT_CHARS startvm]} {[LIT_CHARS bcpc-bootstrap]}) (Com {[LIT_CHARS sleep]} {[LIT_CHARS 30]}) ) (ElseTrue) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "bcpc-bootstrap is running"]]}) ) (Com {[LIT_CHARS ./vm-to-cluster.sh]} {[LIT_CHARS bloomberg.com]}) (While (Com {[LIT_CHARS read]} {[LIT_CHARS HOSTNAME]} {[LIT_CHARS MACADDR]} {[LIT_CHARS IPADDR]} {[LIT_CHARS ILOIPADDR]} {[LIT_CHARS DOMAIN]} {[LIT_CHARS ROLE]}) (List (If (DBracket {B2 BINARY_STRING_EQUAL {[VarSub HOSTNAME]} {[DQ [LIT_CHARS end]]}}) (Com {[LIT_CHARS break]}) ) (If (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub HOSTNAME]]} {[LIT_CHARS bcpc-bootstrap]}}) (List (= scope= flags=0 words=[] bindings=[('NATADDR', {[VarSub IPADDR]})]) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "bcpc-bootstrap is currently at (NAT) address "][VarSub NATADDR]]}) (Com {[LIT_CHARS break]}) ) ) ) ) (If (DBracket {B1 UNARY_STRING_z {[VarSub NATADDR]}}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Couldn't find the bootstrap node's IP address"]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) (ElseTrue) (List (For ATTEMPT [{[LIT_CHARS A]}, {[LIT_CHARS B]}, {[LIT_CHARS C]}, {[LIT_CHARS D]}, {[LIT_CHARS E]}, {[LIT_CHARS F]}, {[LIT_CHARS G]}]) (List (If (DBracket {B1 UNARY_STRING_n {[DQ [VarSub 1]]}}) (= scope= flags=0 words=[] bindings=[('HOST', {[DQ [VarSub 1]]})]) (ElseTrue) (= scope= flags=0 words=[] bindings=[('HOST', {[DQ [VarSub NATADDR]]})]) ) (If (Com {[LIT_CHARS hash]} {[LIT_CHARS fping]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2), > ) (= scope= flags=0 words=[] bindings=[('UP', {[ComSub (Pipeline (Com {[LIT_CHARS fping]} {[LIT_CHARS -aq]} {[VarSub HOST]}) (Com {[LIT_CHARS awk]} {[SQ ]}) )]})]) (ElseTrue) (= scope= flags=0 words=[] bindings=[('UP', {[ComSub (Pipeline (Com {[LIT_CHARS ping]} {[LIT_CHARS -c]} {[LIT_CHARS 1]} {[VarSub HOST]}) (Com {[LIT_CHARS grep]} {[LIT_CHARS ttl]}) (Com {[LIT_CHARS cut]} {[LIT_CHARS -f4]} {[LIT_CHARS -d] [DQ [LIT_CHARS " "]]}) (Com {[LIT_CHARS cut]} {[LIT_CHARS -f1]} {[LIT_CHARS -d] [DQ [LIT_CHARS ":"]]}) )]})]) ) (If (DBracket {B1 UNARY_STRING_z {[DQ [VarSub UP]]}}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "VM is not up yet or is unreachable"]]}) (If (DBracket {B2 BINARY_STRING_EQUAL {[VarSub ATTEMPT]} {[LIT_CHARS G]}}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Maybe machine needs rework. Rerun this when it's up"]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (Com {[LIT_CHARS sleep]} {[LIT_CHARS 5]}) ) (ElseTrue) (Com {[LIT_CHARS break]}) ) ) ) (= scope= flags=0 words=[] bindings=[('SSHCOMMON', {[DQ [LIT_CHARS "-q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o VerifyHostKeyDNS=no"]]})]) (= scope= flags=0 words=[] bindings=[('SSHCMD', {[DQ [LIT_CHARS "ssh "][VarSub SSHCOMMON]]})]) (= scope= flags=0 words=[] bindings=[('SCPCMD', {[DQ [LIT_CHARS "scp "][VarSub SSHCOMMON]]})]) (If (Com {[LIT_CHARS hash]} {[LIT_CHARS sshpass]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2), > ) (List (= scope= flags=0 words=[] bindings=[('EDITED', {[ComSub (Com {[LIT_CHARS sshpass]} {[LIT_CHARS -p]} {[LIT_CHARS ubuntu]} {[VarSub SSHCMD]} {[LIT_CHARS -t]} {[LIT_CHARS ubuntu] [LIT_OTHER "@"] [VarSub HOST]} {[DQ [LIT_CHARS "echo ubuntu | sudo -S grep 'Static interfaces' /etc/network/interfaces"]]})]})]) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "EDITED = "][VarSub EDITED]]}) ) (ElseTrue) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "please install sshpass"]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (If (DBracket {B2 BINARY_STRING_TILDE_EQUAL {[DQ [VarSub EDITED]]} {[DQ [LIT_CHARS "Static interfaces"]]}}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "interfaces file appears adjusted already"]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 0]}) ) (ElseTrue) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "copy interfaces file fragment..."]]}) (Com {[LIT_CHARS sshpass]} {[LIT_CHARS -p]} {[LIT_CHARS ubuntu]} {[VarSub SCPCMD]} {[LIT_CHARS -p]} {[DQ [LIT_CHARS vm-eth.txt]]} {[DQ [LIT_CHARS "ubuntu@"][VarSub HOST][LIT_CHARS ":/tmp"]]}) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "add the network definitions"]]}) (Com {[LIT_CHARS sshpass]} {[LIT_CHARS -p]} {[LIT_CHARS ubuntu]} {[VarSub SSHCMD]} {[LIT_CHARS -t]} {[LIT_CHARS ubuntu] [LIT_OTHER "@"] [VarSub HOST]} {[DQ [LIT_CHARS "echo ubuntu | sudo -S cp -p /etc/network/interfaces /etc/network/interfaces.orig"]]}) (Com {[LIT_CHARS sshpass]} {[LIT_CHARS -p]} {[LIT_CHARS ubuntu]} {[VarSub SSHCMD]} {[LIT_CHARS -t]} {[LIT_CHARS ubuntu] [LIT_OTHER "@"] [VarSub HOST]} {[DQ [LIT_CHARS "echo ubuntu | sudo -S cat /etc/network/interfaces /tmp/vm-eth.txt > /tmp/combined.txt"]]}) (Com {[LIT_CHARS sshpass]} {[LIT_CHARS -p]} {[LIT_CHARS ubuntu]} {[VarSub SSHCMD]} {[LIT_CHARS -t]} {[LIT_CHARS ubuntu] [LIT_OTHER "@"] [VarSub HOST]} {[DQ [LIT_CHARS "echo ubuntu | sudo -S mv /tmp/combined.txt /etc/network/interfaces"]]}) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "restart networking"]]}) (Com {[LIT_CHARS sshpass]} {[LIT_CHARS -p]} {[LIT_CHARS ubuntu]} {[VarSub SSHCMD]} {[LIT_CHARS -t]} {[LIT_CHARS ubuntu] [LIT_OTHER "@"] [VarSub HOST]} {[DQ [LIT_CHARS "echo ubuntu | sudo -S service networking restart"]]}) ) ) ) ) )