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

source_image is listed in show as relative which results in jitter during apply #5299

Closed
jsoref opened this issue Jan 3, 2020 · 7 comments
Closed
Assignees
Labels

Comments

@jsoref
Copy link
Contributor

jsoref commented Jan 3, 2020

Community Note

  • Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
  • Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment
  • If an issue is assigned to the "modular-magician" user, it is either in the process of being autogenerated, or is planned to be autogenerated soon. If an issue is assigned to a user, that user is claiming responsibility for the issue. If an issue is assigned to "hashibot", a community member has claimed the issue already.

Terraform Version

Terraform v0.12.16
+ provider.google v3.3.0

Affected Resource(s)

  • google_compute_instance_template

Terraform Configuration Files

Original file:

provider google {
  version = "~> 3.0"
}

resource "google_compute_instance_template" "node-jitter" {
  name         = "node-jitter"
  machine_type = "n1-standard-1"
  can_ip_forward = false

  disk {
    source_image = "https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/family/debian-9"
    disk_size_gb = 10
    disk_type    = "pd-ssd"
    boot         = true
    mode         = "READ_WRITE"
    type         = "PERSISTENT"
  }

  network_interface {
    network = "default"
  }
}

resource "google_compute_instance_template" "node-scsi" {
  name         = "node-scsi"
  machine_type = "n1-standard-1"
  can_ip_forward = false

  disk {
    source_image = "https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/family/debian-9"
    disk_size_gb = 10
    disk_type    = "pd-ssd"
    boot         = true
    mode         = "READ_WRITE"
    type         = "PERSISTENT"
    interface    = "SCSI"
  }

  network_interface {
    network = "default"
  }
}

Revised file:

provider google {
  version = "~> 3.0"
}

resource "google_compute_instance_template" "node-jitter" {
  name         = "node-jitter"
  machine_type = "n1-standard-1"
  can_ip_forward = false

  disk {
    source_image = "https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/family/debian-9"
    disk_size_gb = 10
    disk_type    = "pd-ssd"
    boot         = true
    mode         = "READ_WRITE"
    type         = "PERSISTENT"
  }

  network_interface {
    network = "default"
  }

  metadata = {
    shutdown-script = "/bin/true"
  }
}

Debug Output

--- show before switching to next file:

# google_compute_instance_template.node-jitter:
resource "google_compute_instance_template" "node-jitter" {
    can_ip_forward       = false
    id                   = "projects/$PROJECT/global/instanceTemplates/node-jitter"
    machine_type         = "n1-standard-1"
    metadata_fingerprint = "JTqYaJW_BVs="
    name                 = "node-jitter"
    project              = "$PROJECT"
    self_link            = "https://www.googleapis.com/compute/beta/projects/$PROJECT/global/instanceTemplates/node-jitter"

    disk {
        auto_delete  = true
        boot         = true
        device_name  = "persistent-disk-0"
        disk_size_gb = 10
        disk_type    = "pd-ssd"
        interface    = "SCSI"
        mode         = "READ_WRITE"
        source_image = "projects/debian-cloud/global/images/family/debian-9"
        type         = "PERSISTENT"
    }

    network_interface {
        network = "https://www.googleapis.com/compute/v1/projects/$PROJECT/global/networks/default"
    }

    scheduling {
        automatic_restart   = true
        on_host_maintenance = "MIGRATE"
        preemptible         = false
    }
}

(TF_LOG=debug terraform plan >/dev/null) 2>&1 | mask-terraform-secrets:

2020/01/02 19:36:38 [INFO] Terraform version: 0.12.16  
2020/01/02 19:36:38 [INFO] Go runtime version: go1.13.4
2020/01/02 19:36:38 [INFO] CLI args: []string{"/usr/local/bin/terraform", "plan"}
2020/01/02 19:36:38 [DEBUG] Attempting to open CLI config file: $HOME/.terraformrc
2020/01/02 19:36:38 [DEBUG] File doesn't exist, but doesn't need to. Ignoring.
2020/01/02 19:36:38 [DEBUG] checking for credentials in "$HOME/.terraform.d/plugins"
2020/01/02 19:36:38 [DEBUG] checking for credentials in "$HOME/.terraform.d/plugins/darwin_amd64"
2020/01/02 19:36:38 [INFO] CLI command args: []string{"plan"}
2020/01/02 19:36:38 [DEBUG] New state was assigned lineage "729baa76-67d0-882f-9956-53046f137ff3"
2020/01/02 19:36:38 [TRACE] Meta.Backend: using default local state only (no backend configuration, and no existing initialized backend)
2020/01/02 19:36:38 [DEBUG] checking for provider in "."
2020/01/02 19:36:38 [DEBUG] checking for provider in "/usr/local/bin"
2020/01/02 19:36:38 [DEBUG] checking for provider in ".terraform/plugins/darwin_amd64"
2020/01/02 19:36:38 [DEBUG] found provider "terraform-provider-google_v3.3.0_x5"
2020/01/02 19:36:38 [DEBUG] checking for provider in "$HOME/.terraform.d/plugins"
2020/01/02 19:36:38 [DEBUG] found provider "terraform-provider-auth0_v0.2.0"
2020/01/02 19:36:38 [DEBUG] checking for provider in "$HOME/.terraform.d/plugins/darwin_amd64"
2020/01/02 19:36:38 [DEBUG] found provider "terraform-provider-auth0_v0.2.0"
2020/01/02 19:36:38 [WARN] found legacy provider "terraform-provider-zabbix"
2020/01/02 19:36:38 [DEBUG] found valid plugin: "zabbix", "0.0.0", "$HOME/.terraform.d/plugins/darwin_amd64/terraform-provider-zabbix"
2020/01/02 19:36:38 [DEBUG] found valid plugin: "google", "3.3.0", "/.terraform/plugins/darwin_amd64/terraform-provider-google_v3.3.0_x5"
2020/01/02 19:36:38 [DEBUG] found valid plugin: "auth0", "0.2.0", "$HOME/.terraform.d/plugins/terraform-provider-auth0_v0.2.0"
2020/01/02 19:36:38 [DEBUG] checking for provisioner in "."
2020/01/02 19:36:38 [DEBUG] checking for provisioner in "/usr/local/bin"
2020/01/02 19:36:38 [DEBUG] checking for provisioner in ".terraform/plugins/darwin_amd64"
2020/01/02 19:36:38 [DEBUG] checking for provisioner in "$HOME/.terraform.d/plugins"
2020/01/02 19:36:38 [DEBUG] checking for provisioner in "$HOME/.terraform.d/plugins/darwin_amd64"
2020/01/02 19:36:38 [INFO] backend/local: starting Plan operation
2020-01-02T19:36:38.960-0500 [INFO]  plugin: configuring client automatic mTLS
2020-01-02T19:36:38.988-0500 [DEBUG] plugin: starting plugin: path=/.terraform/plugins/darwin_amd64/terraform-provider-google_v3.3.0_x5 args=[/.terraform/plugins/darwin_amd64/terraform-provider-google_v3.3.0_x5]
2020-01-02T19:36:38.994-0500 [DEBUG] plugin: plugin started: path=/.terraform/plugins/darwin_amd64/terraform-provider-google_v3.3.0_x5 pid=56267
2020-01-02T19:36:38.994-0500 [DEBUG] plugin: waiting for RPC address: path=/.terraform/plugins/darwin_amd64/terraform-provider-google_v3.3.0_x5
2020-01-02T19:36:39.009-0500 [INFO]  plugin.terraform-provider-google_v3.3.0_x5: configuring server automatic mTLS: timestamp=2020-01-02T19:36:39.009-0500
2020-01-02T19:36:39.037-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: plugin address: address=/var/folders/r3/n29fz25x72x191fdv6mhhr3m0000gp/T/plugin198283430 network=unix timestamp=2020-01-02T19:36:39.037-0500
2020-01-02T19:36:39.037-0500 [DEBUG] plugin: using plugin: version=5
2020-01-02T19:36:39.119-0500 [DEBUG] plugin: plugin process exited: path=/.terraform/plugins/darwin_amd64/terraform-provider-google_v3.3.0_x5 pid=56267
2020-01-02T19:36:39.119-0500 [DEBUG] plugin: plugin exited
2020/01/02 19:36:39 [DEBUG] ReferenceTransformer: "google_compute_instance_template.node-jitter" references: []
2020/01/02 19:36:39 [DEBUG] ReferenceTransformer: "provider.google" references: []
2020/01/02 19:36:39 [TRACE] Completed graph transform *terraform.ReferenceTransformer (no changes)
2020-01-02T19:36:39.121-0500 [INFO]  plugin: configuring client automatic mTLS
2020-01-02T19:36:39.147-0500 [DEBUG] plugin: starting plugin: path=/.terraform/plugins/darwin_amd64/terraform-provider-google_v3.3.0_x5 args=[/.terraform/plugins/darwin_amd64/terraform-provider-google_v3.3.0_x5]
2020-01-02T19:36:39.153-0500 [DEBUG] plugin: plugin started: path=/.terraform/plugins/darwin_amd64/terraform-provider-google_v3.3.0_x5 pid=56268
2020-01-02T19:36:39.153-0500 [DEBUG] plugin: waiting for RPC address: path=/.terraform/plugins/darwin_amd64/terraform-provider-google_v3.3.0_x5
2020-01-02T19:36:39.169-0500 [INFO]  plugin.terraform-provider-google_v3.3.0_x5: configuring server automatic mTLS: timestamp=2020-01-02T19:36:39.169-0500
2020-01-02T19:36:39.197-0500 [DEBUG] plugin: using plugin: version=5
2020-01-02T19:36:39.197-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: plugin address: network=unix address=/var/folders/r3/n29fz25x72x191fdv6mhhr3m0000gp/T/plugin601419979 timestamp=2020-01-02T19:36:39.196-0500
2020-01-02T19:36:39.301-0500 [DEBUG] plugin: plugin process exited: path=/.terraform/plugins/darwin_amd64/terraform-provider-google_v3.3.0_x5 pid=56268
2020-01-02T19:36:39.301-0500 [DEBUG] plugin: plugin exited
2020/01/02 19:36:39 [TRACE] [walkValidate] Exiting eval tree: provider.google (close)
2020/01/02 19:36:39 [INFO] backend/local: plan calling Refresh
2020/01/02 19:36:39 [INFO] terraform: building graph: GraphTypeRefresh
2020/01/02 19:36:39 [DEBUG] ReferenceTransformer: "google_compute_instance_template.node-jitter" references: []
2020/01/02 19:36:39 [DEBUG] ReferenceTransformer: "provider.google" references: []
2020/01/02 19:36:39 [TRACE] Completed graph transform *terraform.ReferenceTransformer (no changes)
2020/01/02 19:36:39 [TRACE] Executing graph transform *terraform.AttachDependenciesTransformer
2020/01/02 19:36:39 [DEBUG] Starting graph walk: walkRefresh
2020/01/02 19:36:39 [TRACE] dag/walk: updating graph
2020-01-02T19:36:39.302-0500 [INFO]  plugin: configuring client automatic mTLS
2020-01-02T19:36:39.328-0500 [DEBUG] plugin: starting plugin: path=/.terraform/plugins/darwin_amd64/terraform-provider-google_v3.3.0_x5 args=[/.terraform/plugins/darwin_amd64/terraform-provider-google_v3.3.0_x5]
2020-01-02T19:36:39.334-0500 [DEBUG] plugin: plugin started: path=/.terraform/plugins/darwin_amd64/terraform-provider-google_v3.3.0_x5 pid=56269
2020-01-02T19:36:39.335-0500 [DEBUG] plugin: waiting for RPC address: path=/.terraform/plugins/darwin_amd64/terraform-provider-google_v3.3.0_x5
2020-01-02T19:36:39.350-0500 [INFO]  plugin.terraform-provider-google_v3.3.0_x5: configuring server automatic mTLS: timestamp=2020-01-02T19:36:39.349-0500
2020-01-02T19:36:39.377-0500 [DEBUG] plugin: using plugin: version=5
2020-01-02T19:36:39.379-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: plugin address: address=/var/folders/r3/n29fz25x72x191fdv6mhhr3m0000gp/T/plugin648032256 network=unix timestamp=2020-01-02T19:36:39.377-0500
2020-01-02T19:36:39.457-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:39 [INFO] Authenticating using DefaultClient...
2020-01-02T19:36:39.457-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:39 [INFO]   -- Scopes: [https://www.googleapis.com/auth/compute https://www.googleapis.com/auth/cloud-platform https://www.googleapis.com/auth/ndev.clouddns.readwrite https://www.googleapis.com/auth/devstorage.full_control https://www.googleapis.com/auth/userinfo.email]
2020-01-02T19:36:39.457-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:39 [INFO] Instantiating GCE client for path https://www.googleapis.com/compute/v1/projects/
2020-01-02T19:36:39.457-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:39 [INFO] Instantiating GCE Beta client for path https://www.googleapis.com/compute/beta/projects/
2020-01-02T19:36:39.457-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:39 [INFO] Instantiating GKE client for path https://container.googleapis.com/
2020-01-02T19:36:39.457-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:39 [INFO] Instantiating GKE Beta client for path https://container.googleapis.com/
2020-01-02T19:36:39.457-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:39 [INFO] Instantiating Google Cloud DNS client for path https://www.googleapis.com/dns/v1/projects/
2020-01-02T19:36:39.457-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:39 [INFO] Instantiating Google Cloud DNS Beta client for path https://www.googleapis.com/dns/v1beta2/projects/
2020-01-02T19:36:39.457-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:39 [INFO] Instantiating Google Cloud KMS client for path https://cloudkms.googleapis.com/
2020-01-02T19:36:39.457-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:39 [INFO] Instantiating Google Stackdriver Logging client for path https://logging.googleapis.com/
2020-01-02T19:36:39.457-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:39 [INFO] Instantiating Google Storage client for path https://www.googleapis.com/storage/v1/
2020-01-02T19:36:39.457-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:39 [INFO] Instantiating Google SqlAdmin client for path https://www.googleapis.com/sql/v1beta4/
2020-01-02T19:36:39.457-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:39 [INFO] Instantiating Google Pubsub client for path https://pubsub.googleapis.com/
2020-01-02T19:36:39.457-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:39 [INFO] Instantiating Google Dataflow client for path https://dataflow.googleapis.com/
2020-01-02T19:36:39.457-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:39 [INFO] Instantiating Google Cloud ResourceManager client for path https://cloudresourcemanager.googleapis.com/
2020-01-02T19:36:39.457-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:39 [INFO] Instantiating Google Cloud ResourceManager V client for path https://cloudresourcemanager.googleapis.com/
2020-01-02T19:36:39.457-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:39 [INFO] Instantiating Google Cloud Runtimeconfig client for path https://runtimeconfig.googleapis.com/
2020-01-02T19:36:39.457-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:39 [INFO] Instantiating Google Cloud IAM client for path https://iam.googleapis.com/
2020-01-02T19:36:39.457-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:39 [INFO] Instantiating Google Cloud IAMCredentials client for path https://iamcredentials.googleapis.com/
2020-01-02T19:36:39.457-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:39 [INFO] Instantiating Google Cloud Service Management client for path https://servicemanagement.googleapis.com/
2020-01-02T19:36:39.457-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:39 [INFO] Instantiating Google Cloud Service Usage client for path https://serviceusage.googleapis.com/
2020-01-02T19:36:39.457-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:39 [INFO] Instantiating Google Cloud Billing client for path https://cloudbilling.googleapis.com/
2020-01-02T19:36:39.457-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:39 [INFO] Instantiating Google Cloud Build client for path https://cloudbuild.googleapis.com/
2020-01-02T19:36:39.457-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:39 [INFO] Instantiating Google Cloud BigQuery client for path https://www.googleapis.com/bigquery/v2/
2020-01-02T19:36:39.457-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:39 [INFO] Instantiating Google Cloud CloudFunctions Client for path https://cloudfunctions.googleapis.com/
2020-01-02T19:36:39.457-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:39 [INFO] Instantiating Google Cloud BigtableAdmin for path https://bigtableadmin.googleapis.com/
2020-01-02T19:36:39.457-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:39 [INFO] Instantiating Google Cloud Source Repo client for path https://sourcerepo.googleapis.com/
2020-01-02T19:36:39.457-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:39 [INFO] Instantiating Google Cloud Spanner client for path https://spanner.googleapis.com/
2020-01-02T19:36:39.457-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:39 [INFO] Instantiating Google Cloud Dataproc client for path https://dataproc.googleapis.com/
2020-01-02T19:36:39.457-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:39 [INFO] Instantiating Google Cloud Dataproc Beta client for path https://dataproc.googleapis.com/
2020-01-02T19:36:39.457-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:39 [INFO] Instantiating Filestore client for path https://file.googleapis.com/
2020-01-02T19:36:39.457-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:39 [INFO] Instantiating Google Cloud IoT Core client for path https://cloudiot.googleapis.com/
2020-01-02T19:36:39.457-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:39 [INFO] Instantiating App Engine client for path https://appengine.googleapis.com/
2020-01-02T19:36:39.457-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:39 [INFO] Instantiating Cloud Composer client for path https://composer.googleapis.com/
2020-01-02T19:36:39.457-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:39 [INFO] Instantiating Service Networking client for path https://servicenetworking.googleapis.com/
2020-01-02T19:36:39.457-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:39 [INFO] Instantiating Google Cloud Storage Transfer client for path https://storagetransfer.googleapis.com/
2020/01/02 19:36:39 [DEBUG] ReferenceTransformer: "google_compute_instance_template.node-jitter" references: []
2020/01/02 19:36:39 [TRACE] Completed graph transform *terraform.ReferenceTransformer (no changes)
2020/01/02 19:36:39 [TRACE] Executing graph transform *terraform.RootTransformer
2020/01/02 19:36:39 [TRACE] Completed graph transform *terraform.RootTransformer (no changes)
2020/01/02 19:36:39 [TRACE] vertex "google_compute_instance_template.node-jitter": entering dynamic subgraph
2020/01/02 19:36:39 [TRACE] dag/walk: updating graph
2020-01-02T19:36:39.461-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:39 [DEBUG] Google API Request Details:
2020-01-02T19:36:39.462-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: ---[ REQUEST ]---------------------------------------
2020-01-02T19:36:39.462-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: GET /compute/beta/projects/$PROJECT/global/instanceTemplates/node-jitter?alt=json&prettyPrint=false HTTP/1.1
2020-01-02T19:36:39.462-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: Host: www.googleapis.com
2020-01-02T19:36:39.462-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: User-Agent: google-api-go-client/0.5 HashiCorp Terraform/0.12.16 (+https://www.terraform.io) Terraform Plugin SDK/1.4.0 terraform-provider-google/3.3.0
2020-01-02T19:36:39.462-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: X-Goog-Api-Client: gl-go/1.11.0 gdcl/20191007
2020-01-02T19:36:39.462-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: Accept-Encoding: gzip
2020-01-02T19:36:39.462-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 
2020-01-02T19:36:39.462-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 
2020-01-02T19:36:39.462-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: -----------------------------------------------------
2020-01-02T19:36:39.946-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:39 [DEBUG] Google API Response Details:
2020-01-02T19:36:39.946-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: ---[ RESPONSE ]--------------------------------------
2020-01-02T19:36:39.946-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: HTTP/2.0 200 OK
2020-01-02T19:36:39.946-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: Alt-Svc: quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000
2020-01-02T19:36:39.946-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: Cache-Control: private
2020-01-02T19:36:39.946-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: Content-Type: application/json; charset=UTF-8
2020-01-02T19:36:39.946-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: Date: Fri, 03 Jan 2020 00:36:39 GMT
2020-01-02T19:36:39.946-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: Etag: LvMImy-w2oOzW7AmspP6FX0Jm0Y=/ughgk_xH3kg_ntbIxbaPex2sZns=
2020-01-02T19:36:39.946-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: Server: ESF
2020-01-02T19:36:39.946-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: Vary: Origin
2020-01-02T19:36:39.946-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: Vary: X-Origin
2020-01-02T19:36:39.946-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: Vary: Referer
2020-01-02T19:36:39.946-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: X-Content-Type-Options: nosniff
2020-01-02T19:36:39.946-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: X-Frame-Options: SAMEORIGIN
2020-01-02T19:36:39.946-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: X-Xss-Protection: 0
2020-01-02T19:36:39.946-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 
2020-01-02T19:36:39.946-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: {
2020-01-02T19:36:39.946-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5:  "id": "6643962530989553103",
2020-01-02T19:36:39.946-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5:  "creationTimestamp": "2020-01-02T16:30:24.537-08:00",
2020-01-02T19:36:39.946-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5:  "name": "node-jitter",
2020-01-02T19:36:39.946-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5:  "description": "",
2020-01-02T19:36:39.946-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5:  "properties": {
2020-01-02T19:36:39.946-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5:   "tags": {},
2020-01-02T19:36:39.946-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5:   "machineType": "n1-standard-1",
2020-01-02T19:36:39.946-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5:   "networkInterfaces": [
2020-01-02T19:36:39.946-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5:    {
2020-01-02T19:36:39.946-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5:     "network": "https://www.googleapis.com/compute/beta/projects/$PROJECT/global/networks/default",
2020-01-02T19:36:39.946-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5:     "kind": "compute#networkInterface"
2020-01-02T19:36:39.946-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5:    }
2020-01-02T19:36:39.946-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5:   ],
2020-01-02T19:36:39.946-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5:   "disks": [
2020-01-02T19:36:39.946-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5:    {
2020-01-02T19:36:39.946-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5:     "type": "PERSISTENT",
2020-01-02T19:36:39.946-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5:     "mode": "READ_WRITE",
2020-01-02T19:36:39.946-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5:     "deviceName": "persistent-disk-0",
2020-01-02T19:36:39.946-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5:     "index": 0,
2020-01-02T19:36:39.946-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5:     "boot": true,
2020-01-02T19:36:39.946-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5:     "initializeParams": {
2020-01-02T19:36:39.946-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5:      "sourceImage": "https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/family/debian-9",
2020-01-02T19:36:39.946-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5:      "diskSizeGb": "10",
2020-01-02T19:36:39.946-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5:      "diskType": "pd-ssd"
2020-01-02T19:36:39.946-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5:     },
2020-01-02T19:36:39.946-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5:     "autoDelete": true,
2020-01-02T19:36:39.946-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5:     "interface": "SCSI",
2020-01-02T19:36:39.946-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5:     "kind": "compute#attachedDisk"
2020-01-02T19:36:39.946-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5:    }
2020-01-02T19:36:39.946-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5:   ],
2020-01-02T19:36:39.946-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5:   "metadata": {
2020-01-02T19:36:39.946-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5:    "fingerprint": "JTqYaJW_BVs=",
2020-01-02T19:36:39.946-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5:    "kind": "compute#metadata"
2020-01-02T19:36:39.946-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5:   },
2020-01-02T19:36:39.946-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5:   "scheduling": {
2020-01-02T19:36:39.946-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5:    "onHostMaintenance": "MIGRATE",
2020-01-02T19:36:39.946-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5:    "automaticRestart": true,
2020-01-02T19:36:39.946-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5:    "preemptible": false
2020-01-02T19:36:39.946-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5:   }
2020-01-02T19:36:39.946-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5:  },
2020-01-02T19:36:39.946-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5:  "selfLink": "https://www.googleapis.com/compute/beta/projects/$PROJECT/global/instanceTemplates/node-jitter",
2020-01-02T19:36:39.946-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5:  "kind": "compute#instanceTemplate"
2020-01-02T19:36:39.946-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: }
2020-01-02T19:36:39.946-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: -----------------------------------------------------
2020-01-02T19:36:39.951-0500 [DEBUG] plugin: plugin process exited: path=/.terraform/plugins/darwin_amd64/terraform-provider-google_v3.3.0_x5 pid=56269
2020-01-02T19:36:39.951-0500 [DEBUG] plugin: plugin exited
2020/01/02 19:36:39 [TRACE] [walkRefresh] Exiting eval tree: provider.google (close)
2020/01/02 19:36:39 [TRACE] vertex "provider.google (close)": visit complete
2020/01/02 19:36:39 [INFO] backend/local: plan calling Plan
2020/01/02 19:36:39 [INFO] terraform: building graph: GraphTypePlan
2020/01/02 19:36:39 [DEBUG] ReferenceTransformer: "google_compute_instance_template.node-jitter" references: []
2020/01/02 19:36:39 [DEBUG] ReferenceTransformer: "provider.google" references: []
2020/01/02 19:36:39 [DEBUG] Starting graph walk: walkPlan
2020-01-02T19:36:39.952-0500 [INFO]  plugin: configuring client automatic mTLS
2020-01-02T19:36:39.980-0500 [DEBUG] plugin: starting plugin: path=/.terraform/plugins/darwin_amd64/terraform-provider-google_v3.3.0_x5 args=[/.terraform/plugins/darwin_amd64/terraform-provider-google_v3.3.0_x5]
2020-01-02T19:36:39.987-0500 [DEBUG] plugin: plugin started: path=/.terraform/plugins/darwin_amd64/terraform-provider-google_v3.3.0_x5 pid=56286
2020-01-02T19:36:39.987-0500 [DEBUG] plugin: waiting for RPC address: path=/.terraform/plugins/darwin_amd64/terraform-provider-google_v3.3.0_x5
2020-01-02T19:36:40.003-0500 [INFO]  plugin.terraform-provider-google_v3.3.0_x5: configuring server automatic mTLS: timestamp=2020-01-02T19:36:40.003-0500
2020-01-02T19:36:40.032-0500 [DEBUG] plugin: using plugin: version=5
2020-01-02T19:36:40.032-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: plugin address: address=/var/folders/r3/n29fz25x72x191fdv6mhhr3m0000gp/T/plugin247791421 network=unix timestamp=2020-01-02T19:36:40.032-0500
2020-01-02T19:36:40.113-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:40 [INFO] Authenticating using DefaultClient...
2020-01-02T19:36:40.113-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:40 [INFO]   -- Scopes: [https://www.googleapis.com/auth/compute https://www.googleapis.com/auth/cloud-platform https://www.googleapis.com/auth/ndev.clouddns.readwrite https://www.googleapis.com/auth/devstorage.full_control https://www.googleapis.com/auth/userinfo.email]
2020-01-02T19:36:40.113-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:40 [INFO] Instantiating GCE client for path https://www.googleapis.com/compute/v1/projects/
2020-01-02T19:36:40.113-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:40 [INFO] Instantiating GCE Beta client for path https://www.googleapis.com/compute/beta/projects/
2020-01-02T19:36:40.113-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:40 [INFO] Instantiating GKE client for path https://container.googleapis.com/
2020-01-02T19:36:40.113-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:40 [INFO] Instantiating GKE Beta client for path https://container.googleapis.com/
2020-01-02T19:36:40.113-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:40 [INFO] Instantiating Google Cloud DNS client for path https://www.googleapis.com/dns/v1/projects/
2020-01-02T19:36:40.113-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:40 [INFO] Instantiating Google Cloud DNS Beta client for path https://www.googleapis.com/dns/v1beta2/projects/
2020-01-02T19:36:40.113-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:40 [INFO] Instantiating Google Cloud KMS client for path https://cloudkms.googleapis.com/
2020-01-02T19:36:40.113-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:40 [INFO] Instantiating Google Stackdriver Logging client for path https://logging.googleapis.com/
2020-01-02T19:36:40.113-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:40 [INFO] Instantiating Google Storage client for path https://www.googleapis.com/storage/v1/
2020-01-02T19:36:40.113-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:40 [INFO] Instantiating Google SqlAdmin client for path https://www.googleapis.com/sql/v1beta4/
2020-01-02T19:36:40.113-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:40 [INFO] Instantiating Google Pubsub client for path https://pubsub.googleapis.com/
2020-01-02T19:36:40.113-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:40 [INFO] Instantiating Google Dataflow client for path https://dataflow.googleapis.com/
2020-01-02T19:36:40.113-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:40 [INFO] Instantiating Google Cloud ResourceManager client for path https://cloudresourcemanager.googleapis.com/
2020-01-02T19:36:40.113-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:40 [INFO] Instantiating Google Cloud ResourceManager V client for path https://cloudresourcemanager.googleapis.com/
2020-01-02T19:36:40.113-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:40 [INFO] Instantiating Google Cloud Runtimeconfig client for path https://runtimeconfig.googleapis.com/
2020-01-02T19:36:40.113-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:40 [INFO] Instantiating Google Cloud IAM client for path https://iam.googleapis.com/
2020-01-02T19:36:40.114-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:40 [INFO] Instantiating Google Cloud IAMCredentials client for path https://iamcredentials.googleapis.com/
2020-01-02T19:36:40.114-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:40 [INFO] Instantiating Google Cloud Service Management client for path https://servicemanagement.googleapis.com/
2020-01-02T19:36:40.114-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:40 [INFO] Instantiating Google Cloud Service Usage client for path https://serviceusage.googleapis.com/
2020-01-02T19:36:40.114-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:40 [INFO] Instantiating Google Cloud Billing client for path https://cloudbilling.googleapis.com/
2020-01-02T19:36:40.114-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:40 [INFO] Instantiating Google Cloud Build client for path https://cloudbuild.googleapis.com/
2020-01-02T19:36:40.114-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:40 [INFO] Instantiating Google Cloud BigQuery client for path https://www.googleapis.com/bigquery/v2/
2020-01-02T19:36:40.114-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:40 [INFO] Instantiating Google Cloud CloudFunctions Client for path https://cloudfunctions.googleapis.com/
2020-01-02T19:36:40.114-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:40 [INFO] Instantiating Google Cloud BigtableAdmin for path https://bigtableadmin.googleapis.com/
2020-01-02T19:36:40.114-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:40 [INFO] Instantiating Google Cloud Source Repo client for path https://sourcerepo.googleapis.com/
2020-01-02T19:36:40.114-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:40 [INFO] Instantiating Google Cloud Spanner client for path https://spanner.googleapis.com/
2020-01-02T19:36:40.114-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:40 [INFO] Instantiating Google Cloud Dataproc client for path https://dataproc.googleapis.com/
2020-01-02T19:36:40.114-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:40 [INFO] Instantiating Google Cloud Dataproc Beta client for path https://dataproc.googleapis.com/
2020-01-02T19:36:40.114-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:40 [INFO] Instantiating Filestore client for path https://file.googleapis.com/
2020-01-02T19:36:40.114-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:40 [INFO] Instantiating Google Cloud IoT Core client for path https://cloudiot.googleapis.com/
2020-01-02T19:36:40.114-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:40 [INFO] Instantiating App Engine client for path https://appengine.googleapis.com/
2020-01-02T19:36:40.114-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:40 [INFO] Instantiating Cloud Composer client for path https://composer.googleapis.com/
2020-01-02T19:36:40.114-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:40 [INFO] Instantiating Service Networking client for path https://servicenetworking.googleapis.com/
2020-01-02T19:36:40.114-0500 [DEBUG] plugin.terraform-provider-google_v3.3.0_x5: 2020/01/02 19:36:40 [INFO] Instantiating Google Cloud Storage Transfer client for path https://storagetransfer.googleapis.com/
2020/01/02 19:36:40 [DEBUG] ReferenceTransformer: "google_compute_instance_template.node-jitter" references: []
2020/01/02 19:36:40 [TRACE] Completed graph transform *terraform.ReferenceTransformer (no changes)
2020/01/02 19:36:40 [TRACE] Executing graph transform *terraform.RootTransformer
2020/01/02 19:36:40 [TRACE] Completed graph transform *terraform.RootTransformer (no changes)
2020/01/02 19:36:40 [TRACE] vertex "google_compute_instance_template.node-jitter": entering dynamic subgraph
2020/01/02 19:36:40 [TRACE] dag/walk: updating graph
2020/01/02 19:36:40 [TRACE] dag/walk: added new vertex: "google_compute_instance_template.node-jitter"
2020/01/02 19:36:40 [WARN] Provider "google" produced an invalid plan for google_compute_instance_template.node-jitter, but we are tolerating it because it is using the legacy plugin SDK.
    The following problems may be the cause of any confusing errors from downstream operations:
      - .scheduling: block count in plan (1) disagrees with count in config (0)
2020-01-02T19:36:40.132-0500 [DEBUG] plugin: plugin process exited: path=/.terraform/plugins/darwin_amd64/terraform-provider-google_v3.3.0_x5 pid=56286
2020-01-02T19:36:40.132-0500 [DEBUG] plugin: plugin exited
2020/01/02 19:36:40 [INFO] backend/local: plan operation completed

Panic Output

Expected Behavior

Plan output should not include changes to disk.source_image

Actual Behavior

plan output:

  # google_compute_instance_template.node-jitter must be replaced
-/+ resource "google_compute_instance_template" "node-jitter" {
        can_ip_forward       = false
      ~ id                   = "projects/$PROJECT/global/instanceTemplates/node-jitter" -> (known after apply)
        machine_type         = "n1-standard-1"
      ~ metadata             = { # forces replacement
          + "shutdown-script" = "/bin/true"
        }
      ~ metadata_fingerprint = "JTqYaJW_BVs=" -> (known after apply)
        name                 = "node-jitter"
      + name_prefix          = (known after apply)
      ~ project              = "$PROJECT" -> (known after apply)
      + region               = (known after apply)
      ~ self_link            = "https://www.googleapis.com/compute/beta/projects/$PROJECT/global/instanceTemplates/node-jitter" -> (known after apply)
      - tags                 = [] -> null
      + tags_fingerprint     = (known after apply)

      ~ disk {
            auto_delete  = true
            boot         = true
          ~ device_name  = "persistent-disk-0" -> (known after apply)
            disk_size_gb = 10
            disk_type    = "pd-ssd"
          ~ interface    = "SCSI" -> (known after apply)
          - labels       = {} -> null
            mode         = "READ_WRITE"
          ~ source_image = "projects/debian-cloud/global/images/family/debian-9" -> "https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/family/debian-9"
            type         = "PERSISTENT"
        }

      ~ network_interface {
          ~ network            = "https://www.googleapis.com/compute/v1/projects/$PROJECT/global/networks/default" -> "default"
          + subnetwork         = (known after apply)
          + subnetwork_project = (known after apply)
        }

      ~ scheduling {
          ~ automatic_restart   = true -> (known after apply)
          ~ on_host_maintenance = "MIGRATE" -> (known after apply)
          ~ preemptible         = false -> (known after apply)

          + node_affinities {
              + key      = (known after apply)
              + operator = (known after apply)
              + values   = (known after apply)
            }
        }
    }

Steps to Reproduce

  1. terraform plan
  2. terraform apply
  3. terraform show
  4. switch to second file
  5. terraform plan

Important Factoids

I have pre-existing manually created templates that I kind of like. I'd like to migrate to using terraform w/o losing their characteristics.

(Yes, I understand SCSI is the default today, and the terraform behavior is documented, but it clearly isn't required from gcloud's perspective.)

References

This is in the family of #5283 -- things which do not quite work the way I'd like in that I can't produce the output I'd like the way I'd like / there doesn't appear to be any way to do so using terraform.

@jsoref
Copy link
Contributor Author

jsoref commented Jan 3, 2020

Fwiw, the distinction between [], {} and null in:

      - tags                 = [] -> null

and

          - labels       = {} -> null

is also fairly unhelpful.

I can file an extra bug about the fact that terraform claims it doesn't know what the project will be, it seems strange for terraform to claim that it doesn't know the project:

      ~ project              = "$PROJECT" -> (known after apply)

That is definitely a known quantity.

This:

      + name_prefix          = (known after apply)

relates to #5284 -- I was trying to suppress that, but I can't, because attempting to do so triggers that error instead ...

The overall use case for this adventure is being able to easily recognize what is changing.

We're using terraform to make lots of changes, or few changes. But terraform massively multiplies the number of changes it reports to the point that it's hiding the needles in very large haystacks.

Ideally, if I make a single change -- as here I'm just adding a metadata.shutdown-script, I should see a single change to that block (in this case, I'd also expect the metadata_fingerprint change). If necessary, a note that the entire object is being replaced, but no other diff markers.

Having to review each and every line because the tool isn't smart enough to recognize that it isn't changing other things costs us a lot.

(I'm happy to write patches, or have someone else from our group write patches.)

@venkykuberan venkykuberan self-assigned this Jan 3, 2020
@venkykuberan
Copy link
Contributor

@jsoref i think more than one issue is filed in this ticket. It would be helpful to track if you can open separate issues in future. Let me attempt to address it here and see ..

  1. $PROJECT is computed value so terraform is expecting its value is coming outside of config (provider, env. variables etc.). If you use project=value as part of resource config you wouldn't see the diff.
  2. tags = [] -> {}, while creating the resource, provider is updating the terraform state with empty values and when terraform plan is ran again, it doesn't find any values in the config and its setting it to nil. We know what's causing it, **Please file a new issue for this, we will work on it **
  3. Regarding source image diff, its being addressed on another issue. That fix will take care of this one as well.

If you would like to collaborate with us for patches/feature work please reach out to GCP representative for your account. They will help us engaged with your team

@jsoref
Copy link
Contributor Author

jsoref commented Jan 4, 2020

There is a project set, I excluded it from the config because it's private. It also isn't the core to my issue. The tags thing was an observation – I'm happy to file a bug for it.

Source image is the only thing this issue is for. I'm happy to have it marked as a duplicate.

@venkykuberan
Copy link
Contributor

Thank you @jsoref, will close it as its tracked on other issue

@jsoref
Copy link
Contributor Author

jsoref commented Jan 6, 2020

@venkykuberan which is?

@venkykuberan
Copy link
Contributor

#4328

@ghost
Copy link

ghost commented Feb 6, 2020

I'm going to lock this issue because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues.

If you feel this issue should be reopened, we encourage creating a new issue linking back to this one for added context. If you feel I made an error 🤖 🙉 , please reach out to my human friends 👉 [email protected]. Thanks!

@ghost ghost locked and limited conversation to collaborators Feb 6, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

2 participants