summaryrefslogtreecommitdiff
path: root/qa
diff options
context:
space:
mode:
authorDylan Griffith <dyl.griffith@gmail.com>2018-07-03 16:13:54 +0200
committerDylan Griffith <dyl.griffith@gmail.com>2018-07-03 17:48:03 +0200
commit2a8d0b59a37be30e27255220b911c6d052ca48e1 (patch)
treee928d59a197c213915d6b00f90e4c846fc481a79 /qa
parent00518d261d2e5b751bb5da93531880d4b3eb4250 (diff)
downloadgitlab-ce-2a8d0b59a37be30e27255220b911c6d052ca48e1.tar.gz
Auto DevOps QA: Prefer gcloud credentials from env
Diffstat (limited to 'qa')
-rw-r--r--qa/qa/runtime/env.rb4
-rw-r--r--qa/qa/service/kubernetes_cluster.rb10
2 files changed, 11 insertions, 3 deletions
diff --git a/qa/qa/runtime/env.rb b/qa/qa/runtime/env.rb
index 81d00d45753..4db76a57f96 100644
--- a/qa/qa/runtime/env.rb
+++ b/qa/qa/runtime/env.rb
@@ -58,6 +58,10 @@ module QA
def gcloud_zone
ENV.fetch('GCLOUD_ZONE')
end
+
+ def has_gcloud_credentials?
+ %w[GCLOUD_ACCOUNT_KEY GCLOUD_ACCOUNT_EMAIL].none? { |var| ENV[var].to_s.empty? }
+ end
end
end
end
diff --git a/qa/qa/service/kubernetes_cluster.rb b/qa/qa/service/kubernetes_cluster.rb
index 7627c8c7ad9..abd9d53554f 100644
--- a/qa/qa/service/kubernetes_cluster.rb
+++ b/qa/qa/service/kubernetes_cluster.rb
@@ -50,11 +50,15 @@ module QA
end
def login_if_not_already_logged_in
- account = `gcloud auth list --filter=status:ACTIVE --format="value(account)"`
- if account.empty?
+ if Runtime::Env.has_gcloud_credentials?
attempt_login_with_env_vars
else
- puts "gcloud account found. Using: #{account} for creating K8s cluster."
+ account = `gcloud auth list --filter=status:ACTIVE --format="value(account)"`
+ if account.empty?
+ raise "Failed to login to gcloud. No credentials provided in environment and no credentials found locally."
+ else
+ puts "gcloud account found. Using: #{account} for creating K8s cluster."
+ end
end
end