(List (Com {[LIT_CHARS set]} {[LIT_CHARS -eu]}) (For CMD [{[LIT_CHARS VBoxManage]}, {[LIT_CHARS git]}, {[LIT_CHARS pcregrep]}]) (If (Pipeline! (Com {[LIT_CHARS which]} {[VarSub CMD]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), > ) ) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Could not find "][VarSub CMD][LIT_CHARS " on PATH, exiting."]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) ) (= scope= flags=0 words=[] bindings=[('REPO_ROOT', {[ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS --show-toplevel]})]})]) (Com {[LIT_CHARS source]} {[VarSub REPO_ROOT] [LIT_CHARS /bootstrap/config/bootstrap_config.sh.defaults]}) (= scope= flags=0 words=[] bindings=[('CONFIG_OVERRIDES', {[VarSub REPO_ROOT] [LIT_CHARS /bootstrap/config/bootstrap_config.sh.overrides]})]) (If (DBracket {B1 UNARY_FILE_f {[VarSub CONFIG_OVERRIDES]}}) (Com {[LIT_CHARS source]} {[VarSub CONFIG_OVERRIDES]}) ) (If (DBracket {B2 BINARY_STRING_EQUAL {[ComSub (Com {[LIT_CHARS uname]})]} {[DQ [LIT_CHARS Darwin]]}}) (= scope= flags=0 words=[] bindings=[('SED', {[DQ [LIT_CHARS "sed -E"]]})]) (ElseTrue) (= scope= flags=0 words=[] bindings=[('SED', {[DQ [LIT_CHARS "sed -r"]]})]) ) (= scope= flags=0 words=[] bindings=[('DMF_SET', {[ComSub (Pipeline (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS list]} {[LIT_CHARS systemproperties]}) (Com {[LIT_CHARS grep]} {[SQ ]}) )]})]) (= scope= flags=0 words=[] bindings=[('OLD_DMF_PATH', {[ComSub (Pipeline (Com {[LIT_CHARS echo]} {[DQ [VarSub DMF_SET]]}) (Com {[VarSub SED]} {[SQ ]}) )]})]) (= scope= flags=0 words=[] bindings=[('DMF_PATH', {[DQ [VarSub ANSIBLE_VM_DIR test_op=VS_TEST_COLON_HYPHEN {[VarSub OLD_DMF_PATH]}]]})]) (Com {[VarSub REPO_ROOT] [LIT_CHARS /bootstrap/ansible_scripts/scripts/vbox_clean.sh]}) (AndOr OP_AND_IF (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS hostonlyif]} {[LIT_CHARS remove]} {[LIT_CHARS vboxnet0]}) (Com {[LIT_CHARS true]}) ) (AndOr OP_AND_IF (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS hostonlyif]} {[LIT_CHARS remove]} {[LIT_CHARS vboxnet1]}) (Com {[LIT_CHARS true]}) ) (AndOr OP_AND_IF (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS hostonlyif]} {[LIT_CHARS remove]} {[LIT_CHARS vboxnet2]}) (Com {[LIT_CHARS true]}) ) (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS hostonlyif]} {[LIT_CHARS create]}) (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS hostonlyif]} {[LIT_CHARS ipconfig]} {[LIT_CHARS vboxnet0]} {[LIT_CHARS --ip]} {[LIT_CHARS 10.0.100.2]} {[LIT_CHARS --netmask]} {[LIT_CHARS 255.255.255.0]}) (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS hostonlyif]} {[LIT_CHARS create]}) (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS hostonlyif]} {[LIT_CHARS ipconfig]} {[LIT_CHARS vboxnet1]} {[LIT_CHARS --ip]} {[LIT_CHARS 172.16.100.2]} {[LIT_CHARS --netmask]} {[LIT_CHARS 255.255.255.0]}) (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS hostonlyif]} {[LIT_CHARS create]}) (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS hostonlyif]} {[LIT_CHARS ipconfig]} {[LIT_CHARS vboxnet2]} {[LIT_CHARS --ip]} {[LIT_CHARS 192.168.100.2]} {[LIT_CHARS --netmask]} {[LIT_CHARS 255.255.255.0]}) (AndOr OP_AND_IF (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS dhcpserver]} {[LIT_CHARS remove]} {[LIT_CHARS --ifname]} {[LIT_CHARS vboxnet0]}) (Com {[LIT_CHARS true]}) ) (AndOr OP_AND_IF (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS dhcpserver]} {[LIT_CHARS remove]} {[LIT_CHARS --ifname]} {[LIT_CHARS vboxnet1]}) (Com {[LIT_CHARS true]}) ) (AndOr OP_AND_IF (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS dhcpserver]} {[LIT_CHARS remove]} {[LIT_CHARS --ifname]} {[LIT_CHARS vboxnet2]}) (Com {[LIT_CHARS true]}) ) (= scope= flags=0 words=[] bindings=[('VMS', {[DQ [LIT_CHARS "ansible-bcpc-vm1 ansible-bcpc-vm2 ansible-bcpc-vm3"]]})]) (If (Com {[LIT_OTHER "["]} {[VarSub MONITORING_NODES]} {[LIT_CHARS -gt]} {[LIT_CHARS 0]} {[LIT_OTHER "]"]}) (List (= scope= flags=0 words=[] bindings=[('i', {[LIT_CHARS 1]})]) (While (Com {[LIT_OTHER "["]} {[VarSub i]} {[LIT_CHARS -le]} {[VarSub MONITORING_NODES]} {[LIT_OTHER "]"]}) (List (= scope= flags=0 words=[] bindings=[('MON_VM', {[DQ [LIT_CHARS ansible-bcpc-vm][ComSub (Com {[LIT_CHARS expr]} {[LIT_CHARS 3]} {[LIT_OTHER "+"]} {[VarSub i]})]]})]) (= scope= flags=0 words=[] bindings=[('VMS', {[DQ [VarSub VMS][LIT_CHARS " "][VarSub MON_VM]]})]) (= scope= flags=0 words=[] bindings=[('i', {[ComSub (Com {[LIT_CHARS expr]} {[VarSub i]} {[LIT_OTHER "+"]} {[LIT_CHARS 1]})]})]) ) ) ) ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Creating bootstrap VM"]]}) (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS createvm]} {[LIT_CHARS --basefolder]} {[DQ [VarSub DMF_PATH]]} {[LIT_CHARS --name]} {[LIT_CHARS ansible-bcpc-bootstrap]} {[LIT_CHARS --register]}) (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS modifyvm]} {[LIT_CHARS ansible-bcpc-bootstrap]} {[LIT_CHARS --ostype]} {[LIT_CHARS Ubuntu_64]}) (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS modifyvm]} {[LIT_CHARS ansible-bcpc-bootstrap]} {[LIT_CHARS --memory]} {[VarSub BOOTSTRAP_VM_MEM]}) (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS modifyvm]} {[LIT_CHARS ansible-bcpc-bootstrap]} {[LIT_CHARS --cpus]} {[VarSub BOOTSTRAP_VM_CPUS]}) (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS modifyvm]} {[LIT_CHARS ansible-bcpc-bootstrap]} {[LIT_CHARS --nic1]} {[LIT_CHARS nat]}) (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS modifyvm]} {[LIT_CHARS ansible-bcpc-bootstrap]} {[LIT_CHARS --nictype1]} {[LIT_CHARS 82543GC]}) (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS modifyvm]} {[LIT_CHARS ansible-bcpc-bootstrap]} {[LIT_CHARS --nic2]} {[LIT_CHARS hostonly]}) (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS modifyvm]} {[LIT_CHARS ansible-bcpc-bootstrap]} {[LIT_CHARS --nictype2]} {[LIT_CHARS 82543GC]}) (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS modifyvm]} {[LIT_CHARS ansible-bcpc-bootstrap]} {[LIT_CHARS --hostonlyadapter2]} {[LIT_CHARS vboxnet0]}) (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS modifyvm]} {[LIT_CHARS ansible-bcpc-bootstrap]} {[LIT_CHARS --nic3]} {[LIT_CHARS hostonly]}) (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS modifyvm]} {[LIT_CHARS ansible-bcpc-bootstrap]} {[LIT_CHARS --nictype3]} {[LIT_CHARS 82543GC]}) (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS modifyvm]} {[LIT_CHARS ansible-bcpc-bootstrap]} {[LIT_CHARS --hostonlyadapter3]} {[LIT_CHARS vboxnet1]}) (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS modifyvm]} {[LIT_CHARS ansible-bcpc-bootstrap]} {[LIT_CHARS --nic4]} {[LIT_CHARS hostonly]}) (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS modifyvm]} {[LIT_CHARS ansible-bcpc-bootstrap]} {[LIT_CHARS --nictype4]} {[LIT_CHARS 82543GC]}) (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS modifyvm]} {[LIT_CHARS ansible-bcpc-bootstrap]} {[LIT_CHARS --hostonlyadapter4]} {[LIT_CHARS vboxnet2]}) (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS storagectl]} {[LIT_CHARS ansible-bcpc-bootstrap]} {[LIT_CHARS --name]} {[DQ [LIT_CHARS SATA]]} {[LIT_CHARS --add]} {[LIT_CHARS sata]} {[LIT_CHARS --portcount]} {[LIT_CHARS 3]} {[LIT_CHARS --hostiocache]} {[LIT_CHARS on]}) (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS createhd]} {[LIT_CHARS --filename]} {[DQ [VarSub DMF_PATH][LIT_CHARS /ansible-bcpc-bootstrap/ansible-bcpc-bootstrap-sda.vdi]]} {[LIT_CHARS --size]} {[VarSub BOOTSTRAP_VM_DRIVE_SIZE]}) (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS storageattach]} {[LIT_CHARS ansible-bcpc-bootstrap]} {[LIT_CHARS --storagectl]} {[DQ [LIT_CHARS SATA]]} {[LIT_CHARS --device]} {[LIT_CHARS 0]} {[LIT_CHARS --port]} {[LIT_CHARS 0]} {[LIT_CHARS --type]} {[LIT_CHARS hdd]} {[LIT_CHARS --medium]} {[DQ [VarSub DMF_PATH][LIT_CHARS /ansible-bcpc-bootstrap/ansible-bcpc-bootstrap-sda.vdi]]}) (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS createhd]} {[LIT_CHARS --filename]} {[DQ [VarSub DMF_PATH][LIT_CHARS /ansible-bcpc-bootstrap/ansible-bcpc-bootstrap-sdb.vdi]]} {[LIT_CHARS --size]} {[LIT_CHARS 8192]}) (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS storageattach]} {[LIT_CHARS ansible-bcpc-bootstrap]} {[LIT_CHARS --storagectl]} {[DQ [LIT_CHARS SATA]]} {[LIT_CHARS --device]} {[LIT_CHARS 0]} {[LIT_CHARS --port]} {[LIT_CHARS 1]} {[LIT_CHARS --type]} {[LIT_CHARS hdd]} {[LIT_CHARS --medium]} {[DQ [VarSub DMF_PATH][LIT_CHARS /ansible-bcpc-bootstrap/ansible-bcpc-bootstrap-sdb.vdi]]}) (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS createhd]} {[LIT_CHARS --filename]} {[DQ [VarSub DMF_PATH][LIT_CHARS /ansible-bcpc-bootstrap/ansible-bcpc-bootstrap-sdc.vdi]]} {[LIT_CHARS --size]} {[VarSub BOOTSTRAP_VM_DRIVE_SIZE]}) (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS storageattach]} {[LIT_CHARS ansible-bcpc-bootstrap]} {[LIT_CHARS --storagectl]} {[DQ [LIT_CHARS SATA]]} {[LIT_CHARS --device]} {[LIT_CHARS 0]} {[LIT_CHARS --port]} {[LIT_CHARS 2]} {[LIT_CHARS --type]} {[LIT_CHARS hdd]} {[LIT_CHARS --medium]} {[DQ [VarSub DMF_PATH][LIT_CHARS /ansible-bcpc-bootstrap/ansible-bcpc-bootstrap-sdc.vdi]]}) (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS storagectl]} {[LIT_CHARS ansible-bcpc-bootstrap]} {[LIT_CHARS --name]} {[DQ [LIT_CHARS IDE]]} {[LIT_CHARS --add]} {[LIT_CHARS ide]}) (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS storageattach]} {[LIT_CHARS ansible-bcpc-bootstrap]} {[LIT_CHARS --storagectl]} {[DQ [LIT_CHARS IDE]]} {[LIT_CHARS --device]} {[LIT_CHARS 0]} {[LIT_CHARS --port]} {[LIT_CHARS 0]} {[LIT_CHARS --type]} {[LIT_CHARS dvddrive]} {[LIT_CHARS --medium]} {[LIT_CHARS emptydrive]}) (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS modifyvm]} {[LIT_CHARS ansible-bcpc-bootstrap]} {[LIT_CHARS --boot1]} {[LIT_CHARS dvd]}) (For VM [{[VarSub VMS]}]) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Creating cluster VM "][VarSub VM]]}) (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS createvm]} {[LIT_CHARS --basefolder]} {[DQ [VarSub DMF_PATH]]} {[LIT_CHARS --name]} {[VarSub VM]} {[LIT_CHARS --register]}) (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS modifyvm]} {[VarSub VM]} {[LIT_CHARS --ostype]} {[LIT_CHARS Ubuntu_64]}) (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS modifyvm]} {[VarSub VM]} {[LIT_CHARS --memory]} {[VarSub CLUSTER_VM_MEM]}) (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS modifyvm]} {[VarSub VM]} {[LIT_CHARS --cpus]} {[VarSub CLUSTER_VM_CPUS]}) (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS modifyvm]} {[VarSub VM]} {[LIT_CHARS --nic1]} {[LIT_CHARS hostonly]}) (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS modifyvm]} {[VarSub VM]} {[LIT_CHARS --nictype1]} {[LIT_CHARS 82543GC]}) (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS modifyvm]} {[VarSub VM]} {[LIT_CHARS --hostonlyadapter1]} {[LIT_CHARS vboxnet0]}) (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS modifyvm]} {[VarSub VM]} {[LIT_CHARS --nic2]} {[LIT_CHARS hostonly]}) (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS modifyvm]} {[VarSub VM]} {[LIT_CHARS --nictype2]} {[LIT_CHARS 82543GC]}) (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS modifyvm]} {[VarSub VM]} {[LIT_CHARS --hostonlyadapter2]} {[LIT_CHARS vboxnet1]}) (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS modifyvm]} {[VarSub VM]} {[LIT_CHARS --nic3]} {[LIT_CHARS hostonly]}) (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS modifyvm]} {[VarSub VM]} {[LIT_CHARS --nictype3]} {[LIT_CHARS 82543GC]}) (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS modifyvm]} {[VarSub VM]} {[LIT_CHARS --hostonlyadapter3]} {[LIT_CHARS vboxnet2]}) (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS storagectl]} {[VarSub VM]} {[LIT_CHARS --name]} {[DQ [LIT_CHARS SATA]]} {[LIT_CHARS --add]} {[LIT_CHARS sata]} {[LIT_CHARS --portcount]} {[LIT_CHARS 5]} {[LIT_CHARS --hostiocache]} {[LIT_CHARS on]}) (= scope= flags=0 words=[] bindings=[('PORT', {[LIT_CHARS 0]})]) (For DISK [{[LIT_CHARS a]}, {[LIT_CHARS b]}, {[LIT_CHARS c]}, {[LIT_CHARS d]}, {[LIT_CHARS e]}]) (List (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS createhd]} {[LIT_CHARS --filename]} {[DQ [VarSub DMF_PATH][LIT_CHARS /][VarSub VM][LIT_CHARS /][VarSub VM][LIT_CHARS -sd][VarSub DISK][LIT_CHARS .vdi]]} {[LIT_CHARS --size]} {[VarSub CLUSTER_VM_DRIVE_SIZE]}) (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS storageattach]} {[VarSub VM]} {[LIT_CHARS --storagectl]} {[DQ [LIT_CHARS SATA]]} {[LIT_CHARS --device]} {[LIT_CHARS 0]} {[LIT_CHARS --port]} {[VarSub PORT]} {[LIT_CHARS --type]} {[LIT_CHARS hdd]} {[LIT_CHARS --medium]} {[DQ [VarSub DMF_PATH][LIT_CHARS /][VarSub VM][LIT_CHARS /][VarSub VM][LIT_CHARS -sd][VarSub DISK][LIT_CHARS .vdi]]}) (= scope= flags=0 words=[] bindings=[('PORT', {[ArithSub {A2 AS_OP_PLUS {A Atom NODE_ARITH_WORD {[VarSub PORT]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}]})]) ) ) (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS setextradata]} {[VarSub VM]} {[LIT_CHARS VBoxInternal/Devices/pcbios/0/Config/LanBootRom]} {[DQ [VarSub BOOTSTRAP_CACHE_DIR][LIT_CHARS /gpxe-1.0.1-80861004.rom]]}) ) ) (For VM [{[LIT_CHARS ansible-bcpc-bootstrap]}, {[VarSub VMS]}]) (List (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS modifyvm]} {[VarSub VM]} {[LIT_CHARS --vram]} {[LIT_CHARS 16]}) (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS modifyvm]} {[VarSub VM]} {[LIT_CHARS --largepages]} {[LIT_CHARS on]}) (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS modifyvm]} {[VarSub VM]} {[LIT_CHARS --nestedpaging]} {[LIT_CHARS on]}) (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS modifyvm]} {[VarSub VM]} {[LIT_CHARS --vtxvpid]} {[LIT_CHARS on]}) (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS modifyvm]} {[VarSub VM]} {[LIT_CHARS --hwvirtex]} {[LIT_CHARS on]}) (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS modifyvm]} {[VarSub VM]} {[LIT_CHARS --ioapic]} {[LIT_CHARS on]}) (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS modifyvm]} {[VarSub VM]} {[LIT_CHARS --uart1]} {[LIT_CHARS 0x3F8]} {[LIT_CHARS 4]}) (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS modifyvm]} {[VarSub VM]} {[LIT_CHARS --uart2]} {[LIT_CHARS 0x2F8]} {[LIT_CHARS 3]}) (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS modifyvm]} {[VarSub VM]} {[LIT_CHARS --uartmode1]} {[LIT_CHARS disconnected]}) (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS modifyvm]} {[VarSub VM]} {[LIT_CHARS --uartmode2]} {[LIT_CHARS disconnected]}) ) ) (FunctionDef get_node_role [] (If (DBracket {B2 BINARY_STRING_EQUAL {[VarSub 1]} {[SQ ]}}) (Com {[LIT_CHARS echo]} {[SQ ]}) (DBracket {B2 BINARY_STRING_EQUAL {[VarSub 1]} {[SQ ]}}) (Com {[LIT_CHARS echo]} {[SQ ]}) (DBracket {B2 BINARY_STRING_EQUAL {[VarSub 1]} {[SQ ]}}) (Com {[LIT_CHARS echo]} {[SQ ]}) (DBracket {B2 BINARY_STRING_EQUAL {[VarSub 1]} {[DQ [LIT_CHARS ansible-bcpc-vm3]]}}) (Com {[LIT_CHARS echo]} {[SQ ]}) (ElseTrue) (Com {[LIT_CHARS echo]} {[SQ ]}) ) ) (FunctionDef get_node_ip [] (If (DBracket {B2 BINARY_STRING_EQUAL {[VarSub 1]} {[SQ ]}}) (Com {[LIT_CHARS echo]} {[SQ ]}) (DBracket {B2 BINARY_STRING_EQUAL {[VarSub 1]} {[SQ ]}}) (Com {[LIT_CHARS echo]} {[SQ ]}) (DBracket {B2 BINARY_STRING_EQUAL {[VarSub 1]} {[SQ ]}}) (Com {[LIT_CHARS echo]} {[SQ ]}) (DBracket {B2 BINARY_STRING_EQUAL {[VarSub 1]} {[DQ [LIT_CHARS ansible-bcpc-vm3]]}}) (Com {[LIT_CHARS echo]} {[SQ ]}) (ElseTrue) (Com {[LIT_CHARS echo]} {[SQ ]}) ) ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS -------------------------------------------]]}) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Generated below is a sample cluster.yml file"]]}) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Sample cluster.yml file:"]]}) (Com {[LIT_CHARS echo]}) (Com {[LIT_CHARS cat]} < (HereDocRedirectNode here_end='YAML_HEAD' do_expansion=True body_word={[DQ [LIT_CHARS "---\n"][LIT_CHARS "cluster_name: Test-Laptop-Ansible\n"][LIT_CHARS "nodes:\n"]]} 0), > ) (For VM [{[LIT_CHARS ansible-bcpc-bootstrap]}, {[VarSub VMS]}]) (List (= scope= flags=0 words=[] bindings=[('MAC_ADDRESS', {[ComSub (Pipeline (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS showvminfo]} {[LIT_CHARS --machinereadable]} {[VarSub VM]}) (Com {[LIT_CHARS pcregrep]} {[LIT_CHARS -o1]} {[LIT_CHARS -M]} {[SQ ]}) (Com {[VarSub SED]} {[SQ ]}) )]})]) (Com {[LIT_CHARS cat]} < (HereDocRedirectNode here_end='EoF' do_expansion=True body_word={[DQ [LIT_CHARS " "][VarSub VM][LIT_CHARS ":\n"][LIT_CHARS " domain: bcpc.example.com\n"][LIT_CHARS " hardware_type: Virtual\n"][LIT_CHARS " ip_address: "][ComSub (Com {[LIT_CHARS get_node_ip]} {[VarSub VM]})][LIT_CHARS "\n"][LIT_CHARS " ipmi_address:\n"][LIT_CHARS " mac_address: "][VarSub MAC_ADDRESS][LIT_CHARS "\n"][LIT_CHARS " role: "][ComSub (Com {[LIT_CHARS get_node_role]} {[VarSub VM]})][LIT_CHARS "\n"]]} 0), > ) ) ) )