(CommandList children: [ (C {(set)} {(-o)} {(errexit)}) (C {(set)} {(-o)} {(nounset)}) (C {(set)} {(-o)} {(pipefail)}) (FuncDef name: set-broken-motd body: (BraceGroup children: [ (SimpleCommand words: [{(cat)}] redirects: [ (Redir op_id:Redir_Great fd:-1 arg_word:{(/etc/motd)} spids:[85]) (HereDoc op_id: Redir_DLess fd: -1 body: { (DQ ( "Broken (or in progress) Kubernetes node setup! Check the cluster initialization status\n" ) ("using the following commands.\n") ("\n") ("Master instance:\n") (" - sudo systemctl status kube-master-installation\n") (" - sudo systemctl status kube-master-configuration\n") ("\n") ("Node instance:\n") (" - sudo systemctl status kube-node-installation\n") (" - sudo systemctl status kube-node-configuration\n") ) } do_expansion: True here_end: EOF was_filled: True spids: [89] ) ] ) ] spids: [80] ) spids: [76 79] ) (FuncDef name: download-kube-env body: (BraceGroup children: [ (Assignment keyword: Assign_Local flags: ["'-r'"] pairs: [ (assign_pair lhs: (LhsName name:tmp_kube_env) op: Equal rhs: {(DQ (/tmp/kube-env.yaml))} spids: [120] ) ] spids: [116] ) (C {(curl)} {(--fail)} {(--retry)} {(5)} {(--retry-delay)} {(3)} {(--silent)} {(--show-error)} {(-H)} {(DQ ("X-Google-Metadata-Request: True"))} {(-o)} {(DQ (${ VSub_Name tmp_kube_env))} {(http) (Lit_Other ":") (//metadata.google.internal/computeMetadata/v1/instance/attributes/kube-env) } ) (C {(eval)} { (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [ {(python)} {(-c)} {(SQ ) (SQ <"\n"> <"import pipes,sys,yaml\n"> <"for k,v in yaml.load(sys.stdin).iteritems():\n"> <" print(\"readonly {var}={value}\".format(var = k, value = pipes.quote(str(v))))\n"> ) (SQ ) } ] redirects: [ (Redir op_id: Redir_Less fd: -1 arg_word: {(DQ (${ VSub_Name tmp_kube_env))} spids: [189] ) (Redir op_id: Redir_Great fd: -1 arg_word: {(DQ (${ VSub_Name KUBE_HOME) (/kube-env))} spids: [197] ) ] ) ] ) left_token: <Left_CommandSub "$("> spids: [173 205] ) } ) (C {(rm)} {(-f)} {(DQ (${ VSub_Name tmp_kube_env))}) ] spids: [109] ) spids: [105 108] ) (FuncDef name: download-kube-master-certs body: (BraceGroup children: [ (Assignment keyword: Assign_Local flags: ["'-r'"] pairs: [ (assign_pair lhs: (LhsName name:tmp_kube_master_certs) op: Equal rhs: {(DQ (/tmp/kube-master-certs.yaml))} spids: [236] ) ] spids: [232] ) (C {(curl)} {(--fail)} {(--retry)} {(5)} {(--retry-delay)} {(3)} {(--silent)} {(--show-error)} {(-H)} {(DQ ("X-Google-Metadata-Request: True"))} {(-o)} {(DQ (${ VSub_Name tmp_kube_master_certs))} {(http) (Lit_Other ":") ( //metadata.google.internal/computeMetadata/v1/instance/attributes/kube-master-certs ) } ) (C {(eval)} { (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [ {(python)} {(-c)} {(SQ ) (SQ <"\n"> <"import pipes,sys,yaml\n"> <"for k,v in yaml.load(sys.stdin).iteritems():\n"> <" print(\"readonly {var}={value}\".format(var = k, value = pipes.quote(str(v))))\n"> ) (SQ ) } ] redirects: [ (Redir op_id: Redir_Less fd: -1 arg_word: {(DQ (${ VSub_Name tmp_kube_master_certs))} spids: [305] ) (Redir op_id: Redir_Great fd: -1 arg_word: {(DQ (${ VSub_Name KUBE_HOME) (/kube-master-certs))} spids: [313] ) ] ) ] ) left_token: <Left_CommandSub "$("> spids: [289 321] ) } ) (C {(rm)} {(-f)} {(DQ (${ VSub_Name tmp_kube_master_certs))}) ] spids: [225] ) spids: [221 224] ) (FuncDef name: validate-hash body: (BraceGroup children: [ (Assignment keyword: Assign_Local flags: ["'-r'"] pairs: [ (assign_pair lhs: (LhsName name:file) op: Equal rhs: {(DQ ($ VSub_Number "$1"))} spids: [348] ) ] spids: [344] ) (Assignment keyword: Assign_Local flags: ["'-r'"] pairs: [ (assign_pair lhs: (LhsName name:expected) op: Equal rhs: {(DQ ($ VSub_Number "$2"))} spids: [358] ) ] spids: [354] ) (AndOr children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:actual) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(sha1sum)} {(${ VSub_Name file)}) (C {(awk)} {(SQ <"{ print $1 }">)}) ] negated: False ) ] ) left_token: <Left_CommandSub "$("> spids: [366 380] ) } spids: [365] ) ] spids: [365] ) (C {(true)}) ] op_id: Op_DPipe ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobNEqual left: {(DQ (${ VSub_Name actual))} right: {(DQ (${ VSub_Name expected))} ) ) terminator: <Op_Semi ";"> ) ] action: [ (C {(echo)} { (DQ ("== ") (${ VSub_Name file) (" corrupted, sha1 ") (${ VSub_Name actual) (" doesn't match expected ") (${ VSub_Name expected) (" ==") ) } ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] spids: [-1 408] ) ] spids: [-1 435] ) ] spids: [341] ) spids: [337 340] ) (FuncDef name: download-or-bust body: (BraceGroup children: [ (Assignment keyword: Assign_Local flags: ["'-r'"] pairs: [ (assign_pair lhs: (LhsName name:hash) op: Equal rhs: {(DQ ($ VSub_Number "$1"))} spids: [463] ) ] spids: [459] ) (C {(shift)} {(1)}) (Assignment keyword: Assign_Local flags: ["'-r'"] pairs: [ (assign_pair lhs: (LhsName name:urls) op: Equal rhs: {(ArrayLiteralPart words:[{($ VSub_Star "$*")}])} spids: [479] ) ] spids: [475] ) (While cond: [(Sentence child:(C {(true)}) terminator:<Op_Semi ";">)] body: (DoGroup children: [ (ForEach iter_name: url iter_words: [ { (DQ (BracedVarSub token: <VSub_Name urls> bracket_op: (WholeArray op_id:Lit_At) spids: [502 507] ) ) } ] do_arg_iter: False body: (DoGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:file) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name url> suffix_op: (StringUnary op_id: VOp1_DPound arg_word: {("*") (Lit_Slash /)} ) spids: [518 523] ) ) } spids: [516] ) ] spids: [514] ) (C {(rm)} {(-f)} {(DQ (${ VSub_Name file))}) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (C {(curl)} {(-f)} {(--ipv4)} {(-Lo)} {(DQ (${ VSub_Name file))} {(--connect-timeout)} {(20)} {(--max-time)} {(300)} {(--retry)} {(6)} {(--retry-delay)} {(10)} {(DQ (${ VSub_Name url))} ) ] negated: True ) terminator: <Op_Semi ";"> ) ] action: [ (C {(echo)} { (DQ ("== Failed to download ") (${ VSub_Name url) (". Retrying. ==") ) } ) ] spids: [-1 579] ) (if_arm cond: [ (Sentence child: (AndOr children: [ (DBracket expr: (BoolUnary op_id: BoolUnary_n child: {(DQ (${ VSub_Name hash))} ) ) (Pipeline children: [ (C {(validate-hash)} {(DQ (${ VSub_Name file))} {(DQ (${ VSub_Name hash))} ) ] negated: True ) ] op_id: Op_DAmp ) terminator: <Op_Semi ";"> ) ] action: [ (C {(echo)} { (DQ ("== Hash validation of ") (${ VSub_Name url) (" failed. Retrying. ==") ) } ) ] spids: [593 626] ) ] else_action: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_n child: {(DQ (${ VSub_Name hash))} ) ) terminator: <Op_Semi ";"> ) ] action: [ (C {(echo)} { (DQ ("== Downloaded ") (${ VSub_Name url) (" (SHA1 = ") (${ VSub_Name hash) (") ==") ) } ) ] spids: [-1 658] ) ] else_action: [ (C {(echo)} {(DQ ("== Downloaded ") (${ VSub_Name url) (" =="))}) ] spids: [676 690] ) (ControlFlow token: <ControlFlow_Return return> ) ] spids: [640 696] ) ] spids: [511 699] ) spids: [500 509] ) ] spids: [492 702] ) ) ] spids: [456] ) spids: [452 455] ) (FuncDef name: is-preloaded body: (BraceGroup children: [ (Assignment keyword: Assign_Local flags: ["'-r'"] pairs: [ (assign_pair lhs: (LhsName name:key) op: Equal rhs: {($ VSub_Number "$1")} spids: [718] ) ] spids: [714] ) (Assignment keyword: Assign_Local flags: ["'-r'"] pairs: [ (assign_pair lhs: (LhsName name:value) op: Equal rhs: {($ VSub_Number "$2")} spids: [726] ) ] spids: [722] ) (C {(grep)} {(-qs)} {(DQ (${ VSub_Name key) (",") (${ VSub_Name value))} {(DQ (${ VSub_Name KUBE_HOME) (/preload_info))} ) ] spids: [711] ) spids: [707 710] ) (FuncDef name: split-commas body: (BraceGroup children: [ (Pipeline children: [ (C {(echo)} {($ VSub_Number "$1")}) (C {(tr)} {(DQ (","))} {(DQ (EscapedLiteralPart token:<Lit_EscapedChar "\\n">))}) ] negated: False ) ] spids: [758] ) spids: [754 757] ) (FuncDef name: install-gci-mounter-tools body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CONTAINERIZED_MOUNTER_HOME) op: Equal rhs: {(DQ (${ VSub_Name KUBE_HOME) (/containerized_mounter))} spids: [787] ) ] spids: [787] ) (Assignment keyword: Assign_Local flags: ["'-r'"] pairs: [ (assign_pair lhs: (LhsName name:mounter_tar_sha) op: Equal rhs: {(DQ (8003b798cf33c7f91320cd6ee5cec4fa22244571))} spids: [800] ) ] spids: [796] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(is-preloaded)} {(DQ (mounter))} {(DQ (${ VSub_Name mounter_tar_sha))}) terminator: <Op_Semi ";"> ) ] action: [ (C {(echo)} {(DQ ("mounter is preloaded."))}) (ControlFlow token:<ControlFlow_Return return>) ] spids: [-1 821] ) ] spids: [-1 834] ) (C {(echo)} {(DQ ("Downloading gci mounter tools."))}) (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name CONTAINERIZED_MOUNTER_HOME))}) (C {(chmod)} {(a) (Lit_Other "+") (x)} {(DQ (${ VSub_Name CONTAINERIZED_MOUNTER_HOME))}) (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name CONTAINERIZED_MOUNTER_HOME) (/rootfs))}) (C {(download-or-bust)} {(DQ (${ VSub_Name mounter_tar_sha))} {(DQ ("https://storage.googleapis.com/kubernetes-release/gci-mounter/mounter.tar"))} ) (C {(cp)} {(DQ (${ VSub_Name KUBE_HOME) (/kube-manifests/kubernetes/gci-trusty/gci-mounter))} {(DQ (${ VSub_Name CONTAINERIZED_MOUNTER_HOME) (/mounter))} ) (C {(chmod)} {(a) (Lit_Other "+") (x)} {(DQ (${ VSub_Name CONTAINERIZED_MOUNTER_HOME) (/mounter))} ) (C {(mv)} {(DQ (${ VSub_Name KUBE_HOME) (/mounter.tar))} {(/tmp/mounter.tar)}) (C {(tar)} {(xf)} {(/tmp/mounter.tar)} {(-C)} {(DQ (${ VSub_Name CONTAINERIZED_MOUNTER_HOME) (/rootfs))} ) (C {(rm)} {(/tmp/mounter.tar)}) (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name CONTAINERIZED_MOUNTER_HOME) (/rootfs/var/lib/kubelet))} ) ] spids: [784] ) spids: [780 783] ) (FuncDef name: install-node-problem-detector body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_n child: { (DQ (BracedVarSub token: <VSub_Name NODE_PROBLEM_DETECTOR_VERSION> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [989 992] ) ) } ) ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_Local flags: ["'-r'"] pairs: [ (assign_pair lhs: (LhsName name:npd_version) op: Equal rhs: {(DQ (${ VSub_Name NODE_PROBLEM_DETECTOR_VERSION))} spids: [1005] ) ] spids: [1001] ) (Assignment keyword: Assign_Local flags: ["'-r'"] pairs: [ (assign_pair lhs: (LhsName name:npd_sha1) op: Equal rhs: {(DQ (${ VSub_Name NODE_PROBLEM_DETECTOR_TAR_HASH))} spids: [1017] ) ] spids: [1013] ) ] spids: [-1 998] ) ] else_action: [ (Assignment keyword: Assign_Local flags: ["'-r'"] pairs: [ (assign_pair lhs: (LhsName name:npd_version) op: Equal rhs: {(DQ (v0.4.1))} spids: [1032] ) ] spids: [1028] ) (Assignment keyword: Assign_Local flags: ["'-r'"] pairs: [ (assign_pair lhs: (LhsName name:npd_sha1) op: Equal rhs: {(DQ (a57a3fe64cab8a18ec654f5cef0aec59dae62568))} spids: [1042] ) ] spids: [1038] ) ] spids: [1025 1048] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(is-preloaded)} {(DQ (node-problem-detector))} {(DQ (${ VSub_Name npd_sha1))}) terminator: <Op_Semi ";"> ) ] action: [ (C {(echo)} {(DQ ("node-problem-detector is preloaded."))}) (ControlFlow token:<ControlFlow_Return return>) ] spids: [-1 1067] ) ] spids: [-1 1080] ) (C {(echo)} {(DQ ("Downloading node problem detector."))}) (Assignment keyword: Assign_Local flags: ["'-r'"] pairs: [ (assign_pair lhs: (LhsName name:npd_release_path) op: Equal rhs: {(DQ ("https://storage.googleapis.com/kubernetes-release"))} spids: [1095] ) ] spids: [1091] ) (Assignment keyword: Assign_Local flags: ["'-r'"] pairs: [ (assign_pair lhs: (LhsName name:npd_tar) op: Equal rhs: {(DQ (node-problem-detector-) (${ VSub_Name npd_version) (.tar.gz))} spids: [1105] ) ] spids: [1101] ) (C {(download-or-bust)} {(DQ (${ VSub_Name npd_sha1))} {(DQ (${ VSub_Name npd_release_path) (/node-problem-detector/) (${ VSub_Name npd_tar))} ) (Assignment keyword: Assign_Local flags: ["'-r'"] pairs: [ (assign_pair lhs: (LhsName name:npd_dir) op: Equal rhs: {(DQ (${ VSub_Name KUBE_HOME) (/node-problem-detector))} spids: [1138] ) ] spids: [1134] ) (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name npd_dir))}) (C {(tar)} {(xzf)} {(DQ (${ VSub_Name KUBE_HOME) (/) (${ VSub_Name npd_tar))} {(-C)} {(DQ (${ VSub_Name npd_dir))} {(--overwrite)} ) (C {(mv)} {(DQ (${ VSub_Name npd_dir) (/bin)) (/) (Lit_Other "*")} {(DQ (${ VSub_Name KUBE_BIN))} ) (C {(chmod)} {(a) (Lit_Other "+") (x)} {(DQ (${ VSub_Name KUBE_BIN) (/node-problem-detector))} ) (C {(rmdir)} {(DQ (${ VSub_Name npd_dir) (/bin))}) (C {(rm)} {(-f)} {(DQ (${ VSub_Name KUBE_HOME) (/) (${ VSub_Name npd_tar))}) ] spids: [979] ) spids: [975 978] ) (FuncDef name: install-cni-binaries body: (BraceGroup children: [ (Assignment keyword: Assign_Local flags: ["'-r'"] pairs: [ (assign_pair lhs: (LhsName name:cni_tar) op: Equal rhs: {(DQ (cni-0799f5732f2a11b329d9e3d51b9c8f2e3759f2ff.tar.gz))} spids: [1257] ) ] spids: [1253] ) (Assignment keyword: Assign_Local flags: ["'-r'"] pairs: [ (assign_pair lhs: (LhsName name:cni_sha1) op: Equal rhs: {(DQ (1d9788b0f5420e1a219aad2cb8681823fc515e7c))} spids: [1267] ) ] spids: [1263] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(is-preloaded)} {(DQ (${ VSub_Name cni_tar))} {(DQ (${ VSub_Name cni_sha1))}) terminator: <Op_Semi ";"> ) ] action: [ (C {(echo)} {(DQ (${ VSub_Name cni_tar) (" is preloaded."))}) (ControlFlow token:<ControlFlow_Return return>) ] spids: [-1 1290] ) ] spids: [-1 1306] ) (C {(echo)} {(DQ ("Downloading cni binaries"))}) (C {(download-or-bust)} {(DQ (${ VSub_Name cni_sha1))} { (DQ ("https://storage.googleapis.com/kubernetes-release/network-plugins/") (${ VSub_Name cni_tar) ) } ) (Assignment keyword: Assign_Local flags: ["'-r'"] pairs: [ (assign_pair lhs: (LhsName name:cni_dir) op: Equal rhs: {(DQ (${ VSub_Name KUBE_HOME) (/cni))} spids: [1337] ) ] spids: [1333] ) (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name cni_dir))}) (C {(tar)} {(xzf)} {(DQ (${ VSub_Name KUBE_HOME) (/) (${ VSub_Name cni_tar))} {(-C)} {(DQ (${ VSub_Name cni_dir))} {(--overwrite)} ) (C {(mv)} {(DQ (${ VSub_Name cni_dir) (/bin)) (/) (Lit_Other "*")} {(DQ (${ VSub_Name KUBE_BIN))} ) (C {(rmdir)} {(DQ (${ VSub_Name cni_dir) (/bin))}) (C {(rm)} {(-f)} {(DQ (${ VSub_Name KUBE_HOME) (/) (${ VSub_Name cni_tar))}) ] spids: [1246] ) spids: [1242 1245] ) (FuncDef name: install-kube-manifests body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:dst_dir) op: Equal rhs: {(DQ (${ VSub_Name KUBE_HOME) (/kube-manifests))} spids: [1440] ) ] spids: [1438] ) (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name dst_dir))}) (Assignment keyword: Assign_Local flags: ["'-r'"] pairs: [ (assign_pair lhs: (LhsName name:manifests_tar_urls) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(split-commas)} {(DQ (${ VSub_Name KUBE_MANIFESTS_TAR_URL))}) ] ) left_token: <Left_CommandSub "$("> spids: [1467 1475] ) } ] ) } spids: [1464] ) ] spids: [1460] ) (Assignment keyword: Assign_Local flags: ["'-r'"] pairs: [ (assign_pair lhs: (LhsName name:manifests_tar) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name manifests_tar_urls> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)})) suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{("*") (Lit_Slash /)}) spids: [1486 1494] ) ) } spids: [1484] ) ] spids: [1480] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(-n)} { (DQ (BracedVarSub token: <VSub_Name KUBE_MANIFESTS_TAR_HASH> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [1505 1508] ) ) } {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_Local flags: ["'-r'"] pairs: [ (assign_pair lhs: (LhsName name:manifests_tar_hash) op: Equal rhs: {(DQ (${ VSub_Name KUBE_MANIFESTS_TAR_HASH))} spids: [1521] ) ] spids: [1517] ) ] spids: [-1 1514] ) ] else_action: [ (C {(echo)} {(DQ ("Downloading k8s manifests sha1 (not found in env)"))}) (C {(download-or-bust)} {(DQ )} { (DQ (BracedVarSub token: <VSub_Name manifests_tar_urls> bracket_op: (WholeArray op_id:Lit_At) suffix_op: (PatSub pat: {(.tar.gz)} replace: {(.tar.gz.sha1)} do_all: False do_prefix: False do_suffix: False ) spids: [1545 1554] ) ) } ) (Assignment keyword: Assign_Local flags: ["'-r'"] pairs: [ (assign_pair lhs: (LhsName name:manifests_tar_hash) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(cat)} {(DQ (${ VSub_Name manifests_tar) (.sha1))})] ) left_token: <Left_CommandSub "$("> spids: [1563 1572] ) } spids: [1562] ) ] spids: [1558] ) ] spids: [1529 1575] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(is-preloaded)} {(DQ (${ VSub_Name manifests_tar))} {(DQ (${ VSub_Name manifests_tar_hash))} ) terminator: <Op_Semi ";"> ) ] action: [ (C {(echo)} {(DQ (${ VSub_Name manifests_tar) (" is preloaded."))}) (ControlFlow token:<ControlFlow_Return return>) ] spids: [-1 1596] ) ] spids: [-1 1612] ) (C {(echo)} {(DQ ("Downloading k8s manifests tar"))}) (C {(download-or-bust)} {(DQ (${ VSub_Name manifests_tar_hash))} { (DQ (BracedVarSub token: <VSub_Name manifests_tar_urls> bracket_op: (WholeArray op_id:Lit_At) spids: [1632 1637] ) ) } ) (C {(tar)} {(xzf)} {(DQ (${ VSub_Name KUBE_HOME) (/) (${ VSub_Name manifests_tar))} {(-C)} {(DQ (${ VSub_Name dst_dir))} {(--overwrite)} ) (Assignment keyword: Assign_Local flags: ["'-r'"] pairs: [ (assign_pair lhs: (LhsName name:kube_addon_registry) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name KUBE_ADDON_REGISTRY> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {(gcr.io) (Lit_Slash /) (google_containers)} ) spids: [1672 1678] ) ) } spids: [1670] ) ] spids: [1666] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobNEqual left: {(DQ (${ VSub_Name kube_addon_registry))} right: {(DQ (gcr.io/google_containers))} ) ) terminator: <Op_Semi ";"> ) ] action: [ (Pipeline children: [ (C {(find)} {(DQ (${ VSub_Name dst_dir))} {(-name)} {(EscapedLiteralPart token:<Lit_EscapedChar "\\*">) (.yaml)} {(-or)} {(-name)} {(EscapedLiteralPart token:<Lit_EscapedChar "\\*">) (.yaml.in)} ) (C {(xargs)} {(sed)} {(-ri)} { (DQ ("s@(image:") (EscapedLiteralPart token:<Lit_EscapedChar "\\s">) (".*)gcr.io/google_containers@") (EscapedLiteralPart token:<Lit_EscapedChar "\\1">) (${ VSub_Name kube_addon_registry) ("@") ) } ) ] negated: False ) (Pipeline children: [ (C {(find)} {(DQ (${ VSub_Name dst_dir))} {(-name)} {(EscapedLiteralPart token:<Lit_EscapedChar "\\*">) (.manifest)} {(-or)} {(-name)} {(EscapedLiteralPart token:<Lit_EscapedChar "\\*">) (.json)} ) (C {(xargs)} {(sed)} {(-ri)} { (DQ ("s@(image") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (":") (EscapedLiteralPart token: <Lit_EscapedChar "\\s"> ) ("+") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (")gcr.io/google_containers@") (EscapedLiteralPart token: <Lit_EscapedChar "\\1"> ) (${ VSub_Name kube_addon_registry) ("@") ) } ) ] negated: False ) ] spids: [-1 1701] ) ] spids: [-1 1792] ) (C {(cp)} {(DQ (${ VSub_Name dst_dir) (/kubernetes/gci-trusty/gci-configure-helper.sh))} {(DQ (${ VSub_Name KUBE_BIN) (/configure-helper.sh))} ) (C {(cp)} {(DQ (${ VSub_Name dst_dir) (/kubernetes/gci-trusty/health-monitor.sh))} {(DQ (${ VSub_Name KUBE_BIN) (/health-monitor.sh))} ) (C {(rm)} {(-f)} {(DQ (${ VSub_Name KUBE_HOME) (/) (${ VSub_Name manifests_tar))}) (C {(rm)} {(-f)} {(DQ (${ VSub_Name KUBE_HOME) (/) (${ VSub_Name manifests_tar) (.sha1))}) ] spids: [1431] ) spids: [1427 1430] ) (FuncDef name: try-load-docker-image body: (BraceGroup children: [ (Assignment keyword: Assign_Local flags: ["'-r'"] pairs: [ (assign_pair lhs: (LhsName name:img) op: Equal rhs: {($ VSub_Number "$1")} spids: [1883] ) ] spids: [1879] ) (C {(echo)} {(DQ ("Try to load docker image file ") (${ VSub_Name img))}) (C {(set)} {(Lit_Other "+") (e)}) (Assignment keyword: Assign_Local flags: ["'-r'"] pairs: [(assign_pair lhs:(LhsName name:max_attempts) op:Equal rhs:{(5)} spids:[1911])] spids: [1907] ) (Assignment keyword: Assign_Local flags: ["'-i'"] pairs: [(assign_pair lhs:(LhsName name:attempt_num) op:Equal rhs:{(1)} spids:[1919])] spids: [1915] ) (Until cond: [ (Sentence child: (C {(timeout)} {(30)} {(docker)} {(load)} {(-i)} {(DQ (${ VSub_Name img))}) terminator: <Op_Semi ";"> ) ] body: (DoGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ (${ VSub_Name attempt_num))} right: {(DQ (${ VSub_Name max_attempts))} ) ) terminator: <Op_Semi ";"> ) ] action: [ (C {(echo)} { (DQ ("Fail to load docker image file ") (${ VSub_Name img) (" after ") (${ VSub_Name max_attempts) (" retries. Exit!!") ) } ) (C {(exit)} {(1)}) ] spids: [-1 1966] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:attempt_num) op: Equal rhs: { (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithVarRef name:attempt_num) right: (ArithWord w:{(Lit_Digits 1)}) ) spids: [1993 1998] ) } spids: [1992] ) ] spids: [1992] ) (C {(sleep)} {(5)}) ] spids: [1989 2006] ) ] spids: [1942 2009] ) ) (C {(set)} {(-e)}) ] spids: [1876] ) spids: [1872 1875] ) (FuncDef name: load-docker-images body: (BraceGroup children: [ (C {(echo)} {(DQ ("Start loading kube-system docker images"))}) (Assignment keyword: Assign_Local flags: ["'-r'"] pairs: [ (assign_pair lhs: (LhsName name:img_dir) op: Equal rhs: {(DQ (${ VSub_Name KUBE_HOME) (/kube-docker-files))} spids: [2047] ) ] spids: [2043] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: { (DQ (BracedVarSub token: <VSub_Name KUBERNETES_MASTER> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [2061 2064] ) ) } right: {(DQ (true))} ) ) terminator: <Op_Semi ";"> ) ] action: [ (C {(try-load-docker-image)} {(DQ (${ VSub_Name img_dir) (/kube-apiserver.tar))}) (C {(try-load-docker-image)} {(DQ (${ VSub_Name img_dir) (/kube-controller-manager.tar))} ) (C {(try-load-docker-image)} {(DQ (${ VSub_Name img_dir) (/kube-scheduler.tar))}) ] spids: [-1 2076] ) ] else_action: [ (C {(try-load-docker-image)} {(DQ (${ VSub_Name img_dir) (/kube-proxy.tar))}) ] spids: [2109 2122] ) ] spids: [2033] ) spids: [2029 2032] ) (FuncDef name: install-kube-binary-config body: (BraceGroup children: [ (C {(cd)} {(DQ (${ VSub_Name KUBE_HOME))}) (Assignment keyword: Assign_Local flags: ["'-r'"] pairs: [ (assign_pair lhs: (LhsName name:server_binary_tar_urls) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(split-commas)} {(DQ (${ VSub_Name SERVER_BINARY_TAR_URL))}) ] ) left_token: <Left_CommandSub "$("> spids: [2156 2164] ) } ] ) } spids: [2153] ) ] spids: [2149] ) (Assignment keyword: Assign_Local flags: ["'-r'"] pairs: [ (assign_pair lhs: (LhsName name:server_binary_tar) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name server_binary_tar_urls> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)})) suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{("*") (Lit_Slash /)}) spids: [2175 2183] ) ) } spids: [2173] ) ] spids: [2169] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_n child: { (DQ (BracedVarSub token: <VSub_Name SERVER_BINARY_TAR_HASH> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [2194 2197] ) ) } ) ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_Local flags: ["'-r'"] pairs: [ (assign_pair lhs: (LhsName name:server_binary_tar_hash) op: Equal rhs: {(DQ (${ VSub_Name SERVER_BINARY_TAR_HASH))} spids: [2210] ) ] spids: [2206] ) ] spids: [-1 2203] ) ] else_action: [ (C {(echo)} {(DQ ("Downloading binary release sha1 (not found in env)"))}) (C {(download-or-bust)} {(DQ )} { (DQ (BracedVarSub token: <VSub_Name server_binary_tar_urls> bracket_op: (WholeArray op_id:Lit_At) suffix_op: (PatSub pat: {(.tar.gz)} replace: {(.tar.gz.sha1)} do_all: False do_prefix: False do_suffix: False ) spids: [2234 2243] ) ) } ) (Assignment keyword: Assign_Local flags: ["'-r'"] pairs: [ (assign_pair lhs: (LhsName name:server_binary_tar_hash) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(cat)} {(DQ (${ VSub_Name server_binary_tar) (.sha1))})] ) left_token: <Left_CommandSub "$("> spids: [2252 2261] ) } spids: [2251] ) ] spids: [2247] ) ] spids: [2218 2264] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(is-preloaded)} {(DQ (${ VSub_Name server_binary_tar))} {(DQ (${ VSub_Name server_binary_tar_hash))} ) terminator: <Op_Semi ";"> ) ] action: [(C {(echo)} {(DQ (${ VSub_Name server_binary_tar) (" is preloaded."))})] spids: [-1 2285] ) ] else_action: [ (C {(echo)} {(DQ ("Downloading binary release tar"))}) (C {(download-or-bust)} {(DQ (${ VSub_Name server_binary_tar_hash))} { (DQ (BracedVarSub token: <VSub_Name server_binary_tar_urls> bracket_op: (WholeArray op_id:Lit_At) spids: [2317 2322] ) ) } ) (C {(tar)} {(xzf)} {(DQ (${ VSub_Name KUBE_HOME) (/) (${ VSub_Name server_binary_tar))} {(-C)} {(DQ (${ VSub_Name KUBE_HOME))} {(--overwrite)} ) (Assignment keyword: Assign_Local flags: ["'-r'"] pairs: [ (assign_pair lhs: (LhsName name:src_dir) op: Equal rhs: {(DQ (${ VSub_Name KUBE_HOME) (/kubernetes/server/bin))} spids: [2359] ) ] spids: [2355] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:dst_dir) op: Equal rhs: {(DQ (${ VSub_Name KUBE_HOME) (/kube-docker-files))} spids: [2370] ) ] spids: [2368] ) (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name dst_dir))}) (C {(cp)} {(DQ (${ VSub_Name src_dir) (/)) (Lit_Other "*") (.docker_tag)} {(DQ (${ VSub_Name dst_dir))} ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: { (DQ (BracedVarSub token: <VSub_Name KUBERNETES_MASTER> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [2413 2416] ) ) } right: {(DQ (false))} ) ) terminator: <Op_Semi ";"> ) ] action: [ (C {(cp)} {(DQ (${ VSub_Name src_dir) (/kube-proxy.tar))} {(DQ (${ VSub_Name dst_dir))} ) ] spids: [-1 2428] ) ] else_action: [ (C {(cp)} {(DQ (${ VSub_Name src_dir) (/kube-apiserver.tar))} {(DQ (${ VSub_Name dst_dir))} ) (C {(cp)} {(DQ (${ VSub_Name src_dir) (/kube-controller-manager.tar))} {(DQ (${ VSub_Name dst_dir))} ) (C {(cp)} {(DQ (${ VSub_Name src_dir) (/kube-scheduler.tar))} {(DQ (${ VSub_Name dst_dir))} ) (C {(cp)} {(-r)} {(DQ (${ VSub_Name KUBE_HOME) (/kubernetes/addons))} {(DQ (${ VSub_Name dst_dir))} ) ] spids: [2447 2516] ) (C {(load-docker-images)}) (C {(mv)} {(DQ (${ VSub_Name src_dir) (/kubelet))} {(DQ (${ VSub_Name KUBE_BIN))}) (C {(mv)} {(DQ (${ VSub_Name src_dir) (/kubectl))} {(DQ (${ VSub_Name KUBE_BIN))}) (C {(mv)} {(DQ (${ VSub_Name KUBE_HOME) (/kubernetes/LICENSES))} {(DQ (${ VSub_Name KUBE_HOME))} ) (C {(mv)} {(DQ (${ VSub_Name KUBE_HOME) (/kubernetes/kubernetes-src.tar.gz))} {(DQ (${ VSub_Name KUBE_HOME))} ) ] spids: [2298 2587] ) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr children: [ (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: { (DQ (BracedVarSub token: <VSub_Name KUBERNETES_MASTER> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [2596 2599] ) ) } right: {(DQ (false))} ) ) (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: { (DQ (BracedVarSub token: <VSub_Name ENABLE_NODE_PROBLEM_DETECTOR> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [2617 2620] ) ) } right: {(DQ (standalone))} ) ) ] op_id: Op_DAmp ) terminator: <Op_Semi ";"> ) ] action: [(C {(install-node-problem-detector)})] spids: [-1 2632] ) ] spids: [-1 2638] ) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr children: [ (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: { (DQ (BracedVarSub token: <VSub_Name NETWORK_PROVIDER> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [2647 2650] ) ) } right: {(DQ (kubenet))} ) ) (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: { (DQ (BracedVarSub token: <VSub_Name NETWORK_PROVIDER> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [2668 2671] ) ) } right: {(DQ (cni))} ) ) ] op_id: Op_DPipe ) terminator: <Op_Semi ";"> ) ] action: [(C {(install-cni-binaries)})] spids: [-1 2683] ) ] spids: [-1 2689] ) (C {(install-kube-manifests)}) (C {(chmod)} {(-R)} {(755)} {(DQ (${ VSub_Name KUBE_BIN))}) (C {(install-gci-mounter-tools)}) (C {(rm)} {(-rf)} {(DQ (${ VSub_Name KUBE_HOME) (/kubernetes))}) (C {(rm)} {(-f)} {(DQ (${ VSub_Name KUBE_HOME) (/) (${ VSub_Name server_binary_tar))}) (C {(rm)} {(-f)} {(DQ (${ VSub_Name KUBE_HOME) (/) (${ VSub_Name server_binary_tar) (.sha1))}) ] spids: [2137] ) spids: [2133 2136] ) (C {(echo)} {(DQ ("Start to install kubernetes files"))}) (C {(set-broken-motd)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KUBE_HOME) op: Equal rhs: {(DQ (/home/kubernetes))} spids: [2782] ) ] spids: [2782] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KUBE_BIN) op: Equal rhs: {(DQ (${ VSub_Name KUBE_HOME) (/bin))} spids: [2787] ) ] spids: [2787] ) (C {(download-kube-env)}) (C {(source)} {(DQ (${ VSub_Name KUBE_HOME) (/kube-env))}) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: { (DQ (BracedVarSub token: <VSub_Name KUBERNETES_MASTER> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [2811 2814] ) ) } right: {(DQ (true))} ) ) terminator: <Op_Semi ";"> ) ] action: [(C {(download-kube-master-certs)})] spids: [-1 2826] ) ] spids: [-1 2831] ) (C {(install-kube-binary-config)}) (C {(echo)} {(DQ ("Done for installing kubernetes files"))}) ] )