(List (Com {[LIT_CHARS set]} {[LIT_CHARS -e]}) (Com {[LIT_CHARS source]} {[LIT_CHARS ./virtualbox_env.sh]}) (If (Pipeline! (Com {[LIT_CHARS hash]} {[LIT_CHARS vagrant]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2), > ) ) (If (DBracket {B1 UNARY_STRING_z {[DQ [VarSub 1]]}}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Usage: "][VarSub 0][LIT_CHARS " (start)"]]}) (Com {[LIT_CHARS exit]}) ) ) ) (If (DBracket {B1 UNARY_STRING_n {[DQ [VarSub 2]]}}) (If (DBracket {B2 BINARY_STRING_TILDE_EQUAL {[DQ [VarSub 2]]} {[LIT_CHARS start]}}) (= scope= flags=0 words=[] bindings=[('STARTVM', {[LIT_CHARS true]})]) ) ) (If (Com {[LIT_OTHER "["]} {[LIT_CHARS -f]} {[LIT_CHARS ./proxy_setup.sh]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS .]} {[LIT_CHARS ./proxy_setup.sh]}) ) (If (Com {[LIT_OTHER "["]} {[LIT_CHARS -z]} {[DQ [VarSub CURL]]} {[LIT_OTHER "]"]}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "CURL is not defined"]]}) (Com {[LIT_CHARS exit]}) ) ) (= scope= flags=0 words=[] bindings=[('DIR', {[ComSub (Com {[LIT_CHARS dirname]} {[VarSub 0]})] [LIT_CHARS /vbox]})]) (Com {[LIT_CHARS pushd]} {[VarSub DIR]}) (= scope= flags=0 words=[] bindings=[('KEYFILE', {[LIT_CHARS bootstrap_chef.id_rsa]})]) (= scope= flags=0 words=[] bindings=[('subnet', {[LIT_CHARS 10.0.100]})]) (= scope= flags=0 words=[] bindings=[('node', {[LIT_CHARS 11]})]) (= 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]]})]) (For i [{[LIT_CHARS bcpc-vm1]}, {[LIT_CHARS bcpc-vm2]}, {[LIT_CHARS bcpc-vm3]}]) (List (= scope= flags=0 words=[] bindings=[('MAC', {[ComSub (Pipeline (Com {[VarSub VBM]} {[LIT_CHARS showvminfo]} {[LIT_CHARS --machinereadable]} {[VarSub i]}) (Com {[LIT_CHARS grep]} {[LIT_CHARS macaddress1]}) (Com {[LIT_CHARS cut]} {[LIT_CHARS -d]} {[\ LIT_ESCAPED_CHAR "\\\""]} {[LIT_CHARS -f]} {[LIT_CHARS 2]}) (Com {[LIT_CHARS sed]} {[SQ ]}) )]})]) (If (Com {[LIT_OTHER "["]} {[LIT_CHARS -z]} {[DQ [VarSub MAC]]} {[LIT_OTHER "]"]}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "***ERROR: Unable to get MAC address for "][VarSub i]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Registering "][VarSub i][LIT_CHARS " with "][VarSub MAC][LIT_CHARS " for "][VarSub subnet][LIT_CHARS .][VarSub node]]}) (Com {[LIT_CHARS read]} {[LIT_CHARS -d]} {[LIT_OTHER "%"] [LIT_OTHER "%"]} {[LIT_CHARS REGISTERCMD]} < (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS " ip="][VarSub subnet][LIT_CHARS .][VarSub node][LIT_CHARS " ;\n"][LIT_CHARS " read _ _ dev _ < <(ip route get "][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS "ip) || { echo "][RIGHT_D_QUOTE "\""][LIT_CHARS "Could not determine device."][RIGHT_D_QUOTE "\""][LIT_CHARS " >&2 ; exit 2 ; } ;\n"][LIT_CHARS " sudo cobbler system remove --name="][RIGHT_D_QUOTE "\""][VarSub i][RIGHT_D_QUOTE "\""][LIT_CHARS " ;\n"][LIT_CHARS " sudo cobbler system add --name="][RIGHT_D_QUOTE "\""][VarSub i][RIGHT_D_QUOTE "\""][LIT_CHARS " --hostname="][RIGHT_D_QUOTE "\""][VarSub i][RIGHT_D_QUOTE "\""][LIT_CHARS " --profile=bcpc_host --ip-address="][VarSub subnet][LIT_CHARS .][VarSub node][LIT_CHARS " "][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS "\n"][LIT_CHARS " --mac="][RIGHT_D_QUOTE "\""][VarSub MAC][RIGHT_D_QUOTE "\""][LIT_CHARS " --interface="][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS "{dev}\n"][LIT_CHARS " %%\n"]]} 0), > ) (If (Com {[LIT_CHARS hash]} {[LIT_CHARS vagrant]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2), > ) (Com {[LIT_CHARS vagrant]} {[LIT_CHARS ssh]} {[LIT_CHARS -c]} {[DQ [VarSub REGISTERCMD]]}) (ElseTrue) (If (Com {[LIT_CHARS hash]} {[LIT_CHARS sshpass]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2), > ) (Pipeline (Com {[LIT_CHARS echo]} {[LIT_CHARS ubuntu]}) (Com {[LIT_CHARS sshpass]} {[LIT_CHARS -p]} {[LIT_CHARS ubuntu]} {[VarSub SSHCMD]} {[LIT_CHARS -tt]} {[LIT_CHARS ubuntu] [LIT_OTHER "@"] [VarSub 1]} {[DQ [VarSub REGISTERCMD]]}) ) (ElseTrue) (Com {[LIT_CHARS ssh]} {[LIT_CHARS -t]} {[LIT_CHARS -i]} {[VarSub KEYFILE]} {[LIT_CHARS ubuntu] [LIT_OTHER "@"] [VarSub 1]} {[VarSub REGISTERCMD]}) ) ) (Com {[LIT_CHARS let]} {[LIT_VAR_LIKE "node="] [LIT_CHARS node] [LIT_OTHER "+"] [LIT_CHARS 1] =}) ) ) (= scope= flags=0 words=[] bindings=[('SYNCCMD', {[DQ [LIT_CHARS "sudo cobbler sync"]]})]) (If (Com {[LIT_CHARS hash]} {[LIT_CHARS vagrant]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2), > ) (Com {[LIT_CHARS vagrant]} {[LIT_CHARS ssh]} {[LIT_CHARS -c]} {[DQ [VarSub SYNCCMD]]}) (ElseTrue) (If (Com {[LIT_CHARS hash]} {[LIT_CHARS sshpass]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2), > ) (Pipeline (Com {[LIT_CHARS echo]} {[LIT_CHARS ubuntu]}) (Com {[LIT_CHARS sshpass]} {[LIT_CHARS -p]} {[LIT_CHARS ubuntu]} {[VarSub SSHCMD]} {[LIT_CHARS -tt]} {[LIT_CHARS ubuntu] [LIT_OTHER "@"] [VarSub 1]} {[DQ [VarSub SYNCCMD]]}) ) (ElseTrue) (Com {[LIT_CHARS ssh]} {[LIT_CHARS -t]} {[LIT_CHARS -i]} {[VarSub KEYFILE]} {[LIT_CHARS ubuntu] [LIT_OTHER "@"] [VarSub 1]} {[DQ [VarSub SYNCCMD]]}) ) ) (If (DBracket {B1 UNARY_STRING_n {[DQ [VarSub STARTVM]]}}) (For i [{[LIT_CHARS bcpc-vm1]}, {[LIT_CHARS bcpc-vm2]}, {[LIT_CHARS bcpc-vm3]}]) (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS startvm]} {[VarSub i]}) ) ) )