From 42a134f8f349f1ef706c0460dfcc5e04c189084d Mon Sep 17 00:00:00 2001
From: jackgr <jackgr@google.com>
Date: Wed, 2 Mar 2016 15:35:23 -0800
Subject: [PATCH] Restore #290

---
 cmd/dm/Makefile                               |  15 +++++++++------
 cmd/dm/dm.go                                  |   2 +-
 cmd/expandybird/Makefile                      |   1 -
 cmd/expandybird/test/ExpectedOutput.yaml      |   4 ++--
 cmd/expandybird/test/InvalidFileName.yaml     |   2 +-
 cmd/expandybird/test/InvalidProperty.yaml     |   2 +-
 cmd/expandybird/test/InvalidTypeName.yaml     |   2 +-
 cmd/expandybird/test/MissingImports.yaml      |   2 +-
 cmd/expandybird/test/MissingResourceName.yaml |   2 +-
 cmd/expandybird/test/MissingTypeName.yaml     |   2 +-
 cmd/expandybird/test/TestArchive.tar          | Bin 9728 -> 9728 bytes
 cmd/expandybird/test/ValidContent.yaml        |   2 +-
 cmd/manager/Makefile                          |   1 -
 cmd/resourcifier/Makefile                     |   1 -
 docs/pushing.md                               |   4 ++--
 examples/bootstrap/bootstrap.yaml             |   6 +++---
 examples/wordpress/README.md                  |   2 +-
 examples/wordpress/wordpress.jinja            |   2 +-
 examples/wordpress/wordpress.jinja.schema     |   2 +-
 get-install.sh                                |   8 +++++---
 hack/dm-push.sh                               |  12 +++++++-----
 include.mk                                    |   3 +++
 install.yaml                                  |   6 +++---
 pkg/util/templateutil_test.go                 |   2 +-
 24 files changed, 46 insertions(+), 39 deletions(-)

diff --git a/cmd/dm/Makefile b/cmd/dm/Makefile
index 7ae51e886..23aded5c0 100644
--- a/cmd/dm/Makefile
+++ b/cmd/dm/Makefile
@@ -14,21 +14,24 @@
 
 SHELL := /bin/bash
 
-GOLANG_CROSSPLATFORMS="darwin/386 darwin/amd64 freebsd/386 freebsd/amd64 freebsd/arm linux/386 linux/amd64 linux/arm windows/386 windows/amd64"
+GOLANG_CROSSPLATFORMS := darwin/386 darwin/amd64 freebsd/386 freebsd/amd64 freebsd/arm linux/386 linux/amd64 linux/arm windows/386 windows/amd64
 
 all: build binary
 
 build:
 	docker build -t dm .
 
-binary:
+binary: 
+	- docker rm -f dm
+	- rm -f dm-*
 	docker run --name dm dm
-	for platform in $$GOLANG_CROSSPLATFORMS; do \
+	for platform in ${GOLANG_CROSSPLATFORMS}; do \
 		echo $$platform; \
 		docker cp dm:/go/src/dm/dm-$${platform%/*}-$${platform##*/} .; \
 	done
 
 clean:
-	docker rm dm
-	docker rmi dm
-	rm dm-*
+	docker rm -f dm
+	docker rmi -f dm
+	rm -f dm-*
+	
\ No newline at end of file
diff --git a/cmd/dm/dm.go b/cmd/dm/dm.go
index b6476071c..dc02d49cf 100644
--- a/cmd/dm/dm.go
+++ b/cmd/dm/dm.go
@@ -288,7 +288,7 @@ func callService(path, method, action string, reader io.ReadCloser) {
 	var URL *url.URL
 	URL, err := url.Parse(*service)
 	if err != nil {
-		panic(fmt.Errorf("cannot parse url (%s): %s\n", path, err))
+		panic(fmt.Errorf("cannot parse url (%s): %s\n", *service, err))
 	}
 
 	URL.Path = strings.TrimRight(URL.Path, "/") + "/" + strings.TrimLeft(path, "/")
diff --git a/cmd/expandybird/Makefile b/cmd/expandybird/Makefile
index df97481fd..16f0c7882 100644
--- a/cmd/expandybird/Makefile
+++ b/cmd/expandybird/Makefile
@@ -19,7 +19,6 @@ include ../include.mk
 DOCKER_REGISTRY := gcr.io
 PREFIX := $(DOCKER_REGISTRY)/$(PROJECT)
 IMAGE := expandybird
-TAG := latest
 
 ROOT_DIR := $(abspath ./..)
 DIR = $(ROOT_DIR)
diff --git a/cmd/expandybird/test/ExpectedOutput.yaml b/cmd/expandybird/test/ExpectedOutput.yaml
index 24bd519a3..13e510d3c 100644
--- a/cmd/expandybird/test/ExpectedOutput.yaml
+++ b/cmd/expandybird/test/ExpectedOutput.yaml
@@ -51,7 +51,7 @@ config:
           spec:
             containers:
             - env: []
-              image: gcr.io/dm-k8s-testing/expandybird
+              image: gcr.io/dm-k8s-prod/expandybird
               name: expandybird
               ports:
               - containerPort: 8080
@@ -63,7 +63,7 @@ layout:
     properties:
       container_port: 8080
       external_service: true
-      image: gcr.io/dm-k8s-testing/expandybird
+      image: gcr.io/dm-k8s-prod/expandybird
       labels:
         app: expandybird
       replicas: 3
diff --git a/cmd/expandybird/test/InvalidFileName.yaml b/cmd/expandybird/test/InvalidFileName.yaml
index 712426be2..fd3800466 100644
--- a/cmd/expandybird/test/InvalidFileName.yaml
+++ b/cmd/expandybird/test/InvalidFileName.yaml
@@ -19,4 +19,4 @@ resources:
   properties:
     service_port: 8080
     target_port: 8080
-    image: gcr.io/dm-k8s-testing/expandybird
+    image: gcr.io/dm-k8s-prod/expandybird
diff --git a/cmd/expandybird/test/InvalidProperty.yaml b/cmd/expandybird/test/InvalidProperty.yaml
index 7eeb78538..fd3d5edeb 100644
--- a/cmd/expandybird/test/InvalidProperty.yaml
+++ b/cmd/expandybird/test/InvalidProperty.yaml
@@ -19,4 +19,4 @@ resources:
   properties:
     service_port: 8080
     target_port: 8080
-    invalidproperty: gcr.io/dm-k8s-testing/expandybird
+    invalidproperty: gcr.io/dm-k8s-prod/expandybird
diff --git a/cmd/expandybird/test/InvalidTypeName.yaml b/cmd/expandybird/test/InvalidTypeName.yaml
index 387e4a172..e411c1b11 100644
--- a/cmd/expandybird/test/InvalidTypeName.yaml
+++ b/cmd/expandybird/test/InvalidTypeName.yaml
@@ -19,4 +19,4 @@ resources:
   properties:
     service_port: 8080
     target_port: 8080
-    image: gcr.io/dm-k8s-testing/expandybird
+    image: gcr.io/dm-k8s-prod/expandybird
diff --git a/cmd/expandybird/test/MissingImports.yaml b/cmd/expandybird/test/MissingImports.yaml
index e6a24e6f6..6a6741f8a 100644
--- a/cmd/expandybird/test/MissingImports.yaml
+++ b/cmd/expandybird/test/MissingImports.yaml
@@ -18,4 +18,4 @@ resources:
   properties:
     service_port: 8080
     target_port: 8080
-    image: gcr.io/dm-k8s-testing/expandybird
+    image: gcr.io/dm-k8s-prod/expandybird
diff --git a/cmd/expandybird/test/MissingResourceName.yaml b/cmd/expandybird/test/MissingResourceName.yaml
index 8ae93dace..32215e765 100644
--- a/cmd/expandybird/test/MissingResourceName.yaml
+++ b/cmd/expandybird/test/MissingResourceName.yaml
@@ -18,4 +18,4 @@ resources:
   properties:
     service_port: 8080
     target_port: 8080
-    image: gcr.io/dm-k8s-testing/expandybird
+    image: gcr.io/dm-k8s-prod/expandybird
diff --git a/cmd/expandybird/test/MissingTypeName.yaml b/cmd/expandybird/test/MissingTypeName.yaml
index 65bd433a4..f246d99f8 100644
--- a/cmd/expandybird/test/MissingTypeName.yaml
+++ b/cmd/expandybird/test/MissingTypeName.yaml
@@ -18,4 +18,4 @@ resources:
   properties:
     service_port: 8080
     target_port: 8080
-    image: gcr.io/dm-k8s-testing/expandybird
+    image: gcr.io/dm-k8s-prod/expandybird
diff --git a/cmd/expandybird/test/TestArchive.tar b/cmd/expandybird/test/TestArchive.tar
index 2c364b00004513f120872ea7dfa10c6f4dd8daf0..585b4418d4b8e8ddc3e76442907090b4ae1559cc 100644
GIT binary patch
delta 104
zcmZqhY4DlQDq&=*U}$7!W@=_`Y-VbxU|?th1PlrWlM@+JCNnZ>FsJ6FPZX5h?8!Kj
ng{7b<KV|bvR&l1uf7$zlfSSzAObiWxnoNz1jj(Cr+%5wEp|l&V

delta 98
zcmZqhY4DlQDq(D(U}$7!Y-nh1W?*QjU|?u$Ze+}$U@$q6F=a9%qsBx9h0UIfGg;V6
lQj1G6^U^mzV-;tb#L+DT)M91^L_jSjrp6}dS~$1M008iU8HfM?

diff --git a/cmd/expandybird/test/ValidContent.yaml b/cmd/expandybird/test/ValidContent.yaml
index 37a32e153..0c342201e 100644
--- a/cmd/expandybird/test/ValidContent.yaml
+++ b/cmd/expandybird/test/ValidContent.yaml
@@ -22,6 +22,6 @@ resources:
     container_port: 8080
     external_service: true
     replicas: 3
-    image: gcr.io/dm-k8s-testing/expandybird
+    image: gcr.io/dm-k8s-prod/expandybird
     labels:
       app: expandybird
\ No newline at end of file
diff --git a/cmd/manager/Makefile b/cmd/manager/Makefile
index 2e3a2ad55..209c874f2 100644
--- a/cmd/manager/Makefile
+++ b/cmd/manager/Makefile
@@ -19,7 +19,6 @@ include ../include.mk
 DOCKER_REGISTRY := gcr.io
 PREFIX := $(DOCKER_REGISTRY)/$(PROJECT)
 IMAGE := manager
-TAG := latest
 
 ROOT_DIR := $(abspath ./..)
 DIR = $(ROOT_DIR)
diff --git a/cmd/resourcifier/Makefile b/cmd/resourcifier/Makefile
index 1b80a7dca..9d6eebe1a 100644
--- a/cmd/resourcifier/Makefile
+++ b/cmd/resourcifier/Makefile
@@ -21,7 +21,6 @@ include ../include.mk
 DOCKER_REGISTRY := gcr.io
 PREFIX := $(DOCKER_REGISTRY)/$(PROJECT)
 IMAGE := resourcifier
-TAG := latest
 
 ROOT_DIR := $(abspath ./..)
 DIR = $(ROOT_DIR)
diff --git a/docs/pushing.md b/docs/pushing.md
index 06c4faf37..381e7a28b 100644
--- a/docs/pushing.md
+++ b/docs/pushing.md
@@ -6,7 +6,7 @@ This details the requirements and steps for doing a DM push.
 
 In order to build and push DM, you must:
 
-* be an editor or owner on the GCP project `dm-k8s-testing`
+* be an editor or owner on the GCP project `dm-k8s-prod`
 * have `docker` installed and runnable in your current environment
 * have `gcloud` installed
 * have `gsutil` installed
@@ -17,7 +17,7 @@ To build and push the service containers:
 
 ```
 $ cd ${GOPATH}/src/github.com/kubernetes/deployment-manager
-$ export PROJECT=dm-k8s-testing
+$ export PROJECT=dm-k8s-prod
 $ make push
 ```
 
diff --git a/examples/bootstrap/bootstrap.yaml b/examples/bootstrap/bootstrap.yaml
index c36d38103..4deabeb45 100644
--- a/examples/bootstrap/bootstrap.yaml
+++ b/examples/bootstrap/bootstrap.yaml
@@ -8,7 +8,7 @@ resources:
     container_port: 8080
     external_service: false
     replicas: 2
-    image: gcr.io/dm-k8s-testing/expandybird:latest
+    image: gcr.io/dm-k8s-prod/expandybird:latest
     labels:
       app: dm
 - name: resourcifier
@@ -20,7 +20,7 @@ resources:
     container_port: 8080
     external_service: false
     replicas: 2
-    image: gcr.io/dm-k8s-testing/resourcifier:latest
+    image: gcr.io/dm-k8s-prod/resourcifier:latest
     labels:
       app: dm
 - name: manager
@@ -32,6 +32,6 @@ resources:
     container_port: 8080
     external_service: false
     replicas: 1
-    image: gcr.io/dm-k8s-testing/manager:latest
+    image: gcr.io/dm-k8s-prod/manager:latest
     labels:
       app: dm
diff --git a/examples/wordpress/README.md b/examples/wordpress/README.md
index 12573ba0e..177ff47c7 100644
--- a/examples/wordpress/README.md
+++ b/examples/wordpress/README.md
@@ -42,7 +42,7 @@ The template contains the following variables:
 
 ```
 {% set PROPERTIES = properties or {} %}
-{% set PROJECT = PROPERTIES['project'] or 'dm-k8s-testing' %}
+{% set PROJECT = PROPERTIES['project'] or 'dm-k8s-prod' %}
 {% set NFS_SERVER = PROPERTIES['nfs-server'] or {} %}
 {% set NFS_SERVER_IP = NFS_SERVER['ip'] or '10.0.253.247' %}
 {% set NFS_SERVER_PORT = NFS_SERVER['port'] or 2049 %}
diff --git a/examples/wordpress/wordpress.jinja b/examples/wordpress/wordpress.jinja
index c3789b555..5855b2e8c 100644
--- a/examples/wordpress/wordpress.jinja
+++ b/examples/wordpress/wordpress.jinja
@@ -1,5 +1,5 @@
 {% set PROPERTIES = properties or {} %}
-{% set PROJECT = PROPERTIES['project'] or 'dm-k8s-testing' %}
+{% set PROJECT = PROPERTIES['project'] or 'dm-k8s-prod' %}
 {% set NFS_SERVER = PROPERTIES['nfs-server'] or {} %}
 {% set NFS_SERVER_IP = NFS_SERVER['ip'] or '10.0.253.247' %}
 {% set NFS_SERVER_PORT = NFS_SERVER['port'] or 2049 %}
diff --git a/examples/wordpress/wordpress.jinja.schema b/examples/wordpress/wordpress.jinja.schema
index 215b47e1e..5b4a8bc21 100644
--- a/examples/wordpress/wordpress.jinja.schema
+++ b/examples/wordpress/wordpress.jinja.schema
@@ -8,7 +8,7 @@ info:
 properties:
   project:
     type: string
-    default: dm-k8s-testing
+    default: dm-k8s-prod
     description: Project location to load the images from.
   nfs-service:
     type: object
diff --git a/get-install.sh b/get-install.sh
index be8f34d14..df53665ef 100755
--- a/get-install.sh
+++ b/get-install.sh
@@ -15,11 +15,13 @@
 
 set -euo pipefail
 
-PLATFORM=$(uname | tr '[:upper:]' '[:lower:]')
-ARCH=$(uname -m)
+DEFAULT_TAG=v1.2
+DEFAULT_BINARY=${GOPATH}/bin/dm
+DEFAULT_PLATFORM=$(uname | tr '[:upper:]' '[:lower:]')
+DEFAULT_ARCH=$(uname -m)
 
 STORAGE_URL=http://get-dm.storage.googleapis.com
-ZIP=dm-latest-${PLATFORM}-${ARCH}.zip
+ZIP=dm-${TAG:-DEFAULT_TAG}-${PLATFORM:-DEFAULT_PLATFORM}-${ARCH:-DEFAULT_ARCH}.zip
 
 echo "Downloading ${ZIP}..."
 curl -Ls "${STORAGE_URL}/${ZIP}" -O
diff --git a/hack/dm-push.sh b/hack/dm-push.sh
index 00d4a8b1c..8484f7fe0 100755
--- a/hack/dm-push.sh
+++ b/hack/dm-push.sh
@@ -17,21 +17,23 @@
 # Run this from deployment-manager root to build and push the dm client plus
 # kubernetes install config into the publicly readable GCS bucket gs://get-dm.
 #
-# Must have EDIT permissions on the dm-k8s-testing GCP project.
+# Must have EDIT permissions on the dm-k8s-prod GCP project.
 
 set -euo pipefail
 
-PLATFORM=$(uname | tr '[:upper:]' '[:lower:]')
-ARCH=$(uname -m)
+DEFAULT_TAG=v1.2
+DEFAULT_BINARY=${GOPATH}/bin/dm
+DEFAULT_PLATFORM=$(uname | tr '[:upper:]' '[:lower:]')
+DEFAULT_ARCH=$(uname -m)
 
 STORAGE_BUCKET=gs://get-dm
-ZIP=dm-latest-${PLATFORM}-${ARCH}.zip
+ZIP=dm-${TAG:-DEFAULT_TAG}-${PLATFORM:-DEFAULT_PLATFORM}-${ARCH:-DEFAULT_ARCH}.zip
 
 echo "Building..."
 make
 
 echo "Zipping ${ZIP}..."
-zip -j ${ZIP} ${GOPATH}/bin/dm install.yaml
+zip -j ${ZIP} ${BINARY:-DEFAULT_BINARY} install.yaml
 
 echo "Uploading ${ZIP} to ${STORAGE_BUCKET}..."
 gsutil cp ${ZIP} ${STORAGE_BUCKET}
diff --git a/include.mk b/include.mk
index 4ae3c4c89..0d9ff7c3c 100644
--- a/include.mk
+++ b/include.mk
@@ -4,3 +4,6 @@ info:
 	@echo "Registry: ${DOCKER_REGISTRY}"
 	@echo "Project: ${PROJECT}"
 	@echo "Image: ${IMAGE}"
+
+TAG ?= $(shell echo `date +"%s"`_`date +"%N"`)
+	
\ No newline at end of file
diff --git a/install.yaml b/install.yaml
index 3d8dc042a..69a21a54e 100644
--- a/install.yaml
+++ b/install.yaml
@@ -58,7 +58,7 @@ spec:
     spec:
       containers:
       - env: []
-        image: gcr.io/dm-k8s-testing/expandybird:latest
+        image: gcr.io/dm-k8s-prod/expandybird:v1.2
         name: expandybird
         ports:
         - containerPort: 8080
@@ -102,7 +102,7 @@ spec:
     spec:
       containers:
       - env: []
-        image: gcr.io/dm-k8s-testing/resourcifier:latest
+        image: gcr.io/dm-k8s-prod/resourcifier:v1.2
         imagePullPolicy: Always
         livenessProbe:
           httpGet:
@@ -153,7 +153,7 @@ spec:
     spec:
       containers:
       - env: []
-        image: gcr.io/dm-k8s-testing/manager:latest
+        image: gcr.io/dm-k8s-prod/manager:v1.2
         imagePullPolicy: Always
         livenessProbe:
           httpGet:
diff --git a/pkg/util/templateutil_test.go b/pkg/util/templateutil_test.go
index 1c5a8784f..36a99c73a 100644
--- a/pkg/util/templateutil_test.go
+++ b/pkg/util/templateutil_test.go
@@ -39,7 +39,7 @@ target_port: 8080
 container_port: 8080
 external_service: true
 replicas: 3
-image: gcr.io/dm-k8s-testing/expandybird
+image: gcr.io/dm-k8s-prod/expandybird
 labels:
   app: expandybird
 `
-- 
GitLab