From 30b78e4d7fdc34e55709caf831a6abd738e61dea Mon Sep 17 00:00:00 2001 From: Robert Bailey Date: Thu, 25 Feb 2016 16:00:16 -0800 Subject: [PATCH] Add the GCE cluster name to instance metadata. --- cluster/common.sh | 9 +++++++++ cluster/gce/config-default.sh | 1 + cluster/gce/config-test.sh | 1 + cluster/gce/coreos/helper.sh | 5 +++-- cluster/gce/debian/helper.sh | 5 +++-- cluster/gce/trusty/helper.sh | 5 +++-- cluster/gce/util.sh | 9 ++++----- 7 files changed, 24 insertions(+), 11 deletions(-) diff --git a/cluster/common.sh b/cluster/common.sh index 80aef9a6a8..cef36f1d6b 100755 --- a/cluster/common.sh +++ b/cluster/common.sh @@ -427,6 +427,15 @@ function build-runtime-config() { : } +# Writes the cluster name into a temporary file. +# Assumed vars +# CLUSTER_NAME +function write-cluster-name { + cat >"${KUBE_TEMP}/cluster-name.txt" << EOF +${CLUSTER_NAME} +EOF +} + function write-master-env { # If the user requested that the master be part of the cluster, set the # environment variable to program the master kubelet to register itself. diff --git a/cluster/gce/config-default.sh b/cluster/gce/config-default.sh index a4574e0028..8d64d3ca66 100755 --- a/cluster/gce/config-default.sh +++ b/cluster/gce/config-default.sh @@ -41,6 +41,7 @@ RKT_VERSION=${KUBE_RKT_VERSION:-0.5.5} NETWORK=${KUBE_GCE_NETWORK:-default} INSTANCE_PREFIX="${KUBE_GCE_INSTANCE_PREFIX:-kubernetes}" +CLUSTER_NAME="${CLUSTER_NAME:-${INSTANCE_PREFIX}}" MASTER_NAME="${INSTANCE_PREFIX}-master" MASTER_TAG="${INSTANCE_PREFIX}-master" NODE_TAG="${INSTANCE_PREFIX}-minion" diff --git a/cluster/gce/config-test.sh b/cluster/gce/config-test.sh index 3a8d42b55b..f9842554f4 100755 --- a/cluster/gce/config-test.sh +++ b/cluster/gce/config-test.sh @@ -41,6 +41,7 @@ RKT_VERSION=${KUBE_RKT_VERSION:-0.5.5} NETWORK=${KUBE_GCE_NETWORK:-e2e} INSTANCE_PREFIX="${KUBE_GCE_INSTANCE_PREFIX:-e2e-test-${USER}}" +CLUSTER_NAME="${CLUSTER_NAME:-${INSTANCE_PREFIX}}" MASTER_NAME="${INSTANCE_PREFIX}-master" MASTER_TAG="${INSTANCE_PREFIX}-master" NODE_TAG="${INSTANCE_PREFIX}-minion" diff --git a/cluster/gce/coreos/helper.sh b/cluster/gce/coreos/helper.sh index 400cab9c33..3532fc2b14 100755 --- a/cluster/gce/coreos/helper.sh +++ b/cluster/gce/coreos/helper.sh @@ -25,7 +25,8 @@ function create-node-instance-template() { "kube-env=${KUBE_TEMP}/node-kube-env.yaml" \ "user-data=${KUBE_ROOT}/cluster/gce/coreos/node.yaml" \ "configure-node=${KUBE_ROOT}/cluster/gce/coreos/configure-node.sh" \ - "configure-kubelet=${KUBE_ROOT}/cluster/gce/coreos/configure-kubelet.sh" + "configure-kubelet=${KUBE_ROOT}/cluster/gce/coreos/configure-kubelet.sh" \ + "cluster-name=${KUBE_TEMP}/cluster-name.txt" } @@ -64,7 +65,7 @@ function create-master-instance() { --scopes "storage-ro,compute-rw,monitoring,logging-write" \ --can-ip-forward \ --metadata-from-file \ - "kube-env=${KUBE_TEMP}/master-kube-env.yaml,user-data=${KUBE_ROOT}/cluster/gce/coreos/master.yaml,configure-node=${KUBE_ROOT}/cluster/gce/coreos/configure-node.sh,configure-kubelet=${KUBE_ROOT}/cluster/gce/coreos/configure-kubelet.sh" \ + "kube-env=${KUBE_TEMP}/master-kube-env.yaml,user-data=${KUBE_ROOT}/cluster/gce/coreos/master.yaml,configure-node=${KUBE_ROOT}/cluster/gce/coreos/configure-node.sh,configure-kubelet=${KUBE_ROOT}/cluster/gce/coreos/configure-kubelet.sh,cluster-name=${KUBE_TEMP}/cluster-name.txt" \ --disk "name=${MASTER_NAME}-pd,device-name=master-pd,mode=rw,boot=no,auto-delete=no" \ ${preemptible_master} } diff --git a/cluster/gce/debian/helper.sh b/cluster/gce/debian/helper.sh index 946a381600..e24a1b0900 100755 --- a/cluster/gce/debian/helper.sh +++ b/cluster/gce/debian/helper.sh @@ -51,7 +51,7 @@ function create-master-instance { --scopes "storage-ro,compute-rw,monitoring,logging-write" \ --can-ip-forward \ --metadata-from-file \ - "startup-script=${KUBE_ROOT}/cluster/gce/configure-vm.sh,kube-env=${KUBE_TEMP}/master-kube-env.yaml" \ + "startup-script=${KUBE_ROOT}/cluster/gce/configure-vm.sh,kube-env=${KUBE_TEMP}/master-kube-env.yaml,cluster-name=${KUBE_TEMP}/cluster-name.txt" \ --disk "name=${MASTER_NAME}-pd,device-name=master-pd,mode=rw,boot=no,auto-delete=no" \ ${preemptible_master} } @@ -61,5 +61,6 @@ function create-node-instance-template { local template_name="$1" create-node-template "$template_name" "${scope_flags}" \ "startup-script=${KUBE_ROOT}/cluster/gce/configure-vm.sh" \ - "kube-env=${KUBE_TEMP}/node-kube-env.yaml" + "kube-env=${KUBE_TEMP}/node-kube-env.yaml" \ + "cluster-name=${KUBE_TEMP}/cluster-name.txt" } diff --git a/cluster/gce/trusty/helper.sh b/cluster/gce/trusty/helper.sh index 32349c2624..8f351a333f 100755 --- a/cluster/gce/trusty/helper.sh +++ b/cluster/gce/trusty/helper.sh @@ -29,7 +29,8 @@ function create-node-instance-template { create-node-template "$template_name" "${scope_flags[*]}" \ "kube-env=${KUBE_TEMP}/node-kube-env.yaml" \ "user-data=${KUBE_ROOT}/cluster/gce/trusty/node.yaml" \ - "configure-sh=${KUBE_ROOT}/cluster/gce/trusty/configure.sh" + "configure-sh=${KUBE_ROOT}/cluster/gce/trusty/configure.sh" \ + "cluster-name=${KUBE_TEMP}/cluster-name.txt" } # create-master-instance creates the master instance. If called with @@ -62,6 +63,6 @@ function create-master-instance { --scopes "storage-ro,compute-rw,monitoring,logging-write" \ --can-ip-forward \ --metadata-from-file \ - "kube-env=${KUBE_TEMP}/master-kube-env.yaml,user-data=${KUBE_ROOT}/cluster/gce/trusty/master.yaml,configure-sh=${KUBE_ROOT}/cluster/gce/trusty/configure.sh" \ + "kube-env=${KUBE_TEMP}/master-kube-env.yaml,user-data=${KUBE_ROOT}/cluster/gce/trusty/master.yaml,configure-sh=${KUBE_ROOT}/cluster/gce/trusty/configure.sh,cluster-name=${KUBE_TEMP}/cluster-name.txt" \ --disk "name=${MASTER_NAME}-pd,device-name=master-pd,mode=rw,boot=no,auto-delete=no" } diff --git a/cluster/gce/util.sh b/cluster/gce/util.sh index 0306140492..2b11b6e229 100755 --- a/cluster/gce/util.sh +++ b/cluster/gce/util.sh @@ -268,7 +268,7 @@ function detect-node-names { done echo "INSTANCE_GROUPS=${INSTANCE_GROUPS[*]}" >&2 echo "NODE_NAMES=${NODE_NAMES[*]}" >&2 - else + else echo "INSTANCE_GROUPS=" >&2 echo "NODE_NAMES=" >&2 fi @@ -393,9 +393,7 @@ function get-template-name-from-version { # Robustly try to create an instance template. # $1: The name of the instance template. # $2: The scopes flag. -# $3: The minion start script metadata from file. -# $4: The kube-env metadata. -# $5 and others: Additional user defined metadata. +# $3 and others: Metadata entries (must all be from a file). function create-node-template { detect-project local template_name="$1" @@ -530,6 +528,7 @@ function kube-up { else check-existing create-network + write-cluster-name create-master create-nodes-firewall create-nodes-template @@ -670,7 +669,7 @@ function create-nodes-template() { # Assumes: # - MAX_INSTANCES_PER_MIG # - NUM_NODES -# exports: +# exports: # - NUM_MIGS function set_num_migs() { local defaulted_max_instances_per_mig=${MAX_INSTANCES_PER_MIG:-500}