(List (FunctionDef ensure-basic-networking [] (Com {[LIT_OTHER ":"]} ) ) (FunctionDef ensure-packages [] (List (Com {[LIT_CHARS apt-get-install]} {[LIT_CHARS curl]} ) (Com {[LIT_CHARS apt-get-install]} {[LIT_CHARS python-yaml]} ) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[LIT_CHARS /usr/share/google]} ) (Com {[LIT_CHARS cd]} {[LIT_CHARS /usr/share/google]} ) (Com {[LIT_CHARS download-or-bust]} {[DQ [LIT_CHARS dc96f40fdc9a0815f099a51738587ef5a976f1da]]} {[LIT_CHARS https] [LIT_OTHER ":"] [LIT_CHARS //raw.githubusercontent.com/GoogleCloudPlatform/compute-image-packages/82b75f314528b90485d5239ab5d5495cc22d775f/google-startup-scripts/usr/share/google/safe_format_and_mount]} ) (Com {[LIT_CHARS chmod]} {[LIT_OTHER "+"] [LIT_CHARS x]} {[LIT_CHARS safe_format_and_mount]} ) ) ) (FunctionDef set-kube-env [] (List (= scope= flags=0 words=[] bindings=[('kube_env_yaml', {[DQ [LIT_CHARS /etc/kubernetes/kube_env.yaml]]})]) (Com {[LIT_CHARS eval]} {[DQ [ComSub (Com redirects=[(FilenameRedirectNode filename={[DQ ] [DQ [VarSub kube_env_yaml]] [DQ ]} 0)]{[LIT_CHARS python]} {[LIT_CHARS -c]} {[SQ ]})]]} ) ) ) (FunctionDef remove-docker-artifacts [] (Com {[LIT_OTHER ":"]} ) ) (FunctionDef find-master-pd [] (List (If (Subshell (Com {[LIT_CHARS grep]} {[DQ [LIT_CHARS /mnt/master-pd]]} {[LIT_CHARS /proc/mounts]} ) ) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Master PD already mounted; won't remount"]]} ) (= scope= flags=0 words=[] bindings=[('MASTER_PD_DEVICE', {[DQ ]})]) (Com {[LIT_CHARS return]} ) ) ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Waiting for master pd to be attached"]]} ) (= scope= flags=0 words=[] bindings=[('attempt', {[LIT_CHARS 0]})]) (While (Com {[LIT_CHARS true]} ) (List (Com {[LIT_CHARS echo]} {[LIT_CHARS Attempt]} {[DQ [ArithSub {A2 AS_OP_PLUS {A Atom NODE_ARITH_WORD {[VarSub attempt]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}]]} {[LIT_CHARS to]} {[LIT_CHARS check]} {[LIT_CHARS for]} {[LIT_CHARS /dev/xvdb]} ) (If (DBracket {B1 UNARY_FILE_e {[LIT_CHARS /dev/xvdb]}}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Found /dev/xvdb"]]} ) (= scope= flags=0 words=[] bindings=[('MASTER_PD_DEVICE', {[DQ [LIT_CHARS /dev/xvdb]]})]) (Com {[LIT_CHARS break]} ) ) ) (= scope= flags=0 words=[] bindings=[('attempt', {[ArithSub {A2 AS_OP_PLUS {A Atom NODE_ARITH_WORD {[VarSub attempt]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}]})]) (Com {[LIT_CHARS sleep]} {[LIT_CHARS 1]} ) ) ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "/dev/xvdb /mnt/master-pd ext4 noatime 0 0"]]} < (FilenameRedirectNode filename={[LIT_CHARS /etc/fstab]} >"> 1), > ) ) ) (FunctionDef fix-apt-sources [] (Com {[LIT_OTHER ":"]} ) ) (FunctionDef salt-master-role [] (List (Com {[LIT_CHARS cat]} < (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "grains:\n"][LIT_CHARS " roles:\n"][LIT_CHARS " - kubernetes-master\n"][LIT_CHARS " cloud: aws\n"]]} 0), (FilenameRedirectNode filename={[LIT_CHARS /etc/salt/minion.d/grains.conf]} "> 1), > ) (If (AndOr OP_AND_IF (DBracket {B! {B1 UNARY_STRING_z {[DQ [VarSub KUBELET_APISERVER test_op=VS_TEST_COLON_HYPHEN {}]]}}}) (AndOr OP_AND_IF (DBracket {B! {B1 UNARY_STRING_z {[DQ [VarSub KUBELET_CERT test_op=VS_TEST_COLON_HYPHEN {}]]}}}) (DBracket {B! {B1 UNARY_STRING_z {[DQ [VarSub KUBELET_KEY test_op=VS_TEST_COLON_HYPHEN {}]]}}}) ) ) (Com {[LIT_CHARS cat]} < (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS " kubelet_api_servers: '"][VarSub KUBELET_APISERVER][LIT_CHARS "'\n"][LIT_CHARS " cbr-cidr: 10.123.45.0/29\n"]]} 0), (FilenameRedirectNode filename={[LIT_CHARS /etc/salt/minion.d/grains.conf]} >"> 1), > ) (ElseTrue) (Com {[LIT_CHARS cat]} < (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS " cbr-cidr: "][VarSub MASTER_IP_RANGE][LIT_CHARS "\n"]]} 0), (FilenameRedirectNode filename={[LIT_CHARS /etc/salt/minion.d/grains.conf]} >"> 1), > ) ) (Com {[LIT_CHARS env-to-grains]} {[DQ [LIT_CHARS runtime_config]]} ) (Com {[LIT_CHARS env-to-grains]} {[DQ [LIT_CHARS kube_user]]} ) ) ) (FunctionDef salt-node-role [] (List (Com {[LIT_CHARS cat]} < (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "grains:\n"][LIT_CHARS " roles:\n"][LIT_CHARS " - kubernetes-pool\n"][LIT_CHARS " cbr-cidr: 10.123.45.0/29\n"][LIT_CHARS " cloud: aws\n"][LIT_CHARS " api_servers: '"][VarSub API_SERVERS][LIT_CHARS "'\n"]]} 0), (FilenameRedirectNode filename={[LIT_CHARS /etc/salt/minion.d/grains.conf]} "> 1), > ) (If (DBracket {B1 UNARY_STRING_z {[DQ [VarSub HOSTNAME_OVERRIDE test_op=VS_TEST_COLON_HYPHEN {}]]}}) (= scope= flags=0 words=[] bindings=[('HOSTNAME_OVERRIDE', {[ComSub (Com {[LIT_CHARS curl]} {[LIT_CHARS --silent]} {[LIT_CHARS curl]} {[LIT_CHARS http] [LIT_OTHER ":"] [LIT_CHARS //169.254.169.254/2007-01-19/meta-data/local-hostname]})]})]) ) (Com {[LIT_CHARS env-to-grains]} {[DQ [LIT_CHARS hostname_override]]} ) ) ) (FunctionDef run-user-script [] (Com {[LIT_OTHER ":"]} ) ) )