(CommandList children: [ (C {(set)} {(-e)}) (C {(.)} {($ VSub_Name "$REPO_ROOT") (/bootstrap/shared/shared_functions.sh)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:REQUIRED_VARS) op: Equal rhs: { (ArrayLiteralPart words: [ {(BOOTSTRAP_CHEF_DO_CONVERGE)} {(BOOTSTRAP_CHEF_ENV)} {(BCPC_HYPERVISOR_DOMAIN)} {(FILECACHE_MOUNT_POINT)} {(REPO_MOUNT_POINT)} {(REPO_ROOT)} ] ) } spids: [17] ) ] spids: [17] ) (C {(check_for_envvars)} { (BracedVarSub token: <VSub_Name REQUIRED_VARS> bracket_op: (WholeArray op_id:Lit_At) spids: [36 41] ) } ) (C {(cd)} {($ VSub_Name "$REPO_ROOT") (/bootstrap/vagrant_scripts)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KNIFE) op: Equal rhs: {(/opt/opscode/embedded/bin/knife)} spids: [76] ) ] spids: [76] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id:BoolUnary_n child:{(DQ ($ VSub_Name "$CHEF_SERVER_DEB"))}) ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:debpath) op: Equal rhs: { (DQ ($ VSub_Name "$FILECACHE_MOUNT_POINT") (/) ($ VSub_Name "$CHEF_SERVER_DEB")) } spids: [102] ) ] spids: [102] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CHEF_SERVER_INSTALL_CMD) op: Equal rhs: {(DQ ("sudo dpkg -i ") ($ VSub_Name "$debpath"))} spids: [110] ) ] spids: [110] ) ] spids: [-1 99] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CHEF_SERVER_INSTALL_CMD) op: Equal rhs: { (DQ ("sudo dpkg -i ") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("(find ") ($ VSub_Name "$FILECACHE_MOUNT_POINT") ("/ -name chef-server") (EscapedLiteralPart token:<Lit_EscapedChar "\\*">) ("deb -not -name ") (EscapedLiteralPart token:<Lit_EscapedChar "\\*">) ("downloaded | tail -1)") ) } spids: [119] ) ] spids: [119] ) ] spids: [116 132] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id:BoolUnary_n child:{(DQ ($ VSub_Name "$CHEF_CLIENT_DEB"))}) ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:debpath) op: Equal rhs: { (DQ ($ VSub_Name "$FILECACHE_MOUNT_POINT") (/) ($ VSub_Name "$CHEF_CLIENT_DEB")) } spids: [150] ) ] spids: [150] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CHEF_CLIENT_INSTALL_CMD) op: Equal rhs: {(DQ ("sudo dpkg -i ") ($ VSub_Name "$debpath"))} spids: [158] ) ] spids: [158] ) ] spids: [-1 147] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CHEF_CLIENT_INSTALL_CMD) op: Equal rhs: { (DQ ("sudo dpkg -i ") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("(find ") ($ VSub_Name "$FILECACHE_MOUNT_POINT") ("/ -name chef_") (EscapedLiteralPart token:<Lit_EscapedChar "\\*">) ("deb -not -name ") (EscapedLiteralPart token:<Lit_EscapedChar "\\*">) ("downloaded | tail -1)") ) } spids: [167] ) ] spids: [167] ) ] spids: [164 180] ) (C {(unset)} {(debpath)}) (C {(do_on_node)} {(vm-bootstrap)} { (DQ ($ VSub_Name "$CHEF_SERVER_INSTALL_CMD") (" ") (" && sudo sh -c ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ("echo nginx[") (EscapedLiteralPart token:<Lit_EscapedChar "\\'">) (non_ssl_port) (EscapedLiteralPart token:<Lit_EscapedChar "\\'">) ("] = 4000 > /etc/opscode/chef-server.rb") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" ") (" && sudo chef-server-ctl reconfigure ") ( " && sudo chef-server-ctl user-create admin admin admin admin@localhost.com welcome --filename /etc/opscode/admin.pem " ) ( " && sudo chef-server-ctl org-create bcpc BCPC --association admin --filename /etc/opscode/bcpc-validator.pem " ) (" && sudo chmod 0644 /etc/opscode/admin.pem /etc/opscode/bcpc-validator.pem ") (" && ") ($ VSub_Name "$CHEF_CLIENT_INSTALL_CMD") ) } ) (C {(do_on_node)} {(vm-bootstrap)} { (DQ ("mkdir -p ") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("HOME/.chef && echo -e ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ("chef_server_url 'https://bcpc-vm-bootstrap.") ($ VSub_Name "$BCPC_HYPERVISOR_DOMAIN") ("/organizations/bcpc'") (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) (EscapedLiteralPart token:<Lit_EscapedChar "\\n">) ("validation_client_name 'bcpc-validator'") (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) (EscapedLiteralPart token:<Lit_EscapedChar "\\n">) ("validation_key '/etc/opscode/bcpc-validator.pem'") (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) (EscapedLiteralPart token:<Lit_EscapedChar "\\n">) ("node_name 'admin'") (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) (EscapedLiteralPart token:<Lit_EscapedChar "\\n">) ("client_key '/etc/opscode/admin.pem'") (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) (EscapedLiteralPart token:<Lit_EscapedChar "\\n">) ("knife['editor'] = 'vim'") (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) (EscapedLiteralPart token:<Lit_EscapedChar "\\n">) ("cookbook_path [ ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ("#{ENV['HOME']}/chef-bcpc/cookbooks") (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" ]") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" > ") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("HOME/.chef/knife.rb ") (" && ") ($ VSub_Name "$KNIFE") (" ssl fetch ") (" && ") ($ VSub_Name "$KNIFE") (" bootstrap -x vagrant -P vagrant --sudo 10.0.100.3") ) } ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:vms) op:Equal rhs:{(DQ ("vm1 vm2 vm3"))} spids:[274])] spids: [274] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {($ VSub_Name "$MONITORING_NODES")} {(-gt)} {(0)} {(Lit_Other "]")}) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:i) op:Equal rhs:{(1)} spids:[295])] spids: [295] ) (While cond: [ (Sentence child: (C {(Lit_Other "[")} {($ VSub_Name "$i")} {(-le)} {($ VSub_Name "$MONITORING_NODES")} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) ] body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:mon_vm) op: Equal rhs: { (DQ (vm) (CommandSubPart command_list: (CommandList children: [ (C {(expr)} {(3)} {(Lit_Other "+")} {($ VSub_Name "$i")}) ] ) left_token: <Left_Backtick "`"> spids: [318 326] ) ) } spids: [315] ) ] spids: [315] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:mon_vms) op: Equal rhs: {(DQ ($ VSub_Name "$mon_vms") (" ") ($ VSub_Name "$mon_vm"))} spids: [330] ) ] spids: [330] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:i) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(expr)} {($ VSub_Name "$i")} {(Lit_Other "+")} {(1)}) ] ) left_token: <Left_Backtick "`"> spids: [339 347] ) } spids: [338] ) ] spids: [338] ) ] spids: [312 350] ) ) ] spids: [-1 292] ) ] spids: [-1 352] ) (C {(do_on_node)} {(vm-bootstrap)} { (DQ ("sudo /opt/opscode/embedded/bin/gem install ") ($ VSub_Name "$FILECACHE_MOUNT_POINT") ("/knife-acl-1.0.2.gem ") (" && rsync -a ") ($ VSub_Name "$REPO_MOUNT_POINT") ("/* ") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("HOME/chef-bcpc ") (" && cp ") ($ VSub_Name "$FILECACHE_MOUNT_POINT") ("/cookbooks/*.tar.gz ") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("HOME/chef-bcpc/cookbooks ") (" && cd ") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("HOME/chef-bcpc/cookbooks && ls -1 *.tar.gz | xargs -I% tar xvzf %") ) } ) (C {(do_on_node)} {(vm-bootstrap)} { (DQ ("sudo apt-get update ") (" && cd ") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("HOME/chef-bcpc ") (" && sudo bash -c 'export FILECACHE_MOUNT_POINT=") ($ VSub_Name "$FILECACHE_MOUNT_POINT") (" ") (" && source ") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("HOME/proxy_config.sh && bootstrap/shared/shared_build_bins.sh'") ) } ) (C {(do_on_node)} {(vm-bootstrap)} { (DQ ($ VSub_Name "$KNIFE") (" cookbook upload -a ") (" && cd ") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("HOME/chef-bcpc/roles && ") ($ VSub_Name "$KNIFE") (" role from file *.json ") (" && cd ") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("HOME/chef-bcpc/environments && ") ($ VSub_Name "$KNIFE") (" environment from file ") ($ VSub_Name "$BOOTSTRAP_CHEF_ENV") (.json) ) } ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:i) op:Equal rhs:{(1)} spids:[448])] spids: [448] ) (ForEach iter_name: vm iter_words: [{($ VSub_Name "$vms")} {($ VSub_Name "$mon_vms")}] do_arg_iter: False body: (DoGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_z child: {(DQ ($ VSub_Name "$CHEF_CLIENT_DEB"))} ) ) terminator: <Op_Semi ";"> ) ] action: [ (C {(echo)} { (DQ ("Installing latest chef-client found in ") ($ VSub_Name "$vm") (":") ($ VSub_Name "$FILECACHE_MOUNT_POINT") ) } ) ] spids: [-1 482] ) ] spids: [-1 495] ) (C {(do_on_node)} {($ VSub_Name "$vm")} {(DQ ($ VSub_Name "$CHEF_CLIENT_INSTALL_CMD"))}) (C {(do_on_node)} {(vm-bootstrap)} { (DQ ($ VSub_Name "$KNIFE") (" bootstrap -x vagrant -P vagrant --sudo 10.0.100.1") (${ VSub_Name i) ) } ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:i) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(expr)} {($ VSub_Name "$i")} {(Lit_Other "+")} {(1)})] ) left_token: <Left_Backtick "`"> spids: [521 529] ) } spids: [520] ) ] spids: [520] ) ] spids: [462 531] ) spids: [456 460] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:ENVIRONMENT_SET) op:Equal rhs:{(DQ )} spids:[537])] spids: [537] ) (ForEach iter_name: vm iter_words: [{(vm-bootstrap)} {($ VSub_Name "$vms")} {($ VSub_Name "$mon_vms")}] do_arg_iter: False body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ENVIRONMENT_SET) op: Equal rhs: { (DQ ($ VSub_Name "$ENVIRONMENT_SET") (" ") ($ VSub_Name "$KNIFE") (" node environment set bcpc-") ($ VSub_Name "$vm") (.) ($ VSub_Name "$BCPC_HYPERVISOR_DOMAIN") (" ") ($ VSub_Name "$BOOTSTRAP_CHEF_ENV") (" && ") ) } spids: [557] ) ] spids: [557] ) ] spids: [554 571] ) spids: [546 552] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ENVIRONMENT_SET) op: Equal rhs: {(DQ ($ VSub_Name "$ENVIRONMENT_SET") (" :"))} spids: [573] ) ] spids: [573] ) (C {(do_on_node)} {(vm-bootstrap)} {($ VSub_Name "$ENVIRONMENT_SET")}) (C {(do_on_node)} {(vm-bootstrap)} { (DQ ($ VSub_Name "$KNIFE") (" node run_list set bcpc-vm-bootstrap.") ($ VSub_Name "$BCPC_HYPERVISOR_DOMAIN") (" 'role[BCPC-Hardware-Virtual],role[BCPC-Bootstrap]' ") (" && ") ($ VSub_Name "$KNIFE") (" node run_list set bcpc-vm1.") ($ VSub_Name "$BCPC_HYPERVISOR_DOMAIN") (" 'role[BCPC-Hardware-Virtual],role[BCPC-Headnode]' ") (" && ") ($ VSub_Name "$KNIFE") (" node run_list set bcpc-vm2.") ($ VSub_Name "$BCPC_HYPERVISOR_DOMAIN") (" 'role[BCPC-Hardware-Virtual],role[BCPC-Worknode]' ") (" && ") ($ VSub_Name "$KNIFE") (" node run_list set bcpc-vm3.") ($ VSub_Name "$BCPC_HYPERVISOR_DOMAIN") (" 'role[BCPC-Hardware-Virtual],role[BCPC-EphemeralWorknode]'") ) } ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:ADMIN_SET) op:Equal rhs:{(DQ ("true && "))} spids:[619])] spids: [619] ) (ForEach iter_name: vm iter_words: [{(vm-bootstrap)} {(vm1)} {($ VSub_Name "$mon_vms")}] do_arg_iter: False body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ADMIN_SET) op: Equal rhs: { (DQ ($ VSub_Name "$ADMIN_SET") (" ") ($ VSub_Name "$KNIFE") (" group add client bcpc-") ($ VSub_Name "$vm") (.) ($ VSub_Name "$BCPC_HYPERVISOR_DOMAIN") (" admins && ") ) } spids: [640] ) ] spids: [640] ) ] spids: [637 652] ) spids: [629 635] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ADMIN_SET) op: Equal rhs: {(DQ ($ VSub_Name "$ADMIN_SET") (" :"))} spids: [654] ) ] spids: [654] ) (C {(do_on_node)} {(vm-bootstrap)} {($ VSub_Name "$ADMIN_SET")}) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_eq left: {($ VSub_Name "$BOOTSTRAP_CHEF_DO_CONVERGE")} right: {(0)} ) ) terminator: <Op_Semi ";"> ) ] action: [ (ForEach iter_name: vm iter_words: [{($ VSub_Name "$mon_vms")}] do_arg_iter: False body: (DoGroup children: [ (C {(do_on_node)} {(vm-bootstrap)} { (DQ ($ VSub_Name "$KNIFE") (" node run_list set bcpc-") ($ VSub_Name "$vm") (.) ($ VSub_Name "$BCPC_HYPERVISOR_DOMAIN") (" 'role[BCPC-Monitoring]'") ) } ) ] spids: [701 718] ) spids: [697 699] ) (C {(echo)} {(DQ ("BOOTSTRAP_CHEF_DO_CONVERGE is set to 0, skipping automatic convergence."))} ) (C {(exit)} {(0)}) ] spids: [-1 689] ) ] else_action: [ (C {(do_on_node)} {(vm-bootstrap)} {(DQ ("sudo chef-client"))}) (ForEach iter_name: vm iter_words: [{($ VSub_Name "$vms")}] do_arg_iter: False body: (DoGroup children: [(C {(do_on_node)} {($ VSub_Name "$vm")} {(DQ ("sudo chef-client"))})] spids: [757 769] ) spids: [753 755] ) (C {(do_on_node)} {(vm1)} {(DQ ("sudo chef-client"))}) (ForEach iter_name: vm iter_words: [{($ VSub_Name "$vms")}] do_arg_iter: False body: (DoGroup children: [(C {(do_on_node)} {($ VSub_Name "$vm")} {(DQ ("sudo hup_openstack || true"))})] spids: [798 810] ) spids: [794 796] ) (ForEach iter_name: vm iter_words: [{($ VSub_Name "$mon_vms")}] do_arg_iter: False body: (DoGroup children: [ (C {(do_on_node)} {(vm-bootstrap)} { (DQ ($ VSub_Name "$KNIFE") (" node run_list set bcpc-") ($ VSub_Name "$vm") (.) ($ VSub_Name "$BCPC_HYPERVISOR_DOMAIN") (" 'role[BCPC-Monitoring]'") ) } ) (C {(do_on_node)} {($ VSub_Name "$vm")} {(DQ ("sudo chef-client"))}) ] spids: [826 852] ) spids: [822 824] ) (ForEach iter_name: vm iter_words: [ { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {($ VSub_Name "$mon_vms")}) (C {(awk)} {(SQ <"{$NF=\"\"}1">)}) ] negated: False ) ] ) left_token: <Left_CommandSub "$("> spids: [865 877] ) } ] do_arg_iter: False body: (DoGroup children: [(C {(do_on_node)} {($ VSub_Name "$vm")} {(DQ ("sudo chef-client"))})] spids: [880 892] ) spids: [864 878] ) ] spids: [732 894] ) ] )