(CommandList children: [ (C {(echo)} {(DQ ("this is not working yet"))}) (C {(exit)}) (C {(source)} {(./virtualbox_env.sh)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:UP) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {($ VSub_Name "$VBM")} {(showvminfo)} {(bcpc-bootstrap)}) (C {(grep)} {(-i)} {(State)}) ] negated: False ) ] ) left_token: <Left_Backtick "`"> spids: [34 48] ) } spids: [33] ) ] spids: [33] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (LogicalNot child: (BoolBinary op_id: BoolBinary_EqualTilde left: {($ VSub_Name "$UP")} right: {(running)} ) ) ) terminator: <Op_Semi ";"> ) ] action: [(C {($ VSub_Name "$VBM")} {(startvm)} {(bcpc-bootstrap)}) (C {(sleep)} {(30)})] spids: [-1 65] ) ] else_action: [(C {(echo)} {(DQ ("bcpc-bootstrap is running"))})] spids: [86 95] ) (C {(./vm-to-cluster.sh)} {(bloomberg.com)}) (While cond: [ (Sentence child: (C {(read)} {(HOSTNAME)} {(MACADDR)} {(IPADDR)} {(ILOIPADDR)} {(DOMAIN)} {(ROLE)}) terminator: <Op_Semi ";"> ) ] body: (DoGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobEqual left: {($ VSub_Name "$HOSTNAME")} right: {(DQ (end))} ) ) terminator: <Op_Semi ";"> ) ] action: [ (Sentence child: (ControlFlow token:<ControlFlow_Break break>) terminator: <Op_Semi ";"> ) ] spids: [-1 136] ) ] spids: [-1 143] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobEqual left: {(DQ ($ VSub_Name "$HOSTNAME"))} right: {(bcpc-bootstrap)} ) ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:NATADDR) op: Equal rhs: {($ VSub_Name "$IPADDR")} spids: [164] ) ] spids: [164] ) (C {(echo)} { (DQ ("bcpc-bootstrap is currently at (NAT) address ") ($ VSub_Name "$NATADDR")) } ) (ControlFlow token:<ControlFlow_Break break>) ] spids: [-1 161] ) ] spids: [-1 179] ) ] spids: [118 181] ) redirects: [(Redir op_id:Redir_Less fd:-1 arg_word:{(cluster.txt)} spids:[183])] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr:(BoolUnary op_id:BoolUnary_z child:{($ VSub_Name "$NATADDR")})) terminator: <Op_Semi ";"> ) ] action: [ (C {(echo)} {(DQ ("Couldn't find the bootstrap node's IP address"))}) (C {(exit)} {(1)}) ] spids: [-1 198] ) ] else_action: [ (ForEach iter_name: ATTEMPT iter_words: [{(A)} {(B)} {(C)} {(D)} {(E)} {(F)} {(G)}] do_arg_iter: False body: (DoGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr:(WordTest w:{(DQ ($ VSub_Number "$1"))})) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:HOST) op: Equal rhs: {(DQ ($ VSub_Number "$1"))} spids: [254] ) ] spids: [254] ) ] spids: [-1 251] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:HOST) op: Equal rhs: {(DQ ($ VSub_Name "$NATADDR"))} spids: [263] ) ] spids: [263] ) ] spids: [260 269] ) (If arms: [ (if_arm cond: [ (Sentence child: (SimpleCommand words: [{(hash)} {(fping)}] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [278] ) ] ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:UP) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(fping)} {(-aq)} {(${ VSub_Name HOST)}) (C {(awk)} {(SQ <"{print $1}">)}) ] negated: False ) ] ) left_token: <Left_Backtick "`"> spids: [286 302] ) } spids: [285] ) ] spids: [285] ) ] spids: [-1 282] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:UP) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(ping)} {(-c)} {(1)} {(${ VSub_Name HOST)}) (C {(grep)} {(ttl)}) (C {(cut)} {(-f4)} {(-d) (DQ (" "))}) (C {(cut)} {(-f1)} {(-d) (DQ (":"))}) ] negated: False ) ] ) left_token: <Left_Backtick "`"> spids: [309 346] ) } spids: [308] ) ] spids: [308] ) ] spids: [305 349] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id:BoolUnary_z child:{(DQ ($ VSub_Name "$UP"))}) ) terminator: <Op_Semi ";"> ) ] action: [ (C {(echo)} {(DQ ("VM is not up yet or is unreachable"))}) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobEqual left: {($ VSub_Name "$ATTEMPT")} right: {(G)} ) ) terminator: <Op_Semi ";"> ) ] action: [ (C {(echo)} {(DQ ("Maybe machine needs rework. Rerun this when it's up"))} ) (C {(exit)} {(1)}) ] spids: [-1 388] ) ] spids: [-1 403] ) (C {(sleep)} {(5)}) ] spids: [-1 365] ) ] else_action: [(ControlFlow token:<ControlFlow_Break break>)] spids: [411 417] ) ] spids: [237 420] ) spids: [221 235] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SSHCOMMON) op: Equal rhs: { (DQ ( "-q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o VerifyHostKeyDNS=no" ) ) } spids: [423] ) ] spids: [423] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SSHCMD) op: Equal rhs: {(DQ ("ssh ") ($ VSub_Name "$SSHCOMMON"))} spids: [429] ) ] spids: [429] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SCPCMD) op: Equal rhs: {(DQ ("scp ") ($ VSub_Name "$SSHCOMMON"))} spids: [436] ) ] spids: [436] ) (If arms: [ (if_arm cond: [ (Sentence child: (SimpleCommand words: [{(hash)} {(sshpass)}] redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[449])] ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:EDITED) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(sshpass)} {(-p)} {(ubuntu)} {($ VSub_Name "$SSHCMD")} {(-t)} {(ubuntu) (Lit_Other "@") ($ VSub_Name "$HOST")} {(DQ ("echo ubuntu | sudo -S grep 'Static interfaces' /etc/network/interfaces"))} ) ] ) left_token: <Left_Backtick "`"> spids: [457 475] ) } spids: [456] ) ] spids: [456] ) (C {(echo)} {(DQ ("EDITED = ") ($ VSub_Name "$EDITED"))}) ] spids: [-1 453] ) ] else_action: [(C {(echo)} {(DQ ("please install sshpass"))}) (C {(exit)} {(1)})] spids: [486 501] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_EqualTilde left: {(DQ ($ VSub_Name "$EDITED"))} right: {(DQ ("Static interfaces"))} ) ) terminator: <Op_Semi ";"> ) ] action: [ (C {(echo)} {(DQ ("interfaces file appears adjusted already"))}) (C {(exit)} {(0)}) ] spids: [-1 521] ) ] else_action: [ (C {(echo)} {(DQ ("copy interfaces file fragment..."))}) (C {(sshpass)} {(-p)} {(ubuntu)} {($ VSub_Name "$SCPCMD")} {(-p)} {(DQ (vm-eth.txt))} {(DQ ("ubuntu@") ($ VSub_Name "$HOST") (":/tmp"))} ) (C {(echo)} {(DQ ("add the network definitions"))}) (C {(sshpass)} {(-p)} {(ubuntu)} {($ VSub_Name "$SSHCMD")} {(-t)} {(ubuntu) (Lit_Other "@") ($ VSub_Name "$HOST")} {(DQ ("echo ubuntu | sudo -S cp -p /etc/network/interfaces /etc/network/interfaces.orig"))} ) (C {(sshpass)} {(-p)} {(ubuntu)} {($ VSub_Name "$SSHCMD")} {(-t)} {(ubuntu) (Lit_Other "@") ($ VSub_Name "$HOST")} {(DQ ("echo ubuntu | sudo -S cat /etc/network/interfaces /tmp/vm-eth.txt > /tmp/combined.txt"))} ) (C {(sshpass)} {(-p)} {(ubuntu)} {($ VSub_Name "$SSHCMD")} {(-t)} {(ubuntu) (Lit_Other "@") ($ VSub_Name "$HOST")} {(DQ ("echo ubuntu | sudo -S mv /tmp/combined.txt /etc/network/interfaces"))} ) (C {(echo)} {(DQ ("restart networking"))}) (C {(sshpass)} {(-p)} {(ubuntu)} {($ VSub_Name "$SSHCMD")} {(-t)} {(ubuntu) (Lit_Other "@") ($ VSub_Name "$HOST")} {(DQ ("echo ubuntu | sudo -S service networking restart"))} ) ] spids: [536 665] ) ] spids: [212 667] ) ] )