Skip to content

Commit

Permalink
container: fixed resourceManagerTags tests (#12728)
Browse files Browse the repository at this point in the history
Co-authored-by: Chenhao Ma <chenhaoma@google.com>
  • Loading branch information
wyardley and MaChenhao authored Jan 21, 2025
1 parent 327e1af commit 8f5a79d
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 243 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,27 @@ import (
cloudkms "google.golang.org/api/cloudkms/v1"
)

func bootstrapGkeTagManagerServiceAgents(t *testing.T) {
acctest.BootstrapIamMembers(t, []acctest.IamMember{
{
Member: "serviceAccount:service-{project_number}@container-engine-robot.iam.gserviceaccount.com",
Role: "roles/resourcemanager.tagAdmin",
},
{
Member: "serviceAccount:service-{project_number}@container-engine-robot.iam.gserviceaccount.com",
Role: "roles/resourcemanager.tagHoldAdmin",
},
{
Member: "serviceAccount:service-{project_number}@container-engine-robot.iam.gserviceaccount.com",
Role: "roles/resourcemanager.tagUser",
},
{
Member: "serviceAccount:{project_number}@cloudservices.gserviceaccount.com",
Role: "roles/resourcemanager.tagUser",
},
})
}

func TestAccContainerCluster_basic(t *testing.T) {
t.Parallel()

Expand Down Expand Up @@ -68,11 +89,8 @@ func TestAccContainerCluster_resourceManagerTags(t *testing.T) {

networkName := acctest.BootstrapSharedTestNetwork(t, "gke-cluster")
subnetworkName := acctest.BootstrapSubnet(t, "gke-cluster", networkName)

if acctest.BootstrapPSARole(t, "service-", "container-engine-robot", "roles/resourcemanager.tagHoldAdmin") {
t.Fatal("Stopping the test because a role was added to the policy.")
}


bootstrapGkeTagManagerServiceAgents(t)
acctest.VcrTest(t, resource.TestCase{
PreCheck: func() { acctest.AccTestPreCheck(t) },
ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories(t),
Expand Down Expand Up @@ -3642,6 +3660,8 @@ func TestAccContainerCluster_withAutopilotResourceManagerTags(t *testing.T) {
clusterNetName := fmt.Sprintf("tf-test-container-net-%s", randomSuffix)
clusterSubnetName := fmt.Sprintf("tf-test-container-subnet-%s", randomSuffix)

bootstrapGkeTagManagerServiceAgents(t)

acctest.VcrTest(t, resource.TestCase{
PreCheck: func() { acctest.AccTestPreCheck(t) },
ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories(t),
Expand All @@ -3666,6 +3686,10 @@ func TestAccContainerCluster_withAutopilotResourceManagerTags(t *testing.T) {
{
Config: testAccContainerCluster_withAutopilotResourceManagerTagsUpdate1(pid, clusterName, clusterNetName, clusterSubnetName, randomSuffix),
Check: resource.ComposeTestCheckFunc(
// Small sleep, to avoid case where cluster is ready but underlying GCE
// resources apparently aren't.
// b/390456348
acctest.SleepInSecondsForTest(30),
resource.TestCheckResourceAttrSet("google_container_cluster.with_autopilot", "node_pool_auto_config.0.resource_manager_tags.%"),
),
},
Expand Down Expand Up @@ -11769,38 +11793,6 @@ data "google_project" "project" {
project_id = "%[1]s"
}

resource "google_project_iam_member" "tagHoldAdmin" {
project = "%[1]s"
role = "roles/resourcemanager.tagHoldAdmin"
member = "serviceAccount:service-${data.google_project.project.number}@container-engine-robot.iam.gserviceaccount.com"
}

resource "google_project_iam_member" "tagUser1" {
project = "%[1]s"
role = "roles/resourcemanager.tagUser"
member = "serviceAccount:service-${data.google_project.project.number}@container-engine-robot.iam.gserviceaccount.com"

depends_on = [google_project_iam_member.tagHoldAdmin]
}

resource "google_project_iam_member" "tagUser2" {
project = "%[1]s"
role = "roles/resourcemanager.tagUser"
member = "serviceAccount:${data.google_project.project.number}@cloudservices.gserviceaccount.com"

depends_on = [google_project_iam_member.tagHoldAdmin]
}

resource "time_sleep" "wait_120_seconds" {
create_duration = "120s"

depends_on = [
google_project_iam_member.tagHoldAdmin,
google_project_iam_member.tagUser1,
google_project_iam_member.tagUser2,
]
}

resource "google_tags_tag_key" "key1" {
parent = data.google_project.project.id
short_name = "foobarbaz-%[2]s"
Expand Down Expand Up @@ -11855,8 +11847,6 @@ resource "google_container_cluster" "primary" {
deletion_protection = false
network = "%[4]s"
subnetwork = "%[5]s"

depends_on = [time_sleep.wait_120_seconds]
}
`, projectID, randomSuffix, clusterName, networkName, subnetworkName, tagResourceNumber)
}
Expand All @@ -11867,38 +11857,6 @@ data "google_project" "project" {
project_id = "%[1]s"
}

resource "google_project_iam_member" "tagHoldAdmin" {
project = "%[1]s"
role = "roles/resourcemanager.tagHoldAdmin"
member = "serviceAccount:service-${data.google_project.project.number}@container-engine-robot.iam.gserviceaccount.com"
}

resource "google_project_iam_member" "tagUser1" {
project = "%[1]s"
role = "roles/resourcemanager.tagUser"
member = "serviceAccount:service-${data.google_project.project.number}@container-engine-robot.iam.gserviceaccount.com"

depends_on = [google_project_iam_member.tagHoldAdmin]
}

resource "google_project_iam_member" "tagUser2" {
project = "%[1]s"
role = "roles/resourcemanager.tagUser"
member = "serviceAccount:${data.google_project.project.number}@cloudservices.gserviceaccount.com"

depends_on = [google_project_iam_member.tagHoldAdmin]
}

resource "time_sleep" "wait_120_seconds" {
create_duration = "120s"

depends_on = [
google_project_iam_member.tagHoldAdmin,
google_project_iam_member.tagUser1,
google_project_iam_member.tagUser2,
]
}

resource "google_tags_tag_key" "key1" {
parent = "projects/%[1]s"
short_name = "foobarbaz1-%[2]s"
Expand Down Expand Up @@ -11993,8 +11951,6 @@ resource "google_container_cluster" "with_autopilot" {
vertical_pod_autoscaling {
enabled = true
}

depends_on = [time_sleep.wait_120_seconds]
}
`, projectID, randomSuffix, clusterName, networkName, subnetworkName)
}
Expand All @@ -12005,38 +11961,6 @@ data "google_project" "project" {
project_id = "%[1]s"
}

resource "google_project_iam_member" "tagHoldAdmin" {
project = "%[1]s"
role = "roles/resourcemanager.tagHoldAdmin"
member = "serviceAccount:service-${data.google_project.project.number}@container-engine-robot.iam.gserviceaccount.com"
}

resource "google_project_iam_member" "tagUser1" {
project = "%[1]s"
role = "roles/resourcemanager.tagUser"
member = "serviceAccount:service-${data.google_project.project.number}@container-engine-robot.iam.gserviceaccount.com"

depends_on = [google_project_iam_member.tagHoldAdmin]
}

resource "google_project_iam_member" "tagUser2" {
project = "%[1]s"
role = "roles/resourcemanager.tagUser"
member = "serviceAccount:${data.google_project.project.number}@cloudservices.gserviceaccount.com"

depends_on = [google_project_iam_member.tagHoldAdmin]
}

resource "time_sleep" "wait_120_seconds" {
create_duration = "120s"

depends_on = [
google_project_iam_member.tagHoldAdmin,
google_project_iam_member.tagUser1,
google_project_iam_member.tagUser2,
]
}

resource "google_tags_tag_key" "key1" {
parent = "projects/%[1]s"
short_name = "foobarbaz1-%[2]s"
Expand Down Expand Up @@ -12132,8 +12056,6 @@ resource "google_container_cluster" "with_autopilot" {
vertical_pod_autoscaling {
enabled = true
}

depends_on = [time_sleep.wait_120_seconds]
}
`, projectID, randomSuffix, clusterName, networkName, subnetworkName)
}
Expand All @@ -12144,38 +12066,6 @@ data "google_project" "project" {
project_id = "%[1]s"
}

resource "google_project_iam_member" "tagHoldAdmin" {
project = "%[1]s"
role = "roles/resourcemanager.tagHoldAdmin"
member = "serviceAccount:service-${data.google_project.project.number}@container-engine-robot.iam.gserviceaccount.com"
}

resource "google_project_iam_member" "tagUser1" {
project = "%[1]s"
role = "roles/resourcemanager.tagUser"
member = "serviceAccount:service-${data.google_project.project.number}@container-engine-robot.iam.gserviceaccount.com"

depends_on = [google_project_iam_member.tagHoldAdmin]
}

resource "google_project_iam_member" "tagUser2" {
project = "%[1]s"
role = "roles/resourcemanager.tagUser"
member = "serviceAccount:${data.google_project.project.number}@cloudservices.gserviceaccount.com"

depends_on = [google_project_iam_member.tagHoldAdmin]
}

resource "time_sleep" "wait_120_seconds" {
create_duration = "120s"

depends_on = [
google_project_iam_member.tagHoldAdmin,
google_project_iam_member.tagUser1,
google_project_iam_member.tagUser2,
]
}

resource "google_tags_tag_key" "key1" {
parent = "projects/%[1]s"
short_name = "foobarbaz1-%[2]s"
Expand Down Expand Up @@ -12264,8 +12154,6 @@ resource "google_container_cluster" "with_autopilot" {
vertical_pod_autoscaling {
enabled = true
}

depends_on = [time_sleep.wait_120_seconds]
}
`, projectID, randomSuffix, clusterName, networkName, subnetworkName)
}
Expand Down
Loading

0 comments on commit 8f5a79d

Please sign in to comment.