(command.CommandList children: [ (C {(Id.KW_Set set)} {(-o)} {(errexit)}) (C {(Id.KW_Set set)} {(-o)} {(nounset)}) (C {(Id.KW_Set set)} {(-o)} {(pipefail)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:KUBE_ROOT) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:80) command_list: (command.CommandList children: [(C {(dirname)} {(DQ (${ Id.VSub_Name BASH_SOURCE))})] ) ) (/..) } spids: [79] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Id.Lit_LBracket '[')} {(-f)} {(DQ (${ Id.VSub_Name KUBE_ROOT) (/cluster/env.sh))} {(Id.Lit_RBracket ']')} ) terminator: (Token id:Id.Op_Semi val:';' span_id:106) ) ] action: [(C {(source)} {(DQ (${ Id.VSub_Name KUBE_ROOT) (/cluster/env.sh))})] spids: [92 108] ) ] ) (C {(source)} {(DQ (${ Id.VSub_Name KUBE_ROOT) (/cluster/kube-util.sh))}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:DEPRECATED_PROVIDERS) op: assign_op.Equal rhs: { (sh_array_literal left: (Token id:Id.Op_LParen val:'(' span_id:134) words: [ {(DQ (centos))} {(DQ (libvert-coreos))} {(DQ (local))} {(DQ (openstack-heat))} {(DQ (photon-controller))} {(DQ (vagrant))} {(DQ (vsphere))} {(DQ (windows))} ] ) } spids: [133] ) ] ) (command.ForEach iter_name: provider iter_words: [ { (DQ (braced_var_sub token: (Token id:Id.VSub_Name val:DEPRECATED_PROVIDERS span_id:187) bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) ) ) } ] do_arg_iter: F body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ (${ Id.VSub_Name KUBERNETES_PROVIDER))} right: {(DQ (${ Id.VSub_Name provider))} ) ) terminator: (Token id:Id.Op_Semi val:';' span_id:217) ) ] action: [ (command.Simple words: [{(cat)}] redirects: [ (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:224) fd: -1 here_begin: {(EOF)} here_end_span_id: 243 stdin_parts: [ ('\n') ('!!! DEPRECATION NOTICE !!!\n') ('\n') ("The '") (${ Id.VSub_Name provider) ("' kube-up provider is deprecated and will be removed in a future\n") ( 'release of kubernetes. Deprecated providers will be removed within 2 releases.\n' ) ('\n') ( 'See https://github.com/kubernetes/kubernetes/issues/49213 for more info.\n' ) ('\n') ] ) (redir.Redir op: (Token id:Id.Redir_GreatAnd val:'1>&' span_id:227) fd: 1 arg_word: {(2)} ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Break val:break span_id:245) ) ] spids: [198 219] ) ] ) ] ) ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Id.Lit_LBracket '[')} {(-z)} { (DQ (braced_var_sub token: (Token id:Id.VSub_Name val:ZONE span_id:261) suffix_op: (suffix_op.Unary op_id:Id.VTest_Hyphen arg_word:(word.Empty)) ) ) } {(Id.Lit_RBracket ']')} ) terminator: (Token id:Id.Op_Semi val:';' span_id:267) ) ] action: [ (command.Simple words: [ {(echo)} {(DQ ('... Starting cluster using provider: ') (${ Id.VSub_Name KUBERNETES_PROVIDER))} ] redirects: [ (redir.Redir op: (Token id:Id.Redir_GreatAnd val:'>&' span_id:281) fd: -1 arg_word: {(2)} ) ] ) ] spids: [253 269] ) ] else_action: [ (command.Simple words: [ {(echo)} { (DQ ('... Starting cluster in ') (${ Id.VSub_Name ZONE) (' using provider ') (${ Id.VSub_Name KUBERNETES_PROVIDER) ) } ] redirects: [ (redir.Redir op: (Token id:Id.Redir_GreatAnd val:'>&' span_id:300) fd: -1 arg_word: {(2)} ) ] ) ] ) (command.Simple words: [{(echo)} {(DQ ('... calling verify-prereqs'))}] redirects: [ (redir.Redir op:(Token id:Id.Redir_GreatAnd val:'>&' span_id:312) fd:-1 arg_word:{(2)}) ] ) (C {(verify-prereqs)}) (command.Simple words: [{(echo)} {(DQ ('... calling verify-kube-binaries'))}] redirects: [ (redir.Redir op:(Token id:Id.Redir_GreatAnd val:'>&' span_id:323) fd:-1 arg_word:{(2)}) ] ) (C {(verify-kube-binaries)}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: { (DQ (braced_var_sub token: (Token id:Id.VSub_Name val:KUBE_STAGE_IMAGES span_id:335) suffix_op: (suffix_op.Unary op_id:Id.VTest_ColonHyphen arg_word:(word.Empty)) ) ) } right: {(DQ (true))} ) ) terminator: (Token id:Id.Op_Semi val:';' span_id:347) ) ] action: [ (command.Simple words: [{(echo)} {(DQ ('... staging images'))}] redirects: [ (redir.Redir op: (Token id:Id.Redir_GreatAnd val:'>&' span_id:358) fd: -1 arg_word: {(2)} ) ] ) (C {(stage-images)}) ] spids: [329 349] ) ] ) (command.Simple words: [{(echo)} {(DQ ('... calling kube-up'))}] redirects: [ (redir.Redir op:(Token id:Id.Redir_GreatAnd val:'>&' span_id:373) fd:-1 arg_word:{(2)}) ] ) (C {(kube-up)}) (command.Simple words: [{(echo)} {(DQ ('... calling validate-cluster'))}] redirects: [ (redir.Redir op:(Token id:Id.Redir_GreatAnd val:'>&' span_id:385) fd:-1 arg_word:{(2)}) ] ) (command.AndOr ops: [Id.Op_DAmp Id.Op_DPipe] children: [ (command.Subshell command_list: (command.CommandList children:[(C {(validate-cluster)})]) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:validate_result) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_QMark '$?'))} spids: [397] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:validate_result) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_QMark '$?'))} spids: [404] ) ] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ (${ Id.VSub_Name validate_result))} right: {(DQ (1))} ) ) terminator: (Token id:Id.Op_Semi val:';' span_id:439) ) ] action: [ (command.ControlFlow token: (Token id:Id.ControlFlow_Exit val:exit span_id:444) arg_word: {(1)} ) ] spids: [422 441] ) (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ (${ Id.VSub_Name validate_result))} right: {(DQ (2))} ) ) terminator: (Token id:Id.Op_Semi val:';' span_id:465) ) ] action: [ (command.Simple words: [{(echo)} {(DQ ('...ignoring non-fatal errors in validate-cluster'))}] redirects: [ (redir.Redir op: (Token id:Id.Redir_GreatAnd val:'>&' span_id:476) fd: -1 arg_word: {(2)} ) ] ) ] spids: [448 467] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: { (DQ (braced_var_sub token: (Token id:Id.VSub_Name val:ENABLE_PROXY span_id:488) suffix_op: (suffix_op.Unary op_id:Id.VTest_ColonHyphen arg_word:(word.Empty)) ) ) } right: {(DQ (true))} ) ) terminator: (Token id:Id.Op_Semi val:';' span_id:500) ) ] action: [ (C {(.)} {(/tmp/kube-proxy-env)}) (C {(echo)} {(DQ )}) (C {(echo)} { (DQ ( '*** Please run the following to add the kube-apiserver endpoint to your proxy white-list ***' ) ) } ) (C {(cat)} {(/tmp/kube-proxy-env)}) (C {(echo)} { (DQ ( '*** ***' ) ) } ) (C {(echo)} {(DQ )}) ] spids: [482 502] ) ] ) (command.Simple words: [{(echo)} {(-e)} {(DQ ('Done, listing cluster services:') (Id.Lit_Other '\\') (n))}] redirects: [ (redir.Redir op:(Token id:Id.Redir_GreatAnd val:'>&' span_id:553) fd:-1 arg_word:{(2)}) ] ) (C {(DQ (${ Id.VSub_Name KUBE_ROOT) (/cluster/kubectl.sh))} {(cluster-info)}) (C {(echo)}) (command.ControlFlow token:(Token id:Id.ControlFlow_Exit val:exit span_id:568) arg_word:{(0)}) ] )