diff options
author | Thong Kuah <tkuah@gitlab.com> | 2018-11-22 22:40:05 +1300 |
---|---|---|
committer | Thong Kuah <tkuah@gitlab.com> | 2018-11-22 23:29:40 +1300 |
commit | 1b95882c39ada0eb78b810f500c8cf1f2083d4bd (patch) | |
tree | f6d764ae1d97c202b7d1cc02a6bee119e0842baa /qa/qa/resource/group_kubernetes_cluster.rb | |
parent | 6a31259ccef5106126421ab5a93fd303a9326e4a (diff) | |
download | gitlab-ce-1b95882c39ada0eb78b810f500c8cf1f2083d4bd.tar.gz |
Group cluster QA specgroup-cluster-qa-spec
Diffstat (limited to 'qa/qa/resource/group_kubernetes_cluster.rb')
-rw-r--r-- | qa/qa/resource/group_kubernetes_cluster.rb | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/qa/qa/resource/group_kubernetes_cluster.rb b/qa/qa/resource/group_kubernetes_cluster.rb new file mode 100644 index 00000000000..ee8aeef2de1 --- /dev/null +++ b/qa/qa/resource/group_kubernetes_cluster.rb @@ -0,0 +1,53 @@ +# frozen_string_literal: true + +require 'securerandom' + +module QA + module Resource + class GroupKubernetesCluster < Base + attr_writer :Group, :cluster, + :install_helm_tiller, :install_ingress + + attribute :ingress_ip do + Page::Group::Kubenertes::Kubernetes::Show.perform(&:ingress_ip) + end + + def fabricate! + @group.visit! + + Page::Group::Menu.perform( + &:click_kubernetes_kubernetes) + + Page::Group::Kubernetes::Kubernetes::Index.perform( + &:add_kubernetes_cluster) + + Page::Group::Kubernetes::Kubernetes::Add.perform( + &:add_existing_cluster) + + Page::Group::Kubernetes::Kubernetes::AddExisting.perform do |page| + page.set_cluster_name(@cluster.cluster_name) + page.set_api_url(@cluster.api_url) + page.set_ca_certificate(@cluster.ca_certificate) + page.set_token(@cluster.token) + page.check_rbac! if @cluster.rbac + page.add_cluster! + end + + if @install_helm_tiller + Page::Group::Kubernetes::Kubernetes::Show.perform do |page| + # We must wait a few seconds for permissions to be set up correctly for new cluster + sleep 10 + + # Helm must be installed before everything else + page.install!(:helm) + page.await_installed(:helm) + + page.install!(:ingress) if @install_ingress + + page.await_installed(:ingress) if @install_ingress + end + end + end + end + end +end |