Mark kubemark images w/ random tags to avoid race b/w runs

This commit is contained in:
Shyam Jeedigunta 2018-02-08 15:55:27 +01:00
parent f3cc62d870
commit 76c1828c1c
No known key found for this signature in database
GPG Key ID: 745AA51D657EAD2C
4 changed files with 14 additions and 8 deletions

View File

@ -15,7 +15,7 @@ docker_push(
registry = "$(REGISTRY)", registry = "$(REGISTRY)",
repository = "kubemark", repository = "kubemark",
stamp = True, stamp = True,
tag = "latest", tag = "$(IMAGE_TAG)",
tags = ["manual"], tags = ["manual"],
) )

View File

@ -20,16 +20,17 @@
# .. is not the same as: # .. is not the same as:
# make REGISTRY=$VAR # make REGISTRY=$VAR
REGISTRY := $(if $(REGISTRY),$(REGISTRY),staging-k8s.gcr.io) REGISTRY := $(if $(REGISTRY),$(REGISTRY),staging-k8s.gcr.io)
IMAGE_TAG := $(if $(IMAGE_TAG),$(IMAGE_TAG),latest)
all: gcloudpush all: gcloudpush
build: build:
docker build --pull -t $(REGISTRY)/kubemark . docker build --pull -t $(REGISTRY)/kubemark:$(IMAGE_TAG) .
gcloudpush: build gcloudpush: build
gcloud docker -- push $(REGISTRY)/kubemark gcloud docker -- push $(REGISTRY)/kubemark:$(IMAGE_TAG)
push: build push: build
docker -- push $(REGISTRY)/kubemark docker -- push $(REGISTRY)/kubemark:$(IMAGE_TAG)
.PHONY: all build gcloudpush push .PHONY: all build gcloudpush push

View File

@ -35,7 +35,7 @@ spec:
emptyDir: {} emptyDir: {}
containers: containers:
- name: hollow-kubelet - name: hollow-kubelet
image: {{full_registry}}/kubemark:latest image: {{full_registry}}/kubemark:{{kubemark_image_tag}}
ports: ports:
- containerPort: 4194 - containerPort: 4194
- containerPort: 10250 - containerPort: 10250
@ -67,7 +67,7 @@ spec:
securityContext: securityContext:
privileged: true privileged: true
- name: hollow-proxy - name: hollow-proxy
image: {{full_registry}}/kubemark:latest image: {{full_registry}}/kubemark:{{kubemark_image_tag}}
env: env:
- name: CONTENT_TYPE - name: CONTENT_TYPE
valueFrom: valueFrom:

View File

@ -45,6 +45,10 @@ KUBECTL="${KUBE_ROOT}/cluster/kubectl.sh"
KUBEMARK_DIRECTORY="${KUBE_ROOT}/test/kubemark" KUBEMARK_DIRECTORY="${KUBE_ROOT}/test/kubemark"
RESOURCE_DIRECTORY="${KUBEMARK_DIRECTORY}/resources" RESOURCE_DIRECTORY="${KUBEMARK_DIRECTORY}/resources"
# Generate a random 6-digit alphanumeric tag for the kubemark image.
# Used to uniquify image builds across different invocations of this script.
KUBEMARK_IMAGE_TAG=$(head /dev/urandom | tr -dc 'a-z0-9' | fold -w 6 | head -n 1)
# Write all environment variables that we need to pass to the kubemark master, # Write all environment variables that we need to pass to the kubemark master,
# locally to the file ${RESOURCE_DIRECTORY}/kubemark-master-env.sh. # locally to the file ${RESOURCE_DIRECTORY}/kubemark-master-env.sh.
function create-master-environment-file { function create-master-environment-file {
@ -200,7 +204,7 @@ function create-and-upload-hollow-node-image {
cd "${MAKE_DIR}" cd "${MAKE_DIR}"
RETRIES=3 RETRIES=3
for attempt in $(seq 1 ${RETRIES}); do for attempt in $(seq 1 ${RETRIES}); do
if ! REGISTRY="${FULL_REGISTRY}" make "${KUBEMARK_IMAGE_MAKE_TARGET}"; then if ! REGISTRY="${FULL_REGISTRY}" IMAGE_TAG="${KUBEMARK_IMAGE_TAG}" make "${KUBEMARK_IMAGE_MAKE_TARGET}"; then
if [[ $((attempt)) -eq "${RETRIES}" ]]; then if [[ $((attempt)) -eq "${RETRIES}" ]]; then
echo "${color_red}Make failed. Exiting.${color_norm}" echo "${color_red}Make failed. Exiting.${color_norm}"
exit 1 exit 1
@ -221,7 +225,7 @@ function create-and-upload-hollow-node-image {
function create-and-upload-hollow-node-image-bazel { function create-and-upload-hollow-node-image-bazel {
RETRIES=3 RETRIES=3
for attempt in $(seq 1 ${RETRIES}); do for attempt in $(seq 1 ${RETRIES}); do
if ! bazel run //cluster/images/kubemark:push --define REGISTRY="${FULL_REGISTRY}"; then if ! bazel run //cluster/images/kubemark:push --define REGISTRY="${FULL_REGISTRY}" --define IMAGE_TAG="${KUBEMARK_IMAGE_TAG}"; then
if [[ $((attempt)) -eq "${RETRIES}" ]]; then if [[ $((attempt)) -eq "${RETRIES}" ]]; then
echo "${color_red}Image push failed. Exiting.${color_norm}" echo "${color_red}Image push failed. Exiting.${color_norm}"
exit 1 exit 1
@ -396,6 +400,7 @@ current-context: kubemark-context")
sed -i'' -e "s/{{HOLLOW_PROXY_CPU}}/${proxy_cpu}/g" "${RESOURCE_DIRECTORY}/hollow-node.yaml" sed -i'' -e "s/{{HOLLOW_PROXY_CPU}}/${proxy_cpu}/g" "${RESOURCE_DIRECTORY}/hollow-node.yaml"
sed -i'' -e "s/{{HOLLOW_PROXY_MEM}}/${proxy_mem}/g" "${RESOURCE_DIRECTORY}/hollow-node.yaml" sed -i'' -e "s/{{HOLLOW_PROXY_MEM}}/${proxy_mem}/g" "${RESOURCE_DIRECTORY}/hollow-node.yaml"
sed -i'' -e "s'{{full_registry}}'${FULL_REGISTRY}'g" "${RESOURCE_DIRECTORY}/hollow-node.yaml" sed -i'' -e "s'{{full_registry}}'${FULL_REGISTRY}'g" "${RESOURCE_DIRECTORY}/hollow-node.yaml"
sed -i'' -e "s/{{kubemark_image_tag}}/${KUBEMARK_IMAGE_TAG}/g" "${RESOURCE_DIRECTORY}/hollow-node.yaml"
sed -i'' -e "s/{{master_ip}}/${MASTER_IP}/g" "${RESOURCE_DIRECTORY}/hollow-node.yaml" sed -i'' -e "s/{{master_ip}}/${MASTER_IP}/g" "${RESOURCE_DIRECTORY}/hollow-node.yaml"
sed -i'' -e "s/{{kubelet_verbosity_level}}/${KUBELET_TEST_LOG_LEVEL}/g" "${RESOURCE_DIRECTORY}/hollow-node.yaml" sed -i'' -e "s/{{kubelet_verbosity_level}}/${KUBELET_TEST_LOG_LEVEL}/g" "${RESOURCE_DIRECTORY}/hollow-node.yaml"
sed -i'' -e "s/{{kubeproxy_verbosity_level}}/${KUBEPROXY_TEST_LOG_LEVEL}/g" "${RESOURCE_DIRECTORY}/hollow-node.yaml" sed -i'' -e "s/{{kubeproxy_verbosity_level}}/${KUBEPROXY_TEST_LOG_LEVEL}/g" "${RESOURCE_DIRECTORY}/hollow-node.yaml"