(command.CommandList children: [ (command.Simple blame_tok: <set> more_env: [] words: [{<set>} {<-o>} {<errexit>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <set> more_env: [] words: [{<set>} {<-o>} {<nounset>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <set> more_env: [] words: [{<set>} {<-o>} {<pipefail>}] redirects: [] do_fork: T ) (command.ShFunction keyword: <Id.KW_Function function> name_tok: <create-dirs> name: create-dirs body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'Creating required directories'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <mkdir> more_env: [] words: [{<mkdir>} {<-p>} {<'/var/lib/kubelet'>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <mkdir> more_env: [] words: [{<mkdir>} {<-p>} {<'/etc/kubernetes/manifests'>}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name KUBERNETES_MASTER> var_name: KUBERNETES_MASTER suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } right: {(DQ <false>)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <mkdir> more_env: [] words: [{<mkdir>} {<-p>} {<'/var/lib/kube-proxy'>}] redirects: [] do_fork: T ) ] spids: [108 128] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction keyword: <Id.KW_Function function> name_tok: <create-kube-controller-manager-dirs> name: create-kube-controller-manager-dirs body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <mkdir> more_env: [] words: [ {<mkdir>} {<-p>} {<'/etc/srv/kubernetes'>} {<'/var/ssl'>} (word.BracedTree parts: [<'/etc/'> (word_part.BracedTuple words:[{<ssl>} {<openssl>} {<pki>}])] ) ] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction keyword: <Id.KW_Function function> name_tok: <safe-format-and-mount> name: safe-format-and-mount body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'device='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'device='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'device='> name:device) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'mountpoint='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'mountpoint='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'mountpoint='> name:mountpoint) op: assign_op.Equal rhs: {($ Id.VSub_Number 2)} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Pipeline negated: <Id.KW_Bang '!'> children: [ (command.Simple blame_tok: <tune2fs> more_env: [] words: [{<tune2fs>} {<-l>} {(DQ (${ Id.VSub_Name device))}] redirects: [] do_fork: T ) ] ops: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'Formatting \''> (${ Id.VSub_Name device) <'\''>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <mkfs.ext4> more_env: [] words: [ {<mkfs.ext4>} {<-F>} {<-E>} {<Id.Lit_VarLike 'lazy_itable_init='> <0> <Id.Lit_Comma ','> <Id.Lit_VarLike 'lazy_journal_init='> <0> <Id.Lit_Comma ','> <discard> } {(DQ (${ Id.VSub_Name device))} ] redirects: [] do_fork: T ) ] spids: [207 223] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <mkdir> more_env: [] words: [{<mkdir>} {<-p>} {(DQ (${ Id.VSub_Name mountpoint))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ <'Mounting \''> (${ Id.VSub_Name device) <'\' at \''> (${ Id.VSub_Name mountpoint) <'\''> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <mount> more_env: [] words: [ {<mount>} {<-o>} {<discard> <Id.Lit_Comma ','> <defaults>} {(DQ (${ Id.VSub_Name device))} {(DQ (${ Id.VSub_Name mountpoint))} ] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction keyword: <Id.KW_Function function> name_tok: <ensure-local-ssds> name: ensure-local-ssds body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ForEach keyword: <Id.KW_For for> iter_names: [ssd] iterable: (for_iter.Words words: [{<'/dev/disk/by-id/google-local-ssd-'> <Id.Lit_Star '*'>}] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<-e>} {(DQ (${ Id.VSub_Name ssd))} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'ssdnum='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ssdnum='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ssdnum='> name:ssdnum) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(${ Id.VSub_Name ssd)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-e>} { (SQ < 's/\\/dev\\/disk\\/by-id\\/google-local-ssd-\\([0-9]*\\)/\\1/' > ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'ssdmount='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ssdmount='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'ssdmount='> name: ssdmount ) op: assign_op.Equal rhs: {(DQ <'/mnt/disks/ssd'> (${ Id.VSub_Name ssdnum) <'/'>)} ) ] redirects: [] ) (command.Simple blame_tok: <mkdir> more_env: [] words: [{<mkdir>} {<-p>} {(${ Id.VSub_Name ssdmount)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <safe-format-and-mount> more_env: [] words: [ {<safe-format-and-mount>} {(DQ (${ Id.VSub_Name ssd))} {(${ Id.VSub_Name ssdmount)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ <'Mounted local SSD '> ($ Id.VSub_DollarName ssd) <' at '> (${ Id.VSub_Name ssdmount) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <chmod> more_env: [] words: [ {<chmod>} {<a> <Id.Lit_Other '+'> <w>} {(${ Id.VSub_Name ssdmount)} ] redirects: [] do_fork: T ) ] spids: [336 351] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'No local SSD disks found.'>)}] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction keyword: <Id.KW_Function function> name_tok: <find-master-pd> name: find-master-pd body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'MASTER_PD_DEVICE='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'MASTER_PD_DEVICE='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'MASTER_PD_DEVICE='> name: MASTER_PD_DEVICE ) op: assign_op.Equal rhs: {(DQ )} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.LogicalNot child: (bool_expr.Unary op_id: Id.BoolUnary_e child: {<'/dev/disk/by-id/google-master-pd'>} ) ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [(command.ControlFlow keyword:<Id.ControlFlow_Return return>)] spids: [478 491] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'device_info='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'device_info='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'device_info='> name:device_info) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <ls> more_env: [] words: [{<ls>} {<-l>} {<'/dev/disk/by-id/google-master-pd'>}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'relative_path='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'relative_path='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'relative_path='> name:relative_path) op: assign_op.Equal rhs: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name device_info> var_name: device_info suffix_op: (suffix_op.Unary op: <Id.VOp1_DPound '##'> arg_word: {<Id.Lit_Other '*'> <' '>} ) right: <Id.Right_DollarBrace '}'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'MASTER_PD_DEVICE='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'MASTER_PD_DEVICE='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'MASTER_PD_DEVICE='> name: MASTER_PD_DEVICE ) op: assign_op.Equal rhs: {(DQ <'/dev/disk/by-id/'> (${ Id.VSub_Name relative_path))} ) ] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction keyword: <Id.KW_Function function> name_tok: <mount-master-pd> name: mount-master-pd body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <find-master-pd> more_env: [] words: [{<find-master-pd>}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_z child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name MASTER_PD_DEVICE> var_name: MASTER_PD_DEVICE suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [(command.ControlFlow keyword:<Id.ControlFlow_Return return>)] spids: [552 568] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'Mounting master-pd'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<-r>} {<Id.Lit_VarLike 'pd_path='> (DQ <'/dev/disk/by-id/google-master-pd'>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<-r>} {<Id.Lit_VarLike 'mount_point='> (DQ <'/mnt/disks/master-pd'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <mkdir> more_env: [] words: [{<mkdir>} {<-p>} {(DQ (${ Id.VSub_Name mount_point))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <safe-format-and-mount> more_env: [] words: [ {<safe-format-and-mount>} {(DQ (${ Id.VSub_Name pd_path))} {(DQ (${ Id.VSub_Name mount_point))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ <'Mounted master-pd \''> (${ Id.VSub_Name pd_path) <'\' at \''> (${ Id.VSub_Name mount_point) <'\''> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <mkdir> more_env: [] words: [{<mkdir>} {<-m>} {<700>} {<-p>} {(DQ (${ Id.VSub_Name mount_point) <'/var/etcd'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <ln> more_env: [] words: [ {<ln>} {<-s>} {<-f>} {(DQ (${ Id.VSub_Name mount_point) <'/var/etcd'>)} {<'/var/etcd'>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <mkdir> more_env: [] words: [{<mkdir>} {<-p>} {<'/etc/srv'>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <mkdir> more_env: [] words: [{<mkdir>} {<-p>} {(DQ (${ Id.VSub_Name mount_point) <'/srv/kubernetes'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <ln> more_env: [] words: [ {<ln>} {<-s>} {<-f>} {(DQ (${ Id.VSub_Name mount_point) <'/srv/kubernetes'>)} {<'/etc/srv/kubernetes'>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <mkdir> more_env: [] words: [{<mkdir>} {<-p>} {(DQ (${ Id.VSub_Name mount_point) <'/srv/sshproxy'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <ln> more_env: [] words: [ {<ln>} {<-s>} {<-f>} {(DQ (${ Id.VSub_Name mount_point) <'/srv/sshproxy'>)} {<'/etc/srv/sshproxy'>} ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Pipeline negated: <Id.KW_Bang '!'> children: [ (command.Simple blame_tok: <id> more_env: [] words: [{<id>} {<etcd>}] redirects: [ (Redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] do_fork: T ) ] ops: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <useradd> more_env: [] words: [{<useradd>} {<-s>} {<'/sbin/nologin'>} {<-d>} {<'/var/etcd'>} {<etcd>}] redirects: [] do_fork: T ) ] spids: [780 792] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <chown> more_env: [] words: [{<chown>} {<-R>} {<etcd>} {(DQ (${ Id.VSub_Name mount_point) <'/var/etcd'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <chgrp> more_env: [] words: [{<chgrp>} {<-R>} {<etcd>} {(DQ (${ Id.VSub_Name mount_point) <'/var/etcd'>)}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction keyword: <Id.KW_Function function> name_tok: <replace_prefixed_line> name: replace_prefixed_line body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<-r>} {<Id.Lit_VarLike 'file='> (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Number 1> var_name: 1 suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<-r>} {<Id.Lit_VarLike 'prefix='> (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Number 2> var_name: 2 suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<-r>} {<Id.Lit_VarLike 'suffix='> (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Number 3> var_name: 3 suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <touch> more_env: [] words: [{<touch>} {(DQ (${ Id.VSub_Name file))}] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <awk> more_env: [] words: [ {<awk>} { (DQ <'substr('> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'0,0,length('> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') (${ Id.VSub_Name prefix) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <')) != '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) (${ Id.VSub_Name prefix) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <' { print }'> ) } {(DQ (${ Id.VSub_Name file))} ] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ (${ Id.VSub_Name file) <.filtered>)} ) ] do_fork: T ) (command.Simple blame_tok: <mv> more_env: [] words: [{<mv>} {(DQ (${ Id.VSub_Name file) <.filtered>)} {(DQ (${ Id.VSub_Name file))}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ (${ Id.VSub_Name prefix) (${ Id.VSub_Name suffix))}] redirects: [ (Redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {(DQ (${ Id.VSub_Name file))} ) ] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction keyword: <Id.KW_Function function> name_tok: <create-master-auth> name: create-master-auth body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'Creating master auth files'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<-r>} {<Id.Lit_VarLike 'auth_dir='> (DQ <'/etc/srv/kubernetes'>)}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.LogicalAnd left: (bool_expr.LogicalNot child: (bool_expr.Unary op_id: Id.BoolUnary_e child: {(DQ (${ Id.VSub_Name auth_dir) <'/ca.crt'>)} ) ) right: (bool_expr.LogicalAnd left: (bool_expr.LogicalNot child: (bool_expr.Unary op_id: Id.BoolUnary_z child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name CA_CERT> var_name: CA_CERT suffix_op: (suffix_op.Unary op: <Id.VTest_ColonHyphen _> arg_word: (rhs_word__Empty) ) right: <Id.Right_DollarBrace '}'> ) ) } ) ) right: (bool_expr.LogicalAnd left: (bool_expr.LogicalNot child: (bool_expr.Unary op_id: Id.BoolUnary_z child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name MASTER_CERT> var_name: MASTER_CERT suffix_op: (suffix_op.Unary op: <Id.VTest_ColonHyphen _> arg_word: (rhs_word__Empty) ) right: <Id.Right_DollarBrace '}'> ) ) } ) ) right: (bool_expr.LogicalNot child: (bool_expr.Unary op_id: Id.BoolUnary_z child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name MASTER_KEY> var_name: MASTER_KEY suffix_op: (suffix_op.Unary op: <Id.VTest_ColonHyphen _> arg_word: (rhs_word__Empty) ) right: <Id.Right_DollarBrace '}'> ) ) } ) ) ) ) ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Pipeline children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ (${ Id.VSub_Name CA_CERT))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <base64> more_env: [] words: [{<base64>} {<--decode>}] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ (${ Id.VSub_Name auth_dir) <'/ca.crt'>)} ) ] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) (command.Pipeline children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ (${ Id.VSub_Name MASTER_CERT))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <base64> more_env: [] words: [{<base64>} {<--decode>}] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ (${ Id.VSub_Name auth_dir) <'/server.cert'>)} ) ] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) (command.Pipeline children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ (${ Id.VSub_Name MASTER_KEY))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <base64> more_env: [] words: [{<base64>} {<--decode>}] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ (${ Id.VSub_Name auth_dir) <'/server.key'>)} ) ] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) ] spids: [1017 1074] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<-r>} {<Id.Lit_VarLike 'basic_auth_csv='> (DQ (${ Id.VSub_Name auth_dir) <'/basic_auth.csv'>) } ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.LogicalAnd left: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name KUBE_PASSWORD> var_name: KUBE_PASSWORD suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name KUBE_USER> var_name: KUBE_USER suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <replace_prefixed_line> more_env: [] words: [ {<replace_prefixed_line>} {(DQ (${ Id.VSub_Name basic_auth_csv))} {(DQ (${ Id.VSub_Name KUBE_PASSWORD) <','> (${ Id.VSub_Name KUBE_USER) <','>)} {(DQ <'admin,system:masters'>)} ] redirects: [] do_fork: T ) ] spids: [1165 1192] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<-r>} {<Id.Lit_VarLike 'known_tokens_csv='> (DQ (${ Id.VSub_Name auth_dir) <'/known_tokens.csv'>) } ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name KUBE_BEARER_TOKEN> var_name: KUBE_BEARER_TOKEN suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <replace_prefixed_line> more_env: [] words: [ {<replace_prefixed_line>} {(DQ (${ Id.VSub_Name known_tokens_csv))} {(DQ (${ Id.VSub_Name KUBE_BEARER_TOKEN) <','>)} {(DQ <'admin,admin,system:masters'>)} ] redirects: [] do_fork: T ) ] spids: [1235 1251] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name KUBE_CONTROLLER_MANAGER_TOKEN> var_name: KUBE_CONTROLLER_MANAGER_TOKEN suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <replace_prefixed_line> more_env: [] words: [ {<replace_prefixed_line>} {(DQ (${ Id.VSub_Name known_tokens_csv))} {(DQ (${ Id.VSub_Name KUBE_CONTROLLER_MANAGER_TOKEN) <','>)} {(DQ <'system:kube-controller-manager,uid:system:kube-controller-manager'>)} ] redirects: [] do_fork: T ) ] spids: [1277 1293] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name KUBE_SCHEDULER_TOKEN> var_name: KUBE_SCHEDULER_TOKEN suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <replace_prefixed_line> more_env: [] words: [ {<replace_prefixed_line>} {(DQ (${ Id.VSub_Name known_tokens_csv))} {(DQ (${ Id.VSub_Name KUBE_SCHEDULER_TOKEN) <','>)} {(DQ <'system:kube-scheduler,uid:system:kube-scheduler'>)} ] redirects: [] do_fork: T ) ] spids: [1319 1335] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name KUBELET_TOKEN> var_name: KUBELET_TOKEN suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <replace_prefixed_line> more_env: [] words: [ {<replace_prefixed_line>} {(DQ (${ Id.VSub_Name known_tokens_csv))} {(DQ (${ Id.VSub_Name KUBELET_TOKEN) <','>)} {(DQ <'kubelet,uid:kubelet,system:nodes'>)} ] redirects: [] do_fork: T ) ] spids: [1361 1377] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name KUBE_PROXY_TOKEN> var_name: KUBE_PROXY_TOKEN suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <replace_prefixed_line> more_env: [] words: [ {<replace_prefixed_line>} {(DQ (${ Id.VSub_Name known_tokens_csv))} {(DQ (${ Id.VSub_Name KUBE_PROXY_TOKEN) <','>)} {(DQ <'system:kube-proxy,uid:kube_proxy'>)} ] redirects: [] do_fork: T ) ] spids: [1403 1419] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'use_cloud_config='> (DQ <false>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>}] redirects: [ (Redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<EOF>} here_end_tok: <Id.Undefined_Tok ''> stdin_parts: [<'[global]\n'>] ) ) (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/gce.conf'>} ) ] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name GCE_API_ENDPOINT> var_name: GCE_API_ENDPOINT suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>}] redirects: [ (Redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<EOF>} here_end_tok: <Id.Undefined_Tok ''> stdin_parts: [ <'api-endpoint = '> (${ Id.VSub_Name GCE_API_ENDPOINT) <'\n'> ] ) ) (Redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/gce.conf'>} ) ] do_fork: T ) ] spids: [1465 1481] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.LogicalAnd left: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name TOKEN_URL> var_name: TOKEN_URL suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name TOKEN_BODY> var_name: TOKEN_BODY suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'use_cloud_config='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'use_cloud_config='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'use_cloud_config='> name: use_cloud_config ) op: assign_op.Equal rhs: {(DQ <true>)} ) ] redirects: [] ) (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>}] redirects: [ (Redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<EOF>} here_end_tok: <Id.Undefined_Tok ''> stdin_parts: [ <'token-url = '> (${ Id.VSub_Name TOKEN_URL) <'\n'> <'token-body = '> (${ Id.VSub_Name TOKEN_BODY) <'\n'> ] ) ) (Redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/gce.conf'>} ) ] do_fork: T ) ] spids: [1503 1530] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name PROJECT_ID> var_name: PROJECT_ID suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'use_cloud_config='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'use_cloud_config='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'use_cloud_config='> name: use_cloud_config ) op: assign_op.Equal rhs: {(DQ <true>)} ) ] redirects: [] ) (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>}] redirects: [ (Redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<EOF>} here_end_tok: <Id.Undefined_Tok ''> stdin_parts: [<'project-id = '> (${ Id.VSub_Name PROJECT_ID) <'\n'>] ) ) (Redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/gce.conf'>} ) ] do_fork: T ) ] spids: [1563 1579] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name NETWORK_PROJECT_ID> var_name: NETWORK_PROJECT_ID suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'use_cloud_config='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'use_cloud_config='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'use_cloud_config='> name: use_cloud_config ) op: assign_op.Equal rhs: {(DQ <true>)} ) ] redirects: [] ) (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>}] redirects: [ (Redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<EOF>} here_end_tok: <Id.Undefined_Tok ''> stdin_parts: [ <'network-project-id = '> (${ Id.VSub_Name NETWORK_PROJECT_ID) <'\n'> ] ) ) (Redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/gce.conf'>} ) ] do_fork: T ) ] spids: [1607 1623] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name NODE_NETWORK> var_name: NODE_NETWORK suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'use_cloud_config='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'use_cloud_config='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'use_cloud_config='> name: use_cloud_config ) op: assign_op.Equal rhs: {(DQ <true>)} ) ] redirects: [] ) (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>}] redirects: [ (Redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<EOF>} here_end_tok: <Id.Undefined_Tok ''> stdin_parts: [<'network-name = '> (${ Id.VSub_Name NODE_NETWORK) <'\n'>] ) ) (Redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/gce.conf'>} ) ] do_fork: T ) ] spids: [1651 1667] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name NODE_SUBNETWORK> var_name: NODE_SUBNETWORK suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'use_cloud_config='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'use_cloud_config='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'use_cloud_config='> name: use_cloud_config ) op: assign_op.Equal rhs: {(DQ <true>)} ) ] redirects: [] ) (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>}] redirects: [ (Redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<EOF>} here_end_tok: <Id.Undefined_Tok ''> stdin_parts: [ <'subnetwork-name = '> (${ Id.VSub_Name NODE_SUBNETWORK) <'\n'> ] ) ) (Redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/gce.conf'>} ) ] do_fork: T ) ] spids: [1695 1711] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name NODE_INSTANCE_PREFIX> var_name: NODE_INSTANCE_PREFIX suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'use_cloud_config='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'use_cloud_config='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'use_cloud_config='> name: use_cloud_config ) op: assign_op.Equal rhs: {(DQ <true>)} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name NODE_TAGS> var_name: NODE_TAGS suffix_op: (suffix_op.Unary op: <Id.VTest_ColonHyphen _> arg_word: (rhs_word__Empty) ) right: <Id.Right_DollarBrace '}'> ) ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<-r>} {<Id.Lit_VarLike 'node_tags='> (DQ (${ Id.VSub_Name NODE_TAGS))} ] redirects: [] do_fork: T ) ] spids: [1764 1780] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<-r>} {<Id.Lit_VarLike 'node_tags='> (DQ (${ Id.VSub_Name NODE_INSTANCE_PREFIX))} ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>}] redirects: [ (Redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<EOF>} here_end_tok: <Id.Undefined_Tok ''> stdin_parts: [ <'node-tags = '> (${ Id.VSub_Name node_tags) <'\n'> <'node-instance-prefix = '> (${ Id.VSub_Name NODE_INSTANCE_PREFIX) <'\n'> ] ) ) (Redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/gce.conf'>} ) ] do_fork: T ) ] spids: [1739 1755] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name MULTIZONE> var_name: MULTIZONE suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'use_cloud_config='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'use_cloud_config='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'use_cloud_config='> name: use_cloud_config ) op: assign_op.Equal rhs: {(DQ <true>)} ) ] redirects: [] ) (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>}] redirects: [ (Redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<EOF>} here_end_tok: <Id.Undefined_Tok ''> stdin_parts: [<'multizone = '> (${ Id.VSub_Name MULTIZONE) <'\n'>] ) ) (Redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/gce.conf'>} ) ] do_fork: T ) ] spids: [1837 1853] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name GCE_ALPHA_FEATURES> var_name: GCE_ALPHA_FEATURES suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'use_cloud_config='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'use_cloud_config='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'use_cloud_config='> name: use_cloud_config ) op: assign_op.Equal rhs: {(DQ <true>)} ) ] redirects: [] ) (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>}] redirects: [ (Redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<EOF>} here_end_tok: <Id.Undefined_Tok ''> stdin_parts: [ <'alpha-features = '> (${ Id.VSub_Name GCE_ALPHA_FEATURES) <'\n'> ] ) ) (Redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/gce.conf'>} ) ] do_fork: T ) ] spids: [1881 1897] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name SECONDARY_RANGE_NAME> var_name: SECONDARY_RANGE_NAME suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'use_cloud_config='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'use_cloud_config='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'use_cloud_config='> name: use_cloud_config ) op: assign_op.Equal rhs: {(DQ <true>)} ) ] redirects: [] ) (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>}] redirects: [ (Redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<EOF>} here_end_tok: <Id.Undefined_Tok ''> stdin_parts: [ <'secondary-range-name = '> (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name SECONDARY> var_name: SECONDARY suffix_op: (suffix_op.Unary op: <Id.VTest_Hyphen _> arg_word: {<RANGE-NAME>} ) right: <Id.Right_DollarBrace '}'> ) <'\n'> ] ) ) (Redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/gce.conf'>} ) ] do_fork: T ) ] spids: [1925 1941] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobNEqual left: {(DQ (${ Id.VSub_Name use_cloud_config))} right: {(DQ <true>)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <rm> more_env: [] words: [{<rm>} {<-f>} {<'/etc/gce.conf'>}] redirects: [] do_fork: T ) ] spids: [1972 1991] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name GCP_AUTHN_URL> var_name: GCP_AUTHN_URL suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>}] redirects: [ (Redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<EOF>} here_end_tok: <Id.Undefined_Tok ''> stdin_parts: [ <'clusters:\n'> <' - name: gcp-authentication-server\n'> <' cluster:\n'> <' server: '> (${ Id.VSub_Name GCP_AUTHN_URL) <'\n'> <'users:\n'> <' - name: kube-apiserver\n'> <' user:\n'> <' auth-provider:\n'> <' name: gcp\n'> <'current-context: webhook\n'> <'contexts:\n'> <'- context:\n'> <' cluster: gcp-authentication-server\n'> <' user: kube-apiserver\n'> <' name: webhook\n'> ] ) ) (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/gcp_authn.config'>} ) ] do_fork: T ) ] spids: [2005 2021] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name GCP_AUTHZ_URL> var_name: GCP_AUTHZ_URL suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>}] redirects: [ (Redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<EOF>} here_end_tok: <Id.Undefined_Tok ''> stdin_parts: [ <'clusters:\n'> <' - name: gcp-authorization-server\n'> <' cluster:\n'> <' server: '> (${ Id.VSub_Name GCP_AUTHZ_URL) <'\n'> <'users:\n'> <' - name: kube-apiserver\n'> <' user:\n'> <' auth-provider:\n'> <' name: gcp\n'> <'current-context: webhook\n'> <'contexts:\n'> <'- context:\n'> <' cluster: gcp-authorization-server\n'> <' user: kube-apiserver\n'> <' name: webhook\n'> ] ) ) (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/gcp_authz.config'>} ) ] do_fork: T ) ] spids: [2058 2074] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name GCP_IMAGE_VERIFICATION_URL> var_name: GCP_IMAGE_VERIFICATION_URL suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>}] redirects: [ (Redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<EOF>} here_end_tok: <Id.Undefined_Tok ''> stdin_parts: [ <'clusters:\n'> <' - name: gcp-image-review-server\n'> <' cluster:\n'> <' server: '> (${ Id.VSub_Name GCP_IMAGE_VERIFICATION_URL) <'\n'> <'users:\n'> <' - name: kube-apiserver\n'> <' user:\n'> <' auth-provider:\n'> <' name: gcp\n'> <'current-context: webhook\n'> <'contexts:\n'> <'- context:\n'> <' cluster: gcp-image-review-server\n'> <' user: kube-apiserver\n'> <' name: webhook\n'> ] ) ) (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/gcp_image_review.config'>} ) ] do_fork: T ) (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>}] redirects: [ (Redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<EOF>} here_end_tok: <Id.Undefined_Tok ''> stdin_parts: [ <'imagePolicy:\n'> <' kubeConfigFile: /etc/gcp_image_review.config\n'> <' allowTTL: 30\n'> <' denyTTL: 30\n'> <' retryBackoff: 500\n'> <' defaultAllow: true\n'> ] ) ) (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/admission_controller.config'>} ) ] do_fork: T ) ] spids: [2110 2126] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction keyword: <Id.KW_Function function> name_tok: <create-kubelet-kubeconfig> name: create-kubelet-kubeconfig body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'apiserver_address='> (DQ (${ Id.VSub_Number 1))}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_z child: {(DQ (${ Id.VSub_Name apiserver_address))} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} {(DQ <'Must provide API server address to create Kubelet kubeconfig file!'>)} ] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] spids: [2211 2226] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'Creating kubelet kubeconfig file'>)}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_z child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name KUBELET_CA_CERT> var_name: KUBELET_CA_CERT suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'KUBELET_CA_CERT='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'KUBELET_CA_CERT='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'KUBELET_CA_CERT='> name: KUBELET_CA_CERT ) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name CA_CERT))} ) ] redirects: [] ) ] spids: [2251 2267] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>}] redirects: [ (Redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<EOF>} here_end_tok: <Id.Undefined_Tok ''> stdin_parts: [ <'apiVersion: v1\n'> <'kind: Config\n'> <'users:\n'> <'- name: kubelet\n'> <' user:\n'> <' client-certificate-data: '> (${ Id.VSub_Name KUBELET_CERT) <'\n'> <' client-key-data: '> (${ Id.VSub_Name KUBELET_KEY) <'\n'> <'clusters:\n'> <'- name: local\n'> <' cluster:\n'> <' server: '> (${ Id.VSub_Name apiserver_address) <'\n'> <' certificate-authority-data: '> (${ Id.VSub_Name KUBELET_CA_CERT) <'\n'> <'contexts:\n'> <'- context:\n'> <' cluster: local\n'> <' user: kubelet\n'> <' name: service-account-context\n'> <'current-context: service-account-context\n'> ] ) ) (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/var/lib/kubelet/kubeconfig'>} ) ] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction keyword: <Id.KW_Function function> name_tok: <create-master-kubelet-auth> name: create-master-kubelet-auth body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.LogicalAnd left: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name KUBELET_APISERVER> var_name: KUBELET_APISERVER suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: (bool_expr.LogicalAnd left: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name KUBELET_CERT> var_name: KUBELET_CERT suffix_op: (suffix_op.Unary op: <Id.VTest_ColonHyphen _> arg_word: (rhs_word__Empty) ) right: <Id.Right_DollarBrace '}'> ) ) } ) right: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name KUBELET_KEY> var_name: KUBELET_KEY suffix_op: (suffix_op.Unary op: <Id.VTest_ColonHyphen _> arg_word: (rhs_word__Empty) ) right: <Id.Right_DollarBrace '}'> ) ) } ) ) ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'REGISTER_MASTER_KUBELET='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'REGISTER_MASTER_KUBELET='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'REGISTER_MASTER_KUBELET='> name: REGISTER_MASTER_KUBELET ) op: assign_op.Equal rhs: {(DQ <true>)} ) ] redirects: [] ) (command.Simple blame_tok: <create-kubelet-kubeconfig> more_env: [] words: [ {<create-kubelet-kubeconfig>} {(DQ <'https://'> (${ Id.VSub_Name KUBELET_APISERVER))} ] redirects: [] do_fork: T ) ] spids: [2355 2393] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction keyword: <Id.KW_Function function> name_tok: <create-kubeproxy-user-kubeconfig> name: create-kubeproxy-user-kubeconfig body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'Creating kube-proxy user kubeconfig file'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>}] redirects: [ (Redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<EOF>} here_end_tok: <Id.Undefined_Tok ''> stdin_parts: [ <'apiVersion: v1\n'> <'kind: Config\n'> <'users:\n'> <'- name: kube-proxy\n'> <' user:\n'> <' token: '> (${ Id.VSub_Name KUBE_PROXY_TOKEN) <'\n'> <'clusters:\n'> <'- name: local\n'> <' cluster:\n'> <' certificate-authority-data: '> (${ Id.VSub_Name CA_CERT) <'\n'> <'contexts:\n'> <'- context:\n'> <' cluster: local\n'> <' user: kube-proxy\n'> <' name: service-account-context\n'> <'current-context: service-account-context\n'> ] ) ) (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/var/lib/kube-proxy/kubeconfig'>} ) ] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction keyword: <Id.KW_Function function> name_tok: <create-kubecontrollermanager-kubeconfig> name: create-kubecontrollermanager-kubeconfig body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'Creating kube-controller-manager kubeconfig file'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <mkdir> more_env: [] words: [{<mkdir>} {<-p>} {<'/etc/srv/kubernetes/kube-controller-manager'>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>}] redirects: [ (Redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<EOF>} here_end_tok: <Id.Undefined_Tok ''> stdin_parts: [ <'apiVersion: v1\n'> <'kind: Config\n'> <'users:\n'> <'- name: kube-controller-manager\n'> <' user:\n'> <' token: '> (${ Id.VSub_Name KUBE_CONTROLLER_MANAGER_TOKEN) <'\n'> <'clusters:\n'> <'- name: local\n'> <' cluster:\n'> <' insecure-skip-tls-verify: true\n'> <' server: https://localhost:443\n'> <'contexts:\n'> <'- context:\n'> <' cluster: local\n'> <' user: kube-controller-manager\n'> <' name: service-account-context\n'> <'current-context: service-account-context\n'> ] ) ) (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/srv/kubernetes/kube-controller-manager/kubeconfig'>} ) ] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction keyword: <Id.KW_Function function> name_tok: <create-kubescheduler-kubeconfig> name: create-kubescheduler-kubeconfig body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'Creating kube-scheduler kubeconfig file'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <mkdir> more_env: [] words: [{<mkdir>} {<-p>} {<'/etc/srv/kubernetes/kube-scheduler'>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>}] redirects: [ (Redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<EOF>} here_end_tok: <Id.Undefined_Tok ''> stdin_parts: [ <'apiVersion: v1\n'> <'kind: Config\n'> <'users:\n'> <'- name: kube-scheduler\n'> <' user:\n'> <' token: '> (${ Id.VSub_Name KUBE_SCHEDULER_TOKEN) <'\n'> <'clusters:\n'> <'- name: local\n'> <' cluster:\n'> <' insecure-skip-tls-verify: true\n'> <' server: https://localhost:443\n'> <'contexts:\n'> <'- context:\n'> <' cluster: local\n'> <' user: kube-scheduler\n'> <' name: kube-scheduler\n'> <'current-context: kube-scheduler\n'> ] ) ) (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/srv/kubernetes/kube-scheduler/kubeconfig'>} ) ] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction keyword: <Id.KW_Function function> name_tok: <create-master-etcd-auth> name: create-master-etcd-auth body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.LogicalAnd left: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name ETCD_CA_CERT> var_name: ETCD_CA_CERT suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: (bool_expr.LogicalAnd left: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name ETCD_PEER_KEY> var_name: ETCD_PEER_KEY suffix_op: (suffix_op.Unary op: <Id.VTest_ColonHyphen _> arg_word: (rhs_word__Empty) ) right: <Id.Right_DollarBrace '}'> ) ) } ) right: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name ETCD_PEER_CERT> var_name: ETCD_PEER_CERT suffix_op: (suffix_op.Unary op: <Id.VTest_ColonHyphen _> arg_word: (rhs_word__Empty) ) right: <Id.Right_DollarBrace '}'> ) ) } ) ) ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<-r>} {<Id.Lit_VarLike 'auth_dir='> (DQ <'/etc/srv/kubernetes'>)} ] redirects: [] do_fork: T ) (command.Pipeline children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ (${ Id.VSub_Name ETCD_CA_CERT))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <base64> more_env: [] words: [{<base64>} {<--decode>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <gunzip> more_env: [] words: [{<gunzip>}] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ (${ Id.VSub_Name auth_dir) <'/etcd-ca.crt'>)} ) ] do_fork: T ) ] ops: [<Id.Op_Pipe _> <Id.Op_Pipe _>] ) (command.Pipeline children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ (${ Id.VSub_Name ETCD_PEER_KEY))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <base64> more_env: [] words: [{<base64>} {<--decode>}] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ (${ Id.VSub_Name auth_dir) <'/etcd-peer.key'>)} ) ] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) (command.Pipeline children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ (${ Id.VSub_Name ETCD_PEER_CERT))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <base64> more_env: [] words: [{<base64>} {<--decode>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <gunzip> more_env: [] words: [{<gunzip>}] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ (${ Id.VSub_Name auth_dir) <'/etcd-peer.crt'>)} ) ] do_fork: T ) ] ops: [<Id.Op_Pipe _> <Id.Op_Pipe _>] ) ] spids: [2585 2623] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction keyword: <Id.KW_Function function> name_tok: <configure-docker-daemon> name: configure-docker-daemon body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'Configuring the Docker daemon'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<Id.Lit_VarLike 'docker_opts='> (DQ <'-p /var/run/docker.pid --iptables=false --ip-masq=false'>) } ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name TEST_CLUSTER> var_name: TEST_CLUSTER suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } right: {(DQ <true>)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'docker_opts+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'docker_opts+='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'docker_opts+='> name: docker_opts ) op: assign_op.PlusEqual rhs: {(DQ <' --log-level=debug'>)} ) ] redirects: [] ) ] spids: [2743 2763] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'docker_opts+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'docker_opts+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'docker_opts+='> name:docker_opts) op: assign_op.PlusEqual rhs: {(DQ <' --log-level=warn'>)} ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'use_net_plugin='> (DQ <true>)}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.LogicalOr left: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name NETWORK_PROVIDER> var_name: NETWORK_PROVIDER suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } right: {(DQ <kubenet>)} ) right: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name NETWORK_PROVIDER> var_name: NETWORK_PROVIDER suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } right: {(DQ <cni>)} ) ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'docker_opts+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'docker_opts+='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'docker_opts+='> name: docker_opts ) op: assign_op.PlusEqual rhs: {(DQ <' --bip=169.254.123.1/24'>)} ) ] redirects: [] ) ] spids: [2792 2827] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'use_net_plugin='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'use_net_plugin='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'use_net_plugin='> name: use_net_plugin ) op: assign_op.Equal rhs: {(DQ <false>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'docker_opts+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'docker_opts+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'docker_opts+='> name:docker_opts) op: assign_op.PlusEqual rhs: {(DQ <' --bridge=cbr0'>)} ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name DOCKER_REGISTRY_MIRROR_URL> var_name: DOCKER_REGISTRY_MIRROR_URL suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ <'Enable docker registry mirror at: '> (${ Id.VSub_Name DOCKER_REGISTRY_MIRROR_URL) ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'docker_opts+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'docker_opts+='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'docker_opts+='> name: docker_opts ) op: assign_op.PlusEqual rhs: { (DQ <' --registry-mirror='> (${ Id.VSub_Name DOCKER_REGISTRY_MIRROR_URL)) } ) ] redirects: [] ) ] spids: [2867 2883] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <mkdir> more_env: [] words: [{<mkdir>} {<-p>} {<'/etc/systemd/system/docker.service.d/'>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<Id.Lit_VarLike 'kubernetes_conf_dropin='> (DQ <'/etc/systemd/system/docker.service.d/00_kubelet.conf'>) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>}] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ (${ Id.VSub_Name kubernetes_conf_dropin))} ) (Redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<EOF>} here_end_tok: <Id.Undefined_Tok ''> stdin_parts: [ <'[Service]\n'> <'Environment='> <Id.Right_DoubleQuote '"'> <'DOCKER_OPTS='> (${ Id.VSub_Name docker_opts) <' '> (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name EXTRA_DOCKER_OPTS> var_name: EXTRA_DOCKER_OPTS suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) <Id.Right_DoubleQuote '"'> <'\n'> ] ) ) ] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'Docker daemon options updated. Restarting docker...'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <systemctl> more_env: [] words: [{<systemctl>} {<daemon-reload>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <systemctl> more_env: [] words: [{<systemctl>} {<restart>} {<docker>}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction keyword: <Id.KW_Function function> name_tok: <try-load-docker-image> name: try-load-docker-image body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<-r>} {<Id.Lit_VarLike 'img='> ($ Id.VSub_Number 1)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'Try to load docker image file '> (${ Id.VSub_Name img))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <set> more_env: [] words: [{<set>} {<Id.Lit_Other '+'> <e>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<-r>} {<Id.Lit_VarLike 'max_attempts='> <5>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<-i>} {<Id.Lit_VarLike 'attempt_num='> <1>}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name CONTAINER_RUNTIME> var_name: CONTAINER_RUNTIME suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } right: {(DQ <rkt>)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ForEach keyword: <Id.KW_For for> iter_names: [attempt_num] iterable: (for_iter.Words words: [ { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <seq> more_env: [] words: [{<seq>} {<1>} {(DQ (${ Id.VSub_Name max_attempts))}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<Id.Lit_VarLike 'aci_tmpdir='> (DQ (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <mktemp> more_env: [] words: [{<mktemp>} {<-t>} {<-d>} {<docker2aci.XXXXX>}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) ) } ] redirects: [] do_fork: T ) (command.Subshell left: <Id.Op_LParen _> child: (command.CommandList children: [ (command.Sentence child: (command.Simple blame_tok: <cd> more_env: [] words: [{<cd>} {(DQ (${ Id.VSub_Name aci_tmpdir))}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Simple blame_tok: <timeout> more_env: [] words: [ {<timeout>} {<40>} {(DQ (${ Id.VSub_Name DOCKER2ACI_BIN))} {(DQ ($ Id.VSub_Number 1))} ] redirects: [] do_fork: T ) ] ) right: <Id.Right_Subshell _> redirects: [] ) (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'aci_success='> ($ Id.VSub_QMark '?')}] redirects: [] do_fork: T ) (command.Simple blame_tok: <timeout> more_env: [] words: [ {<timeout>} {<40>} {(DQ (${ Id.VSub_Name RKT_BIN))} {<fetch>} {<--insecure-options> <Id.Lit_Equals '='> <image>} {(DQ (${ Id.VSub_Name aci_tmpdir)) <'/'> <Id.Lit_Star '*'> <.aci>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<Id.Lit_VarLike 'fetch_success='> ($ Id.VSub_QMark '?')} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <rm> more_env: [] words: [ {<rm>} {<-f>} {(DQ (${ Id.VSub_Name aci_tmpdir)) <'/'> <Id.Lit_Star '*'> <.aci>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <rmdir> more_env: [] words: [{<rmdir>} {(DQ (${ Id.VSub_Name aci_tmpdir))}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.LogicalAnd left: (bool_expr.WordTest w: {(${ Id.VSub_Name fetch_success)} ) right: (bool_expr.WordTest w: {(${ Id.VSub_Name aci_success)} ) ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'rkt: Loaded '> (${ Id.VSub_Name img))}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Break break> ) ] spids: [3187 3204] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ (${ Id.VSub_Name attempt))} right: {(DQ (${ Id.VSub_Name max_attempts))} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ <'rkt: Failed to load image file '> (${ Id.VSub_Name img) <' after '> (${ Id.VSub_Name max_attempts) <' retries.'> ) } ] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] spids: [3223 3244] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <sleep> more_env: [] words: [{<sleep>} {<5>}] redirects: [] do_fork: T ) ] right: <Id.KW_Done done> ) redirects: [] ) ] spids: [3039 3059] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.WhileUntil keyword: <Id.KW_Until until> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <timeout> more_env: [] words: [ {<timeout>} {<30>} {<docker>} {<load>} {<-i>} {(DQ (${ Id.VSub_Name img))} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ (${ Id.VSub_Name attempt_num))} right: {(DQ (${ Id.VSub_Name max_attempts))} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ <'Fail to load docker image file '> (${ Id.VSub_Name img) <' after '> (${ Id.VSub_Name max_attempts) <' retries.'> ) } ] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] spids: [3303 3324] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'attempt_num='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'attempt_num='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'attempt_num='> name: attempt_num ) op: assign_op.Equal rhs: { (word_part.ArithSub left: <Id.Left_DollarDParen '$(('> anode: (arith_expr.Binary op_id: Id.Arith_Plus left: ($ Id.Lit_ArithVarLike attempt_num) right: {<Id.Lit_Digits 1>} ) right: <Id.Right_DollarDParen _> ) } ) ] redirects: [] ) (command.Simple blame_tok: <sleep> more_env: [] words: [{<sleep>} {<5>}] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <set> more_env: [] words: [{<set>} {<-e>}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction keyword: <Id.KW_Function function> name_tok: <load-docker-images> name: load-docker-images body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'Start loading kube-system docker images'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<-r>} {<Id.Lit_VarLike 'img_dir='> (DQ (${ Id.VSub_Name KUBE_HOME) <'/kube-docker-files'>)} ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name KUBERNETES_MASTER> var_name: KUBERNETES_MASTER suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } right: {(DQ <true>)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <try-load-docker-image> more_env: [] words: [ {<try-load-docker-image>} {(DQ (${ Id.VSub_Name img_dir) <'/kube-apiserver.tar'>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <try-load-docker-image> more_env: [] words: [ {<try-load-docker-image>} {(DQ (${ Id.VSub_Name img_dir) <'/kube-controller-manager.tar'>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <try-load-docker-image> more_env: [] words: [ {<try-load-docker-image>} {(DQ (${ Id.VSub_Name img_dir) <'/kube-scheduler.tar'>)} ] redirects: [] do_fork: T ) ] spids: [3417 3437] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <try-load-docker-image> more_env: [] words: [{<try-load-docker-image>} {(DQ (${ Id.VSub_Name img_dir) <'/kube-proxy.tar'>)}] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction keyword: <Id.KW_Function function> name_tok: <start-kubelet> name: start-kubelet body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'Start kubelet'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<Id.Lit_VarLike 'kubelet_bin='> (DQ (${ Id.VSub_Name KUBE_HOME) <'/bin/kubelet'>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<-r>} {<Id.Lit_VarLike 'version='> (DQ (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.Left_DoubleQuote '"'> more_env: [] words: [ {(DQ (${ Id.VSub_Name kubelet_bin))} {<--version> <Id.Lit_Equals '='> <true>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <cut> more_env: [] words: [{<cut>} {<-f2>} {<-d>} {(DQ <' '>)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Eof_RParen _> ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'Using kubelet binary at '> (${ Id.VSub_Name kubelet_bin))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<Id.Lit_VarLike 'flags='> (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name KUBELET_TEST_LOG_LEVEL> var_name: KUBELET_TEST_LOG_LEVEL suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:{(DQ <'--v=2'>)}) right: <Id.Right_DollarBrace '}'> ) <' '> (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name KUBELET_TEST_ARGS> var_name: KUBELET_TEST_ARGS suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'flags+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'flags+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'flags+='> name:flags) op: assign_op.PlusEqual rhs: {(DQ <' --allow-privileged=true'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'flags+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'flags+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'flags+='> name:flags) op: assign_op.PlusEqual rhs: {(DQ <' --cgroup-root=/'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'flags+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'flags+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'flags+='> name:flags) op: assign_op.PlusEqual rhs: {(DQ <' --cloud-provider=gce'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'flags+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'flags+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'flags+='> name:flags) op: assign_op.PlusEqual rhs: {(DQ <' --cluster-dns='> (${ Id.VSub_Name DNS_SERVER_IP))} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'flags+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'flags+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'flags+='> name:flags) op: assign_op.PlusEqual rhs: {(DQ <' --cluster-domain='> (${ Id.VSub_Name DNS_DOMAIN))} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'flags+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'flags+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'flags+='> name:flags) op: assign_op.PlusEqual rhs: {(DQ <' --pod-manifest-path=/etc/kubernetes/manifests'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'flags+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'flags+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'flags+='> name:flags) op: assign_op.PlusEqual rhs: {(DQ <' --experimental-check-node-capabilities-before-mount=true'>)} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name KUBELET_PORT> var_name: KUBELET_PORT suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'flags+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'flags+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'flags+='> name:flags) op: assign_op.PlusEqual rhs: {(DQ <' --port='> (${ Id.VSub_Name KUBELET_PORT))} ) ] redirects: [] ) ] spids: [3629 3645] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name KUBERNETES_MASTER> var_name: KUBERNETES_MASTER suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } right: {(DQ <true>)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'flags+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'flags+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'flags+='> name:flags) op: assign_op.PlusEqual rhs: {(DQ <' --enable-debugging-handlers=false'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'flags+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'flags+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'flags+='> name:flags) op: assign_op.PlusEqual rhs: {(DQ <' --hairpin-mode=none'>)} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name REGISTER_MASTER_KUBELET> var_name: REGISTER_MASTER_KUBELET suffix_op: (suffix_op.Unary op: <Id.VTest_ColonHyphen _> arg_word: {<false>} ) right: <Id.Right_DollarBrace '}'> ) ) } right: {(DQ <true>)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'flags+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'flags+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'flags+='> name:flags) op: assign_op.PlusEqual rhs: {(DQ <' --kubeconfig=/var/lib/kubelet/kubeconfig'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'flags+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'flags+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'flags+='> name:flags) op: assign_op.PlusEqual rhs: {(DQ <' --register-schedulable=false'>)} ) ] redirects: [] ) ] spids: [3695 3716] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'flags+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'flags+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'flags+='> name:flags) op: assign_op.PlusEqual rhs: {(DQ <' --pod-cidr='> (${ Id.VSub_Name MASTER_IP_RANGE))} ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [3660 3680] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'flags+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'flags+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'flags+='> name:flags) op: assign_op.PlusEqual rhs: {(DQ <' --enable-debugging-handlers=true'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'flags+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'flags+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'flags+='> name:flags) op: assign_op.PlusEqual rhs: {(DQ <' --kubeconfig=/var/lib/kubelet/kubeconfig'>)} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name HAIRPIN_MODE> var_name: HAIRPIN_MODE suffix_op: (suffix_op.Unary op: <Id.VTest_ColonHyphen _> arg_word: (rhs_word__Empty) ) right: <Id.Right_DollarBrace '}'> ) ) } right: {(DQ <promiscuous-bridge>)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name HAIRPIN_MODE> var_name: HAIRPIN_MODE suffix_op: (suffix_op.Unary op: <Id.VTest_ColonHyphen _> arg_word: (rhs_word__Empty) ) right: <Id.Right_DollarBrace '}'> ) ) } right: {(DQ <hairpin-veth>)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name HAIRPIN_MODE> var_name: HAIRPIN_MODE suffix_op: (suffix_op.Unary op: <Id.VTest_ColonHyphen _> arg_word: (rhs_word__Empty) ) right: <Id.Right_DollarBrace '}'> ) ) } right: {(DQ <none>)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) ] ops: [<Id.Op_DPipe _> <Id.Op_DPipe _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'flags+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'flags+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'flags+='> name:flags) op: assign_op.PlusEqual rhs: {(DQ <' --hairpin-mode='> (${ Id.VSub_Name HAIRPIN_MODE))} ) ] redirects: [] ) ] spids: [3768 3830] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name NETWORK_PROVIDER> var_name: NETWORK_PROVIDER suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'flags+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'flags+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'flags+='> name:flags) op: assign_op.PlusEqual rhs: {(DQ <' --cni-bin-dir=/opt/kubernetes/bin'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'flags+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'flags+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'flags+='> name:flags) op: assign_op.PlusEqual rhs: {(DQ <' --network-plugin='> (${ Id.VSub_Name NETWORK_PROVIDER))} ) ] redirects: [] ) ] spids: [3852 3868] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name NON_MASQUERADE_CIDR> var_name: NON_MASQUERADE_CIDR suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'flags+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'flags+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'flags+='> name:flags) op: assign_op.PlusEqual rhs: {(DQ <' --non-masquerade-cidr='> (${ Id.VSub_Name NON_MASQUERADE_CIDR))} ) ] redirects: [] ) ] spids: [3889 3905] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name ENABLE_MANIFEST_URL> var_name: ENABLE_MANIFEST_URL suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } right: {(DQ <true>)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'flags+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'flags+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'flags+='> name:flags) op: assign_op.PlusEqual rhs: {(DQ <' --manifest-url='> (${ Id.VSub_Name MANIFEST_URL))} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'flags+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'flags+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'flags+='> name:flags) op: assign_op.PlusEqual rhs: {(DQ <' --manifest-url-header='> (${ Id.VSub_Name MANIFEST_URL_HEADER))} ) ] redirects: [] ) ] spids: [3920 3940] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name ENABLE_CUSTOM_METRICS> var_name: ENABLE_CUSTOM_METRICS suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'flags+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'flags+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'flags+='> name:flags) op: assign_op.PlusEqual rhs: { (DQ <' --enable-custom-metrics='> (${ Id.VSub_Name ENABLE_CUSTOM_METRICS) ) } ) ] redirects: [] ) ] spids: [3964 3980] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'node_labels='> (DQ )}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.LogicalAnd left: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name KUBE_PROXY_DAEMONSET> var_name: KUBE_PROXY_DAEMONSET suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } right: {(DQ <true>)} ) right: (bool_expr.Binary op_id: Id.BoolBinary_GlobNEqual left: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name KUBERNETES_MASTER> var_name: KUBERNETES_MASTER suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } right: {(DQ <true>)} ) ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'node_labels='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'node_labels='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'node_labels='> name: node_labels ) op: assign_op.Equal rhs: {(DQ <'beta.kubernetes.io/kube-proxy-ds-ready=true'>)} ) ] redirects: [] ) ] spids: [4002 4037] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name NODE_LABELS> var_name: NODE_LABELS suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'node_labels='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'node_labels='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'node_labels='> name: node_labels ) op: assign_op.Equal rhs: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name node_labels> var_name: node_labels suffix_op: (suffix_op.Unary op: <Id.VTest_ColonPlus _> arg_word: {(${ Id.VSub_Name node_labels) <','>} ) right: <Id.Right_DollarBrace '}'> ) (${ Id.VSub_Name NODE_LABELS) ) } ) ] redirects: [] ) ] spids: [4057 4073] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name node_labels> var_name: node_labels suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'flags+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'flags+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'flags+='> name:flags) op: assign_op.PlusEqual rhs: {(DQ <' --node-labels='> (${ Id.VSub_Name node_labels))} ) ] redirects: [] ) ] spids: [4095 4111] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name NODE_TAINTS> var_name: NODE_TAINTS suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'flags+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'flags+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'flags+='> name:flags) op: assign_op.PlusEqual rhs: {(DQ <' --register-with-taints='> (${ Id.VSub_Name NODE_TAINTS))} ) ] redirects: [] ) ] spids: [4126 4142] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name EVICTION_HARD> var_name: EVICTION_HARD suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'flags+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'flags+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'flags+='> name:flags) op: assign_op.PlusEqual rhs: {(DQ <' --eviction-hard='> (${ Id.VSub_Name EVICTION_HARD))} ) ] redirects: [] ) ] spids: [4157 4173] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name FEATURE_GATES> var_name: FEATURE_GATES suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'flags+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'flags+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'flags+='> name:flags) op: assign_op.PlusEqual rhs: {(DQ <' --feature-gates='> (${ Id.VSub_Name FEATURE_GATES))} ) ] redirects: [] ) ] spids: [4188 4204] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name CONTAINER_RUNTIME> var_name: CONTAINER_RUNTIME suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'flags+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'flags+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'flags+='> name:flags) op: assign_op.PlusEqual rhs: {(DQ <' --container-runtime='> (${ Id.VSub_Name CONTAINER_RUNTIME))} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'flags+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'flags+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'flags+='> name:flags) op: assign_op.PlusEqual rhs: {(DQ <' --rkt-path='> (${ Id.VSub_Name KUBE_HOME) <'/bin/rkt'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'flags+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'flags+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'flags+='> name:flags) op: assign_op.PlusEqual rhs: {(DQ <' --rkt-stage1-image='> (${ Id.VSub_Name RKT_STAGE1_IMAGE))} ) ] redirects: [] ) ] spids: [4219 4235] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<-r>} {<Id.Lit_VarLike 'kubelet_env_file='> (DQ <'/etc/kubelet-env'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ <'KUBELET_OPTS='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) (${ Id.VSub_Name flags) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') ) } ] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ (${ Id.VSub_Name kubelet_env_file))} ) ] do_fork: T ) (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>}] redirects: [ (Redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<EOF>} here_end_tok: <Id.Undefined_Tok ''> stdin_parts: [ <'[Unit]\n'> <'Description=Kubernetes kubelet\n'> <'Requires=network-online.target\n'> <'After=network-online.target\n'> <'\n'> <'[Service]\n'> <'Restart=always\n'> <'RestartSec=10\n'> <'EnvironmentFile='> (${ Id.VSub_Name kubelet_env_file) <'\n'> <'ExecStart='> (${ Id.VSub_Name kubelet_bin) <' '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'KUBELET_OPTS\n'> <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> ] ) ) (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/systemd/system/kubelet.service'>} ) ] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <iptables> more_env: [] words: [{<iptables>} {<-t>} {<nat>} {<-F>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <true> more_env: [] words: [{<true>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) (command.Simple blame_tok: <systemctl> more_env: [] words: [{<systemctl>} {<start>} {<kubelet.service>}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction keyword: <Id.KW_Function function> name_tok: <prepare-log-file> name: prepare-log-file body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <touch> more_env: [] words: [{<touch>} {($ Id.VSub_Number 1)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <chmod> more_env: [] words: [{<chmod>} {<644>} {($ Id.VSub_Number 1)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <chown> more_env: [] words: [{<chown>} {<root> <Id.Lit_Colon ':'> <root>} {($ Id.VSub_Number 1)}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction keyword: <Id.KW_Function function> name_tok: <prepare-kube-proxy-manifest-variables> name: prepare-kube-proxy-manifest-variables body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Sentence child: (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<-r>} {<Id.Lit_VarLike 'src_file='> ($ Id.VSub_Number 1)}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Simple blame_tok: <remove-salt-config-comments> more_env: [] words: [{<remove-salt-config-comments>} {(DQ (${ Id.VSub_Name src_file))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<-r>} {<Id.Lit_VarLike 'kubeconfig='> (DQ <'--kubeconfig=/var/lib/kube-proxy/kubeconfig'>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<Id.Lit_VarLike 'kube_docker_registry='> (DQ <'gcr.io/google_containers'>)} ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name KUBE_DOCKER_REGISTRY> var_name: KUBE_DOCKER_REGISTRY suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'kube_docker_registry='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'kube_docker_registry='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'kube_docker_registry='> name: kube_docker_registry ) op: assign_op.Equal rhs: {(${ Id.VSub_Name KUBE_DOCKER_REGISTRY)} ) ] redirects: [] ) ] spids: [4457 4473] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<-r>} {<Id.Lit_VarLike 'kube_proxy_docker_tag='> (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>} {<'/opt/kubernetes/kube-docker-files/kube-proxy.docker_tag'>}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<Id.Lit_VarLike 'api_servers='> (DQ <'--master=https://'> (${ Id.VSub_Name KUBERNETES_MASTER_NAME)) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<Id.Lit_VarLike 'params='> (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name KUBEPROXY_TEST_LOG_LEVEL> var_name: KUBEPROXY_TEST_LOG_LEVEL suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:{(DQ <'--v=2'>)}) right: <Id.Right_DollarBrace '}'> ) ) } ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name FEATURE_GATES> var_name: FEATURE_GATES suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'params+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'params+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params) op: assign_op.PlusEqual rhs: {(DQ <' --feature-gates='> (${ Id.VSub_Name FEATURE_GATES))} ) ] redirects: [] ) ] spids: [4522 4538] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'params+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'params+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params) op: assign_op.PlusEqual rhs: { (DQ < ' --iptables-sync-period=1m --iptables-min-sync-period=10s --ipvs-sync-period=1m --ipvs-min-sync-period=10s' > ) } ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name KUBEPROXY_TEST_ARGS> var_name: KUBEPROXY_TEST_ARGS suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'params+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'params+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params) op: assign_op.PlusEqual rhs: {(DQ <' '> (${ Id.VSub_Name KUBEPROXY_TEST_ARGS))} ) ] redirects: [] ) ] spids: [4559 4575] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'container_env='> (DQ )}] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'kube_cache_mutation_detector_env_name='> (DQ )}] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'kube_cache_mutation_detector_env_value='> (DQ )}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name ENABLE_CACHE_MUTATION_DETECTOR> var_name: ENABLE_CACHE_MUTATION_DETECTOR suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'container_env='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'container_env='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'container_env='> name: container_env ) op: assign_op.Equal rhs: {(DQ <'env:'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'kube_cache_mutation_detector_env_name='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'kube_cache_mutation_detector_env_name='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'kube_cache_mutation_detector_env_name='> name: kube_cache_mutation_detector_env_name ) op: assign_op.Equal rhs: {(DQ <'- name: KUBE_CACHE_MUTATION_DETECTOR'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'kube_cache_mutation_detector_env_value='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'kube_cache_mutation_detector_env_value='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'kube_cache_mutation_detector_env_value='> name: kube_cache_mutation_detector_env_value ) op: assign_op.Equal rhs: { (DQ <'value: '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) (${ Id.VSub_Name ENABLE_CACHE_MUTATION_DETECTOR) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ) } ) ] redirects: [] ) ] spids: [4611 4627] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'pod_priority='> (DQ )}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name ENABLE_POD_PRIORITY> var_name: ENABLE_POD_PRIORITY suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } right: {(DQ <true>)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'pod_priority='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'pod_priority='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'pod_priority='> name: pod_priority ) op: assign_op.Equal rhs: {(DQ <'priorityClassName: system-node-critical'>)} ) ] redirects: [] ) ] spids: [4663 4683] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} {(DQ <'s@{{kubeconfig}}@'> (${ Id.VSub_Name kubeconfig) <'@g'>)} {(${ Id.VSub_Name src_file)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} { (DQ <'s@{{pillar'> <Id.Lit_BadBackslash '\\'> <'[\'kube_docker_registry\''> <Id.Lit_BadBackslash '\\'> <']}}@'> (${ Id.VSub_Name kube_docker_registry) <'@g'> ) } {(${ Id.VSub_Name src_file)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} { (DQ <'s@{{pillar'> <Id.Lit_BadBackslash '\\'> <'[\'kube-proxy_docker_tag\''> <Id.Lit_BadBackslash '\\'> <']}}@'> (${ Id.VSub_Name kube_proxy_docker_tag) <'@g'> ) } {(${ Id.VSub_Name src_file)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} {(DQ <'s@{{params}}@'> (${ Id.VSub_Name params) <'@g'>)} {(${ Id.VSub_Name src_file)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} {(DQ <'s@{{container_env}}@'> (${ Id.VSub_Name container_env) <'@g'>)} {(${ Id.VSub_Name src_file)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} { (DQ <'s@{{kube_cache_mutation_detector_env_name}}@'> (${ Id.VSub_Name kube_cache_mutation_detector_env_name) <'@g'> ) } {(${ Id.VSub_Name src_file)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} { (DQ <'s@{{kube_cache_mutation_detector_env_value}}@'> (${ Id.VSub_Name kube_cache_mutation_detector_env_value) <'@g'> ) } {(${ Id.VSub_Name src_file)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} {(DQ <'s@{{pod_priority}}@'> (${ Id.VSub_Name pod_priority) <'@g'>)} {(${ Id.VSub_Name src_file)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} {(DQ <'s@{{ cpurequest }}@100m@g'>)} {(${ Id.VSub_Name src_file)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} {(DQ <'s@{{api_servers_with_port}}@'> (${ Id.VSub_Name api_servers) <'@g'>)} {(${ Id.VSub_Name src_file)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} { (DQ <'s@{{kubernetes_service_host_env_value}}@'> (${ Id.VSub_Name KUBERNETES_MASTER_NAME) <'@g'> ) } {(${ Id.VSub_Name src_file)} ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name CLUSTER_IP_RANGE> var_name: CLUSTER_IP_RANGE suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} { (DQ <'s@{{cluster_cidr}}@--cluster-cidr='> (${ Id.VSub_Name CLUSTER_IP_RANGE) <'@g'> ) } {(${ Id.VSub_Name src_file)} ] redirects: [] do_fork: T ) ] spids: [4908 4924] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name CONTAINER_RUNTIME> var_name: CONTAINER_RUNTIME suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } right: {(DQ <rkt>)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<Id.Lit_VarLike 'extra_workaround_cmd='> (DQ <'ln -sf /proc/self/mounts /etc/mtab; '> <' mount -o remount,rw /proc; '> <' mount -o remount,rw /proc/sys; '> <' mount -o remount,rw /sys; '> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} { (DQ <'s@-'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ch: '\\' ) <s> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'> ch:'\\') <'+kube-proxy@- '> (${ Id.VSub_Name extra_workaround_cmd) <' kube-proxy@g'> ) } {(DQ (${ Id.VSub_Name src_file))} ] redirects: [] do_fork: T ) ] spids: [4949 4969] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction keyword: <Id.KW_Function function> name_tok: <start-kube-proxy> name: start-kube-proxy body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'Start kube-proxy static pod'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <prepare-log-file> more_env: [] words: [{<prepare-log-file>} {<'/var/log/kube-proxy.log'>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<-r>} {<Id.Lit_VarLike 'src_file='> (DQ (${ Id.VSub_Name KUBE_HOME) <'/kube-manifests/kubernetes/kube-proxy.manifest'>) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <prepare-kube-proxy-manifest-variables> more_env: [] words: [{<prepare-kube-proxy-manifest-variables>} {(DQ ($ Id.VSub_DollarName src_file))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <cp> more_env: [] words: [{<cp>} {(DQ (${ Id.VSub_Name src_file))} {<'/etc/kubernetes/manifests'>}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction keyword: <Id.KW_Function function> name_tok: <prepare-etcd-manifest> name: prepare-etcd-manifest body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<Id.Lit_VarLike 'host_name='> (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <hostname> more_env: [] words: [{<hostname>} {<-s>}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'etcd_cluster='> (DQ )}] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'cluster_state='> (DQ <new>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'etcd_protocol='> (DQ <http>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'etcd_creds='> (DQ )}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.LogicalAnd left: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name ETCD_CA_KEY> var_name: ETCD_CA_KEY suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: (bool_expr.LogicalAnd left: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name ETCD_CA_CERT> var_name: ETCD_CA_CERT suffix_op: (suffix_op.Unary op: <Id.VTest_ColonHyphen _> arg_word: (rhs_word__Empty) ) right: <Id.Right_DollarBrace '}'> ) ) } ) right: (bool_expr.LogicalAnd left: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name ETCD_PEER_KEY> var_name: ETCD_PEER_KEY suffix_op: (suffix_op.Unary op: <Id.VTest_ColonHyphen _> arg_word: (rhs_word__Empty) ) right: <Id.Right_DollarBrace '}'> ) ) } ) right: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name ETCD_PEER_CERT> var_name: ETCD_PEER_CERT suffix_op: (suffix_op.Unary op: <Id.VTest_ColonHyphen _> arg_word: (rhs_word__Empty) ) right: <Id.Right_DollarBrace '}'> ) ) } ) ) ) ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'etcd_creds='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'etcd_creds='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'etcd_creds='> name:etcd_creds) op: assign_op.Equal rhs: { (DQ < ' --peer-trusted-ca-file /etc/srv/kubernetes/etcd-ca.crt --peer-cert-file /etc/srv/kubernetes/etcd-peer.crt --peer-key-file /etc/srv/kubernetes/etcd-peer.key -peer-client-cert-auth ' > ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'etcd_protocol='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'etcd_protocol='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'etcd_protocol='> name: etcd_protocol ) op: assign_op.Equal rhs: {(DQ <https>)} ) ] redirects: [] ) ] spids: [5157 5206] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [host] iterable: (for_iter.Words words: [ { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name INITIAL_ETCD_CLUSTER> var_name: INITIAL_ETCD_CLUSTER suffix_op: (suffix_op.Unary op: <Id.VTest_ColonHyphen _> arg_word: {(${ Id.VSub_Name host_name)} ) right: <Id.Right_DollarBrace '}'> ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <tr> more_env: [] words: [{<tr>} {(DQ <','>)} {(DQ <Id.Lit_BadBackslash '\\'> <n>)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Eof_RParen _> ) } ] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'etcd_host='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'etcd_host='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'etcd_host='> name:etcd_host) op: assign_op.Equal rhs: { (DQ <etcd-> (${ Id.VSub_Name host) <'='> (${ Id.VSub_Name etcd_protocol) <'://'> (${ Id.VSub_Name host) <':'> ($ Id.VSub_Number 3) ) } ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: {(DQ (${ Id.VSub_Name etcd_cluster))} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'etcd_cluster+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'etcd_cluster+='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'etcd_cluster+='> name: etcd_cluster ) op: assign_op.PlusEqual rhs: {(DQ <','>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'cluster_state='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'cluster_state='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'cluster_state='> name: cluster_state ) op: assign_op.Equal rhs: {(DQ <existing>)} ) ] redirects: [] ) ] spids: [5281 5296] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'etcd_cluster+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'etcd_cluster+='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'etcd_cluster+='> name: etcd_cluster ) op: assign_op.PlusEqual rhs: {(DQ (${ Id.VSub_Name etcd_host))} ) ] redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<-r>} {<Id.Lit_VarLike 'temp_file='> (DQ <'/tmp/'> ($ Id.VSub_Number 5))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <cp> more_env: [] words: [ {<cp>} { (DQ (${ Id.VSub_Name KUBE_HOME) <'/kube-manifests/kubernetes/gci-trusty/etcd.manifest'> ) } {(DQ (${ Id.VSub_Name temp_file))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <remove-salt-config-comments> more_env: [] words: [{<remove-salt-config-comments>} {(DQ (${ Id.VSub_Name temp_file))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} {(DQ <'s@{{ *suffix *}}@'> ($ Id.VSub_Number 1) <'@g'>)} {(DQ (${ Id.VSub_Name temp_file))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} {(DQ <'s@{{ *port *}}@'> ($ Id.VSub_Number 2) <'@g'>)} {(DQ (${ Id.VSub_Name temp_file))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} {(DQ <'s@{{ *server_port *}}@'> ($ Id.VSub_Number 3) <'@g'>)} {(DQ (${ Id.VSub_Name temp_file))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} { (DQ <'s@{{ *cpulimit *}}@'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ($ Id.VSub_Number 4) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <'@g'> ) } {(DQ (${ Id.VSub_Name temp_file))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} {(DQ <'s@{{ *hostname *}}@'> ($ Id.VSub_DollarName host_name) <'@g'>)} {(DQ (${ Id.VSub_Name temp_file))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} {(DQ <'s@{{ *srv_kube_path *}}@/etc/srv/kubernetes@g'>)} {(DQ (${ Id.VSub_Name temp_file))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} {(DQ <'s@{{ *etcd_cluster *}}@'> ($ Id.VSub_DollarName etcd_cluster) <'@g'>)} {(DQ (${ Id.VSub_Name temp_file))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<-r>} {<Id.Lit_VarLike 'default_storage_backend='> (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>} {(DQ (${ Id.VSub_Name temp_file))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <grep> more_env: [] words: [ {<grep>} {<-o>} { (DQ <'{{ *pillar'> <Id.Lit_BadBackslash '\\'> <'.get(\'storage_backend\', \''> <Id.Lit_BadBackslash '\\'> <'(.*'> <Id.Lit_BadBackslash '\\'> <')\') *}}'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-e>} { (DQ <'s@{{ *pillar'> <Id.Lit_BadBackslash '\\'> <'.get(\'storage_backend\', \''> <Id.Lit_BadBackslash '\\'> <'(.*'> <Id.Lit_BadBackslash '\\'> <')\') *}}@'> <Id.Lit_BadBackslash '\\'> <'1@g'> ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _> <Id.Op_Pipe _>] ) right: <Id.Eof_RParen _> ) } ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name STORAGE_BACKEND> var_name: STORAGE_BACKEND suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} { (DQ <'s@{{ *pillar'> <Id.Lit_BadBackslash '\\'> <'.get(\'storage_backend\', \''> <Id.Lit_BadBackslash '\\'> <'(.*'> <Id.Lit_BadBackslash '\\'> <')\') *}}@'> (${ Id.VSub_Name STORAGE_BACKEND) <'@g'> ) } {(DQ (${ Id.VSub_Name temp_file))} ] redirects: [] do_fork: T ) ] spids: [5553 5569] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} { (DQ <'s@{{ *pillar'> <Id.Lit_BadBackslash '\\'> <'.get(\'storage_backend\', \''> <Id.Lit_BadBackslash '\\'> <'(.*'> <Id.Lit_BadBackslash '\\'> <')\') *}}@'> <Id.Lit_BadBackslash '\\'> <'1@g'> ) } {(DQ (${ Id.VSub_Name temp_file))} ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name STORAGE_BACKEND> var_name: STORAGE_BACKEND suffix_op: (suffix_op.Unary op: <Id.VTest_ColonHyphen _> arg_word: {(${ Id.VSub_Name default_storage_backend)} ) right: <Id.Right_DollarBrace '}'> ) ) } right: {(DQ <etcd3>)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} {(DQ <'s@{{ *quota_bytes *}}@--quota-backend-bytes=4294967296@g'>)} {(DQ (${ Id.VSub_Name temp_file))} ] redirects: [] do_fork: T ) ] spids: [5630 5653] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} {(DQ <'s@{{ *quota_bytes *}}@@g'>)} {(DQ (${ Id.VSub_Name temp_file))} ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} {(DQ <'s@{{ *cluster_state *}}@'> ($ Id.VSub_DollarName cluster_state) <'@g'>)} {(DQ (${ Id.VSub_Name temp_file))} ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name ETCD_IMAGE> var_name: ETCD_IMAGE suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} { (DQ <'s@{{ *pillar'> <Id.Lit_BadBackslash '\\'> <'.get(\'etcd_docker_tag\', \''> <Id.Lit_BadBackslash '\\'> <'(.*'> <Id.Lit_BadBackslash '\\'> <')\') *}}@'> (${ Id.VSub_Name ETCD_IMAGE) <'@g'> ) } {(DQ (${ Id.VSub_Name temp_file))} ] redirects: [] do_fork: T ) ] spids: [5715 5731] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} { (DQ <'s@{{ *pillar'> <Id.Lit_BadBackslash '\\'> <'.get(\'etcd_docker_tag\', \''> <Id.Lit_BadBackslash '\\'> <'(.*'> <Id.Lit_BadBackslash '\\'> <')\') *}}@'> <Id.Lit_BadBackslash '\\'> <'1@g'> ) } {(DQ (${ Id.VSub_Name temp_file))} ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name ETCD_DOCKER_REPOSITORY> var_name: ETCD_DOCKER_REPOSITORY suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} { (DQ <'s@{{ *pillar'> <Id.Lit_BadBackslash '\\'> <'.get(\'etcd_docker_repository\', \''> <Id.Lit_BadBackslash '\\'> <'(.*'> <Id.Lit_BadBackslash '\\'> <')\') *}}@'> (${ Id.VSub_Name ETCD_DOCKER_REPOSITORY) <'@g'> ) } {(DQ (${ Id.VSub_Name temp_file))} ] redirects: [] do_fork: T ) ] spids: [5792 5808] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} { (DQ <'s@{{ *pillar'> <Id.Lit_BadBackslash '\\'> <'.get(\'etcd_docker_repository\', \''> <Id.Lit_BadBackslash '\\'> <'(.*'> <Id.Lit_BadBackslash '\\'> <')\') *}}@'> <Id.Lit_BadBackslash '\\'> <'1@g'> ) } {(DQ (${ Id.VSub_Name temp_file))} ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} {(DQ <'s@{{ *etcd_protocol *}}@'> ($ Id.VSub_DollarName etcd_protocol) <'@g'>)} {(DQ (${ Id.VSub_Name temp_file))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} {(DQ <'s@{{ *etcd_creds *}}@'> ($ Id.VSub_DollarName etcd_creds) <'@g'>)} {(DQ (${ Id.VSub_Name temp_file))} ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name ETCD_VERSION> var_name: ETCD_VERSION suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} { (DQ <'s@{{ *pillar'> <Id.Lit_BadBackslash '\\'> <'.get(\'etcd_version\', \''> <Id.Lit_BadBackslash '\\'> <'(.*'> <Id.Lit_BadBackslash '\\'> <')\') *}}@'> (${ Id.VSub_Name ETCD_VERSION) <'@g'> ) } {(DQ (${ Id.VSub_Name temp_file))} ] redirects: [] do_fork: T ) ] spids: [5908 5924] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} { (DQ <'s@{{ *pillar'> <Id.Lit_BadBackslash '\\'> <'.get(\'etcd_version\', \''> <Id.Lit_BadBackslash '\\'> <'(.*'> <Id.Lit_BadBackslash '\\'> <')\') *}}@'> <Id.Lit_BadBackslash '\\'> <'1@g'> ) } {(DQ (${ Id.VSub_Name temp_file))} ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} {(DQ <'s@/mnt/master-pd/var/etcd@/mnt/disks/master-pd/var/etcd@g'>)} {(DQ (${ Id.VSub_Name temp_file))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <mv> more_env: [] words: [{<mv>} {(DQ (${ Id.VSub_Name temp_file))} {<'/etc/kubernetes/manifests'>}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction keyword: <Id.KW_Function function> name_tok: <start-etcd-empty-dir-cleanup-pod> name: start-etcd-empty-dir-cleanup-pod body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <cp> more_env: [] words: [ {<cp>} { (DQ (${ Id.VSub_Name KUBE_HOME) < '/kube-manifests/kubernetes/gci-trusty/etcd-empty-dir-cleanup/etcd-empty-dir-cleanup.yaml' > ) } {(DQ <'/etc/kubernetes/manifests'>)} ] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction keyword: <Id.KW_Function function> name_tok: <start-etcd-servers> name: start-etcd-servers body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'Start etcd pods'>)}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id:Id.BoolUnary_d child:{<'/etc/etcd'>}) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <rm> more_env: [] words: [{<rm>} {<-rf>} {<'/etc/etcd'>}] redirects: [] do_fork: T ) ] spids: [6065 6076] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_e child: {<'/etc/default/etcd'>} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <rm> more_env: [] words: [{<rm>} {<-f>} {<'/etc/default/etcd'>}] redirects: [] do_fork: T ) ] spids: [6089 6100] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_e child: {<'/etc/systemd/system/etcd.service'>} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <rm> more_env: [] words: [{<rm>} {<-f>} {<'/etc/systemd/system/etcd.service'>}] redirects: [] do_fork: T ) ] spids: [6113 6124] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id:Id.BoolUnary_e child:{<'/etc/init.d/etcd'>}) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <rm> more_env: [] words: [{<rm>} {<-f>} {<'/etc/init.d/etcd'>}] redirects: [] do_fork: T ) ] spids: [6137 6148] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <prepare-log-file> more_env: [] words: [{<prepare-log-file>} {<'/var/log/etcd.log'>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <prepare-etcd-manifest> more_env: [] words: [ {<prepare-etcd-manifest>} {(DQ )} {(DQ <2379>)} {(DQ <2380>)} {(DQ <200m>)} {(DQ <etcd.manifest>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <prepare-log-file> more_env: [] words: [{<prepare-log-file>} {<'/var/log/etcd-events.log'>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <prepare-etcd-manifest> more_env: [] words: [ {<prepare-etcd-manifest>} {(DQ <-events>)} {(DQ <4002>)} {(DQ <2381>)} {(DQ <100m>)} {(DQ <etcd-events.manifest>)} ] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction keyword: <Id.KW_Function function> name_tok: <compute-master-manifest-variables> name: compute-master-manifest-variables body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'CLOUD_CONFIG_OPT='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'CLOUD_CONFIG_OPT='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'CLOUD_CONFIG_OPT='> name: CLOUD_CONFIG_OPT ) op: assign_op.Equal rhs: {(DQ )} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'CLOUD_CONFIG_VOLUME='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'CLOUD_CONFIG_VOLUME='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'CLOUD_CONFIG_VOLUME='> name: CLOUD_CONFIG_VOLUME ) op: assign_op.Equal rhs: {(DQ )} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'CLOUD_CONFIG_MOUNT='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'CLOUD_CONFIG_MOUNT='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'CLOUD_CONFIG_MOUNT='> name: CLOUD_CONFIG_MOUNT ) op: assign_op.Equal rhs: {(DQ )} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id:Id.BoolUnary_f child:{<'/etc/gce.conf'>}) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'CLOUD_CONFIG_OPT='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'CLOUD_CONFIG_OPT='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'CLOUD_CONFIG_OPT='> name: CLOUD_CONFIG_OPT ) op: assign_op.Equal rhs: {(DQ <'--cloud-config=/etc/gce.conf'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'CLOUD_CONFIG_VOLUME='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'CLOUD_CONFIG_VOLUME='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'CLOUD_CONFIG_VOLUME='> name: CLOUD_CONFIG_VOLUME ) op: assign_op.Equal rhs: { (DQ <'{'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <name> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <': '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <cloudconfigmount> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <','> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <hostPath> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <': {'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <path> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <': '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <'/etc/gce.conf'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <', '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <type> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <': '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <FileOrCreate> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <'}},'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'CLOUD_CONFIG_MOUNT='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'CLOUD_CONFIG_MOUNT='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'CLOUD_CONFIG_MOUNT='> name: CLOUD_CONFIG_MOUNT ) op: assign_op.Equal rhs: { (DQ <'{'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <name> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <': '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <cloudconfigmount> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <','> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <mountPath> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <': '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <'/etc/gce.conf'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <', '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <readOnly> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <': true},'> ) } ) ] redirects: [] ) ] spids: [6259 6270] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'DOCKER_REGISTRY='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'DOCKER_REGISTRY='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'DOCKER_REGISTRY='> name: DOCKER_REGISTRY ) op: assign_op.Equal rhs: {(DQ <'gcr.io/google_containers'>)} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name KUBE_DOCKER_REGISTRY> var_name: KUBE_DOCKER_REGISTRY suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'DOCKER_REGISTRY='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'DOCKER_REGISTRY='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'DOCKER_REGISTRY='> name: DOCKER_REGISTRY ) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name KUBE_DOCKER_REGISTRY))} ) ] redirects: [] ) ] spids: [6348 6364] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction keyword: <Id.KW_Function function> name_tok: <remove-salt-config-comments> name: remove-salt-config-comments body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {(DQ <'/^[ |'> <Id.Lit_BadBackslash '\\'> <'t]*{[#|%]/d'>)} {($ Id.VSub_Number 1)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {(DQ <'/^[ |'> <Id.Lit_BadBackslash '\\'> <'t]*#/d'>)} {($ Id.VSub_Number 1)} ] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction keyword: <Id.KW_Function function> name_tok: <start-kube-apiserver> name: start-kube-apiserver body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'Start kubernetes api-server'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <prepare-log-file> more_env: [] words: [{<prepare-log-file>} {<'/var/log/kube-apiserver.log'>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <prepare-log-file> more_env: [] words: [{<prepare-log-file>} {<'/var/log/kube-apiserver-audit.log'>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<Id.Lit_VarLike 'params='> (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name API_SERVER_TEST_LOG_LEVEL> var_name: API_SERVER_TEST_LOG_LEVEL suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:{(DQ <'--v=2'>)}) right: <Id.Right_DollarBrace '}'> ) <' '> (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name APISERVER_TEST_ARGS> var_name: APISERVER_TEST_ARGS suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) <' '> (${ Id.VSub_Name CLOUD_CONFIG_OPT) ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'params+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'params+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params) op: assign_op.PlusEqual rhs: {(DQ <' --address=127.0.0.1'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'params+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'params+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params) op: assign_op.PlusEqual rhs: {(DQ <' --allow-privileged=true'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'params+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'params+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params) op: assign_op.PlusEqual rhs: {(DQ <' --cloud-provider=gce'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'params+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'params+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params) op: assign_op.PlusEqual rhs: {(DQ <' --client-ca-file=/etc/srv/kubernetes/ca.crt'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'params+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'params+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params) op: assign_op.PlusEqual rhs: {(DQ <' --etcd-servers=http://127.0.0.1:2379'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'params+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'params+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params) op: assign_op.PlusEqual rhs: {(DQ <' --etcd-servers-overrides=/events#http://127.0.0.1:4002'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'params+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'params+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params) op: assign_op.PlusEqual rhs: {(DQ <' --secure-port=443'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'params+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'params+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params) op: assign_op.PlusEqual rhs: {(DQ <' --tls-cert-file=/etc/srv/kubernetes/server.cert'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'params+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'params+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params) op: assign_op.PlusEqual rhs: {(DQ <' --tls-private-key-file=/etc/srv/kubernetes/server.key'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'params+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'params+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params) op: assign_op.PlusEqual rhs: {(DQ <' --token-auth-file=/etc/srv/kubernetes/known_tokens.csv'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'params+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'params+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params) op: assign_op.PlusEqual rhs: {(DQ <' --enable-aggregator-routing=true'>)} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.LogicalAnd left: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name KUBE_PASSWORD> var_name: KUBE_PASSWORD suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name KUBE_USER> var_name: KUBE_USER suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'params+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'params+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params) op: assign_op.PlusEqual rhs: {(DQ <' --basic-auth-file=/etc/srv/kubernetes/basic_auth.csv'>)} ) ] redirects: [] ) ] spids: [6580 6607] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name STORAGE_BACKEND> var_name: STORAGE_BACKEND suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'params+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'params+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params) op: assign_op.PlusEqual rhs: {(DQ <' --storage-backend='> (${ Id.VSub_Name STORAGE_BACKEND))} ) ] redirects: [] ) ] spids: [6619 6635] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name STORAGE_MEDIA_TYPE> var_name: STORAGE_MEDIA_TYPE suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'params+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'params+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params) op: assign_op.PlusEqual rhs: {(DQ <' --storage-media-type='> (${ Id.VSub_Name STORAGE_MEDIA_TYPE))} ) ] redirects: [] ) ] spids: [6650 6666] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name KUBE_APISERVER_REQUEST_TIMEOUT_SEC> var_name: KUBE_APISERVER_REQUEST_TIMEOUT_SEC suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'params+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'params+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params) op: assign_op.PlusEqual rhs: { (DQ <' --request-timeout='> (${ Id.VSub_Name KUBE_APISERVER_REQUEST_TIMEOUT_SEC) <s> ) } ) ] redirects: [] ) ] spids: [6681 6697] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name ENABLE_GARBAGE_COLLECTOR> var_name: ENABLE_GARBAGE_COLLECTOR suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'params+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'params+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params) op: assign_op.PlusEqual rhs: { (DQ <' --enable-garbage-collector='> (${ Id.VSub_Name ENABLE_GARBAGE_COLLECTOR) ) } ) ] redirects: [] ) ] spids: [6713 6729] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name NUM_NODES> var_name: NUM_NODES suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_ge left: {(DQ (${ Id.VSub_Name NUM_NODES))} right: {<1000>} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'params+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'params+='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'params+='> name: params ) op: assign_op.PlusEqual rhs: { (DQ < ' --max-requests-inflight=1500 --max-mutating-requests-inflight=500' > ) } ) ] redirects: [] ) ] spids: [6767 6784] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'params+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'params+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params) op: assign_op.PlusEqual rhs: { (DQ <' --target-ram-mb='> (word_part.ArithSub left: <Id.Left_DollarDParen '$(('> anode: (arith_expr.Binary op_id: Id.Arith_Star left: {(${ Id.VSub_Name NUM_NODES)} right: {<Id.Lit_Digits 60>} ) right: <Id.Right_DollarDParen _> ) ) } ) ] redirects: [] ) ] spids: [6744 6760] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name SERVICE_CLUSTER_IP_RANGE> var_name: SERVICE_CLUSTER_IP_RANGE suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'params+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'params+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params) op: assign_op.PlusEqual rhs: { (DQ <' --service-cluster-ip-range='> (${ Id.VSub_Name SERVICE_CLUSTER_IP_RANGE) ) } ) ] redirects: [] ) ] spids: [6827 6843] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name ETCD_QUORUM_READ> var_name: ETCD_QUORUM_READ suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'params+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'params+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params) op: assign_op.PlusEqual rhs: {(DQ <' --etcd-quorum-read='> (${ Id.VSub_Name ETCD_QUORUM_READ))} ) ] redirects: [] ) ] spids: [6858 6874] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name ENABLE_APISERVER_BASIC_AUDIT> var_name: ENABLE_APISERVER_BASIC_AUDIT suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } right: {(DQ <true>)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'params+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'params+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params) op: assign_op.PlusEqual rhs: {(DQ <' --audit-log-path=/var/log/kube-apiserver-audit.log'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'params+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'params+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params) op: assign_op.PlusEqual rhs: {(DQ <' --audit-log-maxage=0'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'params+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'params+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params) op: assign_op.PlusEqual rhs: {(DQ <' --audit-log-maxbackup=0'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'params+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'params+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params) op: assign_op.PlusEqual rhs: {(DQ <' --audit-log-maxsize=2000000000'>)} ) ] redirects: [] ) ] spids: [6890 6910] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name ENABLE_APISERVER_LOGS_HANDLER> var_name: ENABLE_APISERVER_LOGS_HANDLER suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } right: {(DQ <false>)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'params+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'params+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params) op: assign_op.PlusEqual rhs: {(DQ <' --enable-logs-handler=false'>)} ) ] redirects: [] ) ] spids: [6973 6993] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'admission_controller_config_mount='> (DQ )}] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'admission_controller_config_volume='> (DQ )}] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'image_policy_webhook_config_mount='> (DQ )}] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'image_policy_webhook_config_volume='> (DQ )}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name ADMISSION_CONTROL> var_name: ADMISSION_CONTROL suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'params+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'params+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params) op: assign_op.PlusEqual rhs: {(DQ <' --admission-control='> (${ Id.VSub_Name ADMISSION_CONTROL))} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(${ Id.VSub_Name ADMISSION_CONTROL)} right: {<Id.Lit_Other '*'> (DQ <ImagePolicyWebhook>) <Id.Lit_Other '*'> } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'params+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'params+='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'params+='> name: params ) op: assign_op.PlusEqual rhs: { (DQ < ' --admission-control-config-file=/etc/admission_controller.config' > ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'admission_controller_config_mount='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'admission_controller_config_mount='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'admission_controller_config_mount='> name: admission_controller_config_mount ) op: assign_op.Equal rhs: { (DQ <'{'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <name> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <': '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <admissioncontrollerconfigmount> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <','> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <mountPath> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <': '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <'/etc/admission_controller.config'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <', '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <readOnly> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <': false},'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'admission_controller_config_volume='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'admission_controller_config_volume='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'admission_controller_config_volume='> name: admission_controller_config_volume ) op: assign_op.Equal rhs: { (DQ <'{'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <name> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <': '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <admissioncontrollerconfigmount> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <','> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <hostPath> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <': {'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <path> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <': '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <'/etc/admission_controller.config'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <', '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <type> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <': '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <FileOrCreate> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <'}},'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'image_policy_webhook_config_mount='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'image_policy_webhook_config_mount='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'image_policy_webhook_config_mount='> name: image_policy_webhook_config_mount ) op: assign_op.Equal rhs: { (DQ <'{'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <name> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <': '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <imagepolicywebhookconfigmount> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <','> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <mountPath> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <': '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <'/etc/gcp_image_review.config'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <', '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <readOnly> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <': false},'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'image_policy_webhook_config_volume='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'image_policy_webhook_config_volume='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'image_policy_webhook_config_volume='> name: image_policy_webhook_config_volume ) op: assign_op.Equal rhs: { (DQ <'{'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <name> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <': '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <imagepolicywebhookconfigmount> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <','> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <hostPath> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <': {'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <path> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <': '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <'/etc/gcp_image_review.config'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <', '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <type> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <': '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <FileOrCreate> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <'}},'> ) } ) ] redirects: [] ) ] spids: [7062 7081] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [7034 7050] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name KUBE_APISERVER_REQUEST_TIMEOUT> var_name: KUBE_APISERVER_REQUEST_TIMEOUT suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'params+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'params+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params) op: assign_op.PlusEqual rhs: { (DQ <' --min-request-timeout='> (${ Id.VSub_Name KUBE_APISERVER_REQUEST_TIMEOUT) ) } ) ] redirects: [] ) ] spids: [7225 7241] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name RUNTIME_CONFIG> var_name: RUNTIME_CONFIG suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'params+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'params+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params) op: assign_op.PlusEqual rhs: {(DQ <' --runtime-config='> (${ Id.VSub_Name RUNTIME_CONFIG))} ) ] redirects: [] ) ] spids: [7256 7272] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name FEATURE_GATES> var_name: FEATURE_GATES suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'params+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'params+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params) op: assign_op.PlusEqual rhs: {(DQ <' --feature-gates='> (${ Id.VSub_Name FEATURE_GATES))} ) ] redirects: [] ) ] spids: [7287 7303] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.LogicalAnd left: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name PROJECT_ID> var_name: PROJECT_ID suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: (bool_expr.LogicalAnd left: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name TOKEN_URL> var_name: TOKEN_URL suffix_op: (suffix_op.Unary op: <Id.VTest_ColonHyphen _> arg_word: (rhs_word__Empty) ) right: <Id.Right_DollarBrace '}'> ) ) } ) right: (bool_expr.LogicalAnd left: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name TOKEN_BODY> var_name: TOKEN_BODY suffix_op: (suffix_op.Unary op: <Id.VTest_ColonHyphen _> arg_word: (rhs_word__Empty) ) right: <Id.Right_DollarBrace '}'> ) ) } ) right: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name NODE_NETWORK> var_name: NODE_NETWORK suffix_op: (suffix_op.Unary op: <Id.VTest_ColonHyphen _> arg_word: (rhs_word__Empty) ) right: <Id.Right_DollarBrace '}'> ) ) } ) ) ) ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<-r>} {<Id.Lit_VarLike 'vm_external_ip='> (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <curl> more_env: [] words: [ {<curl>} {<--retry>} {<5>} {<--retry-delay>} {<3>} {<--fail>} {<--silent>} {<-H>} {(SQ <'Metadata-Flavor: Google'>)} { (DQ < 'http://metadata/computeMetadata/v1/instance/network-interfaces/0/access-configs/0/external-ip' > ) } ] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'params+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'params+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params) op: assign_op.PlusEqual rhs: {(DQ <' --advertise-address='> (${ Id.VSub_Name vm_external_ip))} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'params+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'params+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params) op: assign_op.PlusEqual rhs: {(DQ <' --ssh-user='> (${ Id.VSub_Name PROXY_SSH_USER))} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'params+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'params+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params) op: assign_op.PlusEqual rhs: {(DQ <' --ssh-keyfile=/etc/srv/sshproxy/.sshkeyfile'>)} ) ] redirects: [] ) ] spids: [7318 7367] ) (IfArm keyword: <Id.KW_Elif elif> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<-n>} { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name MASTER_ADVERTISE_ADDRESS> var_name: MASTER_ADVERTISE_ADDRESS suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'params='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'params='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params='> name:params) op: assign_op.Equal rhs: { (DQ (${ Id.VSub_Name params) <' --advertise-address='> (${ Id.VSub_Name MASTER_ADVERTISE_ADDRESS) ) } ) ] redirects: [] ) ] spids: [7426 7442] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'webhook_authn_config_mount='> (DQ )}] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'webhook_authn_config_volume='> (DQ )}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name GCP_AUTHN_URL> var_name: GCP_AUTHN_URL suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'params+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'params+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params) op: assign_op.PlusEqual rhs: { (DQ < ' --authentication-token-webhook-config-file=/etc/gcp_authn.config' > ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'webhook_authn_config_mount='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'webhook_authn_config_mount='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'webhook_authn_config_mount='> name: webhook_authn_config_mount ) op: assign_op.Equal rhs: { (DQ <'{'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <name> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <': '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <webhookauthnconfigmount> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <','> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <mountPath> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <': '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <'/etc/gcp_authn.config'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <', '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <readOnly> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <': false},'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'webhook_authn_config_volume='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'webhook_authn_config_volume='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'webhook_authn_config_volume='> name: webhook_authn_config_volume ) op: assign_op.Equal rhs: { (DQ <'{'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <name> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <': '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <webhookauthnconfigmount> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <','> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <hostPath> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <': {'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <path> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <': '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <'/etc/gcp_authn.config'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <', '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <type> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <': '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <FileOrCreate> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <'}},'> ) } ) ] redirects: [] ) ] spids: [7475 7491] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'authorization_mode='> (DQ <RBAC>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<-r>} {<Id.Lit_VarLike 'src_dir='> (DQ (${ Id.VSub_Name KUBE_HOME) <'/kube-manifests/kubernetes/gci-trusty'>) } ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobNEqual left: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name ENABLE_LEGACY_ABAC> var_name: ENABLE_LEGACY_ABAC suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } right: {(DQ <false>)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ < 'Warning: Enabling legacy ABAC policy. All service accounts will have superuser API access. Set ENABLE_LEGACY_ABAC=false to disable this.' > ) } ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.LogicalOr left: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name KUBE_USER> var_name: KUBE_USER suffix_op: (suffix_op.Unary op: <Id.VTest_ColonHyphen _> arg_word: (rhs_word__Empty) ) right: <Id.Right_DollarBrace '}'> ) ) } ) right: (bool_expr.LogicalNot child: (bool_expr.Unary op_id: Id.BoolUnary_e child: {<'/etc/srv/kubernetes/abac-authz-policy.jsonl'>} ) ) ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<-r>} {<Id.Lit_VarLike 'abac_policy_json='> (DQ (${ Id.VSub_Name src_dir) <'/abac-authz-policy.jsonl'>) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <remove-salt-config-comments> more_env: [] words: [ {<remove-salt-config-comments>} {(DQ (${ Id.VSub_Name abac_policy_json))} ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name KUBE_USER> var_name: KUBE_USER suffix_op: (suffix_op.Unary op: <Id.VTest_ColonHyphen _> arg_word: (rhs_word__Empty) ) right: <Id.Right_DollarBrace '}'> ) ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} {(DQ <'s/{{kube_user}}/'> (${ Id.VSub_Name KUBE_USER) <'/g'>)} {(DQ (${ Id.VSub_Name abac_policy_json))} ] redirects: [] do_fork: T ) ] spids: [7673 7689] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} {(DQ <'/{{kube_user}}/d'>)} {(DQ (${ Id.VSub_Name abac_policy_json))} ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <cp> more_env: [] words: [ {<cp>} {(DQ (${ Id.VSub_Name abac_policy_json))} {<'/etc/srv/kubernetes/'>} ] redirects: [] do_fork: T ) ] spids: [7624 7648] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'params+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'params+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params) op: assign_op.PlusEqual rhs: { (DQ < ' --authorization-policy-file=/etc/srv/kubernetes/abac-authz-policy.jsonl' > ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'authorization_mode+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'authorization_mode+='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'authorization_mode+='> name: authorization_mode ) op: assign_op.PlusEqual rhs: {(DQ <',ABAC'>)} ) ] redirects: [] ) ] spids: [7590 7610] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'webhook_config_mount='> (DQ )}] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'webhook_config_volume='> (DQ )}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name GCP_AUTHZ_URL> var_name: GCP_AUTHZ_URL suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'authorization_mode+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'authorization_mode+='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'authorization_mode+='> name: authorization_mode ) op: assign_op.PlusEqual rhs: {(DQ <',Webhook'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'params+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'params+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params) op: assign_op.PlusEqual rhs: {(DQ <' --authorization-webhook-config-file=/etc/gcp_authz.config'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'webhook_config_mount='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'webhook_config_mount='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'webhook_config_mount='> name: webhook_config_mount ) op: assign_op.Equal rhs: { (DQ <'{'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <name> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <': '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <webhookconfigmount> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <','> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <mountPath> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <': '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <'/etc/gcp_authz.config'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <', '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <readOnly> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <': false},'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'webhook_config_volume='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'webhook_config_volume='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'webhook_config_volume='> name: webhook_config_volume ) op: assign_op.Equal rhs: { (DQ <'{'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <name> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <': '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <webhookconfigmount> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <','> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <hostPath> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <': {'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <path> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <': '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <'/etc/gcp_authz.config'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <', '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <type> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <': '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <FileOrCreate> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <'}},'> ) } ) ] redirects: [] ) ] spids: [7781 7797] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'params+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'params+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params) op: assign_op.PlusEqual rhs: {(DQ <' --authorization-mode='> (${ Id.VSub_Name authorization_mode))} ) ] redirects: [] ) (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'container_env='> (DQ )}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name ENABLE_CACHE_MUTATION_DETECTOR> var_name: ENABLE_CACHE_MUTATION_DETECTOR suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'container_env='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'container_env='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'container_env='> name: container_env ) op: assign_op.Equal rhs: { (DQ (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <name> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <': '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <KUBE_CACHE_MUTATION_DETECTOR> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <', '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <value> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <': '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') (${ Id.VSub_Name ENABLE_CACHE_MUTATION_DETECTOR) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') ) } ) ] redirects: [] ) ] spids: [7892 7908] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name ENABLE_PATCH_CONVERSION_DETECTOR> var_name: ENABLE_PATCH_CONVERSION_DETECTOR suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: {(DQ (${ Id.VSub_Name container_env))} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'container_env='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'container_env='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'container_env='> name: container_env ) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name container_env) <', '>)} ) ] redirects: [] ) ] spids: [7955 7970] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'container_env='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'container_env='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'container_env='> name: container_env ) op: assign_op.Equal rhs: { (DQ (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <name> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <': '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <KUBE_PATCH_CONVERSION_DETECTOR> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <', '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <value> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <': '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') (${ Id.VSub_Name ENABLE_PATCH_CONVERSION_DETECTOR) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') ) } ) ] redirects: [] ) ] spids: [7936 7952] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: {(DQ (${ Id.VSub_Name container_env))} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'container_env='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'container_env='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'container_env='> name: container_env ) op: assign_op.Equal rhs: { (DQ (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <env> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <':[{'> (${ Id.VSub_Name container_env) <'}],'> ) } ) ] redirects: [] ) ] spids: [8010 8025] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'src_file='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'src_file='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'src_file='> name:src_file) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name src_dir) <'/kube-apiserver.manifest'>)} ) ] redirects: [] ) (command.Simple blame_tok: <remove-salt-config-comments> more_env: [] words: [{<remove-salt-config-comments>} {(DQ (${ Id.VSub_Name src_file))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<-r>} {<Id.Lit_VarLike 'kube_apiserver_docker_tag='> (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <cat> more_env: [] words: [ {<cat>} {<'/opt/kubernetes/kube-docker-files/kube-apiserver.docker_tag'>} ] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} {(DQ <'s@{{params}}@'> (${ Id.VSub_Name params) <'@g'>)} {(DQ (${ Id.VSub_Name src_file))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} {(DQ <'s@{{container_env}}@'> (${ Id.VSub_Name container_env) <'@g'>)} {(DQ (${ Id.VSub_Name src_file))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} {(DQ <'s@{{srv_kube_path}}@/etc/srv/kubernetes@g'>)} {(DQ (${ Id.VSub_Name src_file))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} {(DQ <'s@{{srv_sshproxy_path}}@/etc/srv/sshproxy@g'>)} {(DQ (${ Id.VSub_Name src_file))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} {(DQ <'s@{{cloud_config_mount}}@'> (${ Id.VSub_Name CLOUD_CONFIG_MOUNT) <'@g'>)} {(DQ (${ Id.VSub_Name src_file))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} {(DQ <'s@{{cloud_config_volume}}@'> (${ Id.VSub_Name CLOUD_CONFIG_VOLUME) <'@g'>)} {(DQ (${ Id.VSub_Name src_file))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} { (DQ <'s@{{pillar'> <Id.Lit_BadBackslash '\\'> <'[\'kube_docker_registry\''> <Id.Lit_BadBackslash '\\'> <']}}@'> (${ Id.VSub_Name DOCKER_REGISTRY) <'@g'> ) } {(DQ (${ Id.VSub_Name src_file))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} { (DQ <'s@{{pillar'> <Id.Lit_BadBackslash '\\'> <'[\'kube-apiserver_docker_tag\''> <Id.Lit_BadBackslash '\\'> <']}}@'> (${ Id.VSub_Name kube_apiserver_docker_tag) <'@g'> ) } {(DQ (${ Id.VSub_Name src_file))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} { (DQ <'s@{{pillar'> <Id.Lit_BadBackslash '\\'> <'[\'allow_privileged\''> <Id.Lit_BadBackslash '\\'> <']}}@true@g'> ) } {(DQ (${ Id.VSub_Name src_file))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} {(DQ <'s@{{secure_port}}@443@g'>)} {(DQ (${ Id.VSub_Name src_file))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} {(DQ <'s@{{secure_port}}@8080@g'>)} {(DQ (${ Id.VSub_Name src_file))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} {(DQ <'s@{{additional_cloud_config_mount}}@@g'>)} {(DQ (${ Id.VSub_Name src_file))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} {(DQ <'s@{{additional_cloud_config_volume}}@@g'>)} {(DQ (${ Id.VSub_Name src_file))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} { (DQ <'s@{{webhook_authn_config_mount}}@'> (${ Id.VSub_Name webhook_authn_config_mount) <'@g'> ) } {(DQ (${ Id.VSub_Name src_file))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} { (DQ <'s@{{webhook_authn_config_volume}}@'> (${ Id.VSub_Name webhook_authn_config_volume) <'@g'> ) } {(DQ (${ Id.VSub_Name src_file))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} {(DQ <'s@{{webhook_config_mount}}@'> (${ Id.VSub_Name webhook_config_mount) <'@g'>)} {(DQ (${ Id.VSub_Name src_file))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} {(DQ <'s@{{webhook_config_volume}}@'> (${ Id.VSub_Name webhook_config_volume) <'@g'>)} {(DQ (${ Id.VSub_Name src_file))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} { (DQ <'s@{{admission_controller_config_mount}}@'> (${ Id.VSub_Name admission_controller_config_mount) <'@g'> ) } {(DQ (${ Id.VSub_Name src_file))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} { (DQ <'s@{{admission_controller_config_volume}}@'> (${ Id.VSub_Name admission_controller_config_volume) <'@g'> ) } {(DQ (${ Id.VSub_Name src_file))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} { (DQ <'s@{{image_policy_webhook_config_mount}}@'> (${ Id.VSub_Name image_policy_webhook_config_mount) <'@g'> ) } {(DQ (${ Id.VSub_Name src_file))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} { (DQ <'s@{{image_policy_webhook_config_volume}}@'> (${ Id.VSub_Name image_policy_webhook_config_volume) <'@g'> ) } {(DQ (${ Id.VSub_Name src_file))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <cp> more_env: [] words: [{<cp>} {(DQ (${ Id.VSub_Name src_file))} {<'/etc/kubernetes/manifests'>}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction keyword: <Id.KW_Function function> name_tok: <start-kube-controller-manager> name: start-kube-controller-manager body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'Start kubernetes controller-manager'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <create-kubecontrollermanager-kubeconfig> more_env: [] words: [{<create-kubecontrollermanager-kubeconfig>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <prepare-log-file> more_env: [] words: [{<prepare-log-file>} {<'/var/log/kube-controller-manager.log'>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<Id.Lit_VarLike 'params='> (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name CONTROLLER_MANAGER_TEST_LOG_LEVEL> var_name: CONTROLLER_MANAGER_TEST_LOG_LEVEL suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:{(DQ <'--v=2'>)}) right: <Id.Right_DollarBrace '}'> ) <' '> (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name CONTROLLER_MANAGER_TEST_ARGS> var_name: CONTROLLER_MANAGER_TEST_ARGS suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) <' '> (${ Id.VSub_Name CLOUD_CONFIG_OPT) ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'params+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'params+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params) op: assign_op.PlusEqual rhs: {(DQ <' --use-service-account-credentials'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'params+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'params+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params) op: assign_op.PlusEqual rhs: {(DQ <' --cloud-provider=gce'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'params+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'params+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params) op: assign_op.PlusEqual rhs: {(DQ <' --kubeconfig=/etc/srv/kubernetes/kube-controller-manager/kubeconfig'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'params+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'params+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params) op: assign_op.PlusEqual rhs: {(DQ <' --root-ca-file=/etc/srv/kubernetes/ca.crt'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'params+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'params+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params) op: assign_op.PlusEqual rhs: {(DQ <' --service-account-private-key-file=/etc/srv/kubernetes/server.key'>)} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name ENABLE_GARBAGE_COLLECTOR> var_name: ENABLE_GARBAGE_COLLECTOR suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'params+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'params+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params) op: assign_op.PlusEqual rhs: { (DQ <' --enable-garbage-collector='> (${ Id.VSub_Name ENABLE_GARBAGE_COLLECTOR) ) } ) ] redirects: [] ) ] spids: [8623 8639] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name INSTANCE_PREFIX> var_name: INSTANCE_PREFIX suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'params+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'params+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params) op: assign_op.PlusEqual rhs: {(DQ <' --cluster-name='> (${ Id.VSub_Name INSTANCE_PREFIX))} ) ] redirects: [] ) ] spids: [8654 8670] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name CLUSTER_IP_RANGE> var_name: CLUSTER_IP_RANGE suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'params+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'params+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params) op: assign_op.PlusEqual rhs: {(DQ <' --cluster-cidr='> (${ Id.VSub_Name CLUSTER_IP_RANGE))} ) ] redirects: [] ) ] spids: [8685 8701] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name SERVICE_CLUSTER_IP_RANGE> var_name: SERVICE_CLUSTER_IP_RANGE suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'params+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'params+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params) op: assign_op.PlusEqual rhs: { (DQ <' --service-cluster-ip-range='> (${ Id.VSub_Name SERVICE_CLUSTER_IP_RANGE) ) } ) ] redirects: [] ) ] spids: [8716 8732] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name CONCURRENT_SERVICE_SYNCS> var_name: CONCURRENT_SERVICE_SYNCS suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'params+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'params+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params) op: assign_op.PlusEqual rhs: { (DQ <' --concurrent-service-syncs='> (${ Id.VSub_Name CONCURRENT_SERVICE_SYNCS) ) } ) ] redirects: [] ) ] spids: [8747 8763] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name NETWORK_PROVIDER> var_name: NETWORK_PROVIDER suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } right: {(DQ <kubenet>)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'params+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'params+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params) op: assign_op.PlusEqual rhs: {(DQ <' --allocate-node-cidrs=true'>)} ) ] redirects: [] ) ] spids: [8778 8798] ) (IfArm keyword: <Id.KW_Elif elif> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name ALLOCATE_NODE_CIDRS> var_name: ALLOCATE_NODE_CIDRS suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'params+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'params+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params) op: assign_op.PlusEqual rhs: {(DQ <' --allocate-node-cidrs='> (${ Id.VSub_Name ALLOCATE_NODE_CIDRS))} ) ] redirects: [] ) ] spids: [8807 8823] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name TERMINATED_POD_GC_THRESHOLD> var_name: TERMINATED_POD_GC_THRESHOLD suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'params+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'params+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params) op: assign_op.PlusEqual rhs: { (DQ <' --terminated-pod-gc-threshold='> (${ Id.VSub_Name TERMINATED_POD_GC_THRESHOLD) ) } ) ] redirects: [] ) ] spids: [8838 8854] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name ENABLE_IP_ALIASES> var_name: ENABLE_IP_ALIASES suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } right: {(SQ <true>)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'params+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'params+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params) op: assign_op.PlusEqual rhs: {(DQ <' --cidr-allocator-type=CloudAllocator'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'params+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'params+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params) op: assign_op.PlusEqual rhs: {(DQ <' --configure-cloud-routes=false'>)} ) ] redirects: [] ) ] spids: [8869 8889] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name FEATURE_GATES> var_name: FEATURE_GATES suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'params+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'params+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params) op: assign_op.PlusEqual rhs: {(DQ <' --feature-gates='> (${ Id.VSub_Name FEATURE_GATES))} ) ] redirects: [] ) ] spids: [8907 8923] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<-r>} {<Id.Lit_VarLike 'kube_rc_docker_tag='> (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <cat> more_env: [] words: [ {<cat>} {<'/opt/kubernetes/kube-docker-files/kube-controller-manager.docker_tag'>} ] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'container_env='> (DQ )}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name ENABLE_CACHE_MUTATION_DETECTOR> var_name: ENABLE_CACHE_MUTATION_DETECTOR suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'container_env='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'container_env='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'container_env='> name: container_env ) op: assign_op.Equal rhs: { (DQ (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <env> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <':[{'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <name> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <': '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <KUBE_CACHE_MUTATION_DETECTOR> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <', '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <value> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <': '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') (${ Id.VSub_Name ENABLE_CACHE_MUTATION_DETECTOR) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <'}],'> ) } ) ] redirects: [] ) ] spids: [8957 8973] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<-r>} {<Id.Lit_VarLike 'src_file='> (DQ (${ Id.VSub_Name KUBE_HOME) <'/kube-manifests/kubernetes/gci-trusty/kube-controller-manager.manifest'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <remove-salt-config-comments> more_env: [] words: [{<remove-salt-config-comments>} {(DQ (${ Id.VSub_Name src_file))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} {(DQ <'s@{{srv_kube_path}}@/etc/srv/kubernetes@g'>)} {(DQ (${ Id.VSub_Name src_file))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} { (DQ <'s@{{pillar'> <Id.Lit_BadBackslash '\\'> <'[\'kube_docker_registry\''> <Id.Lit_BadBackslash '\\'> <']}}@'> (${ Id.VSub_Name DOCKER_REGISTRY) <'@g'> ) } {(DQ (${ Id.VSub_Name src_file))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} { (DQ <'s@{{pillar'> <Id.Lit_BadBackslash '\\'> <'[\'kube-controller-manager_docker_tag\''> <Id.Lit_BadBackslash '\\'> <']}}@'> (${ Id.VSub_Name kube_rc_docker_tag) <'@g'> ) } {(DQ (${ Id.VSub_Name src_file))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} {(DQ <'s@{{params}}@'> (${ Id.VSub_Name params) <'@g'>)} {(DQ (${ Id.VSub_Name src_file))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} {(DQ <'s@{{container_env}}@'> (${ Id.VSub_Name container_env) <'@g'>)} {(DQ (${ Id.VSub_Name src_file))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} {(DQ <'s@{{cloud_config_mount}}@'> (${ Id.VSub_Name CLOUD_CONFIG_MOUNT) <'@g'>)} {(DQ (${ Id.VSub_Name src_file))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} {(DQ <'s@{{cloud_config_volume}}@'> (${ Id.VSub_Name CLOUD_CONFIG_VOLUME) <'@g'>)} {(DQ (${ Id.VSub_Name src_file))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} {(DQ <'s@{{additional_cloud_config_mount}}@@g'>)} {(DQ (${ Id.VSub_Name src_file))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} {(DQ <'s@{{additional_cloud_config_volume}}@@g'>)} {(DQ (${ Id.VSub_Name src_file))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <cp> more_env: [] words: [{<cp>} {(DQ (${ Id.VSub_Name src_file))} {<'/etc/kubernetes/manifests'>}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction keyword: <Id.KW_Function function> name_tok: <start-kube-scheduler> name: start-kube-scheduler body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'Start kubernetes scheduler'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <create-kubescheduler-kubeconfig> more_env: [] words: [{<create-kubescheduler-kubeconfig>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <prepare-log-file> more_env: [] words: [{<prepare-log-file>} {<'/var/log/kube-scheduler.log'>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'params='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'params='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params='> name:params) op: assign_op.Equal rhs: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name SCHEDULER_TEST_LOG_LEVEL> var_name: SCHEDULER_TEST_LOG_LEVEL suffix_op: (suffix_op.Unary op: <Id.VTest_ColonHyphen _> arg_word: {(DQ <'--v=2'>)} ) right: <Id.Right_DollarBrace '}'> ) <' '> (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name SCHEDULER_TEST_ARGS> var_name: SCHEDULER_TEST_ARGS suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'params+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'params+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params) op: assign_op.PlusEqual rhs: {(DQ <' --kubeconfig=/etc/srv/kubernetes/kube-scheduler/kubeconfig'>)} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name FEATURE_GATES> var_name: FEATURE_GATES suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'params+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'params+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params) op: assign_op.PlusEqual rhs: {(DQ <' --feature-gates='> (${ Id.VSub_Name FEATURE_GATES))} ) ] redirects: [] ) ] spids: [9299 9315] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name SCHEDULING_ALGORITHM_PROVIDER> var_name: SCHEDULING_ALGORITHM_PROVIDER suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'params+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'params+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params) op: assign_op.PlusEqual rhs: { (DQ <' --algorithm-provider='> (${ Id.VSub_Name SCHEDULING_ALGORITHM_PROVIDER) ) } ) ] redirects: [] ) ] spids: [9330 9346] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<-r>} {<Id.Lit_VarLike 'kube_scheduler_docker_tag='> (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <cat> more_env: [] words: [ {<cat>} { (DQ (${ Id.VSub_Name KUBE_HOME) <'/kube-docker-files/kube-scheduler.docker_tag'> ) } ] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<-r>} {<Id.Lit_VarLike 'src_file='> (DQ (${ Id.VSub_Name KUBE_HOME) <'/kube-manifests/kubernetes/gci-trusty/kube-scheduler.manifest'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <remove-salt-config-comments> more_env: [] words: [{<remove-salt-config-comments>} {(DQ (${ Id.VSub_Name src_file))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} {(DQ <'s@{{srv_kube_path}}@/etc/srv/kubernetes@g'>)} {(DQ (${ Id.VSub_Name src_file))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} {(DQ <'s@{{params}}@'> (${ Id.VSub_Name params) <'@g'>)} {(DQ (${ Id.VSub_Name src_file))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} { (DQ <'s@{{pillar'> <Id.Lit_BadBackslash '\\'> <'[\'kube_docker_registry\''> <Id.Lit_BadBackslash '\\'> <']}}@'> (${ Id.VSub_Name DOCKER_REGISTRY) <'@g'> ) } {(DQ (${ Id.VSub_Name src_file))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} { (DQ <'s@{{pillar'> <Id.Lit_BadBackslash '\\'> <'[\'kube-scheduler_docker_tag\''> <Id.Lit_BadBackslash '\\'> <']}}@'> (${ Id.VSub_Name kube_scheduler_docker_tag) <'@g'> ) } {(DQ (${ Id.VSub_Name src_file))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <cp> more_env: [] words: [{<cp>} {(DQ (${ Id.VSub_Name src_file))} {<'/etc/kubernetes/manifests'>}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction keyword: <Id.KW_Function function> name_tok: <start-cluster-autoscaler> name: start-cluster-autoscaler body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name ENABLE_CLUSTER_AUTOSCALER> var_name: ENABLE_CLUSTER_AUTOSCALER suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } right: {(DQ <true>)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'Start kubernetes cluster autoscaler'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <prepare-log-file> more_env: [] words: [{<prepare-log-file>} {<'/var/log/cluster-autoscaler.log'>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<-r>} {<Id.Lit_VarLike 'src_file='> (DQ (${ Id.VSub_Name KUBE_HOME) <'/kube-manifests/kubernetes/gci-trusty/cluster-autoscaler.manifest'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <remove-salt-config-comments> more_env: [] words: [{<remove-salt-config-comments>} {(DQ (${ Id.VSub_Name src_file))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<Id.Lit_VarLike 'params='> (DQ (${ Id.VSub_Name AUTOSCALER_MIG_CONFIG) <' '> (${ Id.VSub_Name CLOUD_CONFIG_OPT) <' '> (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name AUTOSCALER_EXPANDER_CONFIG> var_name: AUTOSCALER_EXPANDER_CONFIG suffix_op: (suffix_op.Unary op: <Id.VTest_ColonHyphen _> arg_word: {<'--expander=price'>} ) right: <Id.Right_DollarBrace '}'> ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} {(DQ <'s@{{params}}@'> (${ Id.VSub_Name params) <'@g'>)} {(DQ (${ Id.VSub_Name src_file))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} { (DQ <'s@{{cloud_config_mount}}@'> (${ Id.VSub_Name CLOUD_CONFIG_MOUNT) <'@g'>) } {(DQ (${ Id.VSub_Name src_file))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} { (DQ <'s@{{cloud_config_volume}}@'> (${ Id.VSub_Name CLOUD_CONFIG_VOLUME) <'@g'> ) } {(DQ (${ Id.VSub_Name src_file))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} {(DQ <'s@{%.*%}@@g'>)} {(DQ (${ Id.VSub_Name src_file))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <cp> more_env: [] words: [{<cp>} {(DQ (${ Id.VSub_Name src_file))} {<'/etc/kubernetes/manifests'>}] redirects: [] do_fork: T ) ] spids: [9529 9549] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction keyword: <Id.KW_Function function> name_tok: <setup-addon-manifests> name: setup-addon-manifests body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<-r>} {<Id.Lit_VarLike 'src_dir='> (DQ (${ Id.VSub_Name KUBE_HOME) <'/kube-manifests/kubernetes/gci-trusty/'> ($ Id.VSub_Number 2) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<-r>} {<Id.Lit_VarLike 'dst_dir='> (DQ <'/etc/kubernetes/'> ($ Id.VSub_Number 1) <'/'> ($ Id.VSub_Number 2)) } ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.LogicalNot child: (bool_expr.Unary op_id: Id.BoolUnary_d child: {(DQ (${ Id.VSub_Name dst_dir))} ) ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <mkdir> more_env: [] words: [{<mkdir>} {<-p>} {(DQ (${ Id.VSub_Name dst_dir))}] redirects: [] do_fork: T ) ] spids: [9758 9775] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<Id.Lit_VarLike 'files='> (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <find> more_env: [] words: [ {<find>} {(DQ (${ Id.VSub_Name src_dir))} {<-maxdepth>} {<1>} {<-name>} {(DQ <'*.yaml'>)} ] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: {(DQ (${ Id.VSub_Name files))} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <cp> more_env: [] words: [ {<cp>} {(DQ (${ Id.VSub_Name src_dir) <'/'>) <Id.Lit_Star '*'> <.yaml>} {(DQ (${ Id.VSub_Name dst_dir))} ] redirects: [] do_fork: T ) ] spids: [9816 9831] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'files='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'files='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'files='> name:files) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <find> more_env: [] words: [ {<find>} {(DQ (${ Id.VSub_Name src_dir))} {<-maxdepth>} {<1>} {<-name>} {(DQ <'*.json'>)} ] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: {(DQ (${ Id.VSub_Name files))} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <cp> more_env: [] words: [ {<cp>} {(DQ (${ Id.VSub_Name src_dir) <'/'>) <Id.Lit_Star '*'> <.json>} {(DQ (${ Id.VSub_Name dst_dir))} ] redirects: [] do_fork: T ) ] spids: [9877 9892] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'files='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'files='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'files='> name:files) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <find> more_env: [] words: [ {<find>} {(DQ (${ Id.VSub_Name src_dir))} {<-maxdepth>} {<1>} {<-name>} {(DQ <'*.yaml.in'>)} ] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: {(DQ (${ Id.VSub_Name files))} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <cp> more_env: [] words: [ {<cp>} {(DQ (${ Id.VSub_Name src_dir) <'/'>) <Id.Lit_Star '*'> <.yaml.in>} {(DQ (${ Id.VSub_Name dst_dir))} ] redirects: [] do_fork: T ) ] spids: [9938 9953] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <chown> more_env: [] words: [{<chown>} {<-R>} {<root> <Id.Lit_Colon ':'> <root>} {(DQ (${ Id.VSub_Name dst_dir))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <chmod> more_env: [] words: [{<chmod>} {<755>} {(DQ (${ Id.VSub_Name dst_dir))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <chmod> more_env: [] words: [{<chmod>} {<644>} {(DQ (${ Id.VSub_Name dst_dir)) <'/'> <Id.Lit_Star '*'>}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction keyword: <Id.KW_Function function> name_tok: <update-prometheus-to-sd-parameters> name: update-prometheus-to-sd-parameters body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name ENABLE_PROMETHEUS_TO_SD> var_name: ENABLE_PROMETHEUS_TO_SD suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } right: {(DQ <true>)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} { (DQ <'s@{{ *prometheus_to_sd_prefix *}}@'> (${ Id.VSub_Name PROMETHEUS_TO_SD_PREFIX) <'@g'> ) } {(DQ ($ Id.VSub_Number 1))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} { (DQ <'s@{{ *prometheus_to_sd_endpoint *}}@'> (${ Id.VSub_Name PROMETHEUS_TO_SD_ENDPOINT) <'@g'> ) } {(DQ ($ Id.VSub_Number 1))} ] redirects: [] do_fork: T ) ] spids: [10031 10051] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} {(DQ <'/# BEGIN_PROMETHEUS_TO_SD/,/# END_PROMETHEUS_TO_SD/d'>)} {(DQ ($ Id.VSub_Number 1))} ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction keyword: <Id.KW_Function function> name_tok: <start-kube-addons> name: start-kube-addons body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'Prepare kube-addons manifests and start kube addon manager'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<-r>} {<Id.Lit_VarLike 'src_dir='> (DQ (${ Id.VSub_Name KUBE_HOME) <'/kube-manifests/kubernetes/gci-trusty'>) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<-r>} {<Id.Lit_VarLike 'dst_dir='> (DQ <'/etc/kubernetes/addons'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <setup-addon-manifests> more_env: [] words: [{<setup-addon-manifests>} {(DQ <addons>)} {(DQ <rbac>)}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name KUBE_PROXY_DAEMONSET> var_name: KUBE_PROXY_DAEMONSET suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } right: {(DQ <true>)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <prepare-kube-proxy-manifest-variables> more_env: [] words: [ {<prepare-kube-proxy-manifest-variables>} {(DQ ($ Id.VSub_DollarName src_dir) <'/kube-proxy/kube-proxy-ds.yaml'>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <setup-addon-manifests> more_env: [] words: [{<setup-addon-manifests>} {(DQ <addons>)} {(DQ <kube-proxy>)}] redirects: [] do_fork: T ) ] spids: [10186 10206] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name ENABLE_CLUSTER_MONITORING> var_name: ENABLE_CLUSTER_MONITORING suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } right: {(DQ <influxdb>)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name ENABLE_CLUSTER_MONITORING> var_name: ENABLE_CLUSTER_MONITORING suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } right: {(DQ <google>)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name ENABLE_CLUSTER_MONITORING> var_name: ENABLE_CLUSTER_MONITORING suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } right: {(DQ <stackdriver>)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name ENABLE_CLUSTER_MONITORING> var_name: ENABLE_CLUSTER_MONITORING suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } right: {(DQ <standalone>)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name ENABLE_CLUSTER_MONITORING> var_name: ENABLE_CLUSTER_MONITORING suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } right: {(DQ <googleinfluxdb>)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) ] ops: [<Id.Op_DPipe _> <Id.Op_DPipe _> <Id.Op_DPipe _> <Id.Op_DPipe _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<-r>} {<Id.Lit_VarLike 'file_dir='> (DQ <'cluster-monitoring/'> (${ Id.VSub_Name ENABLE_CLUSTER_MONITORING)) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <setup-addon-manifests> more_env: [] words: [{<setup-addon-manifests>} {(DQ <addons>)} {(DQ <cluster-monitoring>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <setup-addon-manifests> more_env: [] words: [{<setup-addon-manifests>} {(DQ <addons>)} {(DQ (${ Id.VSub_Name file_dir))}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'base_metrics_memory='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'base_metrics_memory='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'base_metrics_memory='> name: base_metrics_memory ) op: assign_op.Equal rhs: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name HEAPSTER_GCP_BASE_MEMORY> var_name: HEAPSTER_GCP_BASE_MEMORY suffix_op: (suffix_op.Unary op: <Id.VTest_ColonHyphen _> arg_word: {<140Mi>} ) right: <Id.Right_DollarBrace '}'> ) ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'base_eventer_memory='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'base_eventer_memory='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'base_eventer_memory='> name: base_eventer_memory ) op: assign_op.Equal rhs: {(DQ <190Mi>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'base_metrics_cpu='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'base_metrics_cpu='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'base_metrics_cpu='> name: base_metrics_cpu ) op: assign_op.Equal rhs: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name HEAPSTER_GCP_BASE_CPU> var_name: HEAPSTER_GCP_BASE_CPU suffix_op: (suffix_op.Unary op: <Id.VTest_ColonHyphen _> arg_word: {<80m>} ) right: <Id.Right_DollarBrace '}'> ) ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'nanny_memory='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'nanny_memory='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'nanny_memory='> name: nanny_memory ) op: assign_op.Equal rhs: {(DQ <90Mi>)} ) ] redirects: [] ) (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<-r>} {<Id.Lit_VarLike 'metrics_memory_per_node='> (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name HEAPSTER_GCP_MEMORY_PER_NODE> var_name: HEAPSTER_GCP_MEMORY_PER_NODE suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:{<4>}) right: <Id.Right_DollarBrace '}'> ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<-r>} {<Id.Lit_VarLike 'metrics_cpu_per_node='> (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name HEAPSTER_GCP_CPU_PER_NODE> var_name: HEAPSTER_GCP_CPU_PER_NODE suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:{<0.5>}) right: <Id.Right_DollarBrace '}'> ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<-r>} {<Id.Lit_VarLike 'eventer_memory_per_node='> (DQ <500>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<-r>} {<Id.Lit_VarLike 'nanny_memory_per_node='> (DQ <200>)}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.LogicalAnd left: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name NUM_NODES> var_name: NUM_NODES suffix_op: (suffix_op.Unary op: <Id.VTest_ColonHyphen _> arg_word: (rhs_word__Empty) ) right: <Id.Right_DollarBrace '}'> ) ) } ) right: (bool_expr.Binary op_id: Id.BoolBinary_ge left: {(DQ (${ Id.VSub_Name NUM_NODES))} right: {<1>} ) ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'num_kube_nodes='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'num_kube_nodes='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'num_kube_nodes='> name: num_kube_nodes ) op: assign_op.Equal rhs: { (DQ (word_part.ArithSub left: <Id.Left_DollarDParen '$(('> anode: (arith_expr.Binary op_id: Id.Arith_Plus left: {(${ Id.VSub_Name NUM_NODES)} right: {<Id.Lit_Digits 1>} ) right: <Id.Right_DollarDParen _> ) ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'nanny_memory='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'nanny_memory='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'nanny_memory='> name: nanny_memory ) op: assign_op.Equal rhs: { (DQ (word_part.ArithSub left: <Id.Left_DollarDParen '$(('> anode: (arith_expr.Binary op_id: Id.Arith_Plus left: (arith_expr.Binary op_id: Id.Arith_Star left: {(${ Id.VSub_Name num_kube_nodes)} right: {(${ Id.VSub_Name nanny_memory_per_node)} ) right: (arith_expr.Binary op_id: Id.Arith_Star left: {<Id.Lit_Digits 90>} right: {<Id.Lit_Digits 1024>} ) ) right: <Id.Right_DollarDParen _> ) <Ki> ) } ) ] redirects: [] ) ] spids: [10459 10487] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'controller_yaml='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'controller_yaml='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'controller_yaml='> name: controller_yaml ) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name dst_dir) <'/'> (${ Id.VSub_Name file_dir))} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name ENABLE_CLUSTER_MONITORING> var_name: ENABLE_CLUSTER_MONITORING suffix_op: (suffix_op.Unary op: <Id.VTest_ColonHyphen _> arg_word: (rhs_word__Empty) ) right: <Id.Right_DollarBrace '}'> ) ) } right: {(DQ <googleinfluxdb>)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'controller_yaml='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'controller_yaml='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'controller_yaml='> name: controller_yaml ) op: assign_op.Equal rhs: { (DQ (${ Id.VSub_Name controller_yaml) <'/heapster-controller-combined.yaml'> ) } ) ] redirects: [] ) ] spids: [10544 10564] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'controller_yaml='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'controller_yaml='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'controller_yaml='> name: controller_yaml ) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name controller_yaml) <'/heapster-controller.yaml'>)} ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <remove-salt-config-comments> more_env: [] words: [{<remove-salt-config-comments>} {(DQ (${ Id.VSub_Name controller_yaml))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} {(DQ <'s@{{ cluster_name }}@'> (${ Id.VSub_Name CLUSTER_NAME) <'@g'>)} {(DQ (${ Id.VSub_Name controller_yaml))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} { (DQ <'s@{{ *base_metrics_memory *}}@'> (${ Id.VSub_Name base_metrics_memory) <'@g'> ) } {(DQ (${ Id.VSub_Name controller_yaml))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} { (DQ <'s@{{ *base_metrics_cpu *}}@'> (${ Id.VSub_Name base_metrics_cpu) <'@g'>) } {(DQ (${ Id.VSub_Name controller_yaml))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} { (DQ <'s@{{ *base_eventer_memory *}}@'> (${ Id.VSub_Name base_eventer_memory) <'@g'> ) } {(DQ (${ Id.VSub_Name controller_yaml))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} { (DQ <'s@{{ *metrics_memory_per_node *}}@'> (${ Id.VSub_Name metrics_memory_per_node) <'@g'> ) } {(DQ (${ Id.VSub_Name controller_yaml))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} { (DQ <'s@{{ *eventer_memory_per_node *}}@'> (${ Id.VSub_Name eventer_memory_per_node) <'@g'> ) } {(DQ (${ Id.VSub_Name controller_yaml))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} {(DQ <'s@{{ *nanny_memory *}}@'> (${ Id.VSub_Name nanny_memory) <'@g'>)} {(DQ (${ Id.VSub_Name controller_yaml))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} { (DQ <'s@{{ *metrics_cpu_per_node *}}@'> (${ Id.VSub_Name metrics_cpu_per_node) <'@g'> ) } {(DQ (${ Id.VSub_Name controller_yaml))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <update-prometheus-to-sd-parameters> more_env: [] words: [ {<update-prometheus-to-sd-parameters>} {(${ Id.VSub_Name controller_yaml)} ] redirects: [] do_fork: T ) ] spids: [10231 10335] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name ENABLE_METRICS_SERVER> var_name: ENABLE_METRICS_SERVER suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } right: {(DQ <true>)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <setup-addon-manifests> more_env: [] words: [{<setup-addon-manifests>} {(DQ <addons>)} {(DQ <metrics-server>)}] redirects: [] do_fork: T ) ] spids: [10778 10798] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name ENABLE_CLUSTER_DNS> var_name: ENABLE_CLUSTER_DNS suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } right: {(DQ <true>)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <setup-addon-manifests> more_env: [] words: [{<setup-addon-manifests>} {(DQ <addons>)} {(DQ <dns>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<-r>} {<Id.Lit_VarLike 'kubedns_file='> (DQ (${ Id.VSub_Name dst_dir) <'/dns/kube-dns.yaml'>) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <mv> more_env: [] words: [ {<mv>} {(DQ (${ Id.VSub_Name dst_dir) <'/dns/kube-dns.yaml.in'>)} {(DQ (${ Id.VSub_Name kubedns_file))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} { (DQ <'s@{{ *pillar'> <Id.Lit_BadBackslash '\\'> <'[\'dns_domain\''> <Id.Lit_BadBackslash '\\'> <'] *}}@'> (${ Id.VSub_Name DNS_DOMAIN) <'@g'> ) } {(DQ (${ Id.VSub_Name kubedns_file))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} { (DQ <'s@{{ *pillar'> <Id.Lit_BadBackslash '\\'> <'[\'dns_server\''> <Id.Lit_BadBackslash '\\'> <'] *}}@'> (${ Id.VSub_Name DNS_SERVER_IP) <'@g'> ) } {(DQ (${ Id.VSub_Name kubedns_file))} ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name ENABLE_DNS_HORIZONTAL_AUTOSCALER> var_name: ENABLE_DNS_HORIZONTAL_AUTOSCALER suffix_op: (suffix_op.Unary op: <Id.VTest_ColonHyphen _> arg_word: (rhs_word__Empty) ) right: <Id.Right_DollarBrace '}'> ) ) } right: {(DQ <true>)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <setup-addon-manifests> more_env: [] words: [ {<setup-addon-manifests>} {(DQ <addons>)} {(DQ <dns-horizontal-autoscaler>)} ] redirects: [] do_fork: T ) ] spids: [10933 10953] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [10815 10835] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name ENABLE_CLUSTER_REGISTRY> var_name: ENABLE_CLUSTER_REGISTRY suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } right: {(DQ <true>)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <setup-addon-manifests> more_env: [] words: [{<setup-addon-manifests>} {(DQ <addons>)} {(DQ <registry>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<-r>} {<Id.Lit_VarLike 'registry_pv_file='> (DQ (${ Id.VSub_Name dst_dir) <'/registry/registry-pv.yaml'>) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<-r>} {<Id.Lit_VarLike 'registry_pvc_file='> (DQ (${ Id.VSub_Name dst_dir) <'/registry/registry-pvc.yaml'>) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <mv> more_env: [] words: [ {<mv>} {(DQ (${ Id.VSub_Name dst_dir) <'/registry/registry-pv.yaml.in'>)} {(DQ (${ Id.VSub_Name registry_pv_file))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <mv> more_env: [] words: [ {<mv>} {(DQ (${ Id.VSub_Name dst_dir) <'/registry/registry-pvc.yaml.in'>)} {(DQ (${ Id.VSub_Name registry_pvc_file))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <remove-salt-config-comments> more_env: [] words: [{<remove-salt-config-comments>} {(DQ (${ Id.VSub_Name controller_yaml))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} { (DQ <'s@{{ *pillar'> <Id.Lit_BadBackslash '\\'> <'[\'cluster_registry_disk_size\''> <Id.Lit_BadBackslash '\\'> <'] *}}@'> (${ Id.VSub_Name CLUSTER_REGISTRY_DISK_SIZE) <'@g'> ) } {(DQ (${ Id.VSub_Name registry_pv_file))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} { (DQ <'s@{{ *pillar'> <Id.Lit_BadBackslash '\\'> <'[\'cluster_registry_disk_size\''> <Id.Lit_BadBackslash '\\'> <'] *}}@'> (${ Id.VSub_Name CLUSTER_REGISTRY_DISK_SIZE) <'@g'> ) } {(DQ (${ Id.VSub_Name registry_pvc_file))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} { (DQ <'s@{{ *pillar'> <Id.Lit_BadBackslash '\\'> <'[\'cluster_registry_disk_name\''> <Id.Lit_BadBackslash '\\'> <'] *}}@'> (${ Id.VSub_Name CLUSTER_REGISTRY_DISK) <'@g'> ) } {(DQ (${ Id.VSub_Name registry_pvc_file))} ] redirects: [] do_fork: T ) ] spids: [10973 10993] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name ENABLE_NODE_LOGGING> var_name: ENABLE_NODE_LOGGING suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } right: {(DQ <true>)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name LOGGING_DESTINATION> var_name: LOGGING_DESTINATION suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } right: {(DQ <elasticsearch>)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name ENABLE_CLUSTER_LOGGING> var_name: ENABLE_CLUSTER_LOGGING suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } right: {(DQ <true>)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) ] ops: [<Id.Op_DAmp _> <Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <setup-addon-manifests> more_env: [] words: [{<setup-addon-manifests>} {(DQ <addons>)} {(DQ <fluentd-elasticsearch>)}] redirects: [] do_fork: T ) ] spids: [11156 11218] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name ENABLE_NODE_LOGGING> var_name: ENABLE_NODE_LOGGING suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } right: {(DQ <true>)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name LOGGING_DESTINATION> var_name: LOGGING_DESTINATION suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } right: {(DQ <gcp>)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <setup-addon-manifests> more_env: [] words: [{<setup-addon-manifests>} {(DQ <addons>)} {(DQ <fluentd-gcp>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<-r>} {<Id.Lit_VarLike 'event_exporter_yaml='> (DQ (${ Id.VSub_Name dst_dir) <'/fluentd-gcp/event-exporter.yaml'>) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<-r>} {<Id.Lit_VarLike 'fluentd_gcp_yaml='> (DQ (${ Id.VSub_Name dst_dir) <'/fluentd-gcp/fluentd-gcp-ds.yaml'>) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <update-prometheus-to-sd-parameters> more_env: [] words: [ {<update-prometheus-to-sd-parameters>} {(${ Id.VSub_Name event_exporter_yaml)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <update-prometheus-to-sd-parameters> more_env: [] words: [ {<update-prometheus-to-sd-parameters>} {(${ Id.VSub_Name fluentd_gcp_yaml)} ] redirects: [] do_fork: T ) ] spids: [11235 11276] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name ENABLE_CLUSTER_UI> var_name: ENABLE_CLUSTER_UI suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } right: {(DQ <true>)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <setup-addon-manifests> more_env: [] words: [{<setup-addon-manifests>} {(DQ <addons>)} {(DQ <dashboard>)}] redirects: [] do_fork: T ) ] spids: [11333 11353] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name ENABLE_NODE_PROBLEM_DETECTOR> var_name: ENABLE_NODE_PROBLEM_DETECTOR suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } right: {(DQ <daemonset>)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <setup-addon-manifests> more_env: [] words: [{<setup-addon-manifests>} {(DQ <addons>)} {(DQ <node-problem-detector>)}] redirects: [] do_fork: T ) ] spids: [11370 11390] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Pipeline children: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name ADMISSION_CONTROL> var_name: ADMISSION_CONTROL suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <grep> more_env: [] words: [{<grep>} {<-q>} {(DQ <LimitRanger>)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <setup-addon-manifests> more_env: [] words: [{<setup-addon-manifests>} {(DQ <admission-controls>)} {(DQ <limit-range>)}] redirects: [] do_fork: T ) ] spids: [11407 11429] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name NETWORK_POLICY_PROVIDER> var_name: NETWORK_POLICY_PROVIDER suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } right: {(DQ <calico>)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <setup-addon-manifests> more_env: [] words: [{<setup-addon-manifests>} {(DQ <addons>)} {(DQ <calico-policy-controller>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<-r>} {<Id.Lit_VarLike 'ds_file='> (DQ (${ Id.VSub_Name dst_dir) <'/calico-policy-controller/calico-node-daemonset.yaml'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-i>} {<-e>} {(DQ <'s@__CALICO_CNI_DIR__@/opt/cni/bin@g'>)} {(DQ (${ Id.VSub_Name ds_file))} ] redirects: [] do_fork: T ) ] spids: [11446 11466] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name ENABLE_DEFAULT_STORAGE_CLASS> var_name: ENABLE_DEFAULT_STORAGE_CLASS suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } right: {(DQ <true>)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <setup-addon-manifests> more_env: [] words: [{<setup-addon-manifests>} {(DQ <addons>)} {(DQ <'storage-class/gce'>)}] redirects: [] do_fork: T ) ] spids: [11518 11538] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <cp> more_env: [] words: [ {<cp>} {(DQ (${ Id.VSub_Name src_dir) <'/kube-addon-manager.yaml'>)} {<'/etc/kubernetes/manifests'>} ] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction keyword: <Id.KW_Function function> name_tok: <start-image-puller> name: start-image-puller body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'Start image-puller'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <cp> more_env: [] words: [ {<cp>} { (DQ (${ Id.VSub_Name KUBE_HOME) <'/kube-manifests/kubernetes/gci-trusty/e2e-image-puller.manifest'> ) } {<'/etc/kubernetes/manifests/'>} ] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction keyword: <Id.KW_Function function> name_tok: <start-kube-registry-proxy> name: start-kube-registry-proxy body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'Start kube-registry-proxy'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <cp> more_env: [] words: [ {<cp>} { (DQ (${ Id.VSub_Name KUBE_HOME) <'/kube-manifests/kubernetes/kube-registry-proxy.yaml'> ) } {<'/etc/kubernetes/manifests'>} ] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction keyword: <Id.KW_Function function> name_tok: <start-lb-controller> name: start-lb-controller body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name ENABLE_L7_LOADBALANCING> var_name: ENABLE_L7_LOADBALANCING suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } right: {(DQ <glbc>)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'Start GCE L7 pod'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <prepare-log-file> more_env: [] words: [{<prepare-log-file>} {<'/var/log/glbc.log'>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <setup-addon-manifests> more_env: [] words: [ {<setup-addon-manifests>} {(DQ <addons>)} {(DQ <'cluster-loadbalancing/glbc'>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <cp> more_env: [] words: [ {<cp>} { (DQ (${ Id.VSub_Name KUBE_HOME) <'/kube-manifests/kubernetes/gci-trusty/glbc.manifest'> ) } {<'/etc/kubernetes/manifests/'>} ] redirects: [] do_fork: T ) ] spids: [11648 11668] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction keyword: <Id.KW_Function function> name_tok: <start-rescheduler> name: start-rescheduler body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name ENABLE_RESCHEDULER> var_name: ENABLE_RESCHEDULER suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } right: {(DQ <true>)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'Start Rescheduler'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <prepare-log-file> more_env: [] words: [{<prepare-log-file>} {<'/var/log/rescheduler.log'>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <cp> more_env: [] words: [ {<cp>} { (DQ (${ Id.VSub_Name KUBE_HOME) <'/kube-manifests/kubernetes/gci-trusty/rescheduler.manifest'> ) } {<'/etc/kubernetes/manifests/'>} ] redirects: [] do_fork: T ) ] spids: [11723 11743] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction keyword: <Id.KW_Function function> name_tok: <setup-rkt> name: setup-rkt body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<Id.Lit_VarLike 'rkt_bin='> (DQ (${ Id.VSub_Name KUBE_HOME) <'/bin/rkt'>)} ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_x child: {(DQ (${ Id.VSub_Name rkt_bin))} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'RKT_BIN='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'RKT_BIN='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'RKT_BIN='> name:RKT_BIN) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name rkt_bin))} ) ] redirects: [] ) (command.ControlFlow keyword:<Id.ControlFlow_Return return>) ] spids: [11807 11822] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <mkdir> more_env: [] words: [{<mkdir>} {<-p>} {<'/etc/rkt'>} {(DQ (${ Id.VSub_Name KUBE_HOME) <'/download/'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<Id.Lit_VarLike 'rkt_tar='> (DQ (${ Id.VSub_Name KUBE_HOME) <'/download/rkt.tar.gz'>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<Id.Lit_VarLike 'rkt_tmpdir='> (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <mktemp> more_env: [] words: [ {<mktemp>} {<-d>} {(DQ (${ Id.VSub_Name KUBE_HOME) <'/rkt_download.XXXXX'>)} ] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <curl> more_env: [] words: [ {<curl>} {<--retry>} {<5>} {<--retry-delay>} {<3>} {<--fail>} {<--silent>} {<--show-error>} {<--location>} {<--create-dirs>} {<--output>} {(DQ (${ Id.VSub_Name rkt_tar))} {<https> <Id.Lit_Colon ':'> <'//github.com/coreos/rkt/releases/download/v'> (${ Id.VSub_Name RKT_VERSION) <'/rkt-v'> (${ Id.VSub_Name RKT_VERSION) <.tar.gz> } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <tar> more_env: [] words: [ {<tar>} {<--strip-components> <Id.Lit_Equals '='> <1>} {<-xf>} {(DQ (${ Id.VSub_Name rkt_tar))} {<-C>} {(DQ (${ Id.VSub_Name rkt_tmpdir))} {<--overwrite>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <mv> more_env: [] words: [ {<mv>} {(DQ (${ Id.VSub_Name rkt_tmpdir) <'/rkt'>)} {(DQ (${ Id.VSub_Name rkt_bin))} ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.LogicalNot child: (bool_expr.Unary op_id: Id.BoolUnary_x child: {(DQ (${ Id.VSub_Name rkt_bin))} ) ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'Could not download requested rkt binary'>)}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] spids: [11979 11996] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'RKT_BIN='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'RKT_BIN='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'RKT_BIN='> name:RKT_BIN) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name rkt_bin))} ) ] redirects: [] ) (command.Simple blame_tok: <Id.Left_DoubleQuote '"'> more_env: [] words: [ {(DQ (${ Id.VSub_Name RKT_BIN))} {<fetch>} {<--insecure-options> <Id.Lit_Equals '='> <image>} {(DQ (${ Id.VSub_Name rkt_tmpdir)) <'/'> <Id.Lit_Star '*'> <.aci>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <rm> more_env: [] words: [{<rm>} {<-rf>} {(DQ (${ Id.VSub_Name rkt_tmpdir))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>}] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/systemd/system/rkt-api.service'>} ) (Redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<EOF>} here_end_tok: <Id.Undefined_Tok ''> stdin_parts: [ <'[Unit]\n'> <'Description=rkt api service\n'> <'Documentation=http://github.com/coreos/rkt\n'> <'After=network.target\n'> <'\n'> <'[Service]\n'> <'ExecStart='> (${ Id.VSub_Name RKT_BIN) <' api-service --listen=127.0.0.1:15441\n'> <'Restart=on-failure\n'> <'\n'> <'[Install]\n'> <'WantedBy=multi-user.target\n'> ] ) ) ] do_fork: T ) (command.Simple blame_tok: <systemctl> more_env: [] words: [{<systemctl>} {<enable>} {<rkt-api.service>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <systemctl> more_env: [] words: [{<systemctl>} {<start>} {<rkt-api.service>}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction keyword: <Id.KW_Function function> name_tok: <install-docker2aci> name: install-docker2aci body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<Id.Lit_VarLike 'tar_path='> (DQ (${ Id.VSub_Name KUBE_HOME) <'/download/docker2aci.tar.gz'>) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<Id.Lit_VarLike 'tmp_path='> (DQ (${ Id.VSub_Name KUBE_HOME) <'/docker2aci'>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <mkdir> more_env: [] words: [ {<mkdir>} {<-p>} {(DQ (${ Id.VSub_Name KUBE_HOME) <'/download/'>)} {(DQ (${ Id.VSub_Name tmp_path))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <curl> more_env: [] words: [ {<curl>} {<--retry>} {<5>} {<--retry-delay>} {<3>} {<--fail>} {<--silent>} {<--show-error>} {<--location>} {<--create-dirs>} {<--output>} {(DQ (${ Id.VSub_Name tar_path))} {<https> <Id.Lit_Colon ':'> < '//github.com/appc/docker2aci/releases/download/v0.14.0/docker2aci-v0.14.0.tar.gz' > } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <tar> more_env: [] words: [ {<tar>} {<--strip-components> <Id.Lit_Equals '='> <1>} {<-xf>} {(DQ (${ Id.VSub_Name tar_path))} {<-C>} {(DQ (${ Id.VSub_Name tmp_path))} {<--overwrite>} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'DOCKER2ACI_BIN='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'DOCKER2ACI_BIN='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'DOCKER2ACI_BIN='> name:DOCKER2ACI_BIN) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name KUBE_HOME) <'/bin/docker2aci'>)} ) ] redirects: [] ) (command.Simple blame_tok: <mv> more_env: [] words: [ {<mv>} {(DQ (${ Id.VSub_Name tmp_path) <'/docker2aci'>)} {(DQ (${ Id.VSub_Name DOCKER2ACI_BIN))} ] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'Start to configure instance for kubernetes'>)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'KUBE_HOME='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'KUBE_HOME='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'KUBE_HOME='> name:KUBE_HOME) op: assign_op.Equal rhs: {(DQ <'/opt/kubernetes'>)} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.LogicalNot child: (bool_expr.Unary op_id: Id.BoolUnary_e child: {(DQ (${ Id.VSub_Name KUBE_HOME) <'/kube-env'>)} ) ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ <'The '> (${ Id.VSub_Name KUBE_HOME) <'/kube-env file does not exist!! Terminate cluster initialization.'> ) } ] redirects: [] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] spids: [12272 12290] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <source> more_env: [] words: [{<source>} {(DQ (${ Id.VSub_Name KUBE_HOME) <'/kube-env'>)}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name KUBE_USER> var_name: KUBE_USER suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Pipeline negated: <Id.KW_Bang '!'> children: [ (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_EqualTilde left: {(DQ (${ Id.VSub_Name KUBE_USER))} right: {<Id.Lit_Other '^'> <Id.Lit_Other '['> <-> <Id.Lit_Other .> <_> <Id.Lit_Other '@'> <a-zA-Z0-9> <Id.Lit_Other ']'> <Id.Lit_Other '+'> <Id.Lit_Other '$'> } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) ] ops: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'Bad KUBE_USER format.'>)}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] spids: [12340 12368] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [12321 12337] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'KUBE_CONTROLLER_MANAGER_TOKEN='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'KUBE_CONTROLLER_MANAGER_TOKEN='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'KUBE_CONTROLLER_MANAGER_TOKEN='> name: KUBE_CONTROLLER_MANAGER_TOKEN ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (command.Simple blame_tok: <dd> more_env: [] words: [ {<dd>} {<Id.Lit_VarLike 'if='> <'/dev/urandom'>} {<Id.Lit_VarLike 'bs='> <128>} {<Id.Lit_VarLike 'count='> <1>} ] redirects: [ (Redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) (command.Simple blame_tok: <base64> more_env: [] words: [{<base64>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <tr> more_env: [] words: [{<tr>} {<-d>} {(DQ <'=+/'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <dd> more_env: [] words: [{<dd>} {<Id.Lit_VarLike 'bs='> <32>} {<Id.Lit_VarLike 'count='> <1>}] redirects: [ (Redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) ] ops: [<Id.Op_Pipe _> <Id.Op_Pipe _> <Id.Op_Pipe _>] ) right: <Id.Eof_RParen _> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'KUBE_SCHEDULER_TOKEN='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'KUBE_SCHEDULER_TOKEN='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'KUBE_SCHEDULER_TOKEN='> name: KUBE_SCHEDULER_TOKEN ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (command.Simple blame_tok: <dd> more_env: [] words: [ {<dd>} {<Id.Lit_VarLike 'if='> <'/dev/urandom'>} {<Id.Lit_VarLike 'bs='> <128>} {<Id.Lit_VarLike 'count='> <1>} ] redirects: [ (Redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) (command.Simple blame_tok: <base64> more_env: [] words: [{<base64>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <tr> more_env: [] words: [{<tr>} {<-d>} {(DQ <'=+/'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <dd> more_env: [] words: [{<dd>} {<Id.Lit_VarLike 'bs='> <32>} {<Id.Lit_VarLike 'count='> <1>}] redirects: [ (Redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) ] ops: [<Id.Op_Pipe _> <Id.Op_Pipe _> <Id.Op_Pipe _>] ) right: <Id.Eof_RParen _> ) } ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name CONTAINER_RUNTIME> var_name: CONTAINER_RUNTIME suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } right: {(DQ )} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'CONTAINER_RUNTIME='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'CONTAINER_RUNTIME='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'CONTAINER_RUNTIME='> name: CONTAINER_RUNTIME ) op: assign_op.Equal rhs: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name KUBERNETES_CONTAINER_RUNTIME> var_name: KUBERNETES_CONTAINER_RUNTIME suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:{<docker>}) right: <Id.Right_DollarBrace '}'> ) ) } ) ] redirects: [] ) ] spids: [12483 12502] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <create-dirs> more_env: [] words: [{<create-dirs>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <ensure-local-ssds> more_env: [] words: [{<ensure-local-ssds>}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name KUBERNETES_MASTER> var_name: KUBERNETES_MASTER suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } right: {(DQ <true>)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <mount-master-pd> more_env: [] words: [{<mount-master-pd>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <create-master-auth> more_env: [] words: [{<create-master-auth>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <create-master-kubelet-auth> more_env: [] words: [{<create-master-kubelet-auth>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <create-master-etcd-auth> more_env: [] words: [{<create-master-etcd-auth>}] redirects: [] do_fork: T ) ] spids: [12521 12541] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <create-kubelet-kubeconfig> more_env: [] words: [ {<create-kubelet-kubeconfig>} {(DQ <'https://'> (${ Id.VSub_Name KUBERNETES_MASTER_NAME))} ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobNEqual left: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name KUBE_PROXY_DAEMONSET> var_name: KUBE_PROXY_DAEMONSET suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } right: {(DQ <true>)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <create-kubeproxy-user-kubeconfig> more_env: [] words: [{<create-kubeproxy-user-kubeconfig>}] redirects: [] do_fork: T ) ] spids: [12568 12588] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name CONTAINER_RUNTIME> var_name: CONTAINER_RUNTIME suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } right: {(DQ <rkt>)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <systemctl> more_env: [] words: [{<systemctl>} {<stop>} {<docker>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <systemctl> more_env: [] words: [{<systemctl>} {<disable>} {<docker>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <setup-rkt> more_env: [] words: [{<setup-rkt>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <install-docker2aci> more_env: [] words: [{<install-docker2aci>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <create-kube-controller-manager-dirs> more_env: [] words: [{<create-kube-controller-manager-dirs>}] redirects: [] do_fork: T ) ] spids: [12599 12619] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <configure-docker-daemon> more_env: [] words: [{<configure-docker-daemon>}] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <load-docker-images> more_env: [] words: [{<load-docker-images>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <start-kubelet> more_env: [] words: [{<start-kubelet>}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name KUBERNETES_MASTER> var_name: KUBERNETES_MASTER suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } right: {(DQ <true>)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <compute-master-manifest-variables> more_env: [] words: [{<compute-master-manifest-variables>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <start-etcd-servers> more_env: [] words: [{<start-etcd-servers>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <start-etcd-empty-dir-cleanup-pod> more_env: [] words: [{<start-etcd-empty-dir-cleanup-pod>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <start-kube-apiserver> more_env: [] words: [{<start-kube-apiserver>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <start-kube-controller-manager> more_env: [] words: [{<start-kube-controller-manager>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <start-kube-scheduler> more_env: [] words: [{<start-kube-scheduler>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <start-kube-addons> more_env: [] words: [{<start-kube-addons>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <start-cluster-autoscaler> more_env: [] words: [{<start-cluster-autoscaler>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <start-lb-controller> more_env: [] words: [{<start-lb-controller>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <start-rescheduler> more_env: [] words: [{<start-rescheduler>}] redirects: [] do_fork: T ) ] spids: [12657 12677] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobNEqual left: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name KUBE_PROXY_DAEMONSET> var_name: KUBE_PROXY_DAEMONSET suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } right: {(DQ <true>)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <start-kube-proxy> more_env: [] words: [{<start-kube-proxy>}] redirects: [] do_fork: T ) ] spids: [12712 12732] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name ENABLE_CLUSTER_REGISTRY> var_name: ENABLE_CLUSTER_REGISTRY suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } right: {(DQ <true>)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <start-kube-registry-proxy> more_env: [] words: [{<start-kube-registry-proxy>}] redirects: [] do_fork: T ) ] spids: [12745 12765] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name PREPULL_E2E_IMAGES> var_name: PREPULL_E2E_IMAGES suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } right: {(DQ <true>)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <start-image-puller> more_env: [] words: [{<start-image-puller>}] redirects: [] do_fork: T ) ] spids: [12774 12794] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'Done for the configuration for kubernetes'>)}] redirects: [] do_fork: T ) ] )