Merge branch 'qa-112-fix-auto-devops-cluster-spec' into 'master'

Qa 112 fix auto devops cluster spec

See merge request gitlab-org/gitlab-ce!19584
parents 9556030d 1dca45ff
require 'pathname'
module QA module QA
module Factory module Factory
module Repository module Repository
......
...@@ -46,6 +46,18 @@ module QA ...@@ -46,6 +46,18 @@ module QA
def sandbox_name def sandbox_name
ENV['GITLAB_SANDBOX_NAME'] ENV['GITLAB_SANDBOX_NAME']
end end
def gcloud_account_key
ENV.fetch("GCLOUD_ACCOUNT_KEY")
end
def gcloud_account_email
ENV.fetch("GCLOUD_ACCOUNT_EMAIL")
end
def gcloud_zone
ENV.fetch('GCLOUD_ZONE')
end
end end
end end
end end
...@@ -20,9 +20,11 @@ module QA ...@@ -20,9 +20,11 @@ module QA
gcloud container clusters gcloud container clusters
create #{cluster_name} create #{cluster_name}
--enable-legacy-authorization --enable-legacy-authorization
--zone us-central1-a --zone #{Runtime::Env.gcloud_zone}
&& gcloud container clusters && gcloud container clusters
get-credentials #{cluster_name} get-credentials
--zone #{Runtime::Env.gcloud_zone}
#{cluster_name}
CMD CMD
@api_url = `kubectl config view --minify -o jsonpath='{.clusters[].cluster.server}'` @api_url = `kubectl config view --minify -o jsonpath='{.clusters[].cluster.server}'`
...@@ -32,7 +34,12 @@ module QA ...@@ -32,7 +34,12 @@ module QA
end end
def remove! def remove!
shell("gcloud container clusters delete #{cluster_name} --quiet --async") shell <<~CMD.tr("\n", ' ')
gcloud container clusters delete
--zone #{Runtime::Env.gcloud_zone}
#{cluster_name}
--quiet --async
CMD
end end
private private
...@@ -54,9 +61,9 @@ module QA ...@@ -54,9 +61,9 @@ module QA
def attempt_login_with_env_vars def attempt_login_with_env_vars
puts "No gcloud account. Attempting to login from env vars GCLOUD_ACCOUNT_EMAIL and GCLOUD_ACCOUNT_KEY." puts "No gcloud account. Attempting to login from env vars GCLOUD_ACCOUNT_EMAIL and GCLOUD_ACCOUNT_KEY."
gcloud_account_key = Tempfile.new('gcloud-account-key') gcloud_account_key = Tempfile.new('gcloud-account-key')
gcloud_account_key.write(ENV.fetch("GCLOUD_ACCOUNT_KEY")) gcloud_account_key.write(Runtime::Env.gcloud_account_key)
gcloud_account_key.close gcloud_account_key.close
gcloud_account_email = ENV.fetch("GCLOUD_ACCOUNT_EMAIL") gcloud_account_email = Runtime::Env.gcloud_account_email
shell("gcloud auth activate-service-account #{gcloud_account_email} --key-file #{gcloud_account_key.path}") shell("gcloud auth activate-service-account #{gcloud_account_email} --key-file #{gcloud_account_key.path}")
ensure ensure
gcloud_account_key && gcloud_account_key.unlink gcloud_account_key && gcloud_account_key.unlink
......
require 'pathname'
module QA module QA
feature 'Auto Devops', :kubernetes do feature 'Auto Devops', :kubernetes do
after do after do
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment