(List (Com {[LIT_CHARS set]} {[LIT_CHARS -o]} {[LIT_CHARS errexit]} ) (Com {[LIT_CHARS set]} {[LIT_CHARS -o]} {[LIT_CHARS nounset]} ) (Com {[LIT_CHARS set]} {[LIT_CHARS -o]} {[LIT_CHARS pipefail]} ) (= scope= flags=0 words=[] bindings=[('SALT_ROOT', {[ComSub (Com {[LIT_CHARS dirname]} {[DQ [VarSub BASH_SOURCE]]})]})]) (= scope= flags=2 words=[{[LIT_CHARS SALT_ROOT]}] bindings=[]) (= scope= flags=2 words=[] bindings=[('KUBE_DOCKER_WRAPPED_BINARIES', {[Array {OP_NEWLINE "\n"} {[LIT_CHARS kube-apiserver]} {OP_NEWLINE "\n"} {[LIT_CHARS kube-controller-manager]} {OP_NEWLINE "\n"} {[LIT_CHARS kube-scheduler]} {OP_NEWLINE "\n"} {[LIT_CHARS kube-proxy]} {OP_NEWLINE "\n"}]})]) (= scope= flags=2 words=[] bindings=[('SERVER_BIN_TAR', {[VarSub 1 test_op=VS_TEST_HYPHEN {}]})]) (If (DBracket {B1 UNARY_STRING_z {[DQ [VarSub SERVER_BIN_TAR]]}}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "!!! No binaries specified"]]} ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) ) (= scope= flags=0 words=[] bindings=[('KUBE_TEMP', {[ComSub (Com {[LIT_CHARS mktemp]} {[LIT_CHARS --tmpdir] [LIT_DBRACKET_LIKE "="] [LIT_CHARS /srv]} {[LIT_CHARS -d]} {[LIT_CHARS -t]} {[LIT_CHARS kubernetes.XXXXXX]})]})]) (Com {[LIT_CHARS trap]} {[SQ ]} {[LIT_CHARS EXIT]} ) (= scope= flags=2 words=[] bindings=[('SALTDIRS', {[Array {[LIT_CHARS salt]} {[LIT_CHARS pillar]} {[LIT_CHARS reactor]}]})]) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "+++ Installing salt files into new trees"]]} ) (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[LIT_CHARS /srv/salt-new]} ) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[LIT_CHARS /srv/salt-new]} ) (Com {[LIT_CHARS cp]} {[LIT_CHARS -v]} {[LIT_CHARS -R]} {[LIT_CHARS --preserve] [LIT_DBRACKET_LIKE "="] [LIT_CHARS mode]} {[DQ [VarSub SALTDIRS bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}}) transform_ops=[PatSub {} {[VarSub SALT_ROOT] [LIT_SLASH /]} do_suffix]]]} {[LIT_CHARS /srv/salt-new]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "+++ Installing salt overlay files"]]} ) (For dir [{[DQ [VarSub SALTDIRS bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}})]]}]) (If (DBracket {B1 UNARY_FILE_d {[DQ [LIT_CHARS /srv/salt-overlay/][VarSub dir]]}}) (Com {[LIT_CHARS cp]} {[LIT_CHARS -v]} {[LIT_CHARS -R]} {[LIT_CHARS --preserve] [LIT_DBRACKET_LIKE "="] [LIT_CHARS mode]} {[DQ [LIT_CHARS /srv/salt-overlay/][VarSub dir]]} {[DQ [LIT_CHARS /srv/salt-new/]]} ) ) ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "+++ Install binaries from tar: "][VarSub 1]]} ) (Com {[LIT_CHARS tar]} {[LIT_CHARS -xz]} {[LIT_CHARS -C]} {[DQ [VarSub KUBE_TEMP]]} {[LIT_CHARS -f]} {[DQ [VarSub 1]]} ) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[LIT_CHARS /srv/salt-new/salt/kube-bins]} ) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[LIT_CHARS /srv/salt-new/salt/kube-docs]} ) (Com {[LIT_CHARS cp]} {[LIT_CHARS -v]} {[DQ [VarSub KUBE_TEMP][LIT_CHARS /kubernetes/server/bin/]] [LIT_OTHER "*"]} {[LIT_CHARS /srv/salt-new/salt/kube-bins/]} ) (Com {[LIT_CHARS cp]} {[LIT_CHARS -v]} {[DQ [VarSub KUBE_TEMP][LIT_CHARS /kubernetes/LICENSES]]} {[LIT_CHARS /srv/salt-new/salt/kube-docs/]} ) (Com {[LIT_CHARS cp]} {[LIT_CHARS -v]} {[DQ [VarSub KUBE_TEMP][LIT_CHARS /kubernetes/kubernetes-src.tar.gz]]} {[LIT_CHARS /srv/salt-new/salt/kube-docs/]} ) (= scope= flags=0 words=[] bindings=[('kube_bin_dir', {[DQ [LIT_CHARS /srv/salt-new/salt/kube-bins]]})]) (= scope= flags=0 words=[] bindings=[('docker_images_sls_file', {[DQ [LIT_CHARS /srv/salt-new/pillar/docker-images.sls]]})]) (For docker_file [{[DQ [VarSub KUBE_DOCKER_WRAPPED_BINARIES bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}})]]}]) (List (= scope= flags=0 words=[] bindings=[('docker_tag', {[ComSub (Com {[LIT_CHARS cat]} {[VarSub kube_bin_dir] [LIT_CHARS /] [VarSub docker_file] [LIT_CHARS .docker_tag]})]})]) (If (DBracket {B! {B1 UNARY_STRING_z {[DQ [VarSub KUBE_IMAGE_TAG test_op=VS_TEST_COLON_HYPHEN {}]]}}}) (= scope= flags=0 words=[] bindings=[('docker_tag', {[DQ [VarSub KUBE_IMAGE_TAG]]})]) ) (Com {[LIT_CHARS sed]} {[LIT_CHARS -i]} {[DQ [LIT_CHARS "s/#"][VarSub docker_file][LIT_CHARS "_docker_tag_value#/"][VarSub docker_tag][LIT_CHARS /]]} {[DQ [VarSub docker_images_sls_file]]} ) ) ) (Com {[LIT_CHARS cat]} < (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "kube_docker_registry: '"][ComSub (Com {[LIT_CHARS echo]} {[VarSub KUBE_DOCKER_REGISTRY test_op=VS_TEST_COLON_HYPHEN {[LIT_CHARS gcr.io] [LIT_SLASH /] [LIT_CHARS google_containers]}]})][LIT_CHARS "'\n"]]} 0), (FilenameRedirectNode filename={[DQ [VarSub docker_images_sls_file]]} >"> 1), > ) (= scope= flags=2 words=[] bindings=[('kube_addon_registry', {[DQ [VarSub KUBE_ADDON_REGISTRY test_op=VS_TEST_COLON_HYPHEN {[LIT_CHARS gcr.io] [LIT_SLASH /] [LIT_CHARS google_containers]}]]})]) (If (DBracket {B2 BINARY_STRING_NOT_EQUAL {[DQ [VarSub kube_addon_registry]]} {[DQ [LIT_CHARS gcr.io/google_containers]]}}) (List (Pipeline (Com {[LIT_CHARS find]} {[LIT_CHARS /srv/salt-new]} {[LIT_CHARS -name]} {[\ LIT_ESCAPED_CHAR "\\*"] [LIT_CHARS .yaml]} {[LIT_CHARS -or]} {[LIT_CHARS -name]} {[\ LIT_ESCAPED_CHAR "\\*"] [LIT_CHARS .yaml.in]} ) (Com {[LIT_CHARS xargs]} {[LIT_CHARS sed]} {[LIT_CHARS -ri]} {[DQ [LIT_CHARS "s@(image:"][\ LIT_ESCAPED_CHAR "\\s"][LIT_CHARS ".*)gcr.io/google_containers@"][\ LIT_ESCAPED_CHAR "\\1"][VarSub kube_addon_registry][LIT_CHARS "@"]]} ) ) (Pipeline (Com {[LIT_CHARS find]} {[LIT_CHARS /srv/salt-new]} {[LIT_CHARS -name]} {[\ LIT_ESCAPED_CHAR "\\*"] [LIT_CHARS .manifest]} {[LIT_CHARS -or]} {[LIT_CHARS -name]} {[\ LIT_ESCAPED_CHAR "\\*"] [LIT_CHARS .json]} ) (Com {[LIT_CHARS xargs]} {[LIT_CHARS sed]} {[LIT_CHARS -ri]} {[DQ [LIT_CHARS "s@(image"][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS ":"][\ LIT_ESCAPED_CHAR "\\s"][LIT_CHARS "+"][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS ")gcr.io/google_containers@"][\ LIT_ESCAPED_CHAR "\\1"][VarSub kube_addon_registry][LIT_CHARS "@"]]} ) ) ) ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "+++ Swapping in new configs"]]} ) (For dir [{[DQ [VarSub SALTDIRS bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}})]]}]) (List (If (DBracket {B1 UNARY_FILE_d {[DQ [LIT_CHARS /srv/][VarSub dir]]}}) (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[DQ [LIT_CHARS /srv/][VarSub dir]]} ) ) (Com {[LIT_CHARS mv]} {[LIT_CHARS -v]} {[DQ [LIT_CHARS /srv/salt-new/][VarSub dir]]} {[DQ [LIT_CHARS /srv/][VarSub dir]]} ) ) ) (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[LIT_CHARS /srv/salt-new]} ) )