(CommandList children: [ (C {(set)} {(-e)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SSH_OPTS) op: Equal rhs: {(DQ ("-oStrictHostKeyChecking=no -oUserKnownHostsFile=/dev/null -oLogLevel=ERROR -C"))} spids: [56] ) ] spids: [56] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KUBE_ROOT) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(dirname)} {(DQ (${ VSub_Name BASH_SOURCE))})] ) left_token: <Left_CommandSub "$("> spids: [69 77] ) (/../..) } spids: [68] ) ] spids: [68] ) (Assignment keyword: Assign_Readonly pairs: [ (assign_pair lhs: (LhsName name:ROOT) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(dirname)} {(DQ (${ VSub_Name BASH_SOURCE))})] ) left_token: <Left_CommandSub "$("> spids: [83 91] ) } spids: [82] ) ] spids: [80] ) (C {(source)} { (DQ (${ VSub_Name ROOT) (/) (BracedVarSub token: <VSub_Name KUBE_CONFIG_FILE> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(DQ (config-default.sh))}) spids: [100 106] ) ) } ) (C {(source)} {(DQ ($ VSub_Name "$KUBE_ROOT") (/cluster/common.sh))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KUBECTL_PATH) op: Equal rhs: {(${ VSub_Name KUBE_ROOT) (/cluster/centos/binaries/kubectl)} spids: [118] ) ] spids: [118] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KUBE_TEMP) op: Equal rhs: {(DQ ("~/kube_temp"))} spids: [128] ) ] spids: [128] ) (FuncDef name: detect-masters body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KUBE_MASTER_IP_ADDRESSES) op: Equal rhs: {(ArrayLiteralPart)} spids: [153] ) ] spids: [153] ) (ForEach iter_name: master iter_words: [{(${ VSub_Name MASTERS)}] do_arg_iter: False body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KUBE_MASTER_IP_ADDRESSES) op: PlusEqual rhs: { (ArrayLiteralPart words: [ { (DQ (BracedVarSub token: <VSub_Name master> suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{("*@")}) spids: [175 179] ) ) } ] ) } spids: [172] ) ] spids: [172] ) ] spids: [169 184] ) spids: [163 167] ) (SimpleCommand words: [{(echo)} {(DQ ("KUBE_MASTERS: ") (${ VSub_Name MASTERS))}] redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[196])] ) (SimpleCommand words: [ {(echo)} { (DQ ("KUBE_MASTER_IP_ADDRESSES: [") (BracedVarSub token: <VSub_Name KUBE_MASTER_IP_ADDRESSES> bracket_op: (WholeArray op_id:Arith_Star) spids: [204 209] ) ("]") ) } ] redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[213])] ) ] spids: [150] ) spids: [144 149] ) (FuncDef name: detect-nodes body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KUBE_NODE_IP_ADDRESSES) op: Equal rhs: {(ArrayLiteralPart)} spids: [231] ) ] spids: [231] ) (ForEach iter_name: node iter_words: [{(${ VSub_Name NODES)}] do_arg_iter: False body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KUBE_NODE_IP_ADDRESSES) op: PlusEqual rhs: { (ArrayLiteralPart words: [ { (DQ (BracedVarSub token: <VSub_Name node> suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{("*@")}) spids: [253 257] ) ) } ] ) } spids: [250] ) ] spids: [250] ) ] spids: [247 262] ) spids: [241 245] ) (SimpleCommand words: [ {(echo)} { (DQ ("KUBE_NODE_IP_ADDRESSES: [") (BracedVarSub token: <VSub_Name KUBE_NODE_IP_ADDRESSES> bracket_op: (WholeArray op_id:Arith_Star) spids: [269 274] ) ("]") ) } ] redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[278])] ) ] spids: [228] ) spids: [222 227] ) (FuncDef name: verify-prereqs body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:rc) op:Equal spids:[298])] spids: [296] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:rc) op:Equal rhs:{(0)} spids:[301])] spids: [301] ) (AndOr children: [ (SimpleCommand words: [{(ssh-add)} {(-L)}] redirects: [ (Redir op_id: Redir_Great fd: 1 arg_word: {(/dev/null)} spids: [309] ) (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [313] ) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:rc) op: Equal rhs: {(DQ ($ VSub_QMark "$?"))} spids: [319] ) ] spids: [319] ) ] op_id: Op_DPipe ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_eq left: {(DQ (${ VSub_Name rc))} right: {(2)} ) ) terminator: <Op_Semi ";"> ) ] action: [ (SimpleCommand words: [ {(eval)} { (DQ (CommandSubPart command_list: (CommandList children:[(C {(ssh-agent)})]) left_token: <Left_CommandSub "$("> spids: [352 354] ) ) } ] redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(/dev/null)} spids:[357])] ) (C {(trap-add)} {(DQ ("kill ") (${ VSub_Name SSH_AGENT_PID))} {(EXIT)}) ] spids: [-1 346] ) ] spids: [-1 374] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:rc) op:Equal rhs:{(0)} spids:[377])] spids: [377] ) (AndOr children: [ (SimpleCommand words: [{(ssh-add)} {(-L)}] redirects: [ (Redir op_id: Redir_Great fd: 1 arg_word: {(/dev/null)} spids: [385] ) (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [389] ) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:rc) op: Equal rhs: {(DQ ($ VSub_QMark "$?"))} spids: [395] ) ] spids: [395] ) ] op_id: Op_DPipe ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_eq left: {(DQ (${ VSub_Name rc))} right: {(1)} ) ) terminator: <Op_Semi ";"> ) ] action: [(AndOr children:[(C {(ssh-add)})(C {(true)})] op_id:Op_DPipe)] spids: [-1 422] ) ] spids: [-1 436] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:rc) op:Equal rhs:{(0)} spids:[439])] spids: [439] ) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (SimpleCommand words: [{(ssh-add)} {(-L)}] redirects: [ (Redir op_id: Redir_Great fd: 1 arg_word: {(/dev/null)} spids: [455] ) (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [459] ) ] ) ] negated: True ) terminator: <Op_Semi ";"> ) ] action: [ (C {(echo)} {(DQ ("Could not find or add an SSH identity."))}) (C {(echo)} {(DQ ("Please start ssh-agent, add your identity, and retry."))}) (C {(exit)} {(1)}) ] spids: [-1 464] ) ] spids: [-1 486] ) ] spids: [293] ) spids: [287 292] ) (FuncDef name: trap-add body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:handler) op: Equal rhs: {(DQ ($ VSub_Number "$1"))} spids: [503] ) ] spids: [501] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:signal) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Number 2> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(EXIT)}) spids: [513 517] ) ) } spids: [511] ) ] spids: [509] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:cur) op:Equal spids:[523])] spids: [521] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:cur) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(eval)} { (DQ ("sh -c 'echo ") (EscapedLiteralPart token: <Lit_EscapedChar "\\$"> ) ("3' -- ") (CommandSubPart command_list: (CommandList children: [(C {(trap)} {(-p)} {(${ VSub_Name signal)})] ) left_token: <Left_CommandSub "$("> spids: [536 544] ) ) } ) ] ) left_token: <Left_CommandSub "$("> spids: [529 546] ) ) } spids: [527] ) ] spids: [527] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id:BoolUnary_n child:{(DQ (${ VSub_Name cur))}) ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:handler) op: Equal rhs: {(DQ (${ VSub_Name cur) ("; ") (${ VSub_Name handler))} spids: [568] ) ] spids: [568] ) ] spids: [-1 565] ) ] spids: [-1 580] ) (C {(trap)} {(DQ (${ VSub_Name handler))} {(${ VSub_Name signal)}) ] spids: [498] ) spids: [494 497] ) (FuncDef name: validate-cluster body: (BraceGroup children: [ (C {(set)} {(Lit_Other "+") (e)}) (C {(DQ (${ VSub_Name KUBE_ROOT) (/cluster/validate-cluster.sh))}) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_ne left: {(DQ ($ VSub_QMark "$?"))} right: {(DQ (0))} ) ) terminator: <Op_Semi ";"> ) ] action: [ (ForEach iter_name: master iter_words: [{(${ VSub_Name MASTERS)}] do_arg_iter: False body: (DoGroup children: [(C {(troubleshoot-master)} {(${ VSub_Name master)})] spids: [664 674] ) spids: [658 662] ) (ForEach iter_name: node iter_words: [{(${ VSub_Name NODES)}] do_arg_iter: False body: (DoGroup children: [(C {(troubleshoot-node)} {(${ VSub_Name node)})] spids: [688 698] ) spids: [682 686] ) (C {(exit)} {(1)}) ] spids: [-1 650] ) ] spids: [-1 706] ) (C {(set)} {(-e)}) ] spids: [608] ) spids: [602 607] ) (FuncDef name: kube-up body: (BraceGroup children: [ (C {(make-ca-cert)}) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:num_infra) op:Equal rhs:{(0)} spids:[734])] spids: [732] ) (ForEach iter_name: master iter_words: [{(${ VSub_Name MASTERS)}] do_arg_iter: False body: (DoGroup children: [ (C {(provision-master)} {(DQ (${ VSub_Name master))} {(DQ (infra) (${ VSub_Name num_infra))} ) (C {(let)} {(Lit_Other "+") (Lit_Other "+") (num_infra)}) ] spids: [749 775] ) spids: [743 747] ) (ForEach iter_name: master iter_words: [{(${ VSub_Name MASTERS)}] do_arg_iter: False body: (DoGroup children: [(C {(post-provision-master)} {(DQ (${ VSub_Name master))})] spids: [790 802] ) spids: [784 788] ) (ForEach iter_name: node iter_words: [{(${ VSub_Name NODES)}] do_arg_iter: False body: (DoGroup children: [(C {(provision-node)} {(DQ (${ VSub_Name node))})] spids: [817 829] ) spids: [811 815] ) (C {(detect-masters)}) (C {(export)} {(Lit_VarLike "CONTEXT=") (DQ (centos))}) (C {(export)} {(Lit_VarLike "KUBE_SERVER=") (DQ ("http://") (${ VSub_Name MASTER_ADVERTISE_ADDRESS) (":8080")) } ) (C {(source)} {(DQ (${ VSub_Name KUBE_ROOT) (/cluster/common.sh))}) (C {(get-password)}) (C {(create-kubeconfig)}) ] spids: [725] ) spids: [719 724] ) (FuncDef name: kube-down body: (BraceGroup children: [ (ForEach iter_name: master iter_words: [{(${ VSub_Name MASTERS)}] do_arg_iter: False body: (DoGroup children: [(C {(tear-down-master)} {(${ VSub_Name master)})] spids: [907 917] ) spids: [901 905] ) (ForEach iter_name: node iter_words: [{(${ VSub_Name NODES)}] do_arg_iter: False body: (DoGroup children:[(C {(tear-down-node)} {(${ VSub_Name node)})] spids:[932942]) spids: [926 930] ) ] spids: [893] ) spids: [887 892] ) (FuncDef name: troubleshoot-master body: (BraceGroup children: [ (C {(echo)} {(DQ ("[INFO] Troubleshooting on master ") ($ VSub_Number "$1"))}) (Assignment keyword: Assign_Local flags: ["'-a'"] pairs: [ (assign_pair lhs: (LhsName name:required_daemon) op: Equal rhs: { (ArrayLiteralPart words: [ {(DQ (kube-apiserver))} {(DQ (kube-controller-manager))} {(DQ (kube-scheduler))} ] ) } spids: [972] ) ] spids: [968] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:daemon) op:Equal spids:[990])] spids: [988] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:daemon_status) op:Equal spids:[995])] spids: [993] ) (C {(printf)} {(DQ ("%-24s %-10s ") (EscapedLiteralPart token:<Lit_EscapedChar "\\n">))} {(DQ (PROCESS))} {(DQ (STATUS))} ) (ForEach iter_name: daemon iter_words: [ { (DQ (BracedVarSub token: <VSub_Name required_daemon> bracket_op: (WholeArray op_id:Lit_At) spids: [1021 1026] ) ) } ] do_arg_iter: False body: (DoGroup children: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:rc) op:Equal rhs:{(0)} spids:[1035])] spids: [1033] ) (AndOr children: [ (SimpleCommand words: [ {(kube-ssh)} {(DQ (${ VSub_Number 1))} {(DQ ("sudo systemctl is-active ") (${ VSub_Name daemon))} ] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(/dev/null)} spids: [1054] ) (Redir op_id: Redir_GreatAnd fd: 2 arg_word: {(1)} spids: [1057] ) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:rc) op: Equal rhs: {(DQ ($ VSub_QMark "$?"))} spids: [1062] ) ] spids: [1062] ) ] op_id: Op_DPipe ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_ne left: {(DQ (${ VSub_Name rc))} right: {(DQ (0))} ) ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:daemon_status) op: Equal rhs: {(DQ (inactive))} spids: [1090] ) ] spids: [1090] ) ] spids: [-1 1087] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:daemon_status) op: Equal rhs: {(DQ (active))} spids: [1099] ) ] spids: [1099] ) ] spids: [1096 1105] ) (C {(printf)} {(DQ ("%-24s %s") (EscapedLiteralPart token:<Lit_EscapedChar "\\n">))} {(${ VSub_Name daemon)} {(${ VSub_Name daemon_status)} ) ] spids: [1030 1124] ) spids: [1019 1028] ) (C {(printf)} {(DQ (EscapedLiteralPart token:<Lit_EscapedChar "\\n">))}) ] spids: [953] ) spids: [947 952] ) (FuncDef name: troubleshoot-node body: (BraceGroup children: [ (C {(echo)} {(DQ ("[INFO] Troubleshooting on node ") (${ VSub_Number 1))}) (Assignment keyword: Assign_Local flags: ["'-a'"] pairs: [ (assign_pair lhs: (LhsName name:required_daemon) op: Equal rhs: { (ArrayLiteralPart words: [{(DQ (kube-proxy))} {(DQ (kubelet))} {(DQ (docker))} {(DQ (flannel))}] ) } spids: [1163] ) ] spids: [1159] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:daemon) op:Equal spids:[1185])] spids: [1183] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:daemon_status) op:Equal spids:[1190])] spids: [1188] ) (C {(printf)} {(DQ ("%-24s %-10s ") (EscapedLiteralPart token:<Lit_EscapedChar "\\n">))} {(DQ (PROCESS))} {(DQ (STATUS))} ) (ForEach iter_name: daemon iter_words: [ { (DQ (BracedVarSub token: <VSub_Name required_daemon> bracket_op: (WholeArray op_id:Lit_At) spids: [1216 1221] ) ) } ] do_arg_iter: False body: (DoGroup children: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:rc) op:Equal rhs:{(0)} spids:[1230])] spids: [1228] ) (AndOr children: [ (SimpleCommand words: [ {(kube-ssh)} {(DQ (${ VSub_Number 1))} {(DQ ("sudo systemctl is-active ") (${ VSub_Name daemon))} ] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(/dev/null)} spids: [1249] ) (Redir op_id: Redir_GreatAnd fd: 2 arg_word: {(1)} spids: [1252] ) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:rc) op: Equal rhs: {(DQ ($ VSub_QMark "$?"))} spids: [1257] ) ] spids: [1257] ) ] op_id: Op_DPipe ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_ne left: {(DQ (${ VSub_Name rc))} right: {(DQ (0))} ) ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:daemon_status) op: Equal rhs: {(DQ (inactive))} spids: [1285] ) ] spids: [1285] ) ] spids: [-1 1282] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:daemon_status) op: Equal rhs: {(DQ (active))} spids: [1294] ) ] spids: [1294] ) ] spids: [1291 1300] ) (C {(printf)} {(DQ ("%-24s %s") (EscapedLiteralPart token:<Lit_EscapedChar "\\n">))} {(${ VSub_Name daemon)} {(${ VSub_Name daemon_status)} ) ] spids: [1225 1319] ) spids: [1214 1223] ) (C {(printf)} {(DQ (EscapedLiteralPart token:<Lit_EscapedChar "\\n">))}) ] spids: [1142] ) spids: [1136 1141] ) (FuncDef name: tear-down-master body: (BraceGroup children: [ (C {(echo)} {(DQ ("[INFO] tear-down-master on ") ($ VSub_Number "$1"))}) (ForEach iter_name: service_name iter_words: [{(etcd)} {(kube-apiserver)} {(kube-controller-manager)} {(kube-scheduler)}] do_arg_iter: False body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:service_file) op: Equal rhs: {(DQ (/usr/lib/systemd/system/) (${ VSub_Name service_name) (.service))} spids: [1369] ) ] spids: [1369] ) (C {(kube-ssh)} {(DQ ($ VSub_Number "$1"))} { (DQ (" ") (" if [[ -f ") ($ VSub_Name "$service_file") (" ]]; then ") (" sudo systemctl stop ") ($ VSub_Name "$service_name") ("; ") (" sudo systemctl disable ") ($ VSub_Name "$service_name") ("; ") (" sudo rm -f ") ($ VSub_Name "$service_file") ("; ") (" fi") ) } ) ] spids: [1366 1408] ) spids: [1355 1364] ) (C {(kube-ssh)} {(DQ (${ VSub_Number 1))} {(DQ ("sudo rm -rf /opt/kubernetes"))}) (C {(kube-ssh)} {(DQ (${ VSub_Number 1))} {(DQ ("sudo rm -rf /srv/kubernetes"))}) (C {(kube-ssh)} {(DQ (${ VSub_Number 1))} {(DQ ("sudo rm -rf ") (${ VSub_Name KUBE_TEMP))}) (C {(kube-ssh)} {(DQ (${ VSub_Number 1))} {(DQ ("sudo rm -rf /var/lib/etcd"))}) ] spids: [1340] ) spids: [1334 1339] ) (FuncDef name: tear-down-node body: (BraceGroup children: [ (C {(echo)} {(DQ ("[INFO] tear-down-node on ") ($ VSub_Number "$1"))}) (ForEach iter_name: service_name iter_words: [{(kube-proxy)} {(kubelet)} {(docker)} {(flannel)}] do_arg_iter: False body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:service_file) op: Equal rhs: {(DQ (/usr/lib/systemd/system/) (${ VSub_Name service_name) (.service))} spids: [1506] ) ] spids: [1506] ) (C {(kube-ssh)} {(DQ ($ VSub_Number "$1"))} { (DQ (" ") (" if [[ -f ") ($ VSub_Name "$service_file") (" ]]; then ") (" sudo systemctl stop ") ($ VSub_Name "$service_name") ("; ") (" sudo systemctl disable ") ($ VSub_Name "$service_name") ("; ") (" sudo rm -f ") ($ VSub_Name "$service_file") ("; ") (" fi") ) } ) ] spids: [1503 1545] ) spids: [1492 1501] ) (C {(kube-ssh)} {(DQ ($ VSub_Number "$1"))} {(DQ ("sudo rm -rf /run/flannel"))}) (C {(kube-ssh)} {(DQ ($ VSub_Number "$1"))} {(DQ ("sudo rm -rf /opt/kubernetes"))}) (C {(kube-ssh)} {(DQ ($ VSub_Number "$1"))} {(DQ ("sudo rm -rf /srv/kubernetes"))}) (C {(kube-ssh)} {(DQ ($ VSub_Number "$1"))} {(DQ ("sudo rm -rf ") (${ VSub_Name KUBE_TEMP))}) ] spids: [1477] ) spids: [1471 1476] ) (FuncDef name: make-ca-cert body: (BraceGroup children: [ (C {(echo)} {(DQ ("[INFO] make-ca-cert"))}) (C {(bash)} {(DQ (${ VSub_Name ROOT) (/../saltbase/salt/generate-cert/make-ca-cert.sh))} {(DQ (${ VSub_Name MASTER_ADVERTISE_IP))} { (DQ ("IP:") (${ VSub_Name MASTER_ADVERTISE_IP) (",IP:") (BracedVarSub token: <VSub_Name SERVICE_CLUSTER_IP_RANGE> suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(".*")}) spids: [1637 1641] ) ( ".1,DNS:kubernetes,DNS:kubernetes.default,DNS:kubernetes.default.svc,DNS:kubernetes.default.svc.cluster.local" ) ) } ) ] spids: [1606] ) spids: [1600 1605] ) (FuncDef name: provision-master body: (BraceGroup children: [ (C {(echo)} {(DQ ("[INFO] Provision master on ") ($ VSub_Number "$1"))}) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:master) op: Equal rhs: {(DQ ($ VSub_Number "$1"))} spids: [1697] ) ] spids: [1695] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:master_ip) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name master> suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{("*@")}) spids: [1707 1711] ) ) } spids: [1705] ) ] spids: [1703] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:etcd_name) op: Equal rhs: {(DQ ($ VSub_Number "$2"))} spids: [1717] ) ] spids: [1715] ) (C {(ensure-setup-dir)} {(DQ (${ VSub_Name master))}) (C {(ensure-etcd-cert)} {(DQ (${ VSub_Name etcd_name))} {(DQ (${ VSub_Name master_ip))}) (C {(kube-scp)} {(DQ (${ VSub_Name master))} { (DQ (${ VSub_Name ROOT) ("/ca-cert ") (${ VSub_Name ROOT) ("/binaries/master ") (${ VSub_Name ROOT) ("/master ") (${ VSub_Name ROOT) ("/config-default.sh ") (${ VSub_Name ROOT) (/util.sh) ) } {(DQ (${ VSub_Name KUBE_TEMP))} ) (C {(kube-scp)} {(DQ (${ VSub_Name master))} { (DQ (${ VSub_Name ROOT) ("/etcd-cert/ca.pem ") (" ") (${ VSub_Name ROOT) ("/etcd-cert/client.pem ") (" ") (${ VSub_Name ROOT) ("/etcd-cert/client-key.pem ") (" ") (${ VSub_Name ROOT) (/etcd-cert/server-) (${ VSub_Name etcd_name) (".pem ") (" ") (${ VSub_Name ROOT) (/etcd-cert/server-) (${ VSub_Name etcd_name) ("-key.pem ") (" ") (${ VSub_Name ROOT) (/etcd-cert/peer-) (${ VSub_Name etcd_name) (".pem ") (" ") (${ VSub_Name ROOT) (/etcd-cert/peer-) (${ VSub_Name etcd_name) (-key.pem) ) } {(DQ (${ VSub_Name KUBE_TEMP) (/etcd-cert))} ) (C {(kube-ssh)} {(DQ (${ VSub_Name master))} { (DQ (" ") (" sudo rm -rf /opt/kubernetes/bin; ") (" sudo cp -r ") (${ VSub_Name KUBE_TEMP) ("/master/bin /opt/kubernetes; ") (" sudo mkdir -p /srv/kubernetes/; sudo cp -f ") (${ VSub_Name KUBE_TEMP) ("/ca-cert/* /srv/kubernetes/; ") (" sudo mkdir -p /srv/kubernetes/etcd; sudo cp -f ") (${ VSub_Name KUBE_TEMP) ("/etcd-cert/* /srv/kubernetes/etcd/; ") (" sudo chmod -R +x /opt/kubernetes/bin; ") (" sudo ln -sf /opt/kubernetes/bin/* /usr/local/bin/; ") (" sudo bash ") (${ VSub_Name KUBE_TEMP) ("/master/scripts/etcd.sh ") (${ VSub_Name etcd_name) (" ") (${ VSub_Name master_ip) (" ") (${ VSub_Name ETCD_INITIAL_CLUSTER) ("; ") (" sudo bash ") (${ VSub_Name KUBE_TEMP) ("/master/scripts/apiserver.sh ") (${ VSub_Name master_ip) (" ") (${ VSub_Name ETCD_SERVERS) (" ") (${ VSub_Name SERVICE_CLUSTER_IP_RANGE) (" ") (${ VSub_Name ADMISSION_CONTROL) ("; ") (" sudo bash ") (${ VSub_Name KUBE_TEMP) ("/master/scripts/controller-manager.sh ") (${ VSub_Name MASTER_ADVERTISE_ADDRESS) ("; ") (" sudo bash ") (${ VSub_Name KUBE_TEMP) ("/master/scripts/scheduler.sh ") (${ VSub_Name MASTER_ADVERTISE_ADDRESS) ) } ) ] spids: [1684] ) spids: [1678 1683] ) (FuncDef name: post-provision-master body: (BraceGroup children: [ (C {(echo)} {(DQ ("[INFO] Post provision master on ") ($ VSub_Number "$1"))}) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:master) op: Equal rhs: {($ VSub_Number "$1")} spids: [1999] ) ] spids: [1997] ) (C {(kube-ssh)} {(DQ (${ VSub_Name master))} { (DQ (" ") (" sudo bash ") (${ VSub_Name KUBE_TEMP) ("/master/scripts/flannel.sh ") (${ VSub_Name ETCD_SERVERS) (" ") (${ VSub_Name FLANNEL_NET) ("; ") (" sudo bash ") (${ VSub_Name KUBE_TEMP) (/master/scripts/post-etcd.sh) ) } ) ] spids: [1986] ) spids: [1980 1985] ) (FuncDef name: provision-node body: (BraceGroup children: [ (C {(echo)} {(DQ ("[INFO] Provision node on ") ($ VSub_Number "$1"))}) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:node) op: Equal rhs: {($ VSub_Number "$1")} spids: [2090] ) ] spids: [2088] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:node_ip) op: Equal rhs: { (BracedVarSub token: <VSub_Name node> suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{("*@")}) spids: [2097 2101] ) } spids: [2096] ) ] spids: [2094] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:dns_ip) op: Equal rhs: { (BracedVarSub token: <VSub_Name DNS_SERVER_IP> suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{("*@")}) spids: [2107 2111] ) } spids: [2106] ) ] spids: [2104] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:dns_domain) op: Equal rhs: { (BracedVarSub token: <VSub_Name DNS_DOMAIN> suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{("*@")}) spids: [2117 2121] ) } spids: [2116] ) ] spids: [2114] ) (C {(ensure-setup-dir)} {(${ VSub_Name node)}) (C {(kube-scp)} {(DQ (${ VSub_Name node))} { (DQ (${ VSub_Name ROOT) ("/binaries/node ") (${ VSub_Name ROOT) ("/node ") (${ VSub_Name ROOT) ("/config-default.sh ") (${ VSub_Name ROOT) (/util.sh) ) } {(DQ (${ VSub_Name KUBE_TEMP))} ) (C {(kube-scp)} {(DQ (${ VSub_Name node))} { (DQ (${ VSub_Name ROOT) ("/etcd-cert/ca.pem ") (" ") (${ VSub_Name ROOT) ("/etcd-cert/client.pem ") (" ") (${ VSub_Name ROOT) (/etcd-cert/client-key.pem) ) } {(DQ (${ VSub_Name KUBE_TEMP) (/etcd-cert))} ) (C {(kube-ssh)} {(DQ (${ VSub_Name node))} { (DQ (" ") (" rm -rf /opt/kubernetes/bin; ") (" sudo cp -r ") (${ VSub_Name KUBE_TEMP) ("/node/bin /opt/kubernetes; ") (" sudo chmod -R +x /opt/kubernetes/bin; ") (" sudo mkdir -p /srv/kubernetes/etcd; sudo cp -f ") (${ VSub_Name KUBE_TEMP) ("/etcd-cert/* /srv/kubernetes/etcd/; ") (" sudo ln -s /opt/kubernetes/bin/* /usr/local/bin/; ") (" sudo mkdir -p /srv/kubernetes/etcd; sudo cp -f ") (${ VSub_Name KUBE_TEMP) ("/etcd-cert/* /srv/kubernetes/etcd/; ") (" sudo bash ") (${ VSub_Name KUBE_TEMP) ("/node/scripts/flannel.sh ") (${ VSub_Name ETCD_SERVERS) (" ") (${ VSub_Name FLANNEL_NET) ("; ") (" sudo bash ") (${ VSub_Name KUBE_TEMP) ("/node/scripts/docker.sh ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (${ VSub_Name DOCKER_OPTS) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ("; ") (" sudo bash ") (${ VSub_Name KUBE_TEMP) ("/node/scripts/kubelet.sh ") (${ VSub_Name MASTER_ADVERTISE_ADDRESS) (" ") (${ VSub_Name node_ip) (" ") (${ VSub_Name dns_ip) (" ") (${ VSub_Name dns_domain) ("; ") (" sudo bash ") (${ VSub_Name KUBE_TEMP) ("/node/scripts/proxy.sh ") (${ VSub_Name MASTER_ADVERTISE_ADDRESS) ) } ) ] spids: [2077] ) spids: [2071 2076] ) (FuncDef name: ensure-setup-dir body: (BraceGroup children: [ (C {(kube-ssh)} {(DQ (${ VSub_Number 1))} { (DQ ("mkdir -p ") (${ VSub_Name KUBE_TEMP) ("; ") (" mkdir -p ") (${ VSub_Name KUBE_TEMP) ("/etcd-cert; ") (" sudo mkdir -p /opt/kubernetes/bin; ") (" sudo mkdir -p /opt/kubernetes/cfg") ) } ) ] spids: [2315] ) spids: [2309 2314] ) (FuncDef name: ensure-etcd-cert body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:etcd_name) op: Equal rhs: {(DQ ($ VSub_Number "$1"))} spids: [2373] ) ] spids: [2371] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:master_ip) op: Equal rhs: {(DQ ($ VSub_Number "$2"))} spids: [2381] ) ] spids: [2379] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:cert_dir) op: Equal rhs: {(DQ (${ VSub_Name ROOT) (/etcd-cert))} spids: [2389] ) ] spids: [2387] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (LogicalOr left: (LogicalNot child: (BoolUnary op_id: BoolUnary_r child: {(DQ (${ VSub_Name cert_dir) (/client.pem))} ) ) right: (LogicalNot child: (BoolUnary op_id: BoolUnary_r child: {(DQ (${ VSub_Name cert_dir) (/client-key.pem))} ) ) ) ) terminator: <Op_Semi ";"> ) ] action: [ (C {(generate-etcd-cert)} {(DQ (${ VSub_Name cert_dir))} {(DQ (${ VSub_Name master_ip))} {(DQ (client))} {(DQ (client))} ) ] spids: [-1 2430] ) ] spids: [-1 2456] ) (C {(generate-etcd-cert)} {(DQ (${ VSub_Name cert_dir))} {(DQ (${ VSub_Name master_ip))} {(DQ (server))} {(DQ (server-) (${ VSub_Name etcd_name))} ) (C {(generate-etcd-cert)} {(DQ (${ VSub_Name cert_dir))} {(DQ (${ VSub_Name master_ip))} {(DQ (peer))} {(DQ (peer-) (${ VSub_Name etcd_name))} ) ] spids: [2368] ) spids: [2362 2367] ) (FuncDef name: kube-ssh body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:host) op: Equal rhs: {(DQ ($ VSub_Number "$1"))} spids: [2528] ) ] spids: [2526] ) (C {(shift)}) (SimpleCommand words: [ {(ssh)} {(${ VSub_Name SSH_OPTS)} {(-t)} {(DQ (${ VSub_Name host))} {(DQ ($ VSub_At "$@"))} ] redirects: [ (Redir op_id:Redir_Great fd:-1 arg_word:{(/dev/null)} spids:[2555]) (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[2558]) ] ) ] spids: [2523] ) spids: [2517 2522] ) (FuncDef name: kube-scp body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:host) op: Equal rhs: {(DQ ($ VSub_Number "$1"))} spids: [2578] ) ] spids: [2576] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:src) op: Equal rhs: {(ArrayLiteralPart words:[{($ VSub_Number "$2")}])} spids: [2586] ) ] spids: [2584] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:dst) op: Equal rhs: {(DQ ($ VSub_Number "$3"))} spids: [2594] ) ] spids: [2592] ) (C {(scp)} {(-r)} {(${ VSub_Name SSH_OPTS)} { (BracedVarSub token: <VSub_Name src> bracket_op: (WholeArray op_id:Arith_Star) spids: [2608 2613] ) } {(DQ (${ VSub_Name host) (":") (${ VSub_Name dst))} ) ] spids: [2573] ) spids: [2567 2572] ) (FuncDef name: get-password body: (BraceGroup children: [ (C {(load-or-gen-kube-basicauth)}) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (LogicalOr left: (BoolUnary op_id:BoolUnary_z child:{(DQ (${ VSub_Name KUBE_USER))}) right: (BoolUnary op_id: BoolUnary_z child: {(DQ (${ VSub_Name KUBE_PASSWORD))} ) ) ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KUBE_USER) op: Equal rhs: {(admin)} spids: [2684] ) ] spids: [2684] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KUBE_PASSWORD) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(python)} {(-c)} { (SQ <"import string,random; \\\n"> < " print(\"\".join(random.SystemRandom().choice(string.ascii_letters + string.digits) for _ in range(16)))" > ) } ) ] ) left_token: <Left_CommandSub "$("> spids: [2689 2698] ) } spids: [2688] ) ] spids: [2688] ) ] spids: [-1 2681] ) ] spids: [-1 2701] ) ] spids: [2650] ) spids: [2646 2649] ) ] )