Skip to content

Commit

Permalink
[services] ensure all make deploy require & use NAMESPACE (hail-is#9695)
Browse files Browse the repository at this point in the history
  • Loading branch information
danking authored Nov 12, 2020
1 parent 3e05717 commit f426005
Show file tree
Hide file tree
Showing 13 changed files with 42 additions and 33 deletions.
3 changes: 2 additions & 1 deletion admin-pod/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ SERVICE_BASE_IMAGE = gcr.io/$(PROJECT)/service-base:$(shell docker images -q --n

.PHONY: deploy
deploy:
! [ -z $(NAMESPACE) ] # call this like: make deploy NAMESPACE=default
$(MAKE) -C ../docker push
python3 ../ci/jinja2_render.py '{"service_base_image":{"image":"$(SERVICE_BASE_IMAGE)"}}' admin-pod.yaml admin-pod.yaml.out
kubectl -n default apply -f admin-pod.yaml.out
kubectl -n $(NAMESPACE) apply -f admin-pod.yaml.out
5 changes: 3 additions & 2 deletions auth/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,9 @@ push: build

.PHONY: deploy
deploy: push
python3 ../ci/jinja2_render.py '{"code":{"sha":"$(shell git rev-parse --short=12 HEAD)"},"deploy":true,"default_ns":{"name":"default"},"batch_pods_ns":{"name":"batch-pods"},"auth_image":{"image":"$(AUTH_IMAGE)"},"auth_database":{"user_secret_name":"sql-auth-user-config"},"global":{"project":"$(PROJECT)","zone":"$(ZONE)","domain":"$(DOMAIN)"}}' deployment.yaml deployment.yaml.out
kubectl -n default apply -f deployment.yaml.out
! [ -z $(NAMESPACE) ] # call this like: make deploy NAMESPACE=default
python3 ../ci/jinja2_render.py '{"code":{"sha":"$(shell git rev-parse --short=12 HEAD)"},"deploy":true,"default_ns":{"name":"$(NAMESPACE)"},"batch_pods_ns":{"name":"$(BATCH_PODS_NAMESPACE)"},"auth_image":{"image":"$(AUTH_IMAGE)"},"auth_database":{"user_secret_name":"sql-auth-user-config"},"global":{"project":"$(PROJECT)","zone":"$(ZONE)","domain":"$(DOMAIN)"}}' deployment.yaml deployment.yaml.out
kubectl -n $(NAMESPACE) apply -f deployment.yaml.out

.PHONY:
clean:
Expand Down
9 changes: 5 additions & 4 deletions batch/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -37,17 +37,18 @@ 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":true,"batch_image":{"image":"$(BATCH_IMAGE)"},"batch_worker_image":{"image":"$(BATCH_WORKER_IMAGE)"},"default_ns":{"name":"default"},"batch_pods_ns":{"name":"batch-pods"},"batch_database":{"user_secret_name":"sql-batch-user-config"},"global":{"project":"$(PROJECT)","domain":"$(DOMAIN)","k8s_server_url":"$(KUBERNETES_SERVER_URL)"},"scope":"deploy"}'
JINJA_ENVIRONMENT = '{"code":{"sha":"$(shell git rev-parse --short=12 HEAD)"},"deploy":true,"batch_image":{"image":"$(BATCH_IMAGE)"},"batch_worker_image":{"image":"$(BATCH_WORKER_IMAGE)"},"default_ns":{"name":"$(NAMESPACE)"},"batch_pods_ns":{"name":"$(BATCH_PODS_NAMESPACE)"},"batch_database":{"user_secret_name":"sql-batch-user-config"},"global":{"project":"$(PROJECT)","domain":"$(DOMAIN)","k8s_server_url":"$(KUBERNETES_SERVER_URL)"},"scope":"deploy"}'

.PHONY: deploy
deploy: push
! [ -z $(NAMESPACE) ] # call this like: make deploy NAMESPACE=default
E=$(JINJA_ENVIRONMENT) && \
python3 ../ci/jinja2_render.py $$E deployment.yaml deployment.yaml.out && \
python3 ../ci/jinja2_render.py $$E service-account.yaml service-account.yaml.out && \
python3 ../ci/jinja2_render.py $$E service-account-batch-pods.yaml service-account-batch-pods.yaml.out
kubectl -n default apply -f service-account.yaml.out
kubectl -n default apply -f service-account-batch-pods.yaml.out
kubectl -n default apply -f deployment.yaml.out
kubectl -n $(NAMESPACE) apply -f service-account.yaml.out
kubectl -n $(NAMESPACE) apply -f service-account-batch-pods.yaml.out
kubectl -n $(NAMESPACE) apply -f deployment.yaml.out

.PHONY: create-build-worker-image-instance
create-build-worker-image-instance:
Expand Down
5 changes: 3 additions & 2 deletions benchmark-service/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,9 @@ push: build

.PHONY: deploy
deploy: push
python3 ../ci/jinja2_render.py '{"code":{"sha":"$(shell git rev-parse --short=12 HEAD)"},"deploy":true,"default_ns":{"name":"default"},"batch_pods_ns":{"name":"batch-pods"}, "benchmark_image":{"image":"$(BENCHMARK_IMAGE)"},"benchmark_database":{"user_secret_name":"sql-benchmark-user-config"},"global":{"project":"$(PROJECT)","zone":"$(ZONE)","domain":"$(DOMAIN)"}}' deployment.yaml deployment.yaml.out
kubectl -n default apply -f deployment.yaml.out
! [ -z $(NAMESPACE) ] # call this like: make deploy NAMESPACE=default
python3 ../ci/jinja2_render.py '{"code":{"sha":"$(shell git rev-parse --short=12 HEAD)"},"deploy":true,"default_ns":{"name":"$(NAMESPACE)"},"batch_pods_ns":{"name":"$(BATCH_PODS_NAMESPACE)"}, "benchmark_image":{"image":"$(BENCHMARK_IMAGE)"},"benchmark_database":{"user_secret_name":"sql-benchmark-user-config"},"global":{"project":"$(PROJECT)","zone":"$(ZONE)","domain":"$(DOMAIN)"}}' deployment.yaml deployment.yaml.out
kubectl -n $(NAMESPACE) apply -f deployment.yaml.out

.PHONY: clean
clean:
Expand Down
5 changes: 3 additions & 2 deletions ci/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -45,5 +45,6 @@ push: build

.PHONY: deploy
deploy: push push-ci-utils
python3 jinja2_render.py '{"code":{"sha":"$(shell git rev-parse --short=12 HEAD)"},"deploy":true,"default_ns":{"name":"default"},"batch_pods_ns":{"name":"batch-pods"},"ci_image":{"image":"$(CI_IMAGE)"},"global":{"project":"$(PROJECT)","zone":"$(ZONE)","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 default apply -f deployment.yaml.out
! [ -z $(NAMESPACE) ] # call this like: make deploy NAMESPACE=default
python3 jinja2_render.py '{"code":{"sha":"$(shell git rev-parse --short=12 HEAD)"},"deploy":true,"default_ns":{"name":"$(NAMESPACE)"},"batch_pods_ns":{"name":"$(BATCH_PODS_NAMESPACE)"},"ci_image":{"image":"$(CI_IMAGE)"},"global":{"project":"$(PROJECT)","zone":"$(ZONE)","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
6 changes: 6 additions & 0 deletions config.mk
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,9 @@ IP := 35.188.91.25
KUBERNETES_SERVER_URL := https://104.198.230.143
REGION := us-central1
ZONE := us-central1-a
ifeq ($(NAMESPACE), "default")
BATCH_PODS_NAMESPACE = batch-pods
else
BATCH_PODS_NAMESPACE = $(NAMESPACE)
endif

3 changes: 2 additions & 1 deletion image-fetcher/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,8 @@ push: build
docker push $(FETCH_IMAGE)

deploy: push
! [ -z $(NAMESPACE) ] # call this like: make deploy NAMESPACE=default
sed -e "s,@sha@,$(shell git rev-parse --short=12 HEAD)," \
-e "s,@image@,$(FETCH_IMAGE)," \
< deployment.yaml.in > deployment.yaml
kubectl -n default apply -f deployment.yaml
kubectl -n $(NAMESPACE) apply -f deployment.yaml
12 changes: 3 additions & 9 deletions memory/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,6 @@ PYTHON := PYTHONPATH=$(PYTHONPATH) python3
MEMORY_LATEST = gcr.io/$(PROJECT)/memory:latest
MEMORY_IMAGE = gcr.io/$(PROJECT)/memory:$(shell docker images -q --no-trunc memory | sed -e 's,[^:]*:,,')

ifeq ($(NAMESPACE), "default")
BATCH_PODS_NS = batch-pods
else
BATCH_PODS_NS = $(NAMESPACE)
endif

.PHONY: check
check:
$(PYTHON) -m flake8 --config ../setup.cfg memory
Expand All @@ -34,9 +28,9 @@ push: build
.PHONY: deploy

deploy: push
! [ -z $(NAMESPACE) ] # set NAMESPACE
! [ -z $(NAMESPACE) ] # call this like: make deploy NAMESPACE=default
kubectl -n $(NAMESPACE) apply -f service-account.yaml
python3 ../ci/jinja2_render.py '{"default_ns":{"name":"$(NAMESPACE)"}}' service-account-batch-pods.yaml service-account-batch-pods.yaml.out
kubectl -n $(BATCH_PODS_NS) apply -f service-account-batch-pods.yaml.out
python3 ../ci/jinja2_render.py '{"code":{"sha":"$(shell git rev-parse --short=12 HEAD)"},"deploy":true,"memory_image":{"image":"$(MEMORY_IMAGE)"},"batch_pods_ns":{"name":"$(BATCH_PODS_NS)"},"global":{"project":"$(PROJECT)","domain":"$(DOMAIN)"}}' deployment.yaml deployment.yaml.out
kubectl -n $(BATCH_PODS_NAMESPACE) apply -f service-account-batch-pods.yaml.out
python3 ../ci/jinja2_render.py '{"code":{"sha":"$(shell git rev-parse --short=12 HEAD)"},"deploy":true,"memory_image":{"image":"$(MEMORY_IMAGE)"},"batch_pods_ns":{"name":"$(BATCH_PODS_NAMESPACe)"},"global":{"project":"$(PROJECT)","domain":"$(DOMAIN)"}}' deployment.yaml deployment.yaml.out
kubectl -n $(NAMESPACE) apply -f deployment.yaml.out
5 changes: 3 additions & 2 deletions monitoring/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,9 @@ push: build

.PHONY: deploy
deploy: push
python3 ../ci/jinja2_render.py '{"code":{"sha":"$(shell git rev-parse --short=12 HEAD)"},"deploy":true,"default_ns":{"name":"default"},"batch_pods_ns":{"name":"batch-pods"}, "monitoring_image":{"image":"$(MONITORING_IMAGE)"},"monitoring_database":{"user_secret_name":"sql-monitoring-user-config"},"global":{"project":"$(PROJECT)","zone":"$(ZONE)","domain":"$(DOMAIN)"}}' deployment.yaml deployment.yaml.out
kubectl -n default apply -f deployment.yaml.out
! [ -z $(NAMESPACE) ] # call this like: make deploy NAMESPACE=default
python3 ../ci/jinja2_render.py '{"code":{"sha":"$(shell git rev-parse --short=12 HEAD)"},"deploy":true,"default_ns":{"name":"$(NAMESPACE)"},"batch_pods_ns":{"name":"$(BATCH_PODS_NAMESPACE)"}, "monitoring_image":{"image":"$(MONITORING_IMAGE)"},"monitoring_database":{"user_secret_name":"sql-monitoring-user-config"},"global":{"project":"$(PROJECT)","zone":"$(ZONE)","domain":"$(DOMAIN)"}}' deployment.yaml deployment.yaml.out
kubectl -n $(NAMESPACE) apply -f deployment.yaml.out

.PHONY: clean
clean:
Expand Down
11 changes: 6 additions & 5 deletions query/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,9 @@ push: build

.PHONY: deploy
deploy: push
kubectl -n default apply -f service-account.yaml
python3 ../ci/jinja2_render.py '{"default_ns":{"name":"default"}}' service-account-batch-pods.yaml service-account-batch-pods.yaml.out
kubectl -n batch-pods apply -f service-account-batch-pods.yaml.out
python3 ../ci/jinja2_render.py '{"code":{"sha":"$(shell git rev-parse --short=12 HEAD)"},"deploy":true,"query_image":{"image":"$(QUERY_IMAGE)"},"batch_pods_ns":{"name":"batch-pods"},"global":{"project":"$(PROJECT)","domain":"$(DOMAIN)"}}' deployment.yaml deployment.yaml.out
kubectl -n default apply -f deployment.yaml.out
! [ -z $(NAMESPACE) ] # call this like: make deploy NAMESPACE=default
kubectl -n $(NAMESPACE) apply -f service-account.yaml
python3 ../ci/jinja2_render.py '{"default_ns":{"name":"$(NAMESPACE)"}}' service-account-batch-pods.yaml service-account-batch-pods.yaml.out
kubectl -n $(BATCH_PODS_NAMESPACE) apply -f service-account-batch-pods.yaml.out
python3 ../ci/jinja2_render.py '{"code":{"sha":"$(shell git rev-parse --short=12 HEAD)"},"deploy":true,"query_image":{"image":"$(QUERY_IMAGE)"},"batch_pods_ns":{"name":"$(BATCH_PODS_NAMESPACE)"},"global":{"project":"$(PROJECT)","domain":"$(DOMAIN)"}}' deployment.yaml deployment.yaml.out
kubectl -n $(NAMESPACE) apply -f deployment.yaml.out
5 changes: 3 additions & 2 deletions router/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,9 @@ push: build

.PHONY: deploy
deploy: push
python3 ../ci/jinja2_render.py '{"code":{"sha":"$(shell git rev-parse --short=12 HEAD)"},"deploy":true,"router_image":{"image":"$(ROUTER_IMAGE)"},"default_ns":{"name":"default"},"global":{"domain":"$(DOMAIN)"}}' deployment.yaml deployment.yaml.out
kubectl -n default apply -f deployment.yaml.out
! [ -z $(NAMESPACE) ] # call this like: make deploy NAMESPACE=default
python3 ../ci/jinja2_render.py '{"code":{"sha":"$(shell git rev-parse --short=12 HEAD)"},"deploy":true,"router_image":{"image":"$(ROUTER_IMAGE)"},"default_ns":{"name":"$(NAMESPACE)"},"global":{"domain":"$(DOMAIN)"}}' deployment.yaml deployment.yaml.out
kubectl -n $(NAMESPACE) apply -f deployment.yaml.out

.PHONY: clean
clean:
Expand Down
4 changes: 2 additions & 2 deletions shuffler/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,6 @@ push: build

.PHONY: deploy
deploy: push
! [ -z $(NAMESPACE) ] # set NAMESPACE
python3 ../ci/jinja2_render.py '{"code":{"sha":"$(shell git rev-parse --short=12 HEAD)"},"deploy":true,"shuffler_image":{"image":"$(SHUFFLER_IMAGE)"},"default_ns":{"name":"default"},"global":{"project":"$(PROJECT)","domain":"$(DOMAIN)","k8s_server_url":"$(KUBERNETES_SERVER_URL)"}}' deployment.yaml deployment.yaml.out
! [ -z $(NAMESPACE) ] # call this like: make deploy NAMESPACE=default
python3 ../ci/jinja2_render.py '{"code":{"sha":"$(shell git rev-parse --short=12 HEAD)"},"deploy":true,"shuffler_image":{"image":"$(SHUFFLER_IMAGE)"},"default_ns":{"name":"$(NAMESPACE)"},"global":{"project":"$(PROJECT)","domain":"$(DOMAIN)","k8s_server_url":"$(KUBERNETES_SERVER_URL)"}}' deployment.yaml deployment.yaml.out
kubectl -n $(NAMESPACE) apply -f deployment.yaml.out
2 changes: 1 addition & 1 deletion site/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,8 @@ push: build
docker push $(IMAGE)

deploy: push
! [ -z $(NAMESPACE) ] # call this like: make deploy NAMESPACE=default
$(MAKE) -C ../docker hail-ubuntu
test $(NAMESPACE)
python3 ../ci/jinja2_render.py '{"global": {"domain":"hail.is"},"default_ns":{"name":"$(NAMESPACE)"},"code":{"sha":"$(shell git rev-parse --short=12 HEAD)"},"deploy":true,"site_image":{"image":"$(IMAGE)"},"hail_ubuntu_image":{"image":"hail-ubuntu"}' deployment.yaml deployment.yaml.out
kubectl -n $(NAMESPACE) apply -f deployment.yaml.out

Expand Down

0 comments on commit f426005

Please sign in to comment.