(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:IP) op:Equal rhs:{(DQ ($ VSub_Number '$1'))} spids:[15])]
      spids: [15]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:ENVIRONMENT)
          op: Equal
          rhs: {(DQ ($ VSub_Number '$2'))}
          spids: [20]
        )
      ]
      spids: [20]
    )
    (C {(echo)} {(DQ ('initial configuration of ') ($ VSub_Name '$IP'))})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:SCPCMD)
          op: Equal
          rhs: {(DQ ('./nodescp    ') ($ VSub_Name '$ENVIRONMENT') (' ') ($ VSub_Name '$IP'))}
          spids: [33]
        )
      ]
      spids: [33]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:SSHCMD)
          op: Equal
          rhs: {(DQ ('./nodessh.sh ') ($ VSub_Name '$ENVIRONMENT') (' ') ($ VSub_Name '$IP'))}
          spids: [41]
        )
      ]
      spids: [41]
    )
    (C {(echo)} {(DQ ('Checking for Chef ...'))})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:CHEF)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [(C {($ VSub_Name '$SSHCMD')} {(DQ ('which chef-client || true'))})]
                  )
                left_token: <Left_Backtick '`'>
                spids: [58 64]
              )
            }
          spids: [57]
        )
      ]
      spids: [57]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (DBracket expr:(BoolUnary op_id:BoolUnary_z child:{(DQ ($ VSub_Name '$CHEF'))}))
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(echo)} {(DQ ('copy files...'))})
            (C {($ VSub_Name '$SCPCMD')} {(zap-ceph-disks.sh)} {(/home/ubuntu)})
            (C {($ VSub_Name '$SCPCMD')} {(cookbooks/bcpc/files/default/bins/chef-client.deb)} 
              {(/home/ubuntu)}
            )
            (C {($ VSub_Name '$SCPCMD')} {(install-chef.sh)} {(/home/ubuntu)})
            (C {($ VSub_Name '$SCPCMD')} {(finish-worker.sh)} {(/home/ubuntu)})
            (C {($ VSub_Name '$SCPCMD')} {(finish-head.sh)} {(/home/ubuntu)})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (CommandSubPart
                                      command_list: 
                                        (CommandList
                                          children: [
                                            (Sentence
                                              child: 
                                                (SimpleCommand
                                                  words: [{(source)} {(proxy_setup.sh)}]
                                                  redirects: [
                                                    (Redir
                                                      op_id: Redir_Great
                                                      fd: 16777215
                                                      arg_word: {(/dev/null)}
                                                      spids: [139]
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                            (C {(echo)} {($ VSub_Name '$PROXY')})
                                          ]
                                        )
                                      left_token: <Left_CommandSub '$('>
                                      spids: [134 146]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:PROXY)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Sentence
                                        child: 
                                          (SimpleCommand
                                            words: [{(source)} {(proxy_setup.sh)}]
                                            redirects: [
                                              (Redir
                                                op_id: Redir_Great
                                                fd: 16777215
                                                arg_word: {(/dev/null)}
                                                spids: [161]
                                              )
                                            ]
                                          )
                                        terminator: <Op_Semi ';'>
                                      )
                                      (C {(echo)} {($ VSub_Name '$PROXY')})
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [156 168]
                              )
                            }
                          spids: [155]
                        )
                      ]
                      spids: [155]
                    )
                    (C {(echo)} {(DQ ("setting up .wgetrc's to ") ($ VSub_Name '$PROXY'))})
                    (C {($ VSub_Name '$SSHCMD')} 
                      {
                        (DQ ('echo ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                          ('http_proxy = http://') ($ VSub_Name '$PROXY') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' > .wgetrc')
                        )
                      }
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (BoolUnary
                                      op_id: BoolUnary_n
                                      child: {(DQ ($ VSub_Name '$APTPROXY'))}
                                    )
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (SimpleCommand
                              words: [
                                {(echo)}
                                {
                                  (DQ ('Acquire::http::Proxy ') 
                                    (EscapedLiteralPart
                                      token: <Lit_EscapedChar '\\"'>
                                    ) ('http://') (${ VSub_Name APTPROXY) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (';')
                                  )
                                }
                              ]
                              redirects: [
                                (Redir
                                  op_id: Redir_Great
                                  fd: 16777215
                                  arg_word: {(/tmp/apt.conf)}
                                  spids: [225]
                                )
                              ]
                            )
                            (C {($ VSub_Name '$SCPCMD')} {(/tmp/apt.conf)} {(/tmp)})
                            (C {($ VSub_Name '$SSHCMD')} {(DQ ('mv /tmp/apt.conf /etc/apt/apt.conf'))} 
                              {(sudo)}
                            )
                          ]
                          spids: [16777215 209]
                        )
                      ]
                      spids: [16777215 246]
                    )
                  ]
                  spids: [16777215 152]
                )
              ]
              spids: [16777215 249]
            )
            (C {(echo)} {(DQ ('setup chef'))})
            (C {($ VSub_Name '$SSHCMD')} {(DQ (/home/ubuntu/install-chef.sh))} {(sudo)})
          ]
          spids: [16777215 80]
        )
      ]
      else_action: [(C {(echo)} {(DQ ('Chef is installed as ') ($ VSub_Name '$CHEF'))})]
      spids: [268 278]
    )
    (C {(echo)} {(DQ ('zap disks'))})
    (C {($ VSub_Name '$SSHCMD')} {(DQ (/home/ubuntu/zap-ceph-disks.sh))} {(sudo)})
    (C {(echo)} {(DQ ('temporarily adjust system time to avoid time skew related failures'))})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:GOODDATE)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: (CommandList children:[(C {(date)})])
                left_token: <Left_Backtick '`'>
                spids: [303 305]
              )
            }
          spids: [302]
        )
      ]
      spids: [302]
    )
    (C {($ VSub_Name '$SSHCMD')} {(DQ ("date -s '") ($ VSub_Name '$GOODDATE') ("'"))} {(sudo)})
    (C {(echo)} {(DQ (done.))})
  ]
)