(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: [-1 135] ) ] spids: [-1 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: [-1 1058] ) ] spids: [-1 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: [-1 1387] ) ] spids: [-1 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: [-1 1501] ) ] spids: [-1 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: [-1 1885] ) ] spids: [-1 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: -1 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: [-1 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: -1 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: [-1 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:-1 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: -1 arg_word: {(DQ (${ VSub_Name save_dir) (/hyperkube-) (${ VSub_Name arch) (.tar))} spids: [2322] ) ] ) ] spids: [-1 2302] ) ] spids: [-1 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: -1 arg_word: {(/dev/null)} spids: [2407] ) ] ) (C {(true)}) ] op_id: Op_DPipe ) ] spids: [-1 2366] ) ] spids: [-1 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: [-1 2567] ) ] spids: [-1 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: [-1 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) (" ") (EscapedLiteralPart token: <Lit_EscapedChar "\\n"> ) (" ADD ") (${ VSub_Name binary_name) (" /usr/local/bin/") (${ VSub_Name binary_name) (EscapedLiteralPart token: <Lit_EscapedChar "\\n"> ) ) } ] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(${ VSub_Name docker_file_path)} spids: [2854] ) ] ) (SimpleCommand words: [ { (DQ (BracedVarSub token: <VSub_Name DOCKER> bracket_op: (WholeArray op_id:Lit_At) spids: [2863 2868] ) ) } {(build)} {(--pull)} {(-q)} {(-t)} {(DQ (${ VSub_Name docker_image_tag))} {(${ VSub_Name docker_build_path)} ] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(/dev/null)} spids: [2889] ) ] ) (SimpleCommand words: [ { (DQ (BracedVarSub token: <VSub_Name DOCKER> bracket_op: (WholeArray op_id:Lit_At) spids: [2894 2899] ) ) } {(save)} {(DQ (${ VSub_Name docker_image_tag))} ] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: { (DQ (${ VSub_Name binary_dir) (/) (${ VSub_Name binary_name) (.tar) ) } spids: [2910] ) ] ) (SimpleCommand words: [{(echo)} {(DQ (${ VSub_Name docker_tag))}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(${ VSub_Name binary_dir) (/) (${ VSub_Name binary_name) (.docker_tag) } spids: [2932] ) ] ) (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: [2990 2993] ) ) } ) 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: [3001 3004] ) ) } ) ) ) 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: [3015] ) ] spids: [3013] ) (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: [3076 3081] ) ) } {(rmi)} { (DQ (${ VSub_Name release_docker_image_tag ) ) } ] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [3092] ) ] ) (C {(true)}) ] op_id: Op_DPipe ) (SimpleCommand words: [ { (DQ (BracedVarSub token: <VSub_Name DOCKER> bracket_op: (WholeArray op_id: Lit_At ) spids: [3101 3106] ) ) } {(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: [3123] ) ] ) ] spids: [-1 3052] ) ] spids: [-1 3127] ) ] spids: [-1 3010] ) ] 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: [3154 3159] ) ) } {(rmi)} {(${ VSub_Name docker_image_tag)} ) terminator: <Op_Amp "&"> ) (AndOr children: [ (SimpleCommand redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(/dev/null)} spids: [3169] ) ] ) (C {(true)}) ] op_id: Op_DPipe ) ] spids: [3130 3177] ) ] ) spids: [2794 3180] ) terminator: <Op_Amp "&"> ) ] spids: [2608 3185] ) 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: [-1 3208] ) ] spids: [-1 3248] ) (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: [3262] ) ] op_id: Op_DPipe ) (C {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") (Lit_Other ":") (status) } {(DQ ("Docker builds done"))} ) ] ) spids: [2454 3298] ) ] 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: [3341] ) ] spids: [3339] ) (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:[3411])] spids: [3409] ) (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: [3415 3461] ) } spids: [3414] ) ] spids: [3414] ) (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: [3510] ) ] spids: [3508] ) (C {(kube) (Lit_Other ":") (Lit_Other ":") (release) (Lit_Other ":") (Lit_Other ":") (create_tarball) } {(DQ (${ VSub_Name package_name))} {(DQ (${ VSub_Name release_stage) (/..))} ) ] spids: [3322] ) spids: [3310 3321] ) (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: [3586] ) ] spids: [3584] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:release_stage) op: Equal rhs: {(DQ (${ VSub_Name RELEASE_STAGE) (/manifests/kubernetes))} spids: [3598] ) ] spids: [3596] ) (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: [3667] ) ] spids: [3665] ) (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:[3938])] spids: [3936] ) (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: [3942 3988] ) } spids: [3941] ) ] spids: [3941] ) (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: [4036] ) ] spids: [4034] ) (C {(kube) (Lit_Other ":") (Lit_Other ":") (release) (Lit_Other ":") (Lit_Other ":") (create_tarball) } {(DQ (${ VSub_Name package_name))} {(DQ (${ VSub_Name release_stage) (/..))} ) ] spids: [3567] ) spids: [3555 3566] ) (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: [4103] ) ] spids: [4101] ) (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:[4137])] spids: [4135] ) (ForEach iter_name: platform iter_words: [ { (DQ (BracedVarSub token: <VSub_Name KUBE_TEST_PLATFORMS> bracket_op: (WholeArray op_id:Lit_At) spids: [4147 4152] ) ) } ] 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: [4164 4169] ) ) } ] ) } spids: [4161] ) ] spids: [4159] ) (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: [4179 4184] ) ) } 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: [4202 4207] ) ) } ] ) } spids: [4199] ) ] spids: [4199] ) ] spids: [-1 4196] ) ] spids: [-1 4212] ) (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: [4233 4249] ) ) } {(DQ (${ VSub_Name release_stage) (/platforms/) (${ VSub_Name platform))} ) ] spids: [4156 4265] ) spids: [4145 4154] ) (ForEach iter_name: platform iter_words: [ { (DQ (BracedVarSub token: <VSub_Name KUBE_TEST_SERVER_PLATFORMS> bracket_op: (WholeArray op_id:Lit_At) spids: [4275 4280] ) ) } ] 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: [4305 4321] ) ) } {(DQ (${ VSub_Name release_stage) (/platforms/) (${ VSub_Name platform))} ) ] spids: [4284 4337] ) spids: [4273 4282] ) (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: [4380 4385] ) } ) (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: [4413] ) ] spids: [4411] ) (C {(kube) (Lit_Other ":") (Lit_Other ":") (release) (Lit_Other ":") (Lit_Other ":") (create_tarball) } {(DQ (${ VSub_Name package_name))} {(DQ (${ VSub_Name release_stage) (/..))} ) ] spids: [4084] ) spids: [4072 4083] ) (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: [4512] ) ] spids: [4510] ) (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: -1 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: [4558] ) (Redir op_id: Redir_Great fd: -1 arg_word: {(DQ (${ VSub_Name release_stage) (/client/README))} spids: [4561] ) ] ) (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: -1 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: [4663] ) (Redir op_id: Redir_Great fd: -1 arg_word: {(DQ (${ VSub_Name release_stage) (/server/README))} spids: [4666] ) ] ) (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: -1 arg_word: {(DQ (${ VSub_Name release_stage) (/version))} spids: [4899] ) ] ) (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: [4922] ) ] spids: [4920] ) (C {(kube) (Lit_Other ":") (Lit_Other ":") (release) (Lit_Other ":") (Lit_Other ":") (create_tarball) } {(DQ (${ VSub_Name package_name))} {(DQ (${ VSub_Name release_stage) (/..))} ) ] spids: [4485] ) spids: [4473 4484] ) (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: [4991] ) ] spids: [4989] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:stagingdir) op: Equal rhs: {($ VSub_Number "$2")} spids: [4997] ) ] spids: [4995] ) (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: [4976] ) spids: [4964 4975] ) ] )