diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index bc54351..a8234f8 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -36,7 +36,7 @@ env: paths: - test.env rules: - - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH || $CI_COMMIT_BRANCH =~ /k8s-.*/ || $CI_PIPELINE_SOURCE == "web" + - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH || $CI_COMMIT_BRANCH =~ /k8s-.*/i || $CI_PIPELINE_SOURCE == "web" test: stage: test @@ -48,8 +48,8 @@ test: - go test -race $(go list ./... | grep -v /vendor/) - go build -race -ldflags "-extldflags '-static'" -o $CI_PROJECT_DIR/mybinary - go test ./metakube -v -sweep=all - - TF_ACC=1 go test ./metakube -v -timeout 3h --parallel 10 -run TestAcc + - TF_ACC=1 go test ./metakube -v -timeout 3h -parallel 10 -run TestAcc needs: - env rules: - - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH || $CI_COMMIT_BRANCH =~ /k8s-.*/ || $CI_PIPELINE_SOURCE == "web" + - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH || $CI_COMMIT_BRANCH =~ /k8s-.*/i || $CI_PIPELINE_SOURCE == "web" diff --git a/metakube/provider_test.go b/metakube/provider_test.go index a85c196..a496a85 100644 --- a/metakube/provider_test.go +++ b/metakube/provider_test.go @@ -32,6 +32,7 @@ const ( testEnvOpenstackPassword = "METAKUBE_OPENSTACK_PASSWORD" testEnvOpenstackProjectID = "METAKUBE_OPENSTACK_PROJECT_ID" testEnvOpenstackProjectName = "METAKUBE_OPENSTACK_PROJECT_NAME" + testEnvOpenstackRegion = "METAKUBE_OPENSTACK_REGION" testEnvOpenstackImage = "METAKUBE_OPENSTACK_IMAGE" testEnvOpenstackImage2 = "METAKUBE_OPENSTACK_IMAGE2" testEnvOpenstackFlavor = "METAKUBE_OPENSTACK_FLAVOR" @@ -84,6 +85,7 @@ func testAccPreCheckForOpenstack(t *testing.T) { checkEnv(t, testEnvOpenstackPassword) checkEnv(t, testEnvOpenstackProjectID) checkEnv(t, testEnvOpenstackProjectName) + checkEnv(t, testEnvOpenstackRegion) checkEnv(t, testEnvOpenstackNodeDC) checkEnv(t, testEnvOpenstackImage) checkEnv(t, testEnvOpenstackImage2) diff --git a/metakube/resource_cluster_test.go b/metakube/resource_cluster_test.go index aebdbac..9b5240d 100644 --- a/metakube/resource_cluster_test.go +++ b/metakube/resource_cluster_test.go @@ -56,6 +56,7 @@ func TestAccMetakubeCluster_Openstack_Basic(t *testing.T) { OpenstackUser: os.Getenv(testEnvOpenstackUsername), OpenstackPassword: os.Getenv(testEnvOpenstackPassword), OpenstackProjectID: os.Getenv(testEnvOpenstackProjectID), + OpenstackRegion: os.Getenv(testEnvOpenstackRegion), DatacenterName: os.Getenv(testEnvOpenstackNodeDC), ProjectID: os.Getenv(testEnvProjectID), Version: os.Getenv(testEnvK8sVersionOpenstack), @@ -222,6 +223,11 @@ func TestAccMetakubeCluster_Openstack_ApplicationCredentials_Dynammic(t *testing resourceName := "metakube_cluster.acctest_cluster" data := &clusterOpenstackApplicationCredentailsData{ Name: makeRandomName() + "-appcred-dynamic", + OpenstackAuthURL: os.Getenv(testEnvOpenstackAuthURL), + OpenstackUser: os.Getenv(testEnvOpenstackUsername), + OpenstackPassword: os.Getenv(testEnvOpenstackPassword), + OpenstackProjectID: os.Getenv(testEnvOpenstackProjectID), + OpenstackRegion: os.Getenv(testEnvOpenstackRegion), DatacenterName: os.Getenv(testEnvOpenstackNodeDC), ProjectID: os.Getenv(testEnvProjectID), Version: os.Getenv(testEnvK8sVersionOpenstack), @@ -269,6 +275,7 @@ func TestAccMetakubeCluster_Openstack_UpgradeVersion(t *testing.T) { OpenstackProjectID: os.Getenv(testEnvOpenstackProjectID), DatacenterName: os.Getenv(testEnvOpenstackNodeDC), ProjectID: os.Getenv(testEnvProjectID), + OpenstackRegion: os.Getenv(testEnvOpenstackRegion), } var result strings.Builder if err := clusterOpenstackBasicTemplate.Execute(&result, data); err != nil { @@ -312,6 +319,7 @@ type clusterOpenstackBasicData struct { OpenstackUser string OpenstackPassword string OpenstackProjectID string + OpenstackRegion string Name string DatacenterName string @@ -337,6 +345,7 @@ provider "openstack" { user_name = "{{ .OpenstackUser }}" password = "{{ .OpenstackPassword }}" tenant_id = "{{ .OpenstackProjectID }}" + region = "{{ .OpenstackRegion }}" } resource "metakube_cluster" "acctest_cluster" { @@ -417,6 +426,12 @@ resource "openstack_networking_subnet_v2" "subnet_tf_test" { }`) type clusterOpenstackApplicationCredentailsData struct { + OpenstackAuthURL string + OpenstackUser string + OpenstackPassword string + OpenstackProjectID string + OpenstackRegion string + Name string DatacenterName string ProjectID string @@ -436,9 +451,17 @@ terraform { } {{ if .Dynamic }} +provider "openstack" { + auth_url = "{{ .OpenstackAuthURL }}" + user_name = "{{ .OpenstackUser }}" + password = "{{ .OpenstackPassword }}" + tenant_id = "{{ .OpenstackProjectID }}" + region = "{{ .OpenstackRegion }}" +} + resource "openstack_identity_application_credential_v3" "app_credential" { name = "{{ .Name }}" - } +} {{ end }} resource "metakube_cluster" "acctest_cluster" { diff --git a/metakube/resource_node_deployment_test.go b/metakube/resource_node_deployment_test.go index 8780b08..077a6cf 100644 --- a/metakube/resource_node_deployment_test.go +++ b/metakube/resource_node_deployment_test.go @@ -23,6 +23,7 @@ func TestAccMetakubeNodeDeployment_Openstack_Basic(t *testing.T) { OpenstackUser: os.Getenv(testEnvOpenstackUsername), OpenstackPassword: os.Getenv(testEnvOpenstackPassword), OpenstackProjectID: os.Getenv(testEnvOpenstackProjectID), + OpenstackRegion: os.Getenv(testEnvOpenstackRegion), DatacenterName: os.Getenv(testEnvOpenstackNodeDC), ProjectID: os.Getenv(testEnvProjectID), ClusterVersion: os.Getenv(testEnvK8sVersionOpenstack), @@ -130,6 +131,7 @@ type nodeDeploymentBasicData struct { OpenstackUser string OpenstackPassword string OpenstackProjectID string + OpenstackRegion string Name string DatacenterName string @@ -155,6 +157,7 @@ var nodeDeploymentBasicTemplate = mustParseTemplate("nodeDeploymentBasic", ` user_name = "{{ .OpenstackUser }}" password = "{{ .OpenstackPassword }}" tenant_id = "{{ .OpenstackProjectID }}" + region = "{{ .OpenstackRegion }}" } data "openstack_images_image_v2" "image" {