From 7a633b5519e78d17c581e4c658493d4e41bd659d Mon Sep 17 00:00:00 2001 From: shashidharatd Date: Mon, 18 Sep 2017 07:18:18 +0530 Subject: [PATCH 1/4] Add switch to control use of pv for etcd in federation CI jobs --- federation/cluster/common.sh | 1 + federation/cluster/federation-up.sh | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/federation/cluster/common.sh b/federation/cluster/common.sh index b208d2cb4c2..51da945c9c3 100644 --- a/federation/cluster/common.sh +++ b/federation/cluster/common.sh @@ -25,6 +25,7 @@ source "${KUBE_ROOT}/cluster/kube-util.sh" FEDERATION_NAME="${FEDERATION_NAME:-e2e-federation}" FEDERATION_NAMESPACE=${FEDERATION_NAMESPACE:-federation-system} FEDERATION_KUBE_CONTEXT="${FEDERATION_KUBE_CONTEXT:-${FEDERATION_NAME}}" +FEDERATION_USE_PV_FOR_ETCD=${FEDERATION_USE_PV_FOR_ETCD:-false} HOST_CLUSTER_ZONE="${FEDERATION_HOST_CLUSTER_ZONE:-}" # If $HOST_CLUSTER_ZONE isn't specified, arbitrarily choose # last zone as the host cluster zone. diff --git a/federation/cluster/federation-up.sh b/federation/cluster/federation-up.sh index 7c7e9f9009b..7801e18749a 100755 --- a/federation/cluster/federation-up.sh +++ b/federation/cluster/federation-up.sh @@ -30,7 +30,7 @@ KUBE_ROOT=$(dirname "${BASH_SOURCE}")/../.. # "${KUBE_ROOT}/cluster/lib/logging.sh" and DEFAULT_KUBECONFIG source "${KUBE_ROOT}/cluster/common.sh" # For $FEDERATION_NAME, $FEDERATION_NAMESPACE, $FEDERATION_KUBE_CONTEXT, -# and $HOST_CLUSTER_CONTEXT. +# $HOST_CLUSTER_CONTEXT and $FEDERATION_USE_PV_FOR_ETCD. source "${KUBE_ROOT}/federation/cluster/common.sh" DNS_ZONE_NAME="${FEDERATION_DNS_ZONE_NAME:-}" @@ -118,6 +118,7 @@ function init() { --apiserver-enable-token-auth=true \ --apiserver-arg-overrides="--runtime-config=api/all=true,--v=4" \ --controllermanager-arg-overrides="--v=4" \ + --etcd-persistent-storage=${FEDERATION_USE_PV_FOR_ETCD} \ --v=4 } From e3c2170ec7bec4f7ef2769e5faf51137b3db07d8 Mon Sep 17 00:00:00 2001 From: shashidharatd Date: Mon, 18 Sep 2017 07:23:33 +0530 Subject: [PATCH 2/4] Fix couple of minor issues in federation deployment scripts --- federation/cluster/common.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/federation/cluster/common.sh b/federation/cluster/common.sh index 51da945c9c3..044a0efa6a9 100644 --- a/federation/cluster/common.sh +++ b/federation/cluster/common.sh @@ -52,7 +52,7 @@ function federation_cluster_contexts() { federation_contexts=() for context in ${contexts}; do # Skip federation context - if [[ "${context}" == "${FEDERATION_NAME}" ]]; then + if [[ "${context}" == "${FEDERATION_KUBE_CONTEXT}" ]]; then continue fi # Skip contexts not beginning with "federation" @@ -61,7 +61,7 @@ function federation_cluster_contexts() { fi federation_contexts+=("${context}") done - echo ${federation_contexts[@]} + echo ${federation_contexts[@]:-} } From cf06dc19ef0bb2047934aed2fb83b43bf745fa8e Mon Sep 17 00:00:00 2001 From: shashidharatd Date: Mon, 18 Sep 2017 07:26:05 +0530 Subject: [PATCH 3/4] Remove unnecessarily included scripts in federation deployment scripts --- federation/cluster/common.sh | 8 ++++---- federation/cluster/federation-up.sh | 3 --- federation/cluster/upgrade.sh | 3 --- 3 files changed, 4 insertions(+), 10 deletions(-) diff --git a/federation/cluster/common.sh b/federation/cluster/common.sh index 044a0efa6a9..dba2354b4df 100644 --- a/federation/cluster/common.sh +++ b/federation/cluster/common.sh @@ -17,10 +17,12 @@ : "${KUBE_ROOT?Must set KUBE_ROOT env var}" -# Provides the $KUBERNETES_PROVIDER, kubeconfig-federation-context() -# and detect-project function +# Provides the kubeconfig-federation-context() function source "${KUBE_ROOT}/cluster/kube-util.sh" +# For `kube::log::status` function +source "${KUBE_ROOT}/cluster/lib/logging.sh" + # kubefed configuration FEDERATION_NAME="${FEDERATION_NAME:-e2e-federation}" FEDERATION_NAMESPACE=${FEDERATION_NAMESPACE:-federation-system} @@ -65,8 +67,6 @@ function federation_cluster_contexts() { } -source "${KUBE_ROOT}/cluster/common.sh" - host_kubectl="${KUBE_ROOT}/cluster/kubectl.sh --namespace=${FEDERATION_NAMESPACE}" function cleanup-federation-api-objects { diff --git a/federation/cluster/federation-up.sh b/federation/cluster/federation-up.sh index 7801e18749a..47f985732c5 100755 --- a/federation/cluster/federation-up.sh +++ b/federation/cluster/federation-up.sh @@ -26,9 +26,6 @@ set -o pipefail KUBE_ROOT=$(dirname "${BASH_SOURCE}")/../.. -# For `kube::log::status` function since it already sources -# "${KUBE_ROOT}/cluster/lib/logging.sh" and DEFAULT_KUBECONFIG -source "${KUBE_ROOT}/cluster/common.sh" # For $FEDERATION_NAME, $FEDERATION_NAMESPACE, $FEDERATION_KUBE_CONTEXT, # $HOST_CLUSTER_CONTEXT and $FEDERATION_USE_PV_FOR_ETCD. source "${KUBE_ROOT}/federation/cluster/common.sh" diff --git a/federation/cluster/upgrade.sh b/federation/cluster/upgrade.sh index 81755aed808..cf8a66b561c 100755 --- a/federation/cluster/upgrade.sh +++ b/federation/cluster/upgrade.sh @@ -19,9 +19,6 @@ set -o nounset set -o pipefail KUBE_ROOT=$(dirname "${BASH_SOURCE}")/../.. -# For `kube::log::status` function since it already sources -# "${KUBE_ROOT}/cluster/lib/logging.sh" -source "${KUBE_ROOT}/cluster/common.sh" # For $FEDERATION_NAME, $FEDERATION_NAMESPACE, $HOST_CLUSTER_CONTEXT, source "${KUBE_ROOT}/federation/cluster/common.sh" From 33c075d91b70fb737474c2f1699df5cd814bb62b Mon Sep 17 00:00:00 2001 From: shashidharatd Date: Tue, 26 Sep 2017 12:23:46 +0530 Subject: [PATCH 4/4] Move logs related to etcd pvc creation inside conditional --- federation/pkg/kubefed/init/init.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/federation/pkg/kubefed/init/init.go b/federation/pkg/kubefed/init/init.go index 2599c458439..826eff5892d 100644 --- a/federation/pkg/kubefed/init/init.go +++ b/federation/pkg/kubefed/init/init.go @@ -340,16 +340,16 @@ func (i *initFederation) Run(cmdOut io.Writer, config util.AdminConfig) error { } glog.V(4).Info("Credentials secret successfully created") - glog.V(4).Info("Creating a persistent volume and a claim to store the federation API server's state, including etcd data") var pvc *api.PersistentVolumeClaim if i.options.etcdPersistentStorage { + glog.V(4).Info("Creating a persistent volume and a claim to store the federation API server's state, including etcd data") pvc, err = createPVC(hostClientset, i.commonOptions.FederationSystemNamespace, svc.Name, i.commonOptions.Name, i.options.etcdPVCapacity, i.options.etcdPVStorageClass, i.options.dryRun) if err != nil { return err } + glog.V(4).Info("Persistent volume and claim created") + fmt.Fprintln(cmdOut, " done") } - glog.V(4).Info("Persistent volume and claim created") - fmt.Fprintln(cmdOut, " done") // Since only one IP address can be specified as advertise address, // we arbitrarily pick the first available IP address