(List (If (DBracket {B? LOGICAL_BINARY_AND {B1 UNARY_STRING_n {[VarSub 1]}} {B2 BINARY_STRING_EQUAL {[DQ [VarSub 1]]} {[LIT_CHARS overwrite]}}}) (= scope= flags=0 words=[] bindings=[('OVERW', {[DQ [LIT_CHARS true]]})]) ) (= 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]]})]) (= scope= flags=0 words=[] bindings=[('BOOT', {[ComSub (Pipeline (Com {[LIT_CHARS ./cluster-whatsup.sh]} {[LIT_CHARS bcpc-bootstrap]}) (Com {[LIT_CHARS grep]} {[LIT_CHARS 10]}) )]})]) (If (DBracket {B2 BINARY_STRING_EQUAL {[VarSub BOOT]} {[DQ [LIT_CHARS 10.0.100.3]]}}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Bootstrap node is up..."]]}) (If (DBracket {B! {B1 UNARY_FILE_d {[LIT_CHARS ../output]}}}) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS ../output]}) (ElseTrue) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Output directory ../output exists."]]}) (If (DBracket {B? LOGICAL_BINARY_OR {B1 UNARY_FILE_f {[LIT_CHARS ../output/bins.tar.gz]}} {B1 UNARY_FILE_f {[LIT_CHARS ../output/cookbooks.tar.gz]}}}) (If (DBracket {B1 UNARY_STRING_z {[DQ [VarSub OVERW]]}}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "output files already exist, not overwiting..."]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) (ElseTrue) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "overwriting specified, continuing."]]}) ) ) ) ) (= scope= flags=0 words=[] bindings=[('BNDO', {[DQ [LIT_CHARS "sshpass -p ubuntu "][VarSub SSHCMD][LIT_CHARS " -t ubuntu@10.0.100.3"]]})]) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Collecting non-BCPC cookbooks..."]]}) (Com {[VarSub BNDO]} {[DQ [LIT_CHARS "cd chef-bcpc && tar --exclude=bcpc --exclude=bcpc-centos --exclude=chef-client.patch --exclude="][VarSub PWD][LIT_CHARS "/README.md -cf ../cookbooks.tar cookbooks"]]}) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Collecting built binaries..."]]}) (Com {[VarSub BNDO]} {[DQ [LIT_CHARS "cd chef-bcpc/cookbooks/bcpc/files/default && tar -cf ../../../../../bins.tar bins"]]}) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Compressing files..."]]}) (Com {[VarSub BNDO]} {[DQ [LIT_CHARS "gzip cookbooks.tar bins.tar"]]}) (Com {[LIT_CHARS sshpass]} {[LIT_CHARS -p]} {[LIT_CHARS ubuntu]} {[VarSub SCPCMD]} {[LIT_CHARS ubuntu] [LIT_OTHER "@"] [LIT_CHARS 10.0.100.3] [LIT_OTHER ":"] [LIT_CHARS /home/ubuntu/bins.tar.gz]} {[LIT_CHARS ../output]}) (Com {[LIT_CHARS sshpass]} {[LIT_CHARS -p]} {[LIT_CHARS ubuntu]} {[VarSub SCPCMD]} {[LIT_CHARS ubuntu] [LIT_OTHER "@"] [LIT_CHARS 10.0.100.3] [LIT_OTHER ":"] [LIT_CHARS /home/ubuntu/cookbooks.tar.gz]} {[LIT_CHARS ../output]}) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Removing files from bootstrap node..."]]}) (Com {[VarSub BNDO]} {[DQ [LIT_CHARS "rm cookbooks.tar.gz bins.tar.gz"]]}) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Finished :"]]}) (Com {[LIT_CHARS ls]} {[LIT_CHARS -l]} {[LIT_CHARS ../output]}) ) (ElseTrue) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS Fail.]]}) ) )