From fa97cd1a63d3ba6a91452403a7c67f161978f836 Mon Sep 17 00:00:00 2001 From: vladsaveliev Date: Fri, 26 Feb 2021 09:20:17 +1100 Subject: [PATCH 1/4] One place with docker_prefix missed --- ci/test/resources/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/test/resources/build.yaml b/ci/test/resources/build.yaml index 0b78c54383f..2bd4ef77426 100644 --- a/ci/test/resources/build.yaml +++ b/ci/test/resources/build.yaml @@ -7,7 +7,7 @@ steps: name: inline_image dockerFile: inline: | - FROM {{ global.region }}-docker.pkg.dev/{{ global.project }}/hail/ubuntu:18.04 + FROM {{ global.docker_prefix }}/ubuntu:18.04 RUN apt-get update && apt-get install -y git contextPath: . - kind: runImage From ef9f131a7f22c76bd51c2ff5f2d3e2023f9edb39 Mon Sep 17 00:00:00 2001 From: vladsaveliev Date: Fri, 26 Feb 2021 10:10:40 +1100 Subject: [PATCH 2/4] Use DOCKER_ROOT_IMAGE to pass to batch worker image --- batch/batch/batch_configuration.py | 2 +- batch/batch/driver/create_instance.py | 10 +++++----- batch/build-batch-worker-image-startup.sh | 6 ++---- batch/deployment.yaml | 8 ++++---- ci/Makefile | 2 +- ci/bootstrap.py | 5 +++-- ci/ci/build.py | 2 ++ ci/ci/environment.py | 1 + ci/deployment.yaml | 2 ++ 9 files changed, 21 insertions(+), 17 deletions(-) diff --git a/batch/batch/batch_configuration.py b/batch/batch/batch_configuration.py index efb9b969175..dae316a2e4f 100644 --- a/batch/batch/batch_configuration.py +++ b/batch/batch/batch_configuration.py @@ -8,7 +8,7 @@ GCP_REGION = os.environ['HAIL_GCP_REGION'] GCP_ZONE = os.environ['HAIL_GCP_ZONE'] -DOCKER_PREFIX = os.environ['HAIL_DOCKER_PREFIX'] +DOCKER_ROOT_IMAGE = os.environ['HAIL_DOCKER_ROOT_IMAGE'] BATCH_GCP_REGIONS = set(json.loads(os.environ['HAIL_BATCH_GCP_REGIONS'])) BATCH_GCP_REGIONS.add(GCP_REGION) diff --git a/batch/batch/driver/create_instance.py b/batch/batch/driver/create_instance.py index 969309675ca..a7bcf516cf1 100644 --- a/batch/batch/driver/create_instance.py +++ b/batch/batch/driver/create_instance.py @@ -5,7 +5,7 @@ from hailtop import aiogoogle -from ..batch_configuration import PROJECT, DOCKER_PREFIX, DEFAULT_NAMESPACE +from ..batch_configuration import PROJECT, DOCKER_ROOT_IMAGE, DEFAULT_NAMESPACE from ..worker_config import WorkerConfig from ..log_store import LogStore @@ -173,7 +173,7 @@ async def create_instance(app, zone, machine_name, machine_type, activation_toke ZONE=$(curl -s http://metadata.google.internal/computeMetadata/v1/instance/zone -H 'Metadata-Flavor: Google') BATCH_WORKER_IMAGE=$(curl -s -H "Metadata-Flavor: Google" "http://metadata.google.internal/computeMetadata/v1/instance/attributes/batch_worker_image") -DOCKER_PREFIX=$(curl -s -H "Metadata-Flavor: Google" "http://metadata.google.internal/computeMetadata/v1/instance/attributes/docker_prefix") +DOCKER_ROOT_IMAGE=$(curl -s -H "Metadata-Flavor: Google" "http://metadata.google.internal/computeMetadata/v1/instance/attributes/docker_root_image") # Setup fluentd touch /worker.log @@ -250,7 +250,7 @@ async def create_instance(app, zone, machine_name, machine_type, activation_toke -e BATCH_LOGS_BUCKET_NAME=$BATCH_LOGS_BUCKET_NAME \ -e INSTANCE_ID=$INSTANCE_ID \ -e PROJECT=$PROJECT \ --e DOCKER_PREFIX=$DOCKER_PREFIX \ +-e DOCKER_ROOT_IMAGE=$DOCKER_ROOT_IMAGE \ -e WORKER_CONFIG=$WORKER_CONFIG \ -e MAX_IDLE_TIME_MSECS=$MAX_IDLE_TIME_MSECS \ -e WORKER_DATA_DISK_MOUNT=/mnt/disks/$WORKER_DATA_DISK_NAME \ @@ -295,8 +295,8 @@ async def create_instance(app, zone, machine_name, machine_type, activation_toke 'key': 'batch_worker_image', 'value': BATCH_WORKER_IMAGE }, { - 'key': 'docker_prefix', - 'value': DOCKER_PREFIX + 'key': 'docker_root_image', + 'value': DOCKER_ROOT_IMAGE }, { 'key': 'namespace', 'value': DEFAULT_NAMESPACE diff --git a/batch/build-batch-worker-image-startup.sh b/batch/build-batch-worker-image-startup.sh index 623b7eb985d..8401b8dfb72 100644 --- a/batch/build-batch-worker-image-startup.sh +++ b/batch/build-batch-worker-image-startup.sh @@ -40,11 +40,9 @@ curl -fsSL "https://github.com/GoogleCloudPlatform/docker-credential-gcr/release # avoid "unable to get current user home directory: os/user lookup failed" export HOME=/root -DOCKER_PREFIX=$(curl -s -H "Metadata-Flavor: Google" "http://metadata.google.internal/computeMetadata/v1/instance/attributes/docker_prefix") - docker-credential-gcr configure-docker --include-artifact-registry - -docker pull ${DOCKER_PREFIX}/ubuntu:18.04 +DOCKER_ROOT_IMAGE=$(curl -s -H "Metadata-Flavor: Google" "http://metadata.google.internal/computeMetadata/v1/instance/attributes/docker_root_image") +docker pull ${DOCKER_ROOT_IMAGE} docker pull gcr.io/google.com/cloudsdktool/cloud-sdk:310.0.0-alpine # add docker daemon debug logging diff --git a/batch/deployment.yaml b/batch/deployment.yaml index 26b2018e2c3..818289fb9e3 100644 --- a/batch/deployment.yaml +++ b/batch/deployment.yaml @@ -62,8 +62,8 @@ spec: value: "{{ default_ns.name }}" - name: PROJECT value: "{{ global.project }}" - - name: HAIL_DOCKER_PREFIX - value: "{{ global.docker_prefix }}" + - name: HAIL_DOCKER_ROOT_IMAGE + value: "{{ global.docker_root_image }}" - name: HAIL_GCP_REGION valueFrom: secretKeyRef: @@ -200,8 +200,8 @@ spec: value: "{{ default_ns.name }}" - name: PROJECT value: "{{ global.project }}" - - name: HAIL_DOCKER_PREFIX - value: "{{ global.docker_prefix }}" + - name: HAIL_DOCKER_ROOT_IMAGE + value: "{{ global.docker_root_image }}" - name: HAIL_GCP_REGION valueFrom: secretKeyRef: diff --git a/ci/Makefile b/ci/Makefile index 4b40f21aa61..7b650a26c20 100644 --- a/ci/Makefile +++ b/ci/Makefile @@ -47,5 +47,5 @@ push: build .PHONY: deploy deploy: push push-ci-utils ! [ -z $(NAMESPACE) ] # call this like: make deploy NAMESPACE=default - python3 jinja2_render.py '{"code":{"sha":"$(shell git rev-parse --short=12 HEAD)"},"deploy":$(DEPLOY),"default_ns":{"name":"$(NAMESPACE)"},"ci_image":{"image":"$(CI_IMAGE)"},"global":{"project":"$(PROJECT)","zone":"$(ZONE)","docker_prefix":"$(DOCKER_PREFIX)","ip":"$(IP)","domain":"$(DOMAIN)", "k8s_server_url":"$(KUBERNETES_SERVER_URL)"},"ci_utils_image":{"image":"$(CI_UTILS_IMAGE)"},"ci_database":{"user_secret_name":"sql-ci-user-config"}}' deployment.yaml deployment.yaml.out + python3 jinja2_render.py '{"code":{"sha":"$(shell git rev-parse --short=12 HEAD)"},"deploy":$(DEPLOY),"default_ns":{"name":"$(NAMESPACE)"},"ci_image":{"image":"$(CI_IMAGE)"},"global":{"project":"$(PROJECT)","zone":"$(ZONE)","docker_prefix":"$(DOCKER_PREFIX)","docker_root_image":"$(DOCKER_ROOT_IMAGE)","ip":"$(IP)","domain":"$(DOMAIN)", "k8s_server_url":"$(KUBERNETES_SERVER_URL)"},"ci_utils_image":{"image":"$(CI_UTILS_IMAGE)"},"ci_database":{"user_secret_name":"sql-ci-user-config"}}' deployment.yaml deployment.yaml.out kubectl -n $(NAMESPACE) apply -f deployment.yaml.out diff --git a/ci/bootstrap.py b/ci/bootstrap.py index 3d1f82c2d4e..f0eb20b4373 100644 --- a/ci/bootstrap.py +++ b/ci/bootstrap.py @@ -17,6 +17,7 @@ from batch.driver.k8s_cache import K8sCache KUBERNETES_SERVER_URL = os.environ['KUBERNETES_SERVER_URL'] +DOCKER_PREFIX = os.environ['DOCKER_PREFIX'] def populate_secret_host_path(host_path: str, secret_data: Union[str, bytes]): @@ -144,7 +145,7 @@ async def run(self): f'{root}/shared:/shared', '-v', f'{job_root}/io:/io', - 'ubuntu:18.04', + f'{DOCKER_PREFIX}/ubuntu:18.04', '/bin/bash', '-c', copy_script, @@ -282,7 +283,7 @@ async def run(self): f'{root}/shared:/shared', '-v', f'{job_root}/io:/io', - 'ubuntu:18.04', + f'{DOCKER_PREFIX}/ubuntu:18.04', '/bin/bash', '-c', copy_script, diff --git a/ci/ci/build.py b/ci/ci/build.py index 6e4e9f08ec7..6cce1774c7d 100644 --- a/ci/ci/build.py +++ b/ci/ci/build.py @@ -12,6 +12,7 @@ GCP_PROJECT, GCP_ZONE, DOCKER_PREFIX, + DOCKER_ROOT_IMAGE, DOMAIN, IP, CI_UTILS_IMAGE, @@ -169,6 +170,7 @@ def input_config(self, code, scope): 'project': GCP_PROJECT, 'zone': GCP_ZONE, 'docker_prefix': DOCKER_PREFIX, + 'docker_root_image': DOCKER_ROOT_IMAGE, 'domain': DOMAIN, 'ip': IP, 'k8s_server_url': KUBERNETES_SERVER_URL, diff --git a/ci/ci/environment.py b/ci/ci/environment.py index fdba01268af..8dd4a782fdf 100644 --- a/ci/ci/environment.py +++ b/ci/ci/environment.py @@ -7,6 +7,7 @@ GCP_REGION = '-'.join(GCP_ZONE.split('-')[:-1]) # us-west1-a -> us-west1 DOCKER_PREFIX = os.environ.get('HAIL_DOCKER_PREFIX', f'gcr.io/{GCP_REGION}') assert DOCKER_PREFIX != '' +DOCKER_ROOT_IMAGE = os.environ['HAIL_DOCKER_ROOT_IMAGE'] DOMAIN = os.environ['HAIL_DOMAIN'] assert DOMAIN != '' IP = os.environ.get('HAIL_IP') diff --git a/ci/deployment.yaml b/ci/deployment.yaml index 5da6fe42d7a..4f3ab152a4a 100644 --- a/ci/deployment.yaml +++ b/ci/deployment.yaml @@ -54,6 +54,8 @@ spec: value: "{{ global.zone }}" - name: HAIL_DOCKER_PREFIX value: "{{ global.docker_prefix }}" + - name: HAIL_DOCKER_ROOT_IMAGE + value: "{{ global.docker_root_image }}" - name: HAIL_CI_UTILS_IMAGE value: "{{ ci_utils_image.image }}" - name: HAIL_IP From 2f86105b2197c2343c8a61aef9aad0c2c36f93fd Mon Sep 17 00:00:00 2001 From: vladsaveliev Date: Fri, 26 Feb 2021 10:21:50 +1100 Subject: [PATCH 3/4] Use DOCKER_ROOT_IMAGE wherever makes sense --- benchmark/Dockerfile | 2 +- benchmark/Makefile | 2 +- build.yaml | 20 ++++++++++---------- ci/bootstrap.py | 5 +++-- ci/test/resources/build.yaml | 2 +- 5 files changed, 16 insertions(+), 15 deletions(-) diff --git a/benchmark/Dockerfile b/benchmark/Dockerfile index 1c4f1950339..692d7eb7148 100644 --- a/benchmark/Dockerfile +++ b/benchmark/Dockerfile @@ -1,4 +1,4 @@ -FROM {{ global.docker_prefix }}/ubuntu:18.04 +FROM {{ global.docker_root_image }} ENV LANG C.UTF-8 diff --git a/benchmark/Makefile b/benchmark/Makefile index 3113151bf5c..6b5d22aa715 100644 --- a/benchmark/Makefile +++ b/benchmark/Makefile @@ -41,7 +41,7 @@ image_sha: wheel cleanup_image cp $(BENCHMARK_WHEEL) . # it's possible that the HAIL_WHEEL installs different dependencies, but this generally creates less work for docker cp ../hail/python/requirements.txt . - python3 ../ci/jinja2_render.py '{"global":{"docker_prefix":"$(DOCKER_PREFIX)"}' Dockerfile Dockerfile.out + python3 ../ci/jinja2_render.py '{"global":{"docker_root_image":"$(DOCKER_ROOT_IMAGE)"}' Dockerfile Dockerfile.out docker build -f Dockerfile.out -t $(BENCHMARK_DOCKER_TAG) . --build-arg HAIL_WHEEL=$(notdir $(HAIL_WHEEL)) --build-arg BENCHMARK_WHEEL=$(notdir $(BENCHMARK_WHEEL)) @printf $$(docker images -q --no-trunc $(BENCHMARK_DOCKER_TAG) | sed -e 's,[^:]*:,,') > image_sha @echo Image sha is `cat image_sha` diff --git a/build.yaml b/build.yaml index 6d87f2c12f2..65c14c37db7 100644 --- a/build.yaml +++ b/build.yaml @@ -2296,7 +2296,7 @@ steps: export HAIL_DEFAULT_NAMESPACE={{ default_ns.name }} export HAIL_NETCAT_UBUNTU_IMAGE={{ netcat_ubuntu_image.image }} export HAIL_HAIL_BASE_IMAGE={{ hail_base_image.image }} - export DOCKER_ROOT_IMAGE="{{ global.docker_prefix }}/ubuntu:18.04" + export DOCKER_ROOT_IMAGE="{{ global.docker_root_image }}" export HAIL_TEST_TOKEN_FILE=/user-tokens/tokens.json export HAIL_TEST_DEV_TOKEN_FILE=/dev-tokens/tokens.json export HAIL_TOKEN="{{ token }}" @@ -2364,7 +2364,7 @@ steps: export HAIL_DEFAULT_NAMESPACE={{ default_ns.name }} export HAIL_NETCAT_UBUNTU_IMAGE={{ netcat_ubuntu_image.image }} export HAIL_HAIL_BASE_IMAGE={{ hail_base_image.image }} - export DOCKER_ROOT_IMAGE="{{ global.docker_prefix }}/ubuntu:18.04" + export DOCKER_ROOT_IMAGE="{{ global.docker_root_image }}" export HAIL_TEST_TOKEN_FILE=/user-tokens/tokens.json export HAIL_TEST_DEV_TOKEN_FILE=/dev-tokens/tokens.json export HAIL_TOKEN="{{ token }}" @@ -2432,7 +2432,7 @@ steps: export HAIL_DEFAULT_NAMESPACE={{ default_ns.name }} export HAIL_NETCAT_UBUNTU_IMAGE={{ netcat_ubuntu_image.image }} export HAIL_HAIL_BASE_IMAGE={{ hail_base_image.image }} - export DOCKER_ROOT_IMAGE="{{ global.docker_prefix }}/ubuntu:18.04" + export DOCKER_ROOT_IMAGE="{{ global.docker_root_image }}" export HAIL_TEST_TOKEN_FILE=/user-tokens/tokens.json export HAIL_TEST_DEV_TOKEN_FILE=/dev-tokens/tokens.json export HAIL_TOKEN="{{ token }}" @@ -2500,7 +2500,7 @@ steps: export HAIL_DEFAULT_NAMESPACE={{ default_ns.name }} export HAIL_NETCAT_UBUNTU_IMAGE={{ netcat_ubuntu_image.image }} export HAIL_HAIL_BASE_IMAGE={{ hail_base_image.image }} - export DOCKER_ROOT_IMAGE="{{ global.docker_prefix }}/ubuntu:18.04" + export DOCKER_ROOT_IMAGE="{{ global.docker_root_image }}" export HAIL_TEST_TOKEN_FILE=/user-tokens/tokens.json export HAIL_TEST_DEV_TOKEN_FILE=/dev-tokens/tokens.json export HAIL_TOKEN="{{ token }}" @@ -2568,7 +2568,7 @@ steps: export HAIL_DEFAULT_NAMESPACE={{ default_ns.name }} export HAIL_NETCAT_UBUNTU_IMAGE={{ netcat_ubuntu_image.image }} export HAIL_HAIL_BASE_IMAGE={{ hail_base_image.image }} - export DOCKER_ROOT_IMAGE="{{ global.docker_prefix }}/ubuntu:18.04" + export DOCKER_ROOT_IMAGE="{{ global.docker_root_image }}" export HAIL_TEST_TOKEN_FILE=/user-tokens/tokens.json export HAIL_TEST_DEV_TOKEN_FILE=/dev-tokens/tokens.json export HAIL_TOKEN="{{ token }}" @@ -2785,7 +2785,7 @@ steps: export HAIL_GSA_KEY_FILE=/test-gsa-key/key.json export PYTEST_SPLITS=5 export PYTEST_SPLIT_INDEX=0 - export DOCKER_ROOT_IMAGE="{{ global.docker_prefix }}/ubuntu:18.04" + export DOCKER_ROOT_IMAGE="{{ global.docker_root_image }}" export PYTHON_DILL_IMAGE="{{ global.docker_prefix }}/python-dill:3.7-slim" hailctl config set batch/billing_project test hailctl config set batch/bucket cpg-hail-test @@ -2836,7 +2836,7 @@ steps: export HAIL_GSA_KEY_FILE=/test-gsa-key/key.json export PYTEST_SPLITS=5 export PYTEST_SPLIT_INDEX=1 - export DOCKER_ROOT_IMAGE="{{ global.docker_prefix }}/ubuntu:18.04" + export DOCKER_ROOT_IMAGE="{{ global.docker_root_image }}" export PYTHON_DILL_IMAGE="{{ global.docker_prefix }}/python-dill:3.7-slim" hailctl config set batch/billing_project test hailctl config set batch/bucket cpg-hail-test @@ -2887,7 +2887,7 @@ steps: export HAIL_GSA_KEY_FILE=/test-gsa-key/key.json export PYTEST_SPLITS=5 export PYTEST_SPLIT_INDEX=2 - export DOCKER_ROOT_IMAGE="{{ global.docker_prefix }}/ubuntu:18.04" + export DOCKER_ROOT_IMAGE="{{ global.docker_root_image }}" export PYTHON_DILL_IMAGE="{{ global.docker_prefix }}/python-dill:3.7-slim" hailctl config set batch/billing_project test hailctl config set batch/bucket cpg-hail-test @@ -2938,7 +2938,7 @@ steps: export HAIL_GSA_KEY_FILE=/test-gsa-key/key.json export PYTEST_SPLITS=5 export PYTEST_SPLIT_INDEX=3 - export DOCKER_ROOT_IMAGE="{{ global.docker_prefix }}/ubuntu:18.04" + export DOCKER_ROOT_IMAGE="{{ global.docker_root_image }}" export PYTHON_DILL_IMAGE="{{ global.docker_prefix }}/python-dill:3.7-slim" hailctl config set batch/billing_project test hailctl config set batch/bucket cpg-hail-test @@ -2989,7 +2989,7 @@ steps: export HAIL_GSA_KEY_FILE=/test-gsa-key/key.json export PYTEST_SPLITS=5 export PYTEST_SPLIT_INDEX=4 - export DOCKER_ROOT_IMAGE="{{ global.docker_prefix }}/ubuntu:18.04" + export DOCKER_ROOT_IMAGE="{{ global.docker_root_image }}" export PYTHON_DILL_IMAGE="{{ global.docker_prefix }}/python-dill:3.7-slim" hailctl config set batch/billing_project test hailctl config set batch/bucket cpg-hail-test diff --git a/ci/bootstrap.py b/ci/bootstrap.py index f0eb20b4373..3cbe72fc61d 100644 --- a/ci/bootstrap.py +++ b/ci/bootstrap.py @@ -18,6 +18,7 @@ KUBERNETES_SERVER_URL = os.environ['KUBERNETES_SERVER_URL'] DOCKER_PREFIX = os.environ['DOCKER_PREFIX'] +DOCKER_ROOT_IMAGE = f'{DOCKER_PREFIX}/ubuntu:18.04' def populate_secret_host_path(host_path: str, secret_data: Union[str, bytes]): @@ -145,7 +146,7 @@ async def run(self): f'{root}/shared:/shared', '-v', f'{job_root}/io:/io', - f'{DOCKER_PREFIX}/ubuntu:18.04', + DOCKER_ROOT_IMAGE, '/bin/bash', '-c', copy_script, @@ -283,7 +284,7 @@ async def run(self): f'{root}/shared:/shared', '-v', f'{job_root}/io:/io', - f'{DOCKER_PREFIX}/ubuntu:18.04', + DOCKER_ROOT_IMAGE, '/bin/bash', '-c', copy_script, diff --git a/ci/test/resources/build.yaml b/ci/test/resources/build.yaml index 2bd4ef77426..67801cf15af 100644 --- a/ci/test/resources/build.yaml +++ b/ci/test/resources/build.yaml @@ -7,7 +7,7 @@ steps: name: inline_image dockerFile: inline: | - FROM {{ global.docker_prefix }}/ubuntu:18.04 + FROM {{ global.docker_root_image }} RUN apt-get update && apt-get install -y git contextPath: . - kind: runImage From 669746512bd9c441d99ebf486791dbdf7f1f7cf9 Mon Sep 17 00:00:00 2001 From: vladsaveliev Date: Fri, 26 Feb 2021 10:49:27 +1100 Subject: [PATCH 4/4] Render build-batch-worker-image-startup.sh with Jinja to set up docker root image --- batch/Makefile | 5 +++-- batch/build-batch-worker-image-startup.sh | 3 +-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/batch/Makefile b/batch/Makefile index b557413539e..f5da4d578d3 100644 --- a/batch/Makefile +++ b/batch/Makefile @@ -48,7 +48,7 @@ push: build docker tag batch-worker $(BATCH_WORKER_IMAGE) docker push $(BATCH_WORKER_IMAGE) -JINJA_ENVIRONMENT = '{"code":{"sha":"$(shell git rev-parse --short=12 HEAD)"},"deploy":$(DEPLOY),"batch_image":{"image":"$(BATCH_IMAGE)"},"batch_worker_image":{"image":"$(BATCH_WORKER_IMAGE)"},"default_ns":{"name":"$(NAMESPACE)"},"batch_database":{"user_secret_name":"sql-batch-user-config"},"global":{"project":"$(PROJECT)","domain":"$(DOMAIN)","k8s_server_url":"$(KUBERNETES_SERVER_URL)","docker_prefix":"$(DOCKER_PREFIX)"},"scope":"$(SCOPE)"}' +JINJA_ENVIRONMENT = '{"code":{"sha":"$(shell git rev-parse --short=12 HEAD)"},"deploy":$(DEPLOY),"batch_image":{"image":"$(BATCH_IMAGE)"},"batch_worker_image":{"image":"$(BATCH_WORKER_IMAGE)"},"default_ns":{"name":"$(NAMESPACE)"},"batch_database":{"user_secret_name":"sql-batch-user-config"},"global":{"project":"$(PROJECT)","domain":"$(DOMAIN)","k8s_server_url":"$(KUBERNETES_SERVER_URL)","docker_prefix":"$(DOCKER_PREFIX)"}},"scope":"$(SCOPE)"}' .PHONY: deploy deploy: push @@ -62,7 +62,8 @@ deploy: push .PHONY: create-build-worker-image-instance create-build-worker-image-instance: -gcloud -q compute --project $(PROJECT) instances delete --zone=$(ZONE) build-batch-worker-image - gcloud -q compute --project $(PROJECT) instances create --zone=$(ZONE) build-batch-worker-image --machine-type=n1-standard-1 --network=default --network-tier=PREMIUM --metadata-from-file startup-script=build-batch-worker-image-startup.sh --no-restart-on-failure --maintenance-policy=MIGRATE --scopes=https://www.googleapis.com/auth/cloud-platform --image=$$(gcloud compute images list --standard-images --filter 'family="ubuntu-minimal-2004-lts"' --format='value(name)') --image-project=ubuntu-os-cloud --boot-disk-size=10GB --boot-disk-type=pd-ssd + python3 ../ci/jinja2_render.py '{"global":{"docker_root_image":"$(DOCKER_ROOT_IMAGE)"}}' build-batch-worker-image-startup.sh build-batch-worker-image-startup.sh.out + gcloud -q compute --project $(PROJECT) instances create --zone=$(ZONE) build-batch-worker-image --machine-type=n1-standard-1 --network=default --network-tier=PREMIUM --metadata-from-file startup-script=build-batch-worker-image-startup.sh.out --no-restart-on-failure --maintenance-policy=MIGRATE --scopes=https://www.googleapis.com/auth/cloud-platform --image=$$(gcloud compute images list --standard-images --filter 'family="ubuntu-minimal-2004-lts"' --format='value(name)') --image-project=ubuntu-os-cloud --boot-disk-size=10GB --boot-disk-type=pd-ssd .PHONY: create-worker-image create-worker-image: diff --git a/batch/build-batch-worker-image-startup.sh b/batch/build-batch-worker-image-startup.sh index 8401b8dfb72..4fdcd8ca732 100644 --- a/batch/build-batch-worker-image-startup.sh +++ b/batch/build-batch-worker-image-startup.sh @@ -41,8 +41,7 @@ curl -fsSL "https://github.com/GoogleCloudPlatform/docker-credential-gcr/release export HOME=/root docker-credential-gcr configure-docker --include-artifact-registry -DOCKER_ROOT_IMAGE=$(curl -s -H "Metadata-Flavor: Google" "http://metadata.google.internal/computeMetadata/v1/instance/attributes/docker_root_image") -docker pull ${DOCKER_ROOT_IMAGE} +docker pull {{ global.docker_root_image }} docker pull gcr.io/google.com/cloudsdktool/cloud-sdk:310.0.0-alpine # add docker daemon debug logging