getsentry / tacos-gha

Terraform Automation & Collaboration Software (TACOS) help organizations to scale the use of Terraform by enabling collaboration through governance, access controls, and automation of Terraform runs.
Apache License 2.0
1 stars 0 forks source link

Planned changes being hidden on large plans #195

Open mwarkentin opened 7 months ago

mwarkentin commented 7 months ago

Steps to Reproduce

Expected Result

I expected to see a plan showing all expected changes for all 27 slices.

Actual Result

Plan comments were rendered, but they were truncated and didn't show what would be changed.

Example:

module.instance["1"].data.google_iam_policy.os_login: Reading...
module.instance["0"].data.google_iam_policy.os_login: Reading...
module.instance["2"].data.google_iam_policy.os_login: Reading...
module.instance["2"].data.google_iam_policy.os_login: Read complete after 0s [id=1708961782]
module.instance["1"].data.google_iam_policy.os_login: Read complete after 0s [id=1708961782]
module.instance["0"].data.google_iam_policy.os_login: Read complete after 0s [id=1708961782]

Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
  ~ update in-place

...
( 2.2KB, 59 lines skipped )
...
            # (11 unchanged elements hidden)
        }
        name                      = "rc-ingest-2"
        tags                      = [
            "internal",
            "rc-ingest-2",
            "redis",
            "salt",
            "use-nat",
        ]
        # (17 unchanged attributes hidden)

        # (6 unchanged blocks hidden)
    }

Plan: 0 to add, 3 to change, 0 to destroy.

─────────────────────────────────────────────────────────────────────────────

Saved the plan to:
tfplan

To perform exactly these actions, run the following command to apply:
    terraform apply "tfplan"

Some only contained this amount of output:

module.indexer_ratelimiter.module.instance["0"].data.google_iam_policy.os_login: Reading...
module.indexer_ratelimiter.module.instance["2"].data.google_iam_policy.os_login: Reading...
...
( 6.7KB, 162 lines skipped )
...

─────────────────────────────────────────────────────────────────────────────

Saved the plan to:
tfplan

To perform exactly these actions, run the following command to apply:
    terraform apply "tfplan"
nirajdewani commented 5 months ago

Steps to Reproduce

Expected Result

I expected to see a plan showing all expected changes in their entirety.

Actual Result

Plan comments were rendered, but they were truncated and didn't show what would be changed.

Example:

data.terraform_remote_state.iam: Reading...
data.terraform_remote_state.iam: Read complete after 0s
data.google_project.project: Reading...
data.google_compute_network_endpoint_group.symbolicator[0]: Reading...
data.google_project.project: Read complete after 0s [id=projects/sentry-st-geico]
data.google_iam_policy.gke_kms_binding: Reading...
data.google_iam_policy.gke_kms_binding: Read complete after 0s [id=2209302655]
...
( 3.3KB, 38 lines skipped )
...
        name                        = "primary"
        # (27 unchanged attributes hidden)

      ~ resource_usage_export_config {
          ~ enable_network_egress_metering       = false -> true
            # (1 unchanged attribute hidden)

            # (1 unchanged block hidden)
        }

        # (23 unchanged blocks hidden)
    }

Plan: 0 to add, 2 to change, 0 to destroy.
Dav1dde commented 4 months ago

Running into the same issue when trying to change node pools for Relay, a single nodepool is already too large for the diff/comment and unfortunately it omits all the important information (e.g. the name).