(CommandList children: [ (C {(set)} {(-o)} {(errexit)}) (C {(set)} {(-o)} {(nounset)}) (C {(set)} {(-o)} {(pipefail)}) (FuncDef name: download-kube-env body: (BraceGroup children: [ (Assignment keyword: Assign_Local flags: [-r] pairs: [ (assign_pair lhs: (LhsName name:tmp_kube_env) op: Equal rhs: {(DQ (/tmp/kube-env.yaml))} spids: [78] ) ] spids: [74] ) (C {(curl)} {(--fail)} {(--retry)} {(5)} {(--retry-delay)} {(3)} {(--silent)} {(--show-error)} {(-H)} {(DQ ('X-Google-Metadata-Request: True'))} {(-o)} {(DQ (${ VSub_Name tmp_kube_env))} {(http) (Lit_Other ':') (//metadata.google.internal/computeMetadata/v1/instance/attributes/kube-env) } ) (SimpleCommand words: [{(sed)} {(SQ <'s/: /=/'>)}] redirects: [ (Redir op_id: Redir_Less fd: 16777215 arg_word: {(DQ (${ VSub_Name tmp_kube_env))} spids: [135] ) (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ (${ VSub_Name KUBE_HOME) (/kube-env))} spids: [143] ) ] ) (C {(rm)} {(-f)} {(DQ (${ VSub_Name tmp_kube_env))}) ] spids: [67] ) spids: [63 66] ) (FuncDef name: validate-hash body: (BraceGroup children: [ (Assignment keyword: Assign_Local flags: [-r] pairs: [ (assign_pair lhs: (LhsName name:file) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [177] ) ] spids: [173] ) (Assignment keyword: Assign_Local flags: [-r] pairs: [ (assign_pair lhs: (LhsName name:expected) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [187] ) ] spids: [183] ) (AndOr children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:actual) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(sha1sum)} {(${ VSub_Name file)}) (C {(awk)} {(SQ <'{ print $1 }'>)}) ] negated: False ) ] ) left_token: <Left_CommandSub '$('> spids: [195 209] ) } spids: [194] ) ] spids: [194] ) (C {(true)}) ] op_id: Op_DPipe ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobNEqual left: {(DQ (${ VSub_Name actual))} right: {(DQ (${ VSub_Name expected))} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} { (DQ ('== ') (${ VSub_Name file) (' corrupted, sha1 ') (${ VSub_Name actual) (" doesn't match expected ") (${ VSub_Name expected) (' ==') ) } ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] spids: [16777215 237] ) ] spids: [16777215 264] ) ] spids: [170] ) spids: [166 169] ) (FuncDef name: download-or-bust body: (BraceGroup children: [ (Assignment keyword: Assign_Local flags: [-r] pairs: [ (assign_pair lhs: (LhsName name:hash) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [293] ) ] spids: [289] ) (C {(shift)} {(1)}) (Assignment keyword: Assign_Local flags: [-r] pairs: [ (assign_pair lhs: (LhsName name:urls) op: Equal rhs: {(ArrayLiteralPart words:[{($ VSub_Star '$*')}])} spids: [309] ) ] spids: [305] ) (While cond: [(Sentence child:(C {(true)}) terminator:<Op_Semi ';'>)] body: (DoGroup children: [ (ForEach iter_name: url iter_words: [ { (DQ (BracedVarSub token: <VSub_Name urls> bracket_op: (WholeArray op_id:Lit_At) spids: [332 337] ) ) } ] do_arg_iter: False body: (DoGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:file) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name url> suffix_op: (StringUnary op_id: VOp1_DPound arg_word: {('*') (Lit_Slash /)} ) spids: [348 353] ) ) } spids: [346] ) ] spids: [344] ) (C {(rm)} {(-f)} {(DQ (${ VSub_Name file))}) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (C {(curl)} {(-f)} {(--ipv4)} {(-Lo)} {(DQ (${ VSub_Name file))} {(--connect-timeout)} {(20)} {(--max-time)} {(300)} {(--retry)} {(6)} {(--retry-delay)} {(10)} {(DQ (${ VSub_Name url))} ) ] negated: True ) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} { (DQ ('== Failed to download ') (${ VSub_Name url) ('. Retrying. ==') ) } ) ] spids: [16777215 409] ) (if_arm cond: [ (Sentence child: (AndOr children: [ (DBracket expr: (BoolUnary op_id: BoolUnary_n child: {(DQ (${ VSub_Name hash))} ) ) (Pipeline children: [ (C {(validate-hash)} {(DQ (${ VSub_Name file))} {(DQ (${ VSub_Name hash))} ) ] negated: True ) ] op_id: Op_DAmp ) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} { (DQ ('== Hash validation of ') (${ VSub_Name url) (' failed. Retrying. ==') ) } ) ] spids: [423 456] ) ] else_action: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_n child: {(DQ (${ VSub_Name hash))} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} { (DQ ('== Downloaded ') (${ VSub_Name url) (' (SHA1 = ') (${ VSub_Name hash) (') ==') ) } ) ] spids: [16777215 488] ) ] else_action: [ (C {(echo)} {(DQ ('== Downloaded ') (${ VSub_Name url) (' =='))}) ] spids: [506 520] ) (ControlFlow token: <ControlFlow_Return return> ) ] spids: [470 526] ) ] spids: [341 529] ) spids: [330 339] ) ] spids: [322 532] ) ) ] spids: [286] ) spids: [282 285] ) (FuncDef name: split-commas body: (BraceGroup children: [ (Pipeline children: [ (C {(echo)} {($ VSub_Number '$1')}) (C {(tr)} {(DQ (','))} {(DQ (Lit_Other '\\') (n))}) ] negated: False ) ] spids: [541] ) spids: [537 540] ) (FuncDef name: install-kube-binary-config body: (BraceGroup children: [ (C {(cd)} {(DQ (${ VSub_Name KUBE_HOME))}) (Assignment keyword: Assign_Local flags: [-r] pairs: [ (assign_pair lhs: (LhsName name:server_binary_tar_urls) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(split-commas)} {(DQ (${ VSub_Name SERVER_BINARY_TAR_URL))}) ] ) left_token: <Left_CommandSub '$('> spids: [593 601] ) } ] ) } spids: [590] ) ] spids: [586] ) (Assignment keyword: Assign_Local flags: [-r] pairs: [ (assign_pair lhs: (LhsName name:server_binary_tar) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name server_binary_tar_urls> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)})) suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{('*') (Lit_Slash /)}) spids: [612 620] ) ) } spids: [610] ) ] spids: [606] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_n child: { (DQ (BracedVarSub token: <VSub_Name SERVER_BINARY_TAR_HASH> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [631 634] ) ) } ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_Local flags: [-r] pairs: [ (assign_pair lhs: (LhsName name:server_binary_tar_hash) op: Equal rhs: {(DQ (${ VSub_Name SERVER_BINARY_TAR_HASH))} spids: [647] ) ] spids: [643] ) ] spids: [16777215 640] ) ] else_action: [ (C {(echo)} {(DQ ('Downloading binary release sha1 (not found in env)'))}) (C {(download-or-bust)} {(DQ )} { (DQ (BracedVarSub token: <VSub_Name server_binary_tar_urls> bracket_op: (WholeArray op_id:Lit_At) suffix_op: (PatSub pat: {(.tar.gz)} replace: {(.tar.gz.sha1)} do_all: False do_prefix: False do_suffix: False ) spids: [671 680] ) ) } ) (Assignment keyword: Assign_Local flags: [-r] pairs: [ (assign_pair lhs: (LhsName name:server_binary_tar_hash) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(cat)} {(DQ (${ VSub_Name server_binary_tar) (.sha1))})] ) left_token: <Left_CommandSub '$('> spids: [689 698] ) } spids: [688] ) ] spids: [684] ) ] spids: [655 701] ) (C {(echo)} {(DQ ('Downloading binary release tar'))}) (C {(download-or-bust)} {(DQ (${ VSub_Name server_binary_tar_hash))} { (DQ (BracedVarSub token: <VSub_Name server_binary_tar_urls> bracket_op: (WholeArray op_id:Lit_At) spids: [720 725] ) ) } ) (C {(tar)} {(xzf)} {(DQ (${ VSub_Name KUBE_HOME) (/) (${ VSub_Name server_binary_tar))} {(-C)} {(DQ (${ VSub_Name KUBE_HOME))} {(--overwrite)} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:src_dir) op: Equal rhs: {(DQ (${ VSub_Name KUBE_HOME) (/kubernetes/server/bin))} spids: [758] ) ] spids: [758] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:dst_dir) op: Equal rhs: {(DQ (${ VSub_Name KUBE_HOME) (/kube-docker-files))} spids: [767] ) ] spids: [767] ) (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name dst_dir))}) (C {(cp)} {(DQ (${ VSub_Name src_dir) (/)) (Lit_Other '*') (.docker_tag)} {(DQ (${ VSub_Name dst_dir))} ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: { (DQ (BracedVarSub token: <VSub_Name KUBERNETES_MASTER> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [810 813] ) ) } right: {(DQ (false))} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(cp)} {(DQ (${ VSub_Name src_dir) (/kube-proxy.tar))} {(DQ (${ VSub_Name dst_dir))} ) ] spids: [16777215 825] ) ] else_action: [ (C {(cp)} {(DQ (${ VSub_Name src_dir) (/kube-apiserver.tar))} {(DQ (${ VSub_Name dst_dir))} ) (C {(cp)} {(DQ (${ VSub_Name src_dir) (/kube-controller-manager.tar))} {(DQ (${ VSub_Name dst_dir))} ) (C {(cp)} {(DQ (${ VSub_Name src_dir) (/kube-scheduler.tar))} {(DQ (${ VSub_Name dst_dir))} ) (C {(cp)} {(-r)} {(DQ (${ VSub_Name KUBE_HOME) (/kubernetes/addons))} {(DQ (${ VSub_Name dst_dir))} ) ] spids: [844 913] ) (Assignment keyword: Assign_Local flags: [-r] pairs: [ (assign_pair lhs: (LhsName name:kube_bin) op: Equal rhs: {(DQ (${ VSub_Name KUBE_HOME) (/bin))} spids: [920] ) ] spids: [916] ) (C {(mv)} {(DQ (${ VSub_Name src_dir) (/kubelet))} {(DQ (${ VSub_Name kube_bin))}) (C {(mv)} {(DQ (${ VSub_Name src_dir) (/kubectl))} {(DQ (${ VSub_Name kube_bin))}) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr children: [ (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: { (DQ (BracedVarSub token: <VSub_Name NETWORK_PROVIDER> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [967 970] ) ) } right: {(DQ (kubenet))} ) ) (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: { (DQ (BracedVarSub token: <VSub_Name NETWORK_PROVIDER> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [988 991] ) ) } right: {(DQ (cni))} ) ) ] op_id: Op_DPipe ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_Local flags: [-r] pairs: [ (assign_pair lhs: (LhsName name:cni_tar) op: Equal rhs: {(DQ (cni-0799f5732f2a11b329d9e3d51b9c8f2e3759f2ff.tar.gz))} spids: [1014] ) ] spids: [1010] ) (Assignment keyword: Assign_Local flags: [-r] pairs: [ (assign_pair lhs: (LhsName name:cni_sha1) op: Equal rhs: {(DQ (1d9788b0f5420e1a219aad2cb8681823fc515e7c))} spids: [1024] ) ] spids: [1020] ) (C {(download-or-bust)} {(DQ (${ VSub_Name cni_sha1))} { (DQ ('https://storage.googleapis.com/kubernetes-release/network-plugins/') (${ VSub_Name cni_tar) ) } ) (Assignment keyword: Assign_Local flags: [-r] pairs: [ (assign_pair lhs: (LhsName name:cni_dir) op: Equal rhs: {(DQ (${ VSub_Name KUBE_HOME) (/cni))} spids: [1050] ) ] spids: [1046] ) (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name cni_dir))}) (C {(tar)} {(xzf)} {(DQ (${ VSub_Name KUBE_HOME) (/) (${ VSub_Name cni_tar))} {(-C)} {(DQ (${ VSub_Name cni_dir))} {(--overwrite)} ) (C {(mv)} {(DQ (${ VSub_Name cni_dir) (/bin)) (/) (Lit_Other '*')} {(DQ (${ VSub_Name kube_bin))} ) (C {(rmdir)} {(DQ (${ VSub_Name cni_dir) (/bin))}) (C {(rm)} {(-f)} {(DQ (${ VSub_Name KUBE_HOME) (/) (${ VSub_Name cni_tar))}) ] spids: [16777215 1003] ) ] spids: [16777215 1138] ) (C {(mv)} {(DQ (${ VSub_Name KUBE_HOME) (/kubernetes/LICENSES))} {(DQ (${ VSub_Name KUBE_HOME))} ) (C {(mv)} {(DQ (${ VSub_Name KUBE_HOME) (/kubernetes/kubernetes-src.tar.gz))} {(DQ (${ VSub_Name KUBE_HOME))} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:dst_dir) op: Equal rhs: {(DQ (${ VSub_Name KUBE_HOME) (/kube-manifests))} spids: [1179] ) ] spids: [1179] ) (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name dst_dir))}) (Assignment keyword: Assign_Local flags: [-r] pairs: [ (assign_pair lhs: (LhsName name:manifests_tar_urls) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(split-commas)} {(DQ (${ VSub_Name KUBE_MANIFESTS_TAR_URL))}) ] ) left_token: <Left_CommandSub '$('> spids: [1206 1214] ) } ] ) } spids: [1203] ) ] spids: [1199] ) (Assignment keyword: Assign_Local flags: [-r] pairs: [ (assign_pair lhs: (LhsName name:manifests_tar) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name manifests_tar_urls> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)})) suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{('*') (Lit_Slash /)}) spids: [1225 1233] ) ) } spids: [1223] ) ] spids: [1219] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-n)} { (DQ (BracedVarSub token: <VSub_Name KUBE_MANIFESTS_TAR_HASH> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [1244 1247] ) ) } {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_Local flags: [-r] pairs: [ (assign_pair lhs: (LhsName name:manifests_tar_hash) op: Equal rhs: {(DQ (${ VSub_Name KUBE_MANIFESTS_TAR_HASH))} spids: [1260] ) ] spids: [1256] ) ] spids: [16777215 1253] ) ] else_action: [ (C {(echo)} {(DQ ('Downloading k8s manifests sha1 (not found in env)'))}) (C {(download-or-bust)} {(DQ )} { (DQ (BracedVarSub token: <VSub_Name manifests_tar_urls> bracket_op: (WholeArray op_id:Lit_At) suffix_op: (PatSub pat: {(.tar.gz)} replace: {(.tar.gz.sha1)} do_all: False do_prefix: False do_suffix: False ) spids: [1284 1293] ) ) } ) (Assignment keyword: Assign_Local flags: [-r] pairs: [ (assign_pair lhs: (LhsName name:manifests_tar_hash) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(cat)} {(DQ (${ VSub_Name manifests_tar) (.sha1))})] ) left_token: <Left_CommandSub '$('> spids: [1302 1311] ) } spids: [1301] ) ] spids: [1297] ) ] spids: [1268 1314] ) (C {(echo)} {(DQ ('Downloading k8s manifests tar'))}) (C {(download-or-bust)} {(DQ (${ VSub_Name manifests_tar_hash))} { (DQ (BracedVarSub token: <VSub_Name manifests_tar_urls> bracket_op: (WholeArray op_id:Lit_At) spids: [1333 1338] ) ) } ) (C {(tar)} {(xzf)} {(DQ (${ VSub_Name KUBE_HOME) (/) (${ VSub_Name manifests_tar))} {(-C)} {(DQ (${ VSub_Name dst_dir))} {(--overwrite)} ) (Assignment keyword: Assign_Local flags: [-r] pairs: [ (assign_pair lhs: (LhsName name:kube_addon_registry) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name KUBE_ADDON_REGISTRY> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {(gcr.io) (Lit_Slash /) (google_containers)} ) spids: [1373 1379] ) ) } spids: [1371] ) ] spids: [1367] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobNEqual left: {(DQ (${ VSub_Name kube_addon_registry))} right: {(DQ (gcr.io/google_containers))} ) ) terminator: <Op_Semi ';'> ) ] action: [ (Pipeline children: [ (C {(find)} {(DQ (${ VSub_Name dst_dir))} {(-name)} {(EscapedLiteralPart token:<Lit_EscapedChar '\\*'>) (.yaml)} {(-or)} {(-name)} {(EscapedLiteralPart token:<Lit_EscapedChar '\\*'>) (.yaml.in)} ) (C {(xargs)} {(sed)} {(-ri)} { (DQ ('s@(image:') (Lit_Other '\\') ('s.*)gcr.io/google_containers@') (Lit_Other '\\') (1) (${ VSub_Name kube_addon_registry) ('@') ) } ) ] negated: False ) (Pipeline children: [ (C {(find)} {(DQ (${ VSub_Name dst_dir))} {(-name)} {(EscapedLiteralPart token:<Lit_EscapedChar '\\*'>) (.manifest)} {(-or)} {(-name)} {(EscapedLiteralPart token:<Lit_EscapedChar '\\*'>) (.json)} ) (C {(xargs)} {(sed)} {(-ri)} { (DQ ('s@(image') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (':') (Lit_Other '\\') ('s+') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (')gcr.io/google_containers@') (Lit_Other '\\') (1) (${ VSub_Name kube_addon_registry) ('@') ) } ) ] negated: False ) ] spids: [16777215 1402] ) ] spids: [16777215 1495] ) (C {(cp)} { (DQ (${ VSub_Name dst_dir) (/kubernetes/gci-trusty/container-linux-configure-helper.sh) ) } {(DQ (${ VSub_Name KUBE_HOME) (/bin/configure-helper.sh))} ) (C {(chmod)} {(-R)} {(755)} {(DQ (${ VSub_Name kube_bin))}) (C {(rm)} {(-rf)} {(DQ (${ VSub_Name KUBE_HOME) (/kubernetes))}) (C {(rm)} {(-f)} {(DQ (${ VSub_Name KUBE_HOME) (/) (${ VSub_Name server_binary_tar))}) (C {(rm)} {(-f)} {(DQ (${ VSub_Name KUBE_HOME) (/) (${ VSub_Name server_binary_tar) (.sha1))}) (C {(rm)} {(-f)} {(DQ (${ VSub_Name KUBE_HOME) (/) (${ VSub_Name manifests_tar))}) (C {(rm)} {(-f)} {(DQ (${ VSub_Name KUBE_HOME) (/) (${ VSub_Name manifests_tar) (.sha1))}) ] spids: [574] ) spids: [570 573] ) (C {(echo)} {(DQ ('Start to install kubernetes files'))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KUBE_HOME) op: Equal rhs: {(DQ (/opt/kubernetes))} spids: [1618] ) ] spids: [1618] ) (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name KUBE_HOME))}) (C {(download-kube-env)}) (C {(source)} {(DQ (${ VSub_Name KUBE_HOME) (/kube-env))}) (C {(install-kube-binary-config)}) (C {(echo)} {(DQ ('Done for installing kubernetes files'))}) (SimpleCommand words: [{(echo)} {(DQ ('127.0.0.1 localhost'))}] redirects: [(Redir op_id:Redir_DGreat fd:16777215 arg_word:{(/etc/hosts)} spids:[1665])] ) (SimpleCommand words: [{(echo)} {(DQ ('::1 localhost'))}] redirects: [(Redir op_id:Redir_DGreat fd:16777215 arg_word:{(/etc/hosts)} spids:[1675])] ) (C {(echo)} {(DQ ('Configuring hostname'))}) (C {(hostnamectl)} {(set-hostname)} { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [(C {(hostname)}) (C {(cut)} {(-f1)} {(-d.)})] negated: False ) ] ) left_token: <Left_CommandSub '$('> spids: [1690 1700] ) } ) ] )