Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Plan links should link to GHA directly like applies do #255

Open
mwarkentin opened this issue Sep 13, 2024 · 0 comments
Open

Plan links should link to GHA directly like applies do #255

mwarkentin opened this issue Sep 13, 2024 · 0 comments

Comments

@mwarkentin
Copy link
Member

          # [Terraform Plan](https://github.com/getsentry/ops/actions/runs/10854543131)

TACOS generated a terraform plan for 14 slices:

  • 1 slices failed to plan
  • 12 slices have pending changes to apply
  • 1 slices are unaffected

Errors

terragrunt/regions/single-tenant/db/default/test-control

time=2024-09-13T18:53:13Z level=error msg=Error: Error in function call
Commands: (error code 1)

$ cd terragrunt/regions/single-tenant/db/default/test-control
direnv: loading $repo/.envrc
tenv missing, please install via devenv sync
./.envrc:54: brew: command not found
kube-linter missing, please install via devenv sync
direnv: export +DATADOG_API_KEY +DATADOG_APP_KEY +GETSENTRY_SAC_DEPLOY_ENVIRON +HOMEBREW_PREFIX +SENTRY_DEVENV_HOME +TF_VAR_datadog_api_key +TF_VAR_datadog_app_key ~PATH
direnv: loading $repo/tacos-gha/.envrc
direnv: export ~PATH ~PS1_PREFIX ~PYTHONPATH

$ env GETSENTRY_SAC_VERB=state-admin sudo-gcp tf-lock-acquire
You are authenticated for the next hour as: [email protected]
time=2024-09-13T18:53:13Z level=error msg=Error: Error in function call


time=2024-09-13T18:53:13Z level=error msg=  on $repo/terragrunt/terragrunt.hcl line 7, in locals:

time=2024-09-13T18:53:13Z level=error msg=   7:   service_config = read_terragrunt_config(find_in_parent_folders("service.hcl"), { inputs = {}, locals = {} })

time=2024-09-13T18:53:13Z level=error msg=

time=2024-09-13T18:53:13Z level=error msg=Call to function "read_terragrunt_config" failed: Error reading file at path
$repo/terragrunt/regions/single-tenant/snapshot-schedule/test-control:
open
$repo/terragrunt/regions/single-tenant/snapshot-schedule/test-control:
no such file or directory.


time=2024-09-13T18:53:13Z level=error msg=Encountered error while evaluating locals in file $repo/terragrunt/terragrunt.hcl
time=2024-09-13T18:53:13Z level=error msg=$repo/terragrunt/terragrunt.hcl:7,20-43: Error in function call; Call to function "read_terragrunt_config" failed: Error reading file at path $repo/terragrunt/regions/single-tenant/snapshot-schedule/test-control: open $repo/terragrunt/regions/single-tenant/snapshot-schedule/test-control: no such file or directory.
time=2024-09-13T18:53:13Z level=error msg=Unable to determine underlying exit code, so Terragrunt will exit with error code 1

Changes

terragrunt/regions/single-tenant/db/metrics/disney

Plan: 5 to add, 2 to change, 0 to destroy.
module.instance["2"].data.google_iam_policy.os_login: Reading...
module.instance["1"].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]

Terraform used the selected providers to generate the following execution
...
( 4.0KB, 109 lines skipped )
...
                    },
                ]
            }
        )
      + project       = "sentry-st-disney"
      + zone          = "us-east4-b"
    }

Plan: 5 to add, 2 to change, 0 to destroy.

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

Saved the plan to:
tfplan

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

terragrunt/regions/single-tenant/db/metrics/goldmansachs

Plan: 5 to add, 2 to change, 0 to destroy.
module.instance["2"].data.google_iam_policy.os_login: Reading...
module.instance["1"].data.google_iam_policy.os_login: Reading...
module.instance["1"].data.google_iam_policy.os_login: Read complete after 0s [id=1708961782]
module.instance["2"].data.google_iam_policy.os_login: Read complete after 0s [id=1708961782]

Terraform used the selected providers to generate the following execution
...
( 4.0KB, 108 lines skipped )
...
                      + role    = "roles/compute.osLogin"
                    },
                ]
            }
        )
      + project       = "sentry-st-goldmansachs"
      + zone          = "us-east4-b"
    }

Plan: 5 to add, 2 to change, 0 to destroy.

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

Saved the plan to:
tfplan

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

terragrunt/regions/single-tenant/db/metrics/geico

Plan: 5 to add, 2 to change, 0 to destroy.
module.instance["2"].data.google_iam_policy.os_login: Reading...
module.instance["1"].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]

Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
...
( 3.9KB, 107 lines skipped )
...
                      + role    = "roles/compute.osLogin"
                    },
                ]
            }
        )
      + project       = "sentry-st-geico"
      + zone          = "us-east4-b"
    }

Plan: 5 to add, 2 to change, 0 to destroy.

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

Saved the plan to:
tfplan

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

terragrunt/regions/single-tenant/db/default/disney

Plan: 3 to add, 2 to change, 0 to destroy.
module.instance["2"].data.google_iam_policy.os_login: Reading...
module.instance["1"].data.google_iam_policy.os_login: Reading...
module.instance["1"].data.google_iam_policy.os_login: Read complete after 0s [id=1708961782]
module.instance["2"].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:
  + create
  ~ update in-place

...
( 2.4KB, 60 lines skipped )
...
            "firewall-allow-health-check-and-proxy",
            "internal",
            "postgres",
            "salt",
            "use-nat",
        ]
        # (18 unchanged attributes hidden)

        # (6 unchanged blocks hidden)
    }

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

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

Saved the plan to:
tfplan

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

terragrunt/regions/single-tenant/db/metrics/s4s

Plan: 5 to add, 2 to change, 0 to destroy.
module.instance["1"].data.google_iam_policy.os_login: Reading...
module.instance["2"].data.google_iam_policy.os_login: Reading...
module.instance["1"].data.google_iam_policy.os_login: Read complete after 0s [id=1708961782]
module.instance["2"].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:
  + create
  ~ update in-place

Terraform will perform the following actions:

...
( 3.8KB, 101 lines skipped )
...
                        ]
                      + role    = "roles/compute.osLogin"
                    },
                ]
            }
        )
      + project       = "mattrobenolt-kube"
      + zone          = "us-west1-b"
    }

Plan: 5 to add, 2 to change, 0 to destroy.

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

Saved the plan to:
tfplan

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

terragrunt/regions/single-tenant/db/default/goldmansachs

Plan: 3 to add, 2 to change, 0 to destroy.
module.instance["1"].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]

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

Terraform will perform the following actions:

...
( 2.3KB, 54 lines skipped )
...
        }
        name                      = "db-default-2"
        tags                      = [
            "db-default-2",
            "firewall-allow-health-check-and-proxy",
            "internal",
            "postgres",
            "salt",
            "use-nat",
        ]
        # (18 unchanged attributes hidden)

        # (6 unchanged blocks hidden)
    }

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

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

Saved the plan to:
tfplan

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

terragrunt/regions/single-tenant/db/default/geico

Plan: 3 to add, 2 to change, 0 to destroy.
module.instance["2"].data.google_iam_policy.os_login: Reading...
module.instance["1"].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]

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

Terraform will perform the following actions:

  # google_compute_disk_resource_policy_attachment.data_daily_attachment[0] will be created
...
( 2.1KB, 52 lines skipped )
...
            # (11 unchanged elements hidden)
        }
        name                      = "db-default-2"
        tags                      = [
            "db-default-2",
            "firewall-allow-health-check-and-proxy",
            "internal",
            "postgres",
            "salt",
            "use-nat",
        ]
        # (18 unchanged attributes hidden)

        # (6 unchanged blocks hidden)
    }

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

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

Saved the plan to:
tfplan

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

terragrunt/regions/single-tenant/db/default/test-region

Plan: 3 to add, 1 to change, 0 to destroy.
module.instance["1"].data.google_iam_policy.os_login: Reading...
module.instance["1"].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:
  + create
  ~ update in-place

Terraform will perform the following actions:

  # google_compute_disk_resource_policy_attachment.data_daily_attachment[0] will be created
  + resource "google_compute_disk_resource_policy_attachment" "data_daily_attachment" {
      + disk    = "db-default-1-pgdata"
      + id      = (known after apply)
      + name    = "data-daily-snapshot"
      + project = (known after apply)
...
( 1.1KB, 24 lines skipped )
...
      ~ labels                    = {
          - "cogs_category"      = "shared" -> null
            # (11 unchanged elements hidden)
        }
        name                      = "db-default-1"
        tags                      = [
            "db-default-1",
            "firewall-allow-health-check-and-proxy",
            "internal",
            "postgres",
            "salt",
            "use-nat",
        ]
        # (18 unchanged attributes hidden)

        # (6 unchanged blocks hidden)
    }

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

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

Saved the plan to:
tfplan

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

terragrunt/regions/single-tenant/db/metrics/ly

Plan: 3 to add, 2 to change, 0 to destroy.
module.instance["1"].data.google_iam_policy.os_login: Reading...
module.instance["2"].data.google_iam_policy.os_login: Reading...
module.instance["1"].data.google_iam_policy.os_login: Read complete after 0s [id=1708961782]
module.instance["2"].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:
  + create
  ~ update in-place

Terraform will perform the following actions:

  # google_compute_disk_resource_policy_attachment.data_daily_attachment[0] will be created
  + resource "google_compute_disk_resource_policy_attachment" "data_daily_attachment" {
      + disk    = "db-metrics-1-pgdata"
      + id      = (known after apply)
      + name    = "data-daily-snapshot"
      + project = (known after apply)
...
( 1.7KB, 44 lines skipped )
...
        id                        = "projects/sentry-st-ly/zones/asia-northeast1-b/instances/db-metrics-2"
      ~ labels                    = {
          - "cogs_category"      = "sessions" -> null
            # (11 unchanged elements hidden)
        }
        name                      = "db-metrics-2"
        tags                      = [
            "db-metrics-2",
            "firewall-allow-health-check-and-proxy",
            "internal",
            "postgres",
            "salt",
            "use-nat",
        ]
        # (18 unchanged attributes hidden)

        # (6 unchanged blocks hidden)
    }

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

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

Saved the plan to:
tfplan

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

terragrunt/regions/single-tenant/db/metrics/test-region

Plan: 3 to add, 2 to change, 0 to destroy.
module.instance["1"].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]

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

Terraform will perform the following actions:

  # google_compute_disk_resource_policy_attachment.data_daily_attachment[0] will be created
  + resource "google_compute_disk_resource_policy_attachment" "data_daily_attachment" {
      + disk    = "db-metrics-1-pgdata"
      + id      = (known after apply)
      + name    = "data-daily-snapshot"
      + project = (known after apply)
      + zone    = "europe-west3-c"
    }

  # google_compute_disk_resource_policy_attachment.data_hourly_attachment[0] will be created
...
( 1.3KB, 32 lines skipped )
...
        ]
        # (18 unchanged attributes hidden)

        # (6 unchanged blocks hidden)
    }

  # module.instance["2"].google_compute_instance.salt_instance will be updated in-place
  ~ resource "google_compute_instance" "salt_instance" {
        id                        = "projects/sentry-test-region/zones/europe-west3-b/instances/db-metrics-2"
      ~ labels                    = {
          - "cogs_category"      = "sessions" -> null
            # (11 unchanged elements hidden)
        }
        name                      = "db-metrics-2"
        tags                      = [
            "db-metrics-2",
            "firewall-allow-health-check-and-proxy",
            "internal",
            "postgres",
            "salt",
            "use-nat",
        ]
        # (18 unchanged attributes hidden)

        # (6 unchanged blocks hidden)
    }

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

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

Saved the plan to:
tfplan

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

terragrunt/regions/single-tenant/db/seer/s4s

Plan: 3 to add, 2 to change, 0 to destroy.
module.instance["2"].data.google_iam_policy.os_login: Reading...
module.instance["1"].data.google_iam_policy.os_login: Reading...
module.instance["2"].data.google_iam_policy.os_login: Read complete after 1s [id=1708961782]
module.instance["1"].data.google_iam_policy.os_login: Read complete after 1s [id=1708961782]

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

Terraform will perform the following actions:

  # google_compute_disk_resource_policy_attachment.data_daily_attachment[0] will be created
  + resource "google_compute_disk_resource_policy_attachment" "data_daily_attachment" {
      + disk    = "db-seer-1-pgdata"
      + id      = (known after apply)
      + name    = "data-daily-snapshot"
      + project = (known after apply)
      + zone    = "us-west1-c"
    }

  # google_compute_disk_resource_policy_attachment.data_hourly_attachment[0] will be created
  + resource "google_compute_disk_resource_policy_attachment" "data_hourly_attachment" {
      + disk    = "db-seer-1-pgdata"
      + id      = (known after apply)
      + name    = "data-hourly-snapshot"
      + project = (known after apply)
      + zone    = "us-west1-c"
    }

  # google_compute_disk_resource_policy_attachment.data_weekly_attachment[0] will be created
  + resource "google_compute_disk_resource_policy_attachment" "data_weekly_attachment" {
      + disk    = "db-seer-1-pgdata"
      + id      = (known after apply)
      + name    = "data-weekly-snapshot"
      + project = (known after apply)
      + zone    = "us-west1-c"
    }

  # module.instance["1"].google_compute_instance.salt_instance will be updated in-place
  ~ resource "google_compute_instance" "salt_instance" {
        id                        = "projects/mattrobenolt-kube/zones/us-west1-c/instances/db-seer-1"
      ~ labels                    = {
          - "cogs_category" = "shared" -> null
            # (10 unchanged elements hidden)
        }
        name                      = "db-seer-1"
        tags                      = [
            "db-seer-1",
            "firewall-allow-health-check-and-proxy",
            "internal",
            "postgres",
            "salt",
            "use-nat",
        ]
        # (18 unchanged attributes hidden)

        # (6 unchanged blocks hidden)
    }

  # module.instance["2"].google_compute_instance.salt_instance will be updated in-place
  ~ resource "google_compute_instance" "salt_instance" {
        id                        = "projects/mattrobenolt-kube/zones/us-west1-b/instances/db-seer-2"
      ~ labels                    = {
          - "cogs_category" = "shared" -> null
            # (10 unchanged elements hidden)
        }
        name                      = "db-seer-2"
        tags                      = [
            "db-seer-2",
            "firewall-allow-health-check-and-proxy",
            "internal",
            "postgres",
            "salt",
            "use-nat",
        ]
        # (18 unchanged attributes hidden)

        # (6 unchanged blocks hidden)
    }

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

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

Saved the plan to:
tfplan

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

terragrunt/regions/single-tenant/db/default/ly

Plan: 3 to add, 2 to change, 0 to destroy.
module.instance["2"].data.google_iam_policy.os_login: Reading...
module.instance["1"].data.google_iam_policy.os_login: Reading...
module.instance["1"].data.google_iam_policy.os_login: Read complete after 0s [id=1708961782]
module.instance["2"].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:
  + create
  ~ update in-place

Terraform will perform the following actions:

  # google_compute_disk_resource_policy_attachment.data_daily_attachment[0] will be created
  + resource "google_compute_disk_resource_policy_attachment" "data_daily_attachment" {
      + disk    = "db-default-1-pgdata"
      + id      = (known after apply)
      + name    = "data-daily-snapshot"
      + project = (known after apply)
      + zone    = "asia-northeast1-c"
    }

  # google_compute_disk_resource_policy_attachment.data_hourly_attachment[0] will be created
  + resource "google_compute_disk_resource_policy_attachment" "data_hourly_attachment" {
      + disk    = "db-default-1-pgdata"
      + id      = (known after apply)
      + name    = "data-hourly-snapshot"
      + project = (known after apply)
      + zone    = "asia-northeast1-c"
    }

  # google_compute_disk_resource_policy_attachment.data_weekly_attachment[0] will be created
  + resource "google_compute_disk_resource_policy_attachment" "data_weekly_attachment" {
      + disk    = "db-default-1-pgdata"
      + id      = (known after apply)
      + name    = "data-weekly-snapshot"
      + project = (known after apply)
      + zone    = "asia-northeast1-c"
    }

  # module.instance["1"].google_compute_instance.salt_instance will be updated in-place
  ~ resource "google_compute_instance" "salt_instance" {
        id                        = "projects/sentry-st-ly/zones/asia-northeast1-c/instances/db-default-1"
      ~ labels                    = {
          - "cogs_category"      = "shared" -> null
            # (11 unchanged elements hidden)
        }
        name                      = "db-default-1"
        tags                      = [
            "db-default-1",
            "firewall-allow-health-check-and-proxy",
            "internal",
            "postgres",
            "salt",
            "use-nat",
        ]
        # (18 unchanged attributes hidden)

        # (6 unchanged blocks hidden)
    }

  # module.instance["2"].google_compute_instance.salt_instance will be updated in-place
  ~ resource "google_compute_instance" "salt_instance" {
        id                        = "projects/sentry-st-ly/zones/asia-northeast1-b/instances/db-default-2"
      ~ labels                    = {
          - "cogs_category"      = "shared" -> null
            # (11 unchanged elements hidden)
        }
        name                      = "db-default-2"
        tags                      = [
            "db-default-2",
            "firewall-allow-health-check-and-proxy",
            "internal",
            "postgres",
            "salt",
            "use-nat",
        ]
        # (18 unchanged attributes hidden)

        # (6 unchanged blocks hidden)
    }

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

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

Saved the plan to:
tfplan

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

Clean

These slices are in scope of your PR, but Terraform
found no infra changes are currently necessary. Hooray! 🍪

  • terragrunt/regions/single-tenant/db/default/s4s

Originally posted by @github-actions[bot] in https://github.com/getsentry/ops/issues/12101#issuecomment-2349907673

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant