(List (Com {[LIT_CHARS source]} {[DQ [VarSub KUBE_ROOT][LIT_CHARS /cluster/gce/gci/helper.sh]]} ) (FunctionDef create-master-instance [] (List (= scope= flags=0 words=[] bindings=[('address_opt', {[DQ ]})]) (AndOr OP_AND_IF (DBracket {B1 UNARY_STRING_n {[VarSub 1 test_op=VS_TEST_COLON_HYPHEN {}]}}) (= scope= flags=0 words=[] bindings=[('address_opt', {[DQ [LIT_CHARS "--address "][VarSub 1]]})]) ) (Com {[LIT_CHARS write-master-env]} ) (Com {[LIT_CHARS ensure-gci-metadata-files]} ) (Com {[LIT_CHARS create-master-instance-internal]} {[DQ [VarSub MASTER_NAME]]} {[DQ [VarSub address_opt]]} ) ) ) (FunctionDef replicate-master-instance [] (List (= scope= flags=0 words=[] bindings=[('existing_master_zone', {[DQ [VarSub 1]]})]) (= scope= flags=0 words=[] bindings=[('existing_master_name', {[DQ [VarSub 2]]})]) (= scope= flags=0 words=[] bindings=[('existing_master_replicas', {[DQ [VarSub 3]]})]) (= scope= flags=0 words=[] bindings=[('kube_env', {[DQ [ComSub (Com {[LIT_CHARS get-metadata]} {[DQ [VarSub existing_master_zone]]} {[DQ [VarSub existing_master_name]]} {[LIT_CHARS kube-env]})]]})]) (= scope= flags=0 words=[] bindings=[('kube_env', {[DQ [ComSub (Pipeline (Com {[LIT_CHARS echo]} {[DQ [VarSub kube_env]]}) (Com {[LIT_CHARS grep]} {[LIT_CHARS -v]} {[DQ [LIT_CHARS INITIAL_ETCD_CLUSTER]]}) )]]})]) (= scope= flags=0 words=[] bindings=[('kube_env', {[DQ [ComSub (Com {[LIT_CHARS echo]} {[LIT_CHARS -e]} {[DQ [VarSub kube_env][\ LIT_ESCAPED_CHAR "\\n"][LIT_CHARS "INITIAL_ETCD_CLUSTER: '"][VarSub existing_master_replicas][LIT_CHARS ","][VarSub REPLICA_NAME][LIT_CHARS "'"]]})]]})]) (Com {[LIT_CHARS echo]} {[DQ [VarSub kube_env]]} < (FilenameRedirectNode filename={[VarSub KUBE_TEMP] [LIT_CHARS /master-kube-env.yaml]} "> 1), > ) (Com {[LIT_CHARS get-metadata]} {[DQ [VarSub existing_master_zone]]} {[DQ [VarSub existing_master_name]]} {[LIT_CHARS cluster-name]} < (FilenameRedirectNode filename={[DQ [VarSub KUBE_TEMP][LIT_CHARS /cluster-name.txt]]} "> 1), > ) (Com {[LIT_CHARS get-metadata]} {[DQ [VarSub existing_master_zone]]} {[DQ [VarSub existing_master_name]]} {[LIT_CHARS gci-update-strategy]} < (FilenameRedirectNode filename={[DQ [VarSub KUBE_TEMP][LIT_CHARS /gci-update.txt]]} "> 1), > ) (Com {[LIT_CHARS get-metadata]} {[DQ [VarSub existing_master_zone]]} {[DQ [VarSub existing_master_name]]} {[LIT_CHARS gci-ensure-gke-docker]} < (FilenameRedirectNode filename={[DQ [VarSub KUBE_TEMP][LIT_CHARS /gci-ensure-gke-docker.txt]]} "> 1), > ) (Com {[LIT_CHARS get-metadata]} {[DQ [VarSub existing_master_zone]]} {[DQ [VarSub existing_master_name]]} {[LIT_CHARS gci-docker-version]} < (FilenameRedirectNode filename={[DQ [VarSub KUBE_TEMP][LIT_CHARS /gci-docker-version.txt]]} "> 1), > ) (Com {[LIT_CHARS create-master-instance-internal]} {[DQ [VarSub REPLICA_NAME]]} ) ) ) (FunctionDef create-master-instance-internal [] (List (= scope= flags=0 words=[{[LIT_CHARS -r]}] bindings=[('master_name', {[DQ [VarSub 1]]})]) (= scope= flags=0 words=[{[LIT_CHARS -r]}] bindings=[('address_option', {[DQ [VarSub 2 test_op=VS_TEST_COLON_HYPHEN {}]]})]) (Com {[LIT_CHARS gcloud]} {[LIT_CHARS compute]} {[LIT_CHARS instances]} {[LIT_CHARS create]} {[DQ [VarSub master_name]]} {[VarSub address_option]} {[LIT_CHARS --project]} {[DQ [VarSub PROJECT]]} {[LIT_CHARS --zone]} {[DQ [VarSub ZONE]]} {[LIT_CHARS --machine-type]} {[DQ [VarSub MASTER_SIZE]]} {[LIT_CHARS --image-project] [LIT_DBRACKET_LIKE "="] [DQ [VarSub MASTER_IMAGE_PROJECT]]} {[LIT_CHARS --image]} {[DQ [VarSub MASTER_IMAGE]]} {[LIT_CHARS --tags]} {[DQ [VarSub MASTER_TAG]]} {[LIT_CHARS --network]} {[DQ [VarSub NETWORK]]} {[LIT_CHARS --scopes]} {[DQ [LIT_CHARS "storage-ro,compute-rw,monitoring,logging-write"]]} {[LIT_CHARS --can-ip-forward]} {[LIT_CHARS --metadata-from-file]} {[DQ [LIT_CHARS "kube-env="][VarSub KUBE_TEMP][LIT_CHARS "/master-kube-env.yaml,user-data="][VarSub KUBE_ROOT][LIT_CHARS "/cluster/gce/gci/master.yaml,configure-sh="][VarSub KUBE_ROOT][LIT_CHARS "/cluster/gce/gci/configure.sh,cluster-name="][VarSub KUBE_TEMP][LIT_CHARS "/cluster-name.txt,gci-update-strategy="][VarSub KUBE_TEMP][LIT_CHARS "/gci-update.txt,gci-ensure-gke-docker="][VarSub KUBE_TEMP][LIT_CHARS "/gci-ensure-gke-docker.txt,gci-docker-version="][VarSub KUBE_TEMP][LIT_CHARS /gci-docker-version.txt]]} {[LIT_CHARS --disk]} {[DQ [LIT_CHARS "name="][VarSub master_name][LIT_CHARS "-pd,device-name=master-pd,mode=rw,boot=no,auto-delete=no"]]} {[LIT_CHARS --boot-disk-size]} {[DQ [VarSub MASTER_ROOT_DISK_SIZE test_op=VS_TEST_COLON_HYPHEN {[LIT_CHARS 10]}]]} ) ) ) (FunctionDef get-metadata [] (List (= scope= flags=0 words=[] bindings=[('zone', {[DQ [VarSub 1]]})]) (= scope= flags=0 words=[] bindings=[('name', {[DQ [VarSub 2]]})]) (= scope= flags=0 words=[] bindings=[('key', {[DQ [VarSub 3]]})]) (Com {[LIT_CHARS gcloud]} {[LIT_CHARS compute]} {[LIT_CHARS ssh]} {[DQ [VarSub name]]} {[LIT_CHARS --project]} {[DQ [VarSub PROJECT]]} {[LIT_CHARS --zone]} {[DQ [VarSub zone]]} {[LIT_CHARS --command]} {[DQ [LIT_CHARS "curl "][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS "http://metadata.google.internal/computeMetadata/v1/instance/attributes/"][VarSub key][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS " -H "][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS "Metadata-Flavor: Google"][\ LIT_ESCAPED_CHAR "\\\""]]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2), > ) ) ) )