(CommandList
  children: [
    (FuncDef
      name: enable-accounting
      body: 
        (BraceGroup
          children: [
            (C {(mkdir)} {(-p)} {(/etc/systemd/system.conf.d/)})
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: 16777215
                  body: 
                    {
                      (DQ ('[Manager]\n') ('DefaultCPUAccounting=yes\n') 
                        ('DefaultMemoryAccounting=yes\n')
                      )
                    }
                  do_expansion: True
                  here_end: EOF
                  was_filled: True
                  spids: [62]
                )
                (Redir
                  op_id: Redir_Great
                  fd: 16777215
                  arg_word: {(/etc/systemd/system.conf.d/kubernetes-accounting.conf)}
                  spids: [65]
                )
              ]
            )
            (C {(systemctl)} {(daemon-reload)})
          ]
          spids: [50]
        )
      spids: [44 49]
    )
    (FuncDef
      name: prepare-package-manager
      body: 
        (BraceGroup
          children: [
            (C {(echo)} {(DQ ('Prepare package manager'))})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$CUSTOM_FEDORA_REPOSITORY_URL'))} 
                          {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(echo)} {(DQ ('fastestmirror=True'))}]
                      redirects: [
                        (Redir
                          op_id: Redir_DGreat
                          fd: 16777215
                          arg_word: {(/etc/dnf/dnf.conf)}
                          spids: [123]
                        )
                      ]
                    )
                  ]
                  spids: [16777215 114]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:CUSTOM_FEDORA_REPOSITORY_URL)
                      op: Equal
                      rhs: 
                        {
                          (DQ 
                            (BracedVarSub
                              token: <VSub_Name CUSTOM_FEDORA_REPOSITORY_URL>
                              suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(Lit_Slash /)})
                              spids: [137 141]
                            )
                          )
                        }
                      spids: [135]
                    )
                  ]
                  spids: [135]
                )
                (C {(sed)} {(-i)} {(-e)} {(DQ ('/^metalink=/d'))} 
                  {(/etc/yum.repos.d/) (Lit_Other '*') (.repo)}
                )
                (C {(sed)} {(-i)} {(-e)} 
                  {
                    (DQ ('s@^#baseurl=http://download.fedoraproject.org/pub/fedora@baseurl=') 
                      ($ VSub_Name '$CUSTOM_FEDORA_REPOSITORY_URL') ('@')
                    )
                  } {(/etc/yum.repos.d/) (Lit_Other '*') (.repo)}
                )
              ]
              spids: [128 177]
            )
          ]
          spids: [86]
        )
      spids: [80 85]
    )
    (FuncDef
      name: add-volume-support
      body: 
        (BraceGroup
          children: [
            (C {(echo)} {(DQ ('Adding nfs volume support'))})
            (C {(dnf)} {(install)} {(-y)} {(nfs-utils)})
          ]
          spids: [189]
        )
      spids: [183 188]
    )
    (FuncDef
      name: write-salt-config
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:role)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number '$1'))}
                  spids: [226]
                )
              ]
              spids: [224]
            )
            (C {(mkdir)} {(-p)} {(/etc/salt/minion.d)})
            (C {(mkdir)} {(-p)} {(/srv/salt-overlay/pillar)})
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: 16777215
                  body: 
                    {
                      (DQ ("service_cluster_ip_range: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ ($ VSub_Name '$SERVICE_CLUSTER_IP_RANGE'))})
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [261 277]
                        ) ("'\n") ("cert_ip: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ ($ VSub_Name '$MASTER_IP'))})
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [280 296]
                        ) ("'\n") ("enable_cluster_monitoring: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ ($ VSub_Name '$ENABLE_CLUSTER_MONITORING'))})
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [299 315]
                        ) ("'\n") ("enable_cluster_logging: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ ($ VSub_Name '$ENABLE_CLUSTER_LOGGING'))})
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [318 334]
                        ) ("'\n") ("enable_cluster_ui: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ ($ VSub_Name '$ENABLE_CLUSTER_UI'))})
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [337 353]
                        ) ("'\n") ("enable_node_logging: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ ($ VSub_Name '$ENABLE_NODE_LOGGING'))})
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [356 372]
                        ) ("'\n") ("logging_destination: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ ($ VSub_Name '$LOGGING_DESTINATION'))})
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [375 391]
                        ) ("'\n") ("elasticsearch_replicas: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ ($ VSub_Name '$ELASTICSEARCH_LOGGING_REPLICAS'))})
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [394 410]
                        ) ("'\n") ("enable_cluster_dns: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ ($ VSub_Name '$ENABLE_CLUSTER_DNS'))})
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [413 429]
                        ) ("'\n") ("dns_server: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ ($ VSub_Name '$DNS_SERVER_IP'))})
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [432 448]
                        ) ("'\n") ("dns_domain: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ ($ VSub_Name '$DNS_DOMAIN'))})
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [451 467]
                        ) ("'\n") ("instance_prefix: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ ($ VSub_Name '$INSTANCE_PREFIX'))})
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [470 486]
                        ) ("'\n") ("admission_control: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ ($ VSub_Name '$ADMISSION_CONTROL'))})
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [489 505]
                        ) ("'\n") ("enable_cpu_cfs_quota: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ ($ VSub_Name '$ENABLE_CPU_CFS_QUOTA'))})
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [508 524]
                        ) ("'\n") ("network_provider: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ ($ VSub_Name '$NETWORK_PROVIDER'))})
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [527 543]
                        ) ("'\n") ("cluster_cidr: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ ($ VSub_Name '$CLUSTER_IP_RANGE'))})
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [546 562]
                        ) ("'\n") ("opencontrail_tag: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ ($ VSub_Name '$OPENCONTRAIL_TAG'))})
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [565 581]
                        ) ("'\n") ("opencontrail_kubernetes_tag: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ ($ VSub_Name '$OPENCONTRAIL_KUBERNETES_TAG'))})
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [584 600]
                        ) ("'\n") ("opencontrail_public_subnet: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ ($ VSub_Name '$OPENCONTRAIL_PUBLIC_SUBNET'))})
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [603 619]
                        ) ("'\n") ("e2e_storage_test_environment: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ ($ VSub_Name '$E2E_STORAGE_TEST_ENVIRONMENT'))})
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [622 638]
                        ) ("'\n") ("enable_hostpath_provisioner: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ ($ VSub_Name '$ENABLE_HOSTPATH_PROVISIONER'))})
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [641 657]
                        ) ("'\n")
                      )
                    }
                  do_expansion: True
                  here_end: EOF
                  was_filled: True
                  spids: [254]
                )
                (Redir
                  op_id: Redir_Great
                  fd: 16777215
                  arg_word: {(/srv/salt-overlay/pillar/cluster-params.sls)}
                  spids: [257]
                )
              ]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-n)} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name EVICTION_HARD>
                                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                spids: [668 671]
                              )
                            )
                          } {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: 16777215
                          body: 
                            {
                              (DQ ("eviction_hard: '") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (Pipeline
                                          children: [
                                            (C {(echo)} {(DQ (${ VSub_Name EVICTION_HARD))})
                                            (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                          ]
                                          negated: False
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [689 707]
                                ) ("'\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [682]
                        )
                        (Redir
                          op_id: Redir_DGreat
                          fd: 16777215
                          arg_word: {(/srv/salt-overlay/pillar/cluster-params.sls)}
                          spids: [685]
                        )
                      ]
                    )
                  ]
                  spids: [16777215 677]
                )
              ]
              spids: [16777215 710]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: 16777215
                  body: {(DQ ('log_level: warning\n') ('log_level_logfile: warning\n'))}
                  do_expansion: True
                  here_end: EOF
                  was_filled: True
                  spids: [716]
                )
                (Redir
                  op_id: Redir_Great
                  fd: 16777215
                  arg_word: {(/etc/salt/minion.d/log-level-debug.conf)}
                  spids: [719]
                )
              ]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: 16777215
                  body: 
                    {
                      (DQ ('grains:\n') ("  node_ip: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ ($ VSub_Name '$MASTER_IP'))})
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [737 753]
                        ) ("'\n") ("  publicAddressOverride: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ ($ VSub_Name '$MASTER_IP'))})
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [756 772]
                        ) ("'\n") ('  network_mode: openvswitch\n') ("  networkInterfaceName: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ ($ VSub_Name '$NETWORK_IF_NAME'))})
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [776 792]
                        ) ("'\n") ("  api_servers: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ ($ VSub_Name '$MASTER_IP'))})
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [795 811]
                        ) ("'\n") ('  kubelet_kubeconfig: /srv/salt-overlay/salt/kubelet/kubeconfig\n') ('  cloud: vagrant\n') 
                        ('  roles:\n') ('    - ') ($ VSub_Name '$role') ('\n') ("  runtime_config: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ ($ VSub_Name '$RUNTIME_CONFIG'))})
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [820 836]
                        ) ("'\n") ("  docker_opts: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ ($ VSub_Name '$DOCKER_OPTS'))})
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [839 855]
                        ) ("'\n") ("  master_extra_sans: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ ($ VSub_Name '$MASTER_EXTRA_SANS'))})
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [858 874]
                        ) ("'\n") ('  keep_host_etcd: true\n') ("  kube_user: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ ($ VSub_Name '$KUBE_USER'))})
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [878 894]
                        ) ("'\n")
                      )
                    }
                  do_expansion: True
                  here_end: EOF
                  was_filled: True
                  spids: [729]
                )
                (Redir
                  op_id: Redir_Great
                  fd: 16777215
                  arg_word: {(/etc/salt/minion.d/grains.conf)}
                  spids: [732]
                )
              ]
            )
          ]
          spids: [221]
        )
      spids: [215 220]
    )
    (FuncDef
      name: release_not_found
      body: 
        (BraceGroup
          children: [
            (SimpleCommand
              words: [
                {(echo)}
                {(DQ ("It looks as if you don't have a compiled version of Kubernetes.  If you"))}
              ]
              redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[915])]
            )
            (SimpleCommand
              words: [
                {(echo)}
                {(DQ ("are running from a clone of the git repo, please run 'make quick-release'."))}
              ]
              redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[925])]
            )
            (SimpleCommand
              words: [
                {(echo)}
                {(DQ ('Note that this requires having Docker installed.  If you are running '))}
              ]
              redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[935])]
            )
            (SimpleCommand
              words: [{(echo)} {(DQ ('from a release tarball, something is wrong.  Look at '))}]
              redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[945])]
            )
            (SimpleCommand
              words: [
                {(echo)}
                {
                  (DQ 
                    (
'http://kubernetes.io/ for information on how to contact the development team for help.'
                    )
                  )
                }
              ]
              redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[955])]
            )
            (C {(exit)} {(1)})
          ]
          spids: [906]
        )
      spids: [900 905]
    )
    (FuncDef
      name: install-salt
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:server_binary_tar)
                  op: Equal
                  rhs: {(DQ (/vagrant/server/kubernetes-server-linux-amd64.tar.gz))}
                  spids: [975]
                )
              ]
              spids: [975]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (LogicalNot
                              child: 
                                (BoolUnary
                                  op_id: BoolUnary_f
                                  child: {(DQ ($ VSub_Name '$server_binary_tar'))}
                                )
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:server_binary_tar)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (
/vagrant/_output/release-tars/kubernetes-server-linux-amd64.tar.gz
                                )
                              )
                            }
                          spids: [999]
                        )
                      ]
                      spids: [999]
                    )
                  ]
                  spids: [16777215 996]
                )
              ]
              spids: [16777215 1005]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (LogicalNot
                              child: 
                                (BoolUnary
                                  op_id: BoolUnary_f
                                  child: {(DQ ($ VSub_Name '$server_binary_tar'))}
                                )
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(release_not_found)})]
                  spids: [16777215 1023]
                )
              ]
              spids: [16777215 1029]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:salt_tar)
                  op: Equal
                  rhs: {(DQ (/vagrant/server/kubernetes-salt.tar.gz))}
                  spids: [1033]
                )
              ]
              spids: [1033]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (LogicalNot
                              child: 
                                (BoolUnary
                                  op_id: BoolUnary_f
                                  child: {(DQ ($ VSub_Name '$salt_tar'))}
                                )
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:salt_tar)
                          op: Equal
                          rhs: {(DQ (/vagrant/_output/release-tars/kubernetes-salt.tar.gz))}
                          spids: [1057]
                        )
                      ]
                      spids: [1057]
                    )
                  ]
                  spids: [16777215 1054]
                )
              ]
              spids: [16777215 1063]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (LogicalNot
                              child: 
                                (BoolUnary
                                  op_id: BoolUnary_f
                                  child: {(DQ ($ VSub_Name '$salt_tar'))}
                                )
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(release_not_found)})]
                  spids: [16777215 1081]
                )
              ]
              spids: [16777215 1087]
            )
            (C {(echo)} {(DQ ('Running release install script'))})
            (C {(rm)} {(-rf)} {(/kube-install)})
            (C {(mkdir)} {(-p)} {(/kube-install)})
            (C {(pushd)} {(/kube-install)})
            (C {(tar)} {(xzf)} {(DQ ($ VSub_Name '$salt_tar'))})
            (C {(cp)} {(DQ ($ VSub_Name '$server_binary_tar'))} {(.)})
            (C {(./kubernetes/saltbase/install.sh)} 
              {
                (DQ 
                  (BracedVarSub
                    token: <VSub_Name server_binary_tar>
                    suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{('*') (Lit_Slash /)})
                    spids: [1138 1143]
                  )
                )
              }
            )
            (C {(popd)})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (Pipeline
                          children: [
                            (SimpleCommand
                              words: [{(which)} {(salt-call)}]
                              redirects: [
                                (Redir
                                  op_id: Redir_Great
                                  fd: 16777215
                                  arg_word: {(/dev/null)}
                                  spids: [1159]
                                )
                                (Redir
                                  op_id: Redir_GreatAnd
                                  fd: 2
                                  arg_word: {(1)}
                                  spids: [1162]
                                )
                              ]
                            )
                          ]
                          negated: True
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(dnf)} {(config-manager)} {(--set-enabled)} {(updates-testing)})
                    (C {(dnf)} {(install)} {(-y)} {(salt-minion)})
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:fedora_version)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(grep)} {(SQ <VERSION_ID>)} {(/etc/os-release)})
                                          (C {(sed)} {(SQ <'s+VERSION_ID=++'>)})
                                        ]
                                        negated: False
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [1219 1235]
                              )
                            }
                          spids: [1218]
                        )
                      ]
                      spids: [1216]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (BoolBinary
                                      op_id: BoolBinary_GlobEqual
                                      left: {(DQ (${ VSub_Name fedora_version))}
                                      right: {(SQ <23>)}
                                    )
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:repo_file)
                                  op: Equal
                                  rhs: {(SQ </etc/yum.repos.d/saltstack-salt-fedora-23.repo>)}
                                  spids: [1262]
                                )
                              ]
                              spids: [1260]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DBracket
                                          expr: 
                                            (BoolUnary
                                              op_id: BoolUnary_f
                                              child: {(DQ (${ VSub_Name repo_file))}
                                            )
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [(C {(rm)} {(DQ (${ VSub_Name repo_file))})]
                                  spids: [16777215 1283]
                                )
                              ]
                              spids: [16777215 1295]
                            )
                          ]
                          spids: [16777215 1257]
                        )
                      ]
                      spids: [16777215 1298]
                    )
                  ]
                  spids: [16777215 1166]
                )
              ]
              spids: [16777215 1302]
            )
          ]
          spids: [972]
        )
      spids: [966 971]
    )
    (FuncDef
      name: run-salt
      body: 
        (BraceGroup
          children: [
            (C {(echo)} 
              {(DQ ('  Now waiting for the Salt provisioning process to complete on this machine.'))}
            )
            (C {(echo)} {(DQ ('  This can take some time based on your network, disk, and cpu speed.'))})
            (C {(salt-call)} {(--local)} {(state.highstate)})
          ]
          spids: [1313]
        )
      spids: [1307 1312]
    )
    (FuncDef
      name: create-salt-kubelet-auth
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              flags: [-r]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:kubelet_kubeconfig_folder)
                  op: Equal
                  rhs: {(DQ (/srv/salt-overlay/salt/kubelet))}
                  spids: [1352]
                )
              ]
              spids: [1348]
            )
            (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name kubelet_kubeconfig_folder))})
            (Subshell
              child: 
                (CommandList
                  children: [
                    (Sentence
                      child: (C {(umask)} {(077)})
                      terminator: <Op_Semi ';'>
                    )
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: 16777215
                          arg_word: {(DQ (${ VSub_Name kubelet_kubeconfig_folder) (/kubeconfig))}
                          spids: [1378]
                        )
                        (HereDoc
                          op_id: Redir_DLess
                          fd: 16777215
                          body: 
                            {
                              (DQ ('apiVersion: v1\n') ('kind: Config\n') ('clusters:\n') 
                                ('- cluster:\n') ('    server: ') (Right_DoubleQuote '"') ('https://') (${ VSub_Name MASTER_IP) (Right_DoubleQuote '"') 
                                ('\n') ('    insecure-skip-tls-verify: true\n') ('  name: local\n') ('contexts:\n') ('- context:\n') 
                                ('    cluster: local\n') ('    user: kubelet\n') ('  name: service-account-context\n') 
                                ('current-context: service-account-context\n') ('users:\n') ('- name: kubelet\n') ('  user:\n') ('    token: ') (${ VSub_Name KUBELET_TOKEN) ('\n')
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [1387]
                        )
                      ]
                    )
                  ]
                )
              spids: [1369 1421]
            )
          ]
          spids: [1345]
        )
      spids: [1339 1344]
    )
    (FuncDef
      name: create-salt-kubeproxy-auth
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:kube_proxy_kubeconfig_folder)
                  op: Equal
                  rhs: {(DQ (/srv/salt-overlay/salt/kube-proxy))}
                  spids: [1435]
                )
              ]
              spids: [1435]
            )
            (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name kube_proxy_kubeconfig_folder))})
            (Subshell
              child: 
                (CommandList
                  children: [
                    (Sentence
                      child: (C {(umask)} {(077)})
                      terminator: <Op_Semi ';'>
                    )
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: 16777215
                          arg_word: {(DQ (${ VSub_Name kube_proxy_kubeconfig_folder) (/kubeconfig))}
                          spids: [1461]
                        )
                        (HereDoc
                          op_id: Redir_DLess
                          fd: 16777215
                          body: 
                            {
                              (DQ ('apiVersion: v1\n') ('kind: Config\n') ('clusters:\n') 
                                ('- cluster:\n') ('    insecure-skip-tls-verify: true\n') ('  name: local\n') ('contexts:\n') ('- context:\n') 
                                ('    cluster: local\n') ('    user: kube-proxy\n') ('  name: service-account-context\n') 
                                ('current-context: service-account-context\n') ('users:\n') ('- name: kube-proxy\n') ('  user:\n') ('    token: ') (${ VSub_Name KUBE_PROXY_TOKEN) ('\n')
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [1470]
                        )
                      ]
                    )
                  ]
                )
              spids: [1452 1496]
            )
          ]
          spids: [1432]
        )
      spids: [1426 1431]
    )
  ]
)