(CommandList children: [ (Assignment keyword: Assign_Readonly pairs: [ (assign_pair lhs: (LhsName name:RELEASE_STAGE) op: Equal rhs: {(DQ (${ VSub_Name LOCAL_OUTPUT_ROOT) (/release-stage))} spids: [72] ) ] spids: [70] ) (Assignment keyword: Assign_Readonly pairs: [ (assign_pair lhs: (LhsName name:RELEASE_TARS) op: Equal rhs: {(DQ (${ VSub_Name LOCAL_OUTPUT_ROOT) (/release-tars))} spids: [82] ) ] spids: [80] ) (Assignment keyword: Assign_Readonly pairs: [ (assign_pair lhs: (LhsName name:RELEASE_IMAGES) op: Equal rhs: {(DQ (${ VSub_Name LOCAL_OUTPUT_ROOT) (/release-images))} spids: [92] ) ] spids: [90] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KUBE_BUILD_HYPERKUBE) op: Equal rhs: { (BracedVarSub token: <VSub_Name KUBE_BUILD_HYPERKUBE> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(n)}) spids: [102 106] ) } spids: [101] ) ] spids: [101] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (LogicalAnd left: (BoolUnary op_id: BoolUnary_n child: { (DQ (BracedVarSub token: <VSub_Name KUBE_DOCKER_IMAGE_TAG> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(SQ )}) spids: [115 118] ) ) } ) right: (BoolUnary op_id: BoolUnary_n child: { (DQ (BracedVarSub token: <VSub_Name KUBE_DOCKER_REGISTRY> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(SQ )}) spids: [126 129] ) ) } ) ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KUBE_BUILD_HYPERKUBE) op: Equal rhs: {(y)} spids: [142] ) ] spids: [142] ) ] spids: [16777215 135] ) ] spids: [16777215 145] ) (FuncDef name: 'kube::release::parse_and_validate_ci_version' body: (BraceGroup children: [ (Assignment keyword: Assign_Local flags: [-r] pairs: [ (assign_pair lhs: (LhsName name:version_regex) op: Equal rhs: { (DQ ('^v(0|[1-9][0-9]*)') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) ('.(0|[1-9][0-9]*)') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) ('.(0|[1-9][0-9]*)-([a-zA-Z0-9]+)') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) ('.(0|[1-9][0-9]*)(') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) ('.(0|[1-9][0-9]*)') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) ('+[0-9a-f]{7,40})?') (Lit_Other '$') ) } spids: [219] ) ] spids: [215] ) (Assignment keyword: Assign_Local flags: [-r] pairs: [ (assign_pair lhs: (LhsName name:version) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(SQ )}) spids: [242 245] ) ) } spids: [240] ) ] spids: [236] ) (AndOr children: [ (DBracket expr: (BoolBinary op_id: BoolBinary_EqualTilde left: {(DQ (${ VSub_Name version))} right: {(${ VSub_Name version_regex)} ) ) (BraceGroup children: [ (C {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') (error) } { (DQ ("Invalid ci version: '") (${ VSub_Name version) ("', must match regex ") (${ VSub_Name version_regex) ) } ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] spids: [267] ) ] op_id: Op_DPipe ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:VERSION_MAJOR) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name BASH_REMATCH> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 1)})) spids: [300 305] ) ) } spids: [298] ) ] spids: [298] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:VERSION_MINOR) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name BASH_REMATCH> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 2)})) spids: [311 316] ) ) } spids: [309] ) ] spids: [309] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:VERSION_PATCH) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name BASH_REMATCH> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 3)})) spids: [322 327] ) ) } spids: [320] ) ] spids: [320] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:VERSION_PRERELEASE) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name BASH_REMATCH> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 4)})) spids: [333 338] ) ) } spids: [331] ) ] spids: [331] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:VERSION_PRERELEASE_REV) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name BASH_REMATCH> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 5)})) spids: [344 349] ) ) } spids: [342] ) ] spids: [342] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:VERSION_BUILD_INFO) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name BASH_REMATCH> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 6)})) spids: [355 360] ) ) } spids: [353] ) ] spids: [353] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:VERSION_COMMITS) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name BASH_REMATCH> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 7)})) spids: [366 371] ) ) } spids: [364] ) ] spids: [364] ) ] spids: [208] ) spids: [196 207] ) (FuncDef name: 'kube::release::clean_cruft' body: (BraceGroup children: [ (C {(find)} {(${ VSub_Name RELEASE_STAGE)} {(-name)} {(SQ <'*~'>)} {(-exec)} {(rm)} {(Lit_LBrace '{') (Lit_RBrace '}')} {(EscapedLiteralPart token:<Lit_EscapedChar '\\;'>)} ) (C {(find)} {(${ VSub_Name RELEASE_STAGE)} {(-name)} {(SQ <'#*#'>)} {(-exec)} {(rm)} {(Lit_LBrace '{') (Lit_RBrace '}')} {(EscapedLiteralPart token:<Lit_EscapedChar '\\;'>)} ) (C {(find)} {(${ VSub_Name RELEASE_STAGE)} {(-name)} {(SQ <'.DS*'>)} {(-exec)} {(rm)} {(Lit_LBrace '{') (Lit_RBrace '}')} {(EscapedLiteralPart token:<Lit_EscapedChar '\\;'>)} ) ] spids: [395] ) spids: [383 394] ) (FuncDef name: 'kube::release::package_tarballs' body: (BraceGroup children: [ (C {(rm)} {(-rf)} {(DQ (${ VSub_Name RELEASE_STAGE))} {(DQ (${ VSub_Name RELEASE_TARS))} {(DQ (${ VSub_Name RELEASE_IMAGES))} ) (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name RELEASE_TARS))}) (Sentence child: (C {(kube) (Lit_Other ':') (Lit_Other ':') (release) (Lit_Other ':') (Lit_Other ':') (package_src_tarball) } ) terminator: <Op_Amp '&'> ) (Sentence child: (C {(kube) (Lit_Other ':') (Lit_Other ':') (release) (Lit_Other ':') (Lit_Other ':') (package_client_tarballs) } ) terminator: <Op_Amp '&'> ) (Sentence child: (C {(kube) (Lit_Other ':') (Lit_Other ':') (release) (Lit_Other ':') (Lit_Other ':') (package_salt_tarball) } ) terminator: <Op_Amp '&'> ) (Sentence child: (C {(kube) (Lit_Other ':') (Lit_Other ':') (release) (Lit_Other ':') (Lit_Other ':') (package_kube_manifests_tarball) } ) terminator: <Op_Amp '&'> ) (AndOr children: [ (C {(kube) (Lit_Other ':') (Lit_Other ':') (util) (Lit_Other ':') (Lit_Other ':') (wait-for-jobs) } ) (BraceGroup children: [ (Sentence child: (C {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') (error) } {(DQ ('previous tarball phase failed'))} ) terminator: <Op_Semi ';'> ) (Sentence child: (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) terminator: <Op_Semi ';'> ) ] spids: [577] ) ] op_id: Op_DPipe ) (Sentence child: (C {(kube) (Lit_Other ':') (Lit_Other ':') (release) (Lit_Other ':') (Lit_Other ':') (package_node_tarballs) } ) terminator: <Op_Amp '&'> ) (Sentence child: (C {(kube) (Lit_Other ':') (Lit_Other ':') (release) (Lit_Other ':') (Lit_Other ':') (package_server_tarballs) } ) terminator: <Op_Amp '&'> ) (AndOr children: [ (C {(kube) (Lit_Other ':') (Lit_Other ':') (util) (Lit_Other ':') (Lit_Other ':') (wait-for-jobs) } ) (BraceGroup children: [ (Sentence child: (C {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') (error) } {(DQ ('previous tarball phase failed'))} ) terminator: <Op_Semi ';'> ) (Sentence child: (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) terminator: <Op_Semi ';'> ) ] spids: [637] ) ] op_id: Op_DPipe ) (Sentence child: (C {(kube) (Lit_Other ':') (Lit_Other ':') (release) (Lit_Other ':') (Lit_Other ':') (package_final_tarball) } ) terminator: <Op_Amp '&'> ) (Sentence child: (C {(kube) (Lit_Other ':') (Lit_Other ':') (release) (Lit_Other ':') (Lit_Other ':') (package_test_tarball) } ) terminator: <Op_Amp '&'> ) (AndOr children: [ (C {(kube) (Lit_Other ':') (Lit_Other ':') (util) (Lit_Other ':') (Lit_Other ':') (wait-for-jobs) } ) (BraceGroup children: [ (Sentence child: (C {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') (error) } {(DQ ('previous tarball phase failed'))} ) terminator: <Op_Semi ';'> ) (Sentence child: (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) terminator: <Op_Semi ';'> ) ] spids: [699] ) ] op_id: Op_DPipe ) ] spids: [482] ) spids: [470 481] ) (FuncDef name: 'kube::release::package_src_tarball' body: (BraceGroup children: [ (C {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') (status)} {(DQ ('Building tarball: src'))} ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:source_files) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (AndOr children: [ (C {(cd)} {(DQ (${ VSub_Name KUBE_ROOT))}) (C {(find)} {(.)} {(-mindepth)} {(1)} {(-maxdepth)} {(1)} {(-not)} {(EscapedLiteralPart token:<Lit_EscapedChar '\\('>)} {(EscapedLiteralPart token:<Lit_EscapedChar '\\('>)} {(-path)} {(./_) (EscapedLiteralPart token:<Lit_EscapedChar '\\*'>)} {(-o)} {(-path)} {(./.git) (EscapedLiteralPart token:<Lit_EscapedChar '\\*'>)} {(-o)} {(-path)} {(./.config) (EscapedLiteralPart token: <Lit_EscapedChar '\\*'> ) } {(-o)} {(-path)} {(./.gsutil) (EscapedLiteralPart token:<Lit_EscapedChar '\\*'>)} {(EscapedLiteralPart token:<Lit_EscapedChar '\\)'>)} {(-prune)} {(EscapedLiteralPart token:<Lit_EscapedChar '\\)'>)} ) ] op_id: Op_DAmp ) ] ) left_token: <Left_CommandSub '$('> spids: [761 835] ) } ] ) } spids: [757] ) ] spids: [755] ) (C {(DQ (${ VSub_Name TAR))} {(czf)} {(DQ (${ VSub_Name RELEASE_TARS) (/kubernetes-src.tar.gz))} {(-C)} {(DQ (${ VSub_Name KUBE_ROOT))} { (DQ (BracedVarSub token: <VSub_Name source_files> bracket_op: (WholeArray op_id:Lit_At) spids: [865 870] ) ) } ) ] spids: [739] ) spids: [727 738] ) (FuncDef name: 'kube::release::package_client_tarballs' body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs:(LhsName name:platform) op:Equal spids:[903]) (assign_pair lhs:(LhsName name:platforms) op:Equal spids:[905]) ] spids: [901] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:platforms) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (Sentence child: (C {(cd)} {(DQ (${ VSub_Name LOCAL_OUTPUT_BINPATH))}) terminator: <Op_Semi ';'> ) (C {(echo)} {(Lit_Other '*') (/) (Lit_Other '*')}) ] ) left_token: <Left_CommandSub '$('> spids: [910 926] ) } ] ) } spids: [908] ) ] spids: [908] ) (ForEach iter_name: platform iter_words: [ { (DQ (BracedVarSub token: <VSub_Name platforms> bracket_op: (WholeArray op_id:Lit_At) spids: [937 942] ) ) } ] do_arg_iter: False body: (DoGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:platform_tag) op: Equal rhs: { (BracedVarSub token: <VSub_Name platform> suffix_op: (PatSub pat: {(EscapedLiteralPart token:<Lit_EscapedChar '\\/'>)} replace: {(-)} do_all: False do_prefix: False do_suffix: False ) spids: [952 958] ) } spids: [951] ) ] spids: [949] ) (C {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') (status) } {(DQ ('Starting tarball: client ') ($ VSub_Name '$platform_tag'))} ) (Sentence child: (Subshell child: (CommandList children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:release_stage) op: Equal rhs: { (DQ (${ VSub_Name RELEASE_STAGE) (/client/) (${ VSub_Name platform_tag) (/kubernetes) ) } spids: [984] ) ] spids: [982] ) (C {(rm)} {(-rf)} {(DQ (${ VSub_Name release_stage))}) (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name release_stage) (/client/bin))}) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:client_bins) op: Equal rhs: { (ArrayLiteralPart words: [ { (DQ (BracedVarSub token: <VSub_Name KUBE_CLIENT_BINARIES> bracket_op: (WholeArray op_id:Lit_At) spids: [1026 1031] ) ) } ] ) } spids: [1023] ) ] spids: [1021] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: { (DQ (BracedVarSub token: <VSub_Name platform> suffix_op: (StringUnary op_id: VOp1_Percent arg_word: {(Lit_Slash /) ('*')} ) spids: [1041 1046] ) ) } right: {(DQ (windows))} ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:client_bins) op: Equal rhs: { (ArrayLiteralPart words: [ { (DQ (BracedVarSub token: <VSub_Name KUBE_CLIENT_BINARIES_WIN> bracket_op: (WholeArray op_id:Lit_At) spids: [1064 1069] ) ) } ] ) } spids: [1061] ) ] spids: [1061] ) ] spids: [16777215 1058] ) ] spids: [16777215 1074] ) (C {(cp)} { (DQ (BracedVarSub token: <VSub_Name client_bins> bracket_op: (WholeArray op_id:Lit_At) suffix_op: (PatSub pat: {} replace: {(${ VSub_Name LOCAL_OUTPUT_BINPATH) (Lit_Slash /) (${ VSub_Name platform) (Lit_Slash /) } do_all: False do_prefix: True do_suffix: False ) spids: [1093 1109] ) ) } {(DQ (${ VSub_Name release_stage) (/client/bin/))} ) (C {(kube) (Lit_Other ':') (Lit_Other ':') (release) (Lit_Other ':') (Lit_Other ':') (clean_cruft) } ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:package_name) op: Equal rhs: { (DQ (${ VSub_Name RELEASE_TARS) (/kubernetes-client-) (${ VSub_Name platform_tag) (.tar.gz) ) } spids: [1135] ) ] spids: [1133] ) (C {(kube) (Lit_Other ':') (Lit_Other ':') (release) (Lit_Other ':') (Lit_Other ':') (create_tarball) } {(DQ (${ VSub_Name package_name))} {(DQ (${ VSub_Name release_stage) (/..))} ) ] ) spids: [979 1170] ) terminator: <Op_Amp '&'> ) ] spids: [946 1175] ) spids: [935 944] ) (C {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') (status)} {(DQ ('Waiting on tarballs'))} ) (AndOr children: [ (C {(kube) (Lit_Other ':') (Lit_Other ':') (util) (Lit_Other ':') (Lit_Other ':') (wait-for-jobs) } ) (BraceGroup children: [ (Sentence child: (C {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') (error) } {(DQ ('client tarball creation failed'))} ) terminator: <Op_Semi ';'> ) (Sentence child:(C {(exit)} {(1)}) terminator:<Op_Semi ';'>) ] spids: [1202] ) ] op_id: Op_DPipe ) ] spids: [894] ) spids: [882 893] ) (FuncDef name: 'kube::release::package_node_tarballs' body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:platform) op:Equal spids:[1247])] spids: [1245] ) (ForEach iter_name: platform iter_words: [ { (DQ (BracedVarSub token: <VSub_Name KUBE_NODE_PLATFORMS> bracket_op: (WholeArray op_id:Lit_At) spids: [1257 1262] ) ) } ] do_arg_iter: False body: (DoGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:platform_tag) op: Equal rhs: { (BracedVarSub token: <VSub_Name platform> suffix_op: (PatSub pat: {(EscapedLiteralPart token:<Lit_EscapedChar '\\/'>)} replace: {(-)} do_all: False do_prefix: False do_suffix: False ) spids: [1272 1278] ) } spids: [1271] ) ] spids: [1269] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:arch) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(basename)} {(${ VSub_Name platform)})] ) left_token: <Left_CommandSub '$('> spids: [1287 1293] ) } spids: [1286] ) ] spids: [1284] ) (C {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') (status) } {(DQ ('Building tarball: node ') ($ VSub_Name '$platform_tag'))} ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:release_stage) op: Equal rhs: { (DQ (${ VSub_Name RELEASE_STAGE) (/node/) (${ VSub_Name platform_tag) (/kubernetes) ) } spids: [1313] ) ] spids: [1311] ) (C {(rm)} {(-rf)} {(DQ (${ VSub_Name release_stage))}) (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name release_stage) (/node/bin))}) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:node_bins) op: Equal rhs: { (ArrayLiteralPart words: [ { (DQ (BracedVarSub token: <VSub_Name KUBE_NODE_BINARIES> bracket_op: (WholeArray op_id:Lit_At) spids: [1355 1360] ) ) } ] ) } spids: [1352] ) ] spids: [1350] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: { (DQ (BracedVarSub token: <VSub_Name platform> suffix_op: (StringUnary op_id: VOp1_Percent arg_word: {(Lit_Slash /) ('*')} ) spids: [1370 1375] ) ) } right: {(DQ (windows))} ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:node_bins) op: Equal rhs: { (ArrayLiteralPart words: [ { (DQ (BracedVarSub token: <VSub_Name KUBE_NODE_BINARIES_WIN> bracket_op: (WholeArray op_id:Lit_At) spids: [1393 1398] ) ) } ] ) } spids: [1390] ) ] spids: [1390] ) ] spids: [16777215 1387] ) ] spids: [16777215 1403] ) (C {(cp)} { (DQ (BracedVarSub token: <VSub_Name node_bins> bracket_op: (WholeArray op_id:Lit_At) suffix_op: (PatSub pat: {} replace: {(${ VSub_Name LOCAL_OUTPUT_BINPATH) (Lit_Slash /) (${ VSub_Name platform) (Lit_Slash /) } do_all: False do_prefix: True do_suffix: False ) spids: [1421 1437] ) ) } {(DQ (${ VSub_Name release_stage) (/node/bin/))} ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:client_bins) op: Equal rhs: { (ArrayLiteralPart words: [ { (DQ (BracedVarSub token: <VSub_Name KUBE_CLIENT_BINARIES> bracket_op: (WholeArray op_id:Lit_At) spids: [1469 1474] ) ) } ] ) } spids: [1466] ) ] spids: [1464] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: { (DQ (BracedVarSub token: <VSub_Name platform> suffix_op: (StringUnary op_id: VOp1_Percent arg_word: {(Lit_Slash /) ('*')} ) spids: [1484 1489] ) ) } right: {(DQ (windows))} ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:client_bins) op: Equal rhs: { (ArrayLiteralPart words: [ { (DQ (BracedVarSub token: <VSub_Name KUBE_CLIENT_BINARIES_WIN> bracket_op: (WholeArray op_id:Lit_At) spids: [1507 1512] ) ) } ] ) } spids: [1504] ) ] spids: [1504] ) ] spids: [16777215 1501] ) ] spids: [16777215 1517] ) (C {(cp)} { (DQ (BracedVarSub token: <VSub_Name client_bins> bracket_op: (WholeArray op_id:Lit_At) suffix_op: (PatSub pat: {} replace: {(${ VSub_Name LOCAL_OUTPUT_BINPATH) (Lit_Slash /) (${ VSub_Name platform) (Lit_Slash /) } do_all: False do_prefix: True do_suffix: False ) spids: [1523 1539] ) ) } {(DQ (${ VSub_Name release_stage) (/node/bin/))} ) (C {(cp)} {(DQ (${ VSub_Name KUBE_ROOT) (/Godeps/LICENSES))} {(DQ (${ VSub_Name release_stage) (/))} ) (C {(cp)} {(DQ (${ VSub_Name RELEASE_TARS) (/kubernetes-src.tar.gz))} {(DQ (${ VSub_Name release_stage) (/))} ) (C {(kube) (Lit_Other ':') (Lit_Other ':') (release) (Lit_Other ':') (Lit_Other ':') (clean_cruft) } ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:package_name) op: Equal rhs: { (DQ (${ VSub_Name RELEASE_TARS) (/kubernetes-node-) (${ VSub_Name platform_tag) (.tar.gz) ) } spids: [1601] ) ] spids: [1599] ) (C {(kube) (Lit_Other ':') (Lit_Other ':') (release) (Lit_Other ':') (Lit_Other ':') (create_tarball) } {(DQ (${ VSub_Name package_name))} {(DQ (${ VSub_Name release_stage) (/..))} ) ] spids: [1266 1636] ) spids: [1255 1264] ) ] spids: [1242] ) spids: [1230 1241] ) (FuncDef name: 'kube::release::package_server_tarballs' body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:platform) op:Equal spids:[1661])] spids: [1659] ) (ForEach iter_name: platform iter_words: [ { (DQ (BracedVarSub token: <VSub_Name KUBE_SERVER_PLATFORMS> bracket_op: (WholeArray op_id:Lit_At) spids: [1671 1676] ) ) } ] do_arg_iter: False body: (DoGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:platform_tag) op: Equal rhs: { (BracedVarSub token: <VSub_Name platform> suffix_op: (PatSub pat: {(EscapedLiteralPart token:<Lit_EscapedChar '\\/'>)} replace: {(-)} do_all: False do_prefix: False do_suffix: False ) spids: [1686 1692] ) } spids: [1685] ) ] spids: [1683] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:arch) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(basename)} {(${ VSub_Name platform)})] ) left_token: <Left_CommandSub '$('> spids: [1701 1707] ) } spids: [1700] ) ] spids: [1698] ) (C {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') (status) } {(DQ ('Building tarball: server ') ($ VSub_Name '$platform_tag'))} ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:release_stage) op: Equal rhs: { (DQ (${ VSub_Name RELEASE_STAGE) (/server/) (${ VSub_Name platform_tag) (/kubernetes) ) } spids: [1727] ) ] spids: [1725] ) (C {(rm)} {(-rf)} {(DQ (${ VSub_Name release_stage))}) (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name release_stage) (/server/bin))}) (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name release_stage) (/addons))}) (C {(cp)} { (DQ (BracedVarSub token: <VSub_Name KUBE_SERVER_BINARIES> bracket_op: (WholeArray op_id:Lit_At) suffix_op: (PatSub pat: {} replace: {(${ VSub_Name LOCAL_OUTPUT_BINPATH) (Lit_Slash /) (${ VSub_Name platform) (Lit_Slash /) } do_all: False do_prefix: True do_suffix: False ) spids: [1791 1807] ) ) } {(DQ (${ VSub_Name release_stage) (/server/bin/))} ) (C {(kube) (Lit_Other ':') (Lit_Other ':') (release) (Lit_Other ':') (Lit_Other ':') (create_docker_images_for_server) } {(DQ (${ VSub_Name release_stage) (/server/bin))} {(DQ (${ VSub_Name arch))} ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:client_bins) op: Equal rhs: { (ArrayLiteralPart words: [ { (DQ (BracedVarSub token: <VSub_Name KUBE_CLIENT_BINARIES> bracket_op: (WholeArray op_id:Lit_At) spids: [1853 1858] ) ) } ] ) } spids: [1850] ) ] spids: [1848] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: { (DQ (BracedVarSub token: <VSub_Name platform> suffix_op: (StringUnary op_id: VOp1_Percent arg_word: {(Lit_Slash /) ('*')} ) spids: [1868 1873] ) ) } right: {(DQ (windows))} ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:client_bins) op: Equal rhs: { (ArrayLiteralPart words: [ { (DQ (BracedVarSub token: <VSub_Name KUBE_CLIENT_BINARIES_WIN> bracket_op: (WholeArray op_id:Lit_At) spids: [1891 1896] ) ) } ] ) } spids: [1888] ) ] spids: [1888] ) ] spids: [16777215 1885] ) ] spids: [16777215 1901] ) (C {(cp)} { (DQ (BracedVarSub token: <VSub_Name client_bins> bracket_op: (WholeArray op_id:Lit_At) suffix_op: (PatSub pat: {} replace: {(${ VSub_Name LOCAL_OUTPUT_BINPATH) (Lit_Slash /) (${ VSub_Name platform) (Lit_Slash /) } do_all: False do_prefix: True do_suffix: False ) spids: [1907 1923] ) ) } {(DQ (${ VSub_Name release_stage) (/server/bin/))} ) (C {(cp)} {(DQ (${ VSub_Name KUBE_ROOT) (/Godeps/LICENSES))} {(DQ (${ VSub_Name release_stage) (/))} ) (C {(cp)} {(DQ (${ VSub_Name RELEASE_TARS) (/kubernetes-src.tar.gz))} {(DQ (${ VSub_Name release_stage) (/))} ) (C {(kube) (Lit_Other ':') (Lit_Other ':') (release) (Lit_Other ':') (Lit_Other ':') (clean_cruft) } ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:package_name) op: Equal rhs: { (DQ (${ VSub_Name RELEASE_TARS) (/kubernetes-server-) (${ VSub_Name platform_tag) (.tar.gz) ) } spids: [1985] ) ] spids: [1983] ) (C {(kube) (Lit_Other ':') (Lit_Other ':') (release) (Lit_Other ':') (Lit_Other ':') (create_tarball) } {(DQ (${ VSub_Name package_name))} {(DQ (${ VSub_Name release_stage) (/..))} ) ] spids: [1680 2020] ) spids: [1669 1678] ) ] spids: [1656] ) spids: [1644 1655] ) (FuncDef name: 'kube::release::md5' body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (SimpleCommand words: [{(which)} {(md5)}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/dev/null)} spids: [2046] ) (Redir op_id: Redir_GreatAnd fd: 2 arg_word: {(1)} spids: [2049] ) ] ) terminator: <Op_Semi ';'> ) ] action: [(C {(md5)} {(-q)} {(DQ ($ VSub_Number '$1'))})] spids: [16777215 2053] ) ] else_action: [ (Pipeline children: [ (C {(md5sum)} {(DQ ($ VSub_Number '$1'))}) (C {(awk)} {(SQ <'{ print $1 }'>)}) ] negated: False ) ] spids: [2065 2083] ) ] spids: [2037] ) spids: [2025 2036] ) (FuncDef name: 'kube::release::sha1' body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (SimpleCommand words: [{(which)} {(sha1sum)}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/dev/null)} spids: [2109] ) (Redir op_id: Redir_GreatAnd fd: 2 arg_word: {(1)} spids: [2112] ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (Pipeline children: [ (C {(sha1sum)} {(DQ ($ VSub_Number '$1'))}) (C {(awk)} {(SQ <'{ print $1 }'>)}) ] negated: False ) ] spids: [16777215 2116] ) ] else_action: [ (Pipeline children: [ (C {(shasum)} {(-a1)} {(DQ ($ VSub_Number '$1'))}) (C {(awk)} {(SQ <'{ print $1 }'>)}) ] negated: False ) ] spids: [2134 2154] ) ] spids: [2100] ) spids: [2088 2099] ) (FuncDef name: 'kube::release::build_hyperkube_image' body: (BraceGroup children: [ (Assignment keyword: Assign_Local flags: [-r] pairs: [ (assign_pair lhs: (LhsName name:arch) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [2178] ) ] spids: [2174] ) (Assignment keyword: Assign_Local flags: [-r] pairs: [ (assign_pair lhs: (LhsName name:registry) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [2188] ) ] spids: [2184] ) (Assignment keyword: Assign_Local flags: [-r] pairs: [ (assign_pair lhs: (LhsName name:version) op: Equal rhs: {(DQ ($ VSub_Number '$3'))} spids: [2198] ) ] spids: [2194] ) (Assignment keyword: Assign_Local flags: [-r] pairs: [ (assign_pair lhs: (LhsName name:save_dir) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Number 4> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(SQ )}) spids: [2210 2213] ) ) } spids: [2208] ) ] spids: [2204] ) (C {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') (status)} {(DQ ('Building hyperkube image for arch: ') (${ VSub_Name arch))} ) (SimpleCommand words: [{(make)} {(-C)} {(cluster/images/hyperkube/)} {(build)}] redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[2264])] more_env: [ (env_pair name:ARCH val:{(DQ (${ VSub_Name arch))} spids:[2233]) (env_pair name: REGISTRY val: {(DQ (${ VSub_Name registry))} spids: [2240] ) (env_pair name: VERSION val: {(DQ (${ VSub_Name version))} spids: [2247] ) ] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:hyperkube_tag) op: Equal rhs: { (DQ (${ VSub_Name registry) (/hyperkube-) (${ VSub_Name arch) (':') (${ VSub_Name version) ) } spids: [2271] ) ] spids: [2269] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id:BoolUnary_n child:{(DQ (${ VSub_Name save_dir))}) ) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [ { (DQ (BracedVarSub token: <VSub_Name DOCKER> bracket_op: (WholeArray op_id:Lit_At) spids: [2306 2311] ) ) } {(save)} {(DQ (${ VSub_Name hyperkube_tag))} ] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ (${ VSub_Name save_dir) (/hyperkube-) (${ VSub_Name arch) (.tar))} spids: [2322] ) ] ) ] spids: [16777215 2302] ) ] spids: [16777215 2336] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (LogicalOr left: (BoolUnary op_id: BoolUnary_z child: { (DQ (BracedVarSub token: <VSub_Name KUBE_DOCKER_IMAGE_TAG> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(SQ )}) spids: [2346 2349] ) ) } ) right: (BoolUnary op_id: BoolUnary_z child: { (DQ (BracedVarSub token: <VSub_Name KUBE_DOCKER_REGISTRY> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(SQ )}) spids: [2357 2360] ) ) } ) ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') (status) } {(DQ ('Deleting hyperkube image ') (${ VSub_Name hyperkube_tag))} ) (Sentence child: (C { (DQ (BracedVarSub token: <VSub_Name DOCKER> bracket_op: (WholeArray op_id:Lit_At) spids: [2390 2395] ) ) } {(rmi)} {(DQ (${ VSub_Name hyperkube_tag))} ) terminator: <Op_Amp '&'> ) (AndOr children: [ (SimpleCommand redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/dev/null)} spids: [2407] ) ] ) (C {(true)}) ] op_id: Op_DPipe ) ] spids: [16777215 2366] ) ] spids: [16777215 2415] ) ] spids: [2171] ) spids: [2159 2170] ) (FuncDef name: 'kube::release::create_docker_images_for_server' body: (BraceGroup children: [ (Subshell child: (CommandList children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:binary_dir) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [2459] ) ] spids: [2457] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:arch) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [2467] ) ] spids: [2465] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:binary_name) op:Equal spids:[2475])] spids: [2473] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:binaries) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(kube) (Lit_Other ':') (Lit_Other ':') (build) (Lit_Other ':') (Lit_Other ':') (get_docker_wrapped_binaries) } {(${ VSub_Name arch)} ) ] ) left_token: <Left_CommandSub '$('> spids: [2482 2494] ) } ] ) } spids: [2480] ) ] spids: [2478] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:images_dir) op: Equal rhs: {(DQ (${ VSub_Name RELEASE_IMAGES) (/) (${ VSub_Name arch))} spids: [2500] ) ] spids: [2498] ) (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name images_dir))}) (Assignment keyword: Assign_Local flags: [-r] pairs: [ (assign_pair lhs: (LhsName name:docker_registry) op: Equal rhs: {(DQ (gcr.io/google_containers))} spids: [2528] ) ] spids: [2524] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:docker_tag) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name KUBE_GIT_VERSION> suffix_op: (PatSub pat: {('+')} replace: {(_)} do_all: False do_prefix: False do_suffix: False ) spids: [2542 2548] ) ) } spids: [2540] ) ] spids: [2538] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_z child: {(DQ (${ VSub_Name docker_tag))} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') (error) } {(DQ ('git version information missing; cannot create Docker tag'))} ) (ControlFlow token: <ControlFlow_Return return> arg_word: {(1)} ) ] spids: [16777215 2567] ) ] spids: [16777215 2588] ) (ForEach iter_name: wrappable iter_words: [ { (DQ (BracedVarSub token: <VSub_Name binaries> bracket_op: (WholeArray op_id:Lit_At) spids: [2599 2604] ) ) } ] do_arg_iter: False body: (DoGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:oldifs) op: Equal rhs: {($ VSub_Name '$IFS')} spids: [2614] ) ] spids: [2612] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:IFS) op: Equal rhs: {(DQ (','))} spids: [2618] ) ] spids: [2618] ) (C {(set)} {($ VSub_Name '$wrappable')}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:IFS) op: Equal rhs: {($ VSub_Name '$oldifs')} spids: [2629] ) ] spids: [2629] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:binary_name) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [2636] ) ] spids: [2634] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:base_image) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [2644] ) ] spids: [2642] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:docker_build_path) op: Equal rhs: { (DQ (${ VSub_Name binary_dir) (/) (${ VSub_Name binary_name) (.dockerbuild) ) } spids: [2652] ) ] spids: [2650] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:docker_file_path) op: Equal rhs: {(DQ (${ VSub_Name docker_build_path) (/Dockerfile))} spids: [2667] ) ] spids: [2665] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:binary_file_path) op: Equal rhs: {(DQ (${ VSub_Name binary_dir) (/) (${ VSub_Name binary_name))} spids: [2678] ) ] spids: [2676] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:docker_image_tag) op: Equal rhs: {(DQ (${ VSub_Name docker_registry))} spids: [2692] ) ] spids: [2690] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(${ VSub_Name arch)} right: {(DQ (amd64))} ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:docker_image_tag) op: PlusEqual rhs: { (DQ (/) (${ VSub_Name binary_name) (':') (${ VSub_Name docker_tag) ) } spids: [2728] ) ] spids: [2728] ) ] spids: [16777215 2717] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:docker_image_tag) op: PlusEqual rhs: { (DQ (/) (${ VSub_Name binary_name) (-) (${ VSub_Name arch) (':') (${ VSub_Name docker_tag) ) } spids: [2752] ) ] spids: [2752] ) ] spids: [2741 2769] ) (C {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') (status) } {(DQ ('Starting docker build for image: ') (${ VSub_Name binary_name) (-) (${ VSub_Name arch))} ) (Sentence child: (Subshell child: (CommandList children: [ (C {(rm)} {(-rf)} {(${ VSub_Name docker_build_path)}) (C {(mkdir)} {(-p)} {(${ VSub_Name docker_build_path)}) (C {(ln)} {(${ VSub_Name binary_dir) (/) (${ VSub_Name binary_name)} {(${ VSub_Name docker_build_path) (/) (${ VSub_Name binary_name)} ) (SimpleCommand words: [ {(printf)} { (DQ (' FROM ') (${ VSub_Name base_image) (' ') (Lit_Other '\\') ('n ADD ') (${ VSub_Name binary_name) (' /usr/local/bin/') (${ VSub_Name binary_name) (Lit_Other '\\') (n) ) } ] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(${ VSub_Name docker_file_path)} spids: [2855] ) ] ) (SimpleCommand words: [ { (DQ (BracedVarSub token: <VSub_Name DOCKER> bracket_op: (WholeArray op_id:Lit_At) spids: [2864 2869] ) ) } {(build)} {(--pull)} {(-q)} {(-t)} {(DQ (${ VSub_Name docker_image_tag))} {(${ VSub_Name docker_build_path)} ] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/dev/null)} spids: [2890] ) ] ) (SimpleCommand words: [ { (DQ (BracedVarSub token: <VSub_Name DOCKER> bracket_op: (WholeArray op_id:Lit_At) spids: [2895 2900] ) ) } {(save)} {(DQ (${ VSub_Name docker_image_tag))} ] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: { (DQ (${ VSub_Name binary_dir) (/) (${ VSub_Name binary_name) (.tar) ) } spids: [2911] ) ] ) (SimpleCommand words: [{(echo)} {(DQ (${ VSub_Name docker_tag))}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(${ VSub_Name binary_dir) (/) (${ VSub_Name binary_name) (.docker_tag) } spids: [2933] ) ] ) (C {(rm)} {(-rf)} {(${ VSub_Name docker_build_path)}) (C {(ln)} { (DQ (${ VSub_Name binary_dir) (/) (${ VSub_Name binary_name) (.tar) ) } {(DQ (${ VSub_Name images_dir) (/))} ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (LogicalAnd left: (BoolUnary op_id: BoolUnary_n child: { (DQ (BracedVarSub token: <VSub_Name KUBE_DOCKER_IMAGE_TAG > suffix_op: (StringUnary op_id: VTest_Hyphen arg_word: {(SQ )} ) spids: [2991 2994] ) ) } ) right: (BoolUnary op_id: BoolUnary_n child: { (DQ (BracedVarSub token: <VSub_Name KUBE_DOCKER_REGISTRY > suffix_op: (StringUnary op_id: VTest_Hyphen arg_word: {(SQ )} ) spids: [3002 3005] ) ) } ) ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:release_docker_image_tag) op: Equal rhs: { (DQ (${ VSub_Name KUBE_DOCKER_REGISTRY) (/) (${ VSub_Name binary_name) (-) (${ VSub_Name arch) (':') (${ VSub_Name KUBE_DOCKER_IMAGE_TAG) ) } spids: [3016] ) ] spids: [3014] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobNEqual left: { ($ VSub_Name '$docker_image_tag' ) } right: { ($ VSub_Name '$release_docker_image_tag' ) } ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') (status) } { (DQ ('Tagging docker image ') (${ VSub_Name docker_image_tag) (' as ') (${ VSub_Name release_docker_image_tag) ) } ) (AndOr children: [ (SimpleCommand words: [ { (DQ (BracedVarSub token: <VSub_Name DOCKER> bracket_op: (WholeArray op_id: Lit_At ) spids: [3077 3082] ) ) } {(rmi)} { (DQ (${ VSub_Name release_docker_image_tag ) ) } ] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [3093] ) ] ) (C {(true)}) ] op_id: Op_DPipe ) (SimpleCommand words: [ { (DQ (BracedVarSub token: <VSub_Name DOCKER> bracket_op: (WholeArray op_id: Lit_At ) spids: [3102 3107] ) ) } {(tag)} {(DQ (${ VSub_Name docker_image_tag))} { (DQ (${ VSub_Name release_docker_image_tag ) ) } ] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [3124] ) ] ) ] spids: [16777215 3053] ) ] spids: [16777215 3128] ) ] spids: [16777215 3011] ) ] else_action: [ (C {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') (status) } {(DQ ('Deleting docker image ') (${ VSub_Name docker_image_tag))} ) (Sentence child: (C { (DQ (BracedVarSub token: <VSub_Name DOCKER> bracket_op: (WholeArray op_id:Lit_At) spids: [3155 3160] ) ) } {(rmi)} {(${ VSub_Name docker_image_tag)} ) terminator: <Op_Amp '&'> ) (AndOr children: [ (SimpleCommand redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/dev/null)} spids: [3170] ) ] ) (C {(true)}) ] op_id: Op_DPipe ) ] spids: [3131 3178] ) ] ) spids: [2794 3181] ) terminator: <Op_Amp '&'> ) ] spids: [2608 3186] ) spids: [2597 2606] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_EqualTilde left: {(DQ (${ VSub_Name KUBE_BUILD_HYPERKUBE))} right: {(Lit_Other '[') (yY) (Lit_Other ']')} ) ) terminator: <Op_Semi ';'> ) ] action: [ (Sentence child: (C {(kube) (Lit_Other ':') (Lit_Other ':') (release) (Lit_Other ':') (Lit_Other ':') (build_hyperkube_image) } {(DQ (${ VSub_Name arch))} {(DQ (${ VSub_Name docker_registry))} {(DQ (${ VSub_Name docker_tag))} {(DQ (${ VSub_Name images_dir))} ) terminator: <Op_Amp '&'> ) ] spids: [16777215 3209] ) ] spids: [16777215 3249] ) (AndOr children: [ (C {(kube) (Lit_Other ':') (Lit_Other ':') (util) (Lit_Other ':') (Lit_Other ':') (wait-for-jobs) } ) (BraceGroup children: [ (Sentence child: (C {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') (error) } {(DQ ('previous Docker build failed'))} ) terminator: <Op_Semi ';'> ) (Sentence child: (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) terminator: <Op_Semi ';'> ) ] spids: [3263] ) ] op_id: Op_DPipe ) (C {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') (status) } {(DQ ('Docker builds done'))} ) ] ) spids: [2454 3299] ) ] spids: [2447] ) spids: [2435 2446] ) (FuncDef name: 'kube::release::package_salt_tarball' body: (BraceGroup children: [ (C {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') (status)} {(DQ ('Building tarball: salt'))} ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:release_stage) op: Equal rhs: {(DQ (${ VSub_Name RELEASE_STAGE) (/salt/kubernetes))} spids: [3342] ) ] spids: [3340] ) (C {(rm)} {(-rf)} {(DQ (${ VSub_Name release_stage))}) (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name release_stage))}) (C {(cp)} {(-R)} {(DQ (${ VSub_Name KUBE_ROOT) (/cluster/saltbase))} {(DQ (${ VSub_Name release_stage) (/))} ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:objects) op:Equal spids:[3412])] spids: [3410] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:objects) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (AndOr children: [ (C {(cd)} {(DQ (${ VSub_Name KUBE_ROOT) (/cluster/addons))}) (Pipeline children: [ (C {(find)} {(.)} {(EscapedLiteralPart token:<Lit_EscapedChar '\\('>)} {(-name)} {(EscapedLiteralPart token:<Lit_EscapedChar '\\*'>) (.yaml)} {(-or)} {(-name)} {(EscapedLiteralPart token:<Lit_EscapedChar '\\*'>) (.yaml.in) } {(-or)} {(-name)} {(EscapedLiteralPart token:<Lit_EscapedChar '\\*'>) (.json)} {(EscapedLiteralPart token:<Lit_EscapedChar '\\)'>)} ) (C {(grep)} {(-v)} {(demo)}) ] negated: False ) ] op_id: Op_DAmp ) ] ) left_token: <Left_CommandSub '$('> spids: [3416 3462] ) } spids: [3415] ) ] spids: [3415] ) (Pipeline children: [ (C {(tar)} {(c)} {(-C)} {(DQ (${ VSub_Name KUBE_ROOT) (/cluster/addons))} {(${ VSub_Name objects)} ) (C {(tar)} {(x)} {(-C)} {(DQ (${ VSub_Name release_stage) (/saltbase/salt/kube-addons))}) ] negated: False ) (C {(kube) (Lit_Other ':') (Lit_Other ':') (release) (Lit_Other ':') (Lit_Other ':') (clean_cruft) } ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:package_name) op: Equal rhs: {(DQ (${ VSub_Name RELEASE_TARS) (/kubernetes-salt.tar.gz))} spids: [3511] ) ] spids: [3509] ) (C {(kube) (Lit_Other ':') (Lit_Other ':') (release) (Lit_Other ':') (Lit_Other ':') (create_tarball) } {(DQ (${ VSub_Name package_name))} {(DQ (${ VSub_Name release_stage) (/..))} ) ] spids: [3323] ) spids: [3311 3322] ) (FuncDef name: 'kube::release::package_kube_manifests_tarball' body: (BraceGroup children: [ (C {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') (status)} {(DQ ('Building tarball: manifests'))} ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:salt_dir) op: Equal rhs: {(DQ (${ VSub_Name KUBE_ROOT) (/cluster/saltbase/salt))} spids: [3587] ) ] spids: [3585] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:release_stage) op: Equal rhs: {(DQ (${ VSub_Name RELEASE_STAGE) (/manifests/kubernetes))} spids: [3599] ) ] spids: [3597] ) (C {(rm)} {(-rf)} {(DQ (${ VSub_Name release_stage))}) (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name release_stage))}) (C {(cp)} {(DQ (${ VSub_Name salt_dir) (/kube-registry-proxy/kube-registry-proxy.yaml))} {(DQ (${ VSub_Name release_stage) (/))} ) (C {(cp)} {(DQ (${ VSub_Name salt_dir) (/kube-proxy/kube-proxy.manifest))} {(DQ (${ VSub_Name release_stage) (/))} ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:gci_dst_dir) op: Equal rhs: {(DQ (${ VSub_Name release_stage) (/gci-trusty))} spids: [3668] ) ] spids: [3666] ) (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name gci_dst_dir))}) (C {(cp)} {(DQ (${ VSub_Name salt_dir) (/cluster-autoscaler/cluster-autoscaler.manifest))} {(DQ (${ VSub_Name gci_dst_dir) (/))} ) (C {(cp)} {(DQ (${ VSub_Name salt_dir) (/etcd/etcd.manifest))} {(DQ (${ VSub_Name gci_dst_dir))} ) (C {(cp)} {(DQ (${ VSub_Name salt_dir) (/kube-scheduler/kube-scheduler.manifest))} {(DQ (${ VSub_Name gci_dst_dir))} ) (C {(cp)} {(DQ (${ VSub_Name salt_dir) (/kube-apiserver/kube-apiserver.manifest))} {(DQ (${ VSub_Name gci_dst_dir))} ) (C {(cp)} {(DQ (${ VSub_Name salt_dir) (/kube-apiserver/abac-authz-policy.jsonl))} {(DQ (${ VSub_Name gci_dst_dir))} ) (C {(cp)} { (DQ (${ VSub_Name salt_dir) (/kube-controller-manager/kube-controller-manager.manifest) ) } {(DQ (${ VSub_Name gci_dst_dir))} ) (C {(cp)} {(DQ (${ VSub_Name salt_dir) (/kube-addons/kube-addon-manager.yaml))} {(DQ (${ VSub_Name gci_dst_dir))} ) (C {(cp)} {(DQ (${ VSub_Name salt_dir) (/l7-gcp/glbc.manifest))} {(DQ (${ VSub_Name gci_dst_dir))} ) (C {(cp)} {(DQ (${ VSub_Name salt_dir) (/rescheduler/rescheduler.manifest))} {(DQ (${ VSub_Name gci_dst_dir) (/))} ) (C {(cp)} {(DQ (${ VSub_Name salt_dir) (/e2e-image-puller/e2e-image-puller.manifest))} {(DQ (${ VSub_Name gci_dst_dir) (/))} ) (C {(cp)} {(DQ (${ VSub_Name KUBE_ROOT) (/cluster/gce/gci/configure-helper.sh))} {(DQ (${ VSub_Name gci_dst_dir) (/gci-configure-helper.sh))} ) (C {(cp)} {(DQ (${ VSub_Name KUBE_ROOT) (/cluster/gce/gci/mounter/mounter))} {(DQ (${ VSub_Name gci_dst_dir) (/gci-mounter))} ) (C {(cp)} {(DQ (${ VSub_Name KUBE_ROOT) (/cluster/gce/gci/health-monitor.sh))} {(DQ (${ VSub_Name gci_dst_dir) (/health-monitor.sh))} ) (C {(cp)} {(DQ (${ VSub_Name KUBE_ROOT) (/cluster/gce/container-linux/configure-helper.sh))} {(DQ (${ VSub_Name gci_dst_dir) (/container-linux-configure-helper.sh))} ) (C {(cp)} {(-r)} {(DQ (${ VSub_Name salt_dir) (/kube-admission-controls/limit-range))} {(DQ (${ VSub_Name gci_dst_dir))} ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:objects) op:Equal spids:[3939])] spids: [3937] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:objects) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (AndOr children: [ (C {(cd)} {(DQ (${ VSub_Name KUBE_ROOT) (/cluster/addons))}) (Pipeline children: [ (C {(find)} {(.)} {(EscapedLiteralPart token:<Lit_EscapedChar '\\('>)} {(-name)} {(EscapedLiteralPart token:<Lit_EscapedChar '\\*'>) (.yaml)} {(-or)} {(-name)} {(EscapedLiteralPart token:<Lit_EscapedChar '\\*'>) (.yaml.in) } {(-or)} {(-name)} {(EscapedLiteralPart token:<Lit_EscapedChar '\\*'>) (.json)} {(EscapedLiteralPart token:<Lit_EscapedChar '\\)'>)} ) (C {(grep)} {(-v)} {(demo)}) ] negated: False ) ] op_id: Op_DAmp ) ] ) left_token: <Left_CommandSub '$('> spids: [3943 3989] ) } spids: [3942] ) ] spids: [3942] ) (Pipeline children: [ (C {(tar)} {(c)} {(-C)} {(DQ (${ VSub_Name KUBE_ROOT) (/cluster/addons))} {(${ VSub_Name objects)} ) (C {(tar)} {(x)} {(-C)} {(DQ (${ VSub_Name gci_dst_dir))}) ] negated: False ) (C {(kube) (Lit_Other ':') (Lit_Other ':') (release) (Lit_Other ':') (Lit_Other ':') (clean_cruft) } ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:package_name) op: Equal rhs: {(DQ (${ VSub_Name RELEASE_TARS) (/kubernetes-manifests.tar.gz))} spids: [4037] ) ] spids: [4035] ) (C {(kube) (Lit_Other ':') (Lit_Other ':') (release) (Lit_Other ':') (Lit_Other ':') (create_tarball) } {(DQ (${ VSub_Name package_name))} {(DQ (${ VSub_Name release_stage) (/..))} ) ] spids: [3568] ) spids: [3556 3567] ) (FuncDef name: 'kube::release::package_test_tarball' body: (BraceGroup children: [ (C {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') (status)} {(DQ ('Building tarball: test'))} ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:release_stage) op: Equal rhs: {(DQ (${ VSub_Name RELEASE_STAGE) (/test/kubernetes))} spids: [4104] ) ] spids: [4102] ) (C {(rm)} {(-rf)} {(DQ (${ VSub_Name release_stage))}) (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name release_stage))}) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:platform) op:Equal spids:[4138])] spids: [4136] ) (ForEach iter_name: platform iter_words: [ { (DQ (BracedVarSub token: <VSub_Name KUBE_TEST_PLATFORMS> bracket_op: (WholeArray op_id:Lit_At) spids: [4148 4153] ) ) } ] do_arg_iter: False body: (DoGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:test_bins) op: Equal rhs: { (ArrayLiteralPart words: [ { (DQ (BracedVarSub token: <VSub_Name KUBE_TEST_BINARIES> bracket_op: (WholeArray op_id:Lit_At) spids: [4165 4170] ) ) } ] ) } spids: [4162] ) ] spids: [4160] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: { (DQ (BracedVarSub token: <VSub_Name platform> suffix_op: (StringUnary op_id: VOp1_Percent arg_word: {(Lit_Slash /) ('*')} ) spids: [4180 4185] ) ) } right: {(DQ (windows))} ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:test_bins) op: Equal rhs: { (ArrayLiteralPart words: [ { (DQ (BracedVarSub token: <VSub_Name KUBE_TEST_BINARIES_WIN> bracket_op: (WholeArray op_id:Lit_At) spids: [4203 4208] ) ) } ] ) } spids: [4200] ) ] spids: [4200] ) ] spids: [16777215 4197] ) ] spids: [16777215 4213] ) (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name release_stage) (/platforms/) (${ VSub_Name platform))} ) (C {(cp)} { (DQ (BracedVarSub token: <VSub_Name test_bins> bracket_op: (WholeArray op_id:Lit_At) suffix_op: (PatSub pat: {} replace: {(${ VSub_Name LOCAL_OUTPUT_BINPATH) (Lit_Slash /) (${ VSub_Name platform) (Lit_Slash /) } do_all: False do_prefix: True do_suffix: False ) spids: [4234 4250] ) ) } {(DQ (${ VSub_Name release_stage) (/platforms/) (${ VSub_Name platform))} ) ] spids: [4157 4266] ) spids: [4146 4155] ) (ForEach iter_name: platform iter_words: [ { (DQ (BracedVarSub token: <VSub_Name KUBE_TEST_SERVER_PLATFORMS> bracket_op: (WholeArray op_id:Lit_At) spids: [4276 4281] ) ) } ] do_arg_iter: False body: (DoGroup children: [ (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name release_stage) (/platforms/) (${ VSub_Name platform))} ) (C {(cp)} { (DQ (BracedVarSub token: <VSub_Name KUBE_TEST_SERVER_BINARIES> bracket_op: (WholeArray op_id:Lit_At) suffix_op: (PatSub pat: {} replace: {(${ VSub_Name LOCAL_OUTPUT_BINPATH) (Lit_Slash /) (${ VSub_Name platform) (Lit_Slash /) } do_all: False do_prefix: True do_suffix: False ) spids: [4306 4322] ) ) } {(DQ (${ VSub_Name release_stage) (/platforms/) (${ VSub_Name platform))} ) ] spids: [4285 4338] ) spids: [4274 4283] ) (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name release_stage) (/test/images))}) (C {(cp)} {(-fR)} {(DQ (${ VSub_Name KUBE_ROOT) (/test/images))} {(DQ (${ VSub_Name release_stage) (/test/))} ) (Pipeline children: [ (C {(tar)} {(c)} { (BracedVarSub token: <VSub_Name KUBE_TEST_PORTABLE> bracket_op: (WholeArray op_id:Lit_At) spids: [4381 4386] ) } ) (C {(tar)} {(x)} {(-C)} {(${ VSub_Name release_stage)}) ] negated: False ) (C {(kube) (Lit_Other ':') (Lit_Other ':') (release) (Lit_Other ':') (Lit_Other ':') (clean_cruft) } ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:package_name) op: Equal rhs: {(DQ (${ VSub_Name RELEASE_TARS) (/kubernetes-test.tar.gz))} spids: [4414] ) ] spids: [4412] ) (C {(kube) (Lit_Other ':') (Lit_Other ':') (release) (Lit_Other ':') (Lit_Other ':') (create_tarball) } {(DQ (${ VSub_Name package_name))} {(DQ (${ VSub_Name release_stage) (/..))} ) ] spids: [4085] ) spids: [4073 4084] ) (FuncDef name: 'kube::release::package_final_tarball' body: (BraceGroup children: [ (C {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') (status)} {(DQ ('Building tarball: final'))} ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:release_stage) op: Equal rhs: {(DQ (${ VSub_Name RELEASE_STAGE) (/full/kubernetes))} spids: [4513] ) ] spids: [4511] ) (C {(rm)} {(-rf)} {(DQ (${ VSub_Name release_stage))}) (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name release_stage))}) (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name release_stage) (/client))}) (SimpleCommand words: [{(cat)}] redirects: [ (HereDoc op_id: Redir_DLess fd: 16777215 body: { (DQ ( 'Client binaries are no longer included in the Kubernetes final tarball.\n' ) ('\n') ('Run cluster/get-kube-binaries.sh to download client and server binaries.\n') ) } do_expansion: True here_end: EOF was_filled: True spids: [4559] ) (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ (${ VSub_Name release_stage) (/client/README))} spids: [4562] ) ] ) (C {(cp)} {(-R)} {(DQ (${ VSub_Name KUBE_ROOT) (/cluster))} {(DQ (${ VSub_Name release_stage) (/))} ) (C {(rm)} {(-rf)} {(DQ (${ VSub_Name release_stage) (/cluster/saltbase))}) (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name release_stage) (/server))}) (C {(cp)} {(DQ (${ VSub_Name RELEASE_TARS) (/kubernetes-salt.tar.gz))} {(DQ (${ VSub_Name release_stage) (/server/))} ) (C {(cp)} {(DQ (${ VSub_Name RELEASE_TARS) (/kubernetes-manifests.tar.gz))} {(DQ (${ VSub_Name release_stage) (/server/))} ) (SimpleCommand words: [{(cat)}] redirects: [ (HereDoc op_id: Redir_DLess fd: 16777215 body: { (DQ ( 'Server binary tarballs are no longer included in the Kubernetes final tarball.\n' ) ('\n') ('Run cluster/get-kube-binaries.sh to download client and server binaries.\n') ) } do_expansion: True here_end: EOF was_filled: True spids: [4665] ) (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ (${ VSub_Name release_stage) (/server/README))} spids: [4668] ) ] ) (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name release_stage) (/third_party))}) (C {(cp)} {(-R)} {(DQ (${ VSub_Name KUBE_ROOT) (/third_party/htpasswd))} {(DQ (${ VSub_Name release_stage) (/third_party/htpasswd))} ) (C {(mkdir)} {(DQ (${ VSub_Name release_stage) (/federation))}) (C {(cp)} {(-R)} {(DQ (${ VSub_Name KUBE_ROOT) (/federation/cluster))} {(DQ (${ VSub_Name release_stage) (/federation/))} ) (C {(cp)} {(-R)} {(DQ (${ VSub_Name KUBE_ROOT) (/federation/deploy))} {(DQ (${ VSub_Name release_stage) (/federation/))} ) (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name release_stage) (/hack))}) (C {(cp)} {(-R)} {(DQ (${ VSub_Name KUBE_ROOT) (/hack/lib))} {(DQ (${ VSub_Name release_stage) (/hack/))} ) (C {(cp)} {(-R)} {(DQ (${ VSub_Name KUBE_ROOT) (/examples))} {(DQ (${ VSub_Name release_stage) (/))} ) (C {(cp)} {(-R)} {(DQ (${ VSub_Name KUBE_ROOT) (/docs))} {(DQ (${ VSub_Name release_stage) (/))} ) (C {(cp)} {(DQ (${ VSub_Name KUBE_ROOT) (/README.md))} {(DQ (${ VSub_Name release_stage) (/))} ) (C {(cp)} {(DQ (${ VSub_Name KUBE_ROOT) (/Godeps/LICENSES))} {(DQ (${ VSub_Name release_stage) (/))} ) (C {(cp)} {(DQ (${ VSub_Name KUBE_ROOT) (/Vagrantfile))} {(DQ (${ VSub_Name release_stage) (/))} ) (SimpleCommand words: [{(echo)} {(DQ (${ VSub_Name KUBE_GIT_VERSION))}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ (${ VSub_Name release_stage) (/version))} spids: [4902] ) ] ) (C {(kube) (Lit_Other ':') (Lit_Other ':') (release) (Lit_Other ':') (Lit_Other ':') (clean_cruft) } ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:package_name) op: Equal rhs: {(DQ (${ VSub_Name RELEASE_TARS) (/kubernetes.tar.gz))} spids: [4925] ) ] spids: [4923] ) (C {(kube) (Lit_Other ':') (Lit_Other ':') (release) (Lit_Other ':') (Lit_Other ':') (create_tarball) } {(DQ (${ VSub_Name package_name))} {(DQ (${ VSub_Name release_stage) (/..))} ) ] spids: [4486] ) spids: [4474 4485] ) (FuncDef name: 'kube::release::create_tarball' body: (BraceGroup children: [ (C {(kube) (Lit_Other ':') (Lit_Other ':') (build) (Lit_Other ':') (Lit_Other ':') (ensure_tar) } ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:tarfile) op: Equal rhs: {($ VSub_Number '$1')} spids: [4994] ) ] spids: [4992] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:stagingdir) op: Equal rhs: {($ VSub_Number '$2')} spids: [5000] ) ] spids: [4998] ) (C {(DQ (${ VSub_Name TAR))} {(czf)} {(DQ (${ VSub_Name tarfile))} {(-C)} {(DQ (${ VSub_Name stagingdir))} {(kubernetes)} {(--owner) (Lit_Other '=') (0)} {(--group) (Lit_Other '=') (0)} ) ] spids: [4979] ) spids: [4967 4978] ) ] )