(CommandList children: [ (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: [47 55] ) } spids: [46] ) ] spids: [44] ) (C {(export)} {(Lit_VarLike "MASTER=") (BracedVarSub token: <VSub_Name MASTER> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(DQ ("centos@172.10.0.11"))}) spids: [67 73] ) } ) (C {(export)} {(Lit_VarLike "MASTER_IP=") (BracedVarSub token: <VSub_Name MASTER> suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{("*@")}) spids: [78 82] ) } ) (C {(export)} {(Lit_VarLike "MASTERS=") (DQ (BracedVarSub token: <VSub_Name MASTERS> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{($ VSub_Name "$MASTER")}) spids: [98 102] ) ) } ) (FuncDef name: length-of body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:len) op:Equal rhs:{(0)} spids:[123])] spids: [121] ) (ForEach iter_name: part iter_words: [{($ VSub_Number "$1")}] do_arg_iter: False body: (DoGroup children: [(C {(let)} {(Lit_Other "+") (Lit_Other "+") (len)})] spids: [136 146] ) spids: [132 134] ) (C {(echo)} {($ VSub_Name "$len")}) ] spids: [118] ) spids: [112 117] ) (C {(export)} {(Lit_VarLike "NUM_MASTERS=") (DQ (BracedVarSub token: <VSub_Name NUM_MASTERS> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: { (CommandSubPart command_list: (CommandList children: [(C {(length-of)} {(DQ ($ VSub_Name "$MASTERS"))})] ) left_token: <Left_CommandSub "$("> spids: [165 171] ) } ) spids: [162 172] ) ) } ) (FuncDef name: default-advertise-address body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:masters_array) op: Equal rhs: {(ArrayLiteralPart words:[{(${ VSub_Name MASTERS)}])} spids: [194] ) ] spids: [192] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:master) op: Equal rhs: { (BracedVarSub token: <VSub_Name masters_array> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)})) spids: [205 210] ) } spids: [204] ) ] spids: [202] ) (C {(echo)} { (BracedVarSub token: <VSub_Name master> suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{("*@")}) spids: [215 219] ) } ) ] spids: [185] ) spids: [179 184] ) (C {(export)} {(Lit_VarLike "MASTER_ADVERTISE_ADDRESS=") (DQ (BracedVarSub token: <VSub_Name MASTER_ADVERTISE_ADDRESS> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: { (CommandSubPart command_list: (CommandList children:[(C {(default-advertise-address)})]) left_token: <Left_CommandSub "$("> spids: [237 239] ) } ) spids: [234 240] ) ) } ) (C {(export)} {(Lit_VarLike "MASTER_ADVERTISE_IP=") (DQ (BracedVarSub token: <VSub_Name MASTER_ADVERTISE_IP> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(getent)} {(hosts)} {(DQ (${ VSub_Name MASTER_ADVERTISE_ADDRESS))}) (C {(awk)} {(SQ <"{print $1; exit}">)}) ] negated: False ) ] ) left_token: <Left_CommandSub "$("> spids: [250 268] ) } ) spids: [247 269] ) ) } ) (C {(export)} {(Lit_VarLike "NODES=") (DQ (BracedVarSub token: <VSub_Name NODES> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {(DQ ("centos@172.10.0.12 centos@172.10.0.13"))} ) spids: [286 292] ) ) } ) (C {(export)} {(Lit_VarLike "NUM_NODES=") (DQ (BracedVarSub token: <VSub_Name NUM_NODES> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: { (CommandSubPart command_list: (CommandList children: [(C {(length-of)} {(DQ ($ VSub_Name "$NODES"))})] ) left_token: <Left_CommandSub "$("> spids: [306 312] ) } ) spids: [303 313] ) ) } ) (C {(export)} {(Lit_VarLike "NUM_NODES=") (DQ (${ VSub_Name NUM_NODES))}) (FuncDef name: concat-etcd-servers body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:etcd_servers) op:Equal rhs:{(DQ )} spids:[344])] spids: [342] ) (ForEach iter_name: master iter_words: [{(${ VSub_Name MASTERS)}] do_arg_iter: False body: (DoGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:master_ip) op: Equal rhs: { (BracedVarSub token: <VSub_Name master> suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{("*@")}) spids: [366 370] ) } spids: [365] ) ] spids: [363] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:prefix) op: Equal rhs: {(DQ )} spids: [375] ) ] spids: [373] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(-n)} {(DQ ($ VSub_Name "$etcd_servers"))} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:prefix) op: Equal rhs: {(DQ (${ VSub_Name etcd_servers) (","))} spids: [396] ) ] spids: [396] ) ] spids: [-1 393] ) ] spids: [-1 405] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:etcd_servers) op: Equal rhs: { (DQ (${ VSub_Name prefix) ("https://") (${ VSub_Name master_ip) (":2379")) } spids: [408] ) ] spids: [408] ) ] spids: [360 421] ) spids: [354 358] ) (C {(echo)} {(DQ ($ VSub_Name "$etcd_servers"))}) ] spids: [339] ) spids: [333 338] ) (C {(export)} {(Lit_VarLike "ETCD_SERVERS=") (DQ (CommandSubPart command_list: (CommandList children:[(C {(concat-etcd-servers)})]) left_token: <Left_CommandSub "$("> spids: [437 439] ) ) } ) (FuncDef name: concat-etcd-initial-cluster body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:etcd_initial_cluster) op: Equal rhs: {(DQ )} spids: [463] ) ] spids: [461] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:num_infra) op:Equal rhs:{(0)} spids:[470])] spids: [468] ) (ForEach iter_name: master iter_words: [{(${ VSub_Name MASTERS)}] do_arg_iter: False body: (DoGroup children: [ (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: [492 496] ) ) } spids: [490] ) ] spids: [488] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(-n)} {(DQ ($ VSub_Name "$etcd_initial_cluster"))} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:etcd_initial_cluster) op: PlusEqual rhs: {(DQ (","))} spids: [516] ) ] spids: [516] ) ] spids: [-1 513] ) ] spids: [-1 522] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:etcd_initial_cluster) op: PlusEqual rhs: { (DQ (infra) (${ VSub_Name num_infra) ("=https://") (${ VSub_Name master_ip) (":2380") ) } spids: [525] ) ] spids: [525] ) (C {(let)} {(Lit_Other "+") (Lit_Other "+") (num_infra)}) ] spids: [485 546] ) spids: [479 483] ) (C {(echo)} {(DQ ($ VSub_Name "$etcd_initial_cluster"))}) ] spids: [458] ) spids: [452 457] ) (C {(export)} {(Lit_VarLike "ETCD_INITIAL_CLUSTER=") (DQ (CommandSubPart command_list: (CommandList children:[(C {(concat-etcd-initial-cluster)})]) left_token: <Left_CommandSub "$("> spids: [562 564] ) ) } ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CERT_DIR) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name CERT_DIR> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {(${ VSub_Name root) (Lit_Slash /) (ca-cert)} ) spids: [570 578] ) ) } spids: [568] ) ] spids: [568] ) (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name CERT_DIR))}) (C {(export)} {(Lit_VarLike "CERT_DIR=") (DQ (CommandSubPart command_list: (CommandList children: [ (Sentence child: (C {(cd)} {(DQ (${ VSub_Name CERT_DIR))}) terminator: <Op_Semi ";"> ) (C {(pwd)}) ] ) left_token: <Left_CommandSub "$("> spids: [598 609] ) ) } ) (C {(export)} {(Lit_VarLike "SERVICE_CLUSTER_IP_RANGE=") (BracedVarSub token: <VSub_Name SERVICE_CLUSTER_IP_RANGE> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(DQ (192.168.3.0/24))}) spids: [622 628] ) } ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ENABLE_CLUSTER_DNS) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name KUBE_ENABLE_CLUSTER_DNS> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(true)}) spids: [636 640] ) ) } spids: [634] ) ] spids: [634] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DNS_SERVER_IP) op: Equal rhs: { (BracedVarSub token: <VSub_Name DNS_SERVER_IP> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(DQ (192.168.3.100))}) spids: [647 653] ) } spids: [646] ) ] spids: [646] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DNS_DOMAIN) op: Equal rhs: { (BracedVarSub token: <VSub_Name DNS_DOMAIN> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(DQ (cluster.local))}) spids: [656 662] ) } spids: [655] ) ] spids: [655] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ENABLE_CLUSTER_UI) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name KUBE_ENABLE_CLUSTER_UI> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(true)}) spids: [670 674] ) ) } spids: [668] ) ] spids: [668] ) (C {(export)} {(Lit_VarLike "FLANNEL_NET=") (BracedVarSub token: <VSub_Name FLANNEL_NET> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(DQ (172.16.0.0/16))}) spids: [684 690] ) } ) (C {(export)} {(Lit_VarLike "ADMISSION_CONTROL=") (BracedVarSub token: <VSub_Name ADMISSION_CONTROL> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: { (DQ ( "Initializers,NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultTolerationSeconds,Priority,ResourceQuota" ) ) } ) spids: [702 708] ) } ) (C {(export)} {(Lit_VarLike "DOCKER_OPTS=") (BracedVarSub token: <VSub_Name DOCKER_OPTS> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(DQ )}) spids: [720 725] ) } ) (C {(export)} {(Lit_VarLike "PROCESS_CHECK_TIMEOUT=") (BracedVarSub token: <VSub_Name PROCESS_CHECK_TIMEOUT> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(180)}) spids: [735 739] ) } ) (C {(unset)} {(-f)} {(default-advertise-address)} {(concat-etcd-servers)} {(length-of)} {(concat-etcd-initial-cluster)} ) ] )