From c5522c7d440d6624dbabcf3c3e13d871afc7b012 Mon Sep 17 00:00:00 2001 From: Thong Kuah Date: Tue, 9 Oct 2018 09:36:22 +1300 Subject: [PATCH] Fix commands for kubectl >= 1.12 The `--username` and `--password` top level options have been removed. Fortunately we have a backwards compatible way of setting the credentials via `kubectl config set-credentials `, and using the `--user ` top level option which is available at least in 1.10 (and possibly farther back). --- qa/qa/service/kubernetes_cluster.rb | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/qa/qa/service/kubernetes_cluster.rb b/qa/qa/service/kubernetes_cluster.rb index 35c03e3f48a..c5f12255d72 100644 --- a/qa/qa/service/kubernetes_cluster.rb +++ b/qa/qa/service/kubernetes_cluster.rb @@ -34,7 +34,14 @@ module QA CMD @api_url = `kubectl config view --minify -o jsonpath='{.clusters[].cluster.server}'` - @master_auth = JSON.parse(`gcloud container clusters describe #{cluster_name} --zone #{Runtime::Env.gcloud_zone} --format 'json(masterAuth.username, masterAuth.password)'`) + + @admin_user = "#{cluster_name}-admin" + master_auth = JSON.parse(`gcloud container clusters describe #{cluster_name} --zone #{Runtime::Env.gcloud_zone} --format 'json(masterAuth.username, masterAuth.password)'`) + shell <<~CMD.tr("\n", ' ') + kubectl config set-credentials #{@admin_user} + --username #{master_auth['masterAuth']['username']} + --password #{master_auth['masterAuth']['password']} + CMD if rbac create_service_account @@ -67,7 +74,7 @@ module QA def create_service_account shell('kubectl create -f -', stdin_data: service_account) - shell("kubectl --username #{@master_auth['masterAuth']['username']} --password #{@master_auth['masterAuth']['password']} create -f -", stdin_data: service_account_role_binding) + shell("kubectl --user #{@admin_user} create -f -", stdin_data: service_account_role_binding) end def service_account