(List (= scope= flags=0 words=[] bindings=[('DOCKER_OPTS', {[VarSub DOCKER_OPTS test_op=VS_TEST_COLON_HYPHEN {[DQ ]}]})]) (= scope= flags=0 words=[] bindings=[('DOCKER_NATIVE', {[VarSub DOCKER_NATIVE test_op=VS_TEST_COLON_HYPHEN {[DQ ]}]})]) (= scope= flags=0 words=[] bindings=[('DOCKER', {[Array {[LIT_CHARS docker]} {[VarSub DOCKER_OPTS]}]})]) (= scope= flags=0 words=[] bindings=[('KUBE_ROOT', {[ComSub (Com {[LIT_CHARS dirname]} {[DQ [VarSub BASH_SOURCE]]})] [LIT_CHARS /..]})]) (Com {[LIT_CHARS cd]} {[DQ [VarSub KUBE_ROOT]]} ) (Com {[LIT_CHARS set]} {[LIT_CHARS -e]} ) (Com {[LIT_CHARS source]} {[DQ [VarSub KUBE_ROOT][LIT_CHARS /hack/lib/init.sh]]} ) (Com {[DQ [VarSub KUBE_ROOT][LIT_CHARS /hack/build-go.sh]]} ) (Com {[VarSub DOCKER bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}})]} {[LIT_CHARS ps]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2), (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), > ) (If (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub ?]]} {[LIT_NEQUAL "!="]} {[DQ [LIT_CHARS 0]]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Failed to successfully run 'docker ps', please verify that docker is installed and "][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS "DOCKER_HOST is set correctly."]]} ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Starting etcd"]]} ) (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS etcd] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS start]} ) (Com {[LIT_CHARS set]} {[LIT_OTHER "+"] [LIT_CHARS e]} ) (= scope= flags=0 words=[] bindings=[('API_PORT', {[VarSub API_PORT test_op=VS_TEST_COLON_HYPHEN {[LIT_CHARS 8080]}]})]) (= scope= flags=0 words=[] bindings=[('API_HOST', {[VarSub API_HOST test_op=VS_TEST_COLON_HYPHEN {[LIT_CHARS 127.0.0.1]}]})]) (= scope= flags=0 words=[] bindings=[('API_CORS_ALLOWED_ORIGINS', {[VarSub API_CORS_ALLOWED_ORIGINS test_op=VS_TEST_COLON_HYPHEN {[DQ [LIT_CHARS "/127.0.0.1(:[0-9]+)?"][LIT_OTHER "$"][LIT_CHARS ",/localhost(:[0-9]+)?"][LIT_OTHER "$"]]}]})]) (= scope= flags=0 words=[] bindings=[('KUBELET_PORT', {[VarSub KUBELET_PORT test_op=VS_TEST_COLON_HYPHEN {[LIT_CHARS 10250]}]})]) (= scope= flags=0 words=[] bindings=[('LOG_LEVEL', {[VarSub LOG_LEVEL test_op=VS_TEST_COLON_HYPHEN {[LIT_CHARS 3]}]})]) (Case to_match={[DQ [ComSub (Com {[LIT_CHARS uname]} {[LIT_CHARS -s]})]]}, pat_word_list=[[{[LIT_CHARS Darwin]}], [{[LIT_CHARS Linux]}], [{[LIT_OTHER "*"]}]] (= scope= flags=0 words=[] bindings=[('host_os', {[LIT_CHARS darwin]})]) (= scope= flags=0 words=[] bindings=[('host_os', {[LIT_CHARS linux]})]) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Unsupported host OS. Must be Linux or Mac OS X."]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) ) (Case to_match={[DQ [ComSub (Com {[LIT_CHARS uname]} {[LIT_CHARS -m]})]]}, pat_word_list=[[{[LIT_CHARS x86_64] [LIT_OTHER "*"]}], [{[LIT_CHARS i] [LIT_OTHER "?"] [LIT_CHARS 86_64] [LIT_OTHER "*"]}], [{[LIT_CHARS amd64] [LIT_OTHER "*"]}], [{[LIT_CHARS arm] [LIT_OTHER "*"]}], [{[LIT_CHARS i] [LIT_OTHER "?"] [LIT_CHARS 86] [LIT_OTHER "*"]}], [{[LIT_OTHER "*"]}]] (= scope= flags=0 words=[] bindings=[('host_arch', {[LIT_CHARS amd64]})]) (= scope= flags=0 words=[] bindings=[('host_arch', {[LIT_CHARS amd64]})]) (= scope= flags=0 words=[] bindings=[('host_arch', {[LIT_CHARS amd64]})]) (= scope= flags=0 words=[] bindings=[('host_arch', {[LIT_CHARS arm]})]) (= scope= flags=0 words=[] bindings=[('host_arch', {[LIT_CHARS x86]})]) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Unsupported host arch. Must be x86_64, 386 or arm."]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) ) (= scope= flags=0 words=[] bindings=[('GO_OUT', {[DQ [VarSub KUBE_ROOT][LIT_CHARS /_output/local/bin/][VarSub host_os][LIT_CHARS /][VarSub host_arch]]})]) (= scope= flags=0 words=[] bindings=[('APISERVER_LOG', {[LIT_CHARS /tmp/kube-apiserver.log]})]) (Fork (Com {[LIT_CHARS sudo]} {[DQ [VarSub GO_OUT][LIT_CHARS /kube-apiserver]]} {[LIT_CHARS -v] [LIT_DBRACKET_LIKE "="] [VarSub LOG_LEVEL]} {[LIT_CHARS --address] [LIT_DBRACKET_LIKE "="] [DQ [VarSub API_HOST]]} {[LIT_CHARS --port] [LIT_DBRACKET_LIKE "="] [DQ [VarSub API_PORT]]} {[LIT_CHARS --etcd_servers] [LIT_DBRACKET_LIKE "="] [DQ [LIT_CHARS "http://127.0.0.1:4001"]]} {[LIT_CHARS --portal_net] [LIT_DBRACKET_LIKE "="] [DQ [LIT_CHARS 10.0.0.0/24]]} {[LIT_CHARS --cors_allowed_origins] [LIT_DBRACKET_LIKE "="] [DQ [VarSub API_CORS_ALLOWED_ORIGINS]]} < (FilenameRedirectNode filename={[DQ [VarSub APISERVER_LOG]]} "> 1), (DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2), > ) ) (= scope= flags=0 words=[] bindings=[('APISERVER_PID', {[VarSub !]})]) (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS util] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS wait_for_url]} {[DQ [LIT_CHARS "http://"][VarSub API_HOST][LIT_CHARS ":"][VarSub API_PORT][LIT_CHARS /api/v1beta1/pods]]} {[DQ [LIT_CHARS "apiserver: "]]} ) (= scope= flags=0 words=[] bindings=[('CTLRMGR_LOG', {[LIT_CHARS /tmp/kube-controller-manager.log]})]) (Fork (Com {[LIT_CHARS sudo]} {[DQ [VarSub GO_OUT][LIT_CHARS /kube-controller-manager]]} {[LIT_CHARS -v] [LIT_DBRACKET_LIKE "="] [VarSub LOG_LEVEL]} {[LIT_CHARS --machines] [LIT_DBRACKET_LIKE "="] [DQ [LIT_CHARS 127.0.0.1]]} {[LIT_CHARS --master] [LIT_DBRACKET_LIKE "="] [DQ [VarSub API_HOST][LIT_CHARS ":"][VarSub API_PORT]]} < (FilenameRedirectNode filename={[DQ [VarSub CTLRMGR_LOG]]} "> 1), (DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2), > ) ) (= scope= flags=0 words=[] bindings=[('CTLRMGR_PID', {[VarSub !]})]) (= scope= flags=0 words=[] bindings=[('KUBELET_LOG', {[LIT_CHARS /tmp/kubelet.log]})]) (Fork (Com {[LIT_CHARS sudo]} {[DQ [VarSub GO_OUT][LIT_CHARS /kubelet]]} {[LIT_CHARS -v] [LIT_DBRACKET_LIKE "="] [VarSub LOG_LEVEL]} {[LIT_CHARS --etcd_servers] [LIT_DBRACKET_LIKE "="] [DQ [LIT_CHARS "http://127.0.0.1:4001"]]} {[LIT_CHARS --hostname_override] [LIT_DBRACKET_LIKE "="] [DQ [LIT_CHARS 127.0.0.1]]} {[LIT_CHARS --address] [LIT_DBRACKET_LIKE "="] [DQ [LIT_CHARS 127.0.0.1]]} {[LIT_CHARS --port] [LIT_DBRACKET_LIKE "="] [DQ [VarSub KUBELET_PORT]]} < (FilenameRedirectNode filename={[DQ [VarSub KUBELET_LOG]]} "> 1), (DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2), > ) ) (= scope= flags=0 words=[] bindings=[('KUBELET_PID', {[VarSub !]})]) (= scope= flags=0 words=[] bindings=[('PROXY_LOG', {[LIT_CHARS /tmp/kube-proxy.log]})]) (Fork (Com {[LIT_CHARS sudo]} {[DQ [VarSub GO_OUT][LIT_CHARS /kube-proxy]]} {[LIT_CHARS -v] [LIT_DBRACKET_LIKE "="] [VarSub LOG_LEVEL]} {[LIT_CHARS --master] [LIT_DBRACKET_LIKE "="] [DQ [LIT_CHARS "http://"][VarSub API_HOST][LIT_CHARS ":"][VarSub API_PORT]]} < (FilenameRedirectNode filename={[DQ [VarSub PROXY_LOG]]} "> 1), (DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2), > ) ) (= scope= flags=0 words=[] bindings=[('PROXY_PID', {[VarSub !]})]) (= scope= flags=0 words=[] bindings=[('SCHEDULER_LOG', {[LIT_CHARS /tmp/kube-scheduler.log]})]) (Fork (Com {[LIT_CHARS sudo]} {[DQ [VarSub GO_OUT][LIT_CHARS /kube-scheduler]]} {[LIT_CHARS -v] [LIT_DBRACKET_LIKE "="] [VarSub LOG_LEVEL]} {[LIT_CHARS --master] [LIT_DBRACKET_LIKE "="] [DQ [LIT_CHARS "http://"][VarSub API_HOST][LIT_CHARS ":"][VarSub API_PORT]]} < (FilenameRedirectNode filename={[DQ [VarSub SCHEDULER_LOG]]} "> 1), (DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2), > ) ) (= scope= flags=0 words=[] bindings=[('SCHEDULER_PID', {[VarSub !]})]) (Com {[LIT_CHARS cat]} < (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "Local Kubernetes cluster is running. Press Ctrl-C to shut it down.\n"][LIT_CHARS "\n"][LIT_CHARS "Logs:\n"][LIT_CHARS " "][VarSub APISERVER_LOG][LIT_CHARS "\n"][LIT_CHARS " "][VarSub CTLRMGR_LOG][LIT_CHARS "\n"][LIT_CHARS " "][VarSub KUBELET_LOG][LIT_CHARS "\n"][LIT_CHARS " "][VarSub PROXY_LOG][LIT_CHARS "\n"][LIT_CHARS " "][VarSub SCHEDULER_LOG][LIT_CHARS "\n"][LIT_CHARS "\n"][LIT_CHARS "To start using your cluster, open up another terminal/tab and run:\n"][LIT_CHARS "\n"][LIT_CHARS " export KUBERNETES_PROVIDER=local\n"][LIT_CHARS " cluster/kubectl.sh\n"]]} 0), > ) (FunctionDef cleanup [] (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Cleaning up..."]]} ) (Com {[LIT_CHARS sudo]} {[LIT_CHARS kill]} {[DQ [VarSub APISERVER_PID]]} ) (Com {[LIT_CHARS sudo]} {[LIT_CHARS kill]} {[DQ [VarSub CTLRMGR_PID]]} ) (Com {[LIT_CHARS sudo]} {[LIT_CHARS kill]} {[DQ [VarSub KUBELET_PID]]} ) (Com {[LIT_CHARS sudo]} {[LIT_CHARS kill]} {[DQ [VarSub PROXY_PID]]} ) (Com {[LIT_CHARS sudo]} {[LIT_CHARS kill]} {[DQ [VarSub SCHEDULER_PID]]} ) (Com {[LIT_CHARS kill]} {[DQ [VarSub ETCD_PID]]} ) (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[DQ [VarSub ETCD_DIR]]} ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 0]} ) ) ) (Com {[LIT_CHARS trap]} {[LIT_CHARS cleanup]} {[LIT_CHARS EXIT]} ) (While (Com {[LIT_CHARS true]} ) (Com {[LIT_CHARS sleep]} {[LIT_CHARS 1]} ) ) )