Terraform-provider-cloudflare: terraform panic crashes since 2.18 upgrade

Created on 5 Feb 2021  路  18Comments  路  Source: cloudflare/terraform-provider-cloudflare

Terraform version

v0.13.2

Affected resource(s)

  • page rules

Terraform configuration files


resource "cloudflare_page_rule" "static-pages" {
  zone_id    = module.cloudflare_zone.zone_id
  priority   = 5
  status     = "active"
  target     = "*${local.zone_name}/static-pages/*"
  actions {
    cache_level    = "cache_everything"
    edge_cache_ttl = "300"
    cache_key_fields {
      cookie {
        include = ["locale"]
      }
      header {
        check_presence = ["x-hide-fields", "x-ignore-tags", "x-locale"]
      }
      host {}
      user {}
      query_string {}
    }
  }
}

Debug output

Panic output

~
2021/02/05 16:35:32 [TRACE] dag/walk: vertex "root" is waiting for "module.website_somewebsite (close)"
2021-02-05T16:35:32.709+0100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: 2021/02/05 16:35:32 [DEBUG] Cloudflare Page Rule read configuration: cloudflare.PageRule{ID:"some-rule-id", Targets:[]cloudflare.PageRuleTarget{cloudflare.PageRuleTarget{Target:"url", Constraint:struc
t { Operator string "json:\"operator\""; Value string "json:\"value\"" }{Operator:"matches", Value:"somewebsite/static-pages/"}}}, Actions:[]cloudflare.PageRuleAction{cloudflare.PageRuleAction{ID:"cache_level", Value:"cache_everything"}, cloudflare.PageRuleAction{ID:"edge_cache_ttl", Value:300}, cl
oudflare.PageRuleAction{ID:"cache_key_fields", Value:map[string]interface {}{"cookie":map[string]interface {}{"check_presence":[]interface {}{}, "include":[]interface {}{"locale"}}, "header":map[string]interface {}{"check_presence":[]interface {}{"x-hide-fields", "x-ignore-tags", "x-locale"}, "exclude"
:[]interface {}{}, "include":[]interface {}{}}, "host":map[string]interface {}{"resolved":false}, "query_string":map[string]interface {}{"exclude":[]interface {}{}, "include":""}, "user":map[string]interface {}{"device_type":false, "geo":false, "lang":false}}}}, Priority:5, Status:"active", ModifiedOn
:time.Time{wall:0x0, ext:63734805755, loc:(
time.Location)(nil)}, CreatedOn:time.Time{wall:0x0, ext:63711575298, loc:(time.Location)(nil)}}
2021-02-05T16:35:32.712+0100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: panic: Invalid data-type
2021-02-05T16:35:32.712+0100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0:
2021-02-05T16:35:32.712+0100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: goroutine 1443 [running]:
2021-02-05T16:35:32.712+0100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: github.com/cloudflare/terraform-provider-cloudflare/cloudflare.itemExistsInSlice(0x1d224c0, 0xc0006b30a0, 0x1d224c0, 0x20bdb00, 0xc000662bc8)
2021-02-05T16:35:32.712+0100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: github.com/cloudflare/terraform-provider-cloudflare/cloudflare/utils.go:91 +0x219
2021-02-05T16:35:32.712+0100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: github.com/cloudflare/terraform-provider-cloudflare/cloudflare.transformFromCloudflarePageRuleAction(0xc0009ad868, 0xc0005e9530, 0xc0006836b0, 0xe, 0xc000662758, 0x0, 0x0)
2021-02-05T16:35:32.712+0100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: github.com/cloudflare/terraform-provider-cloudflare/cloudflare/resource_cloudflare_page_rule.go:753 +0xc8a
2021-02-05T16:35:32.712+0100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: github.com/cloudflare/terraform-provider-cloudflare/cloudflare.resourceCloudflarePageRuleRead(0xc00034b500, 0x1f2dc40, 0xc0006e4240, 0xc00034b500, 0x0)
2021-02-05T16:35:32.712+0100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: github.com/cloudflare/terraform-provider-cloudflare/cloudflare/resource_cloudflare_page_rule.go:580 +0x805
2021-02-05T16:35:32.712+0100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: github.com/hashicorp/terraform-plugin-sdk/helper/schema.(
Resource).RefreshWithoutUpgrade(0xc0001b87e0, 0xc0002f3ea0, 0x1f2dc40, 0xc0006e4240, 0xc00028d778, 0x0, 0x0)
2021-02-05T16:35:32.712+0100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: github.com/hashicorp/[email protected]/helper/schema/resource.go:460 +0x129
2021-02-05T16:35:32.712+0100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: github.com/hashicorp/terraform-plugin-sdk/internal/helper/plugin.(GRPCProviderServer).ReadResource(0xc0001813d8, 0x21001e0, 0xc0007b83f0, 0xc000997ec0, 0xc0001813d8, 0xc0007b83f0, 0xc00001eba0)
2021-02-05T16:35:32.712+0100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: github.com/hashicorp/[email protected]/internal/helper/plugin/grpc_provider.go:525 +0x3dd
2021-02-05T16:35:32.712+0100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: github.com/hashicorp/terraform-plugin-sdk/internal/tfplugin5._Provider_ReadResource_Handler(0x1eea540, 0xc0001813d8, 0x21001e0, 0xc0007b83f0, 0xc000997e60, 0x0, 0x21001e0, 0xc0007b83f0, 0xc00017b680, 0x43a)
2021-02-05T16:35:32.712+0100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: github.com/hashicorp/[email protected]/internal/tfplugin5/tfplugin5.pb.go:3269 +0x214
2021-02-05T16:35:32.712+0100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: google.golang.org/grpc.(
Server).processUnaryRPC(0xc0007cc1c0, 0x210bc00, 0xc000103680, 0xc00092c900, 0xc00039ab70, 0x27f7710, 0x0, 0x0, 0x0)
2021-02-05T16:35:32.712+0100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: google.golang.org/[email protected]/server.go:1171 +0x522
2021-02-05T16:35:32.712+0100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: google.golang.org/grpc.(Server).handleStream(0xc0007cc1c0, 0x210bc00, 0xc000103680, 0xc00092c900, 0x0)
2021-02-05T16:35:32.712+0100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: google.golang.org/[email protected]/server.go:1494 +0xcc5
2021-02-05T16:35:32.712+0100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: google.golang.org/grpc.(
Server).serveStreams.func1.2(0xc00003c200, 0xc0007cc1c0, 0x210bc00, 0xc000103680, 0xc00092c900)
2021-02-05T16:35:32.712+0100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: google.golang.org/[email protected]/server.go:834 +0xa5
2021-02-05T16:35:32.712+0100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: created by google.golang.org/grpc.(*Server).serveStreams.func1
2021-02-05T16:35:32.713+0100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: google.golang.org/[email protected]/server.go:832 +0x1fd
2021-02-05T16:35:32.718+0100 [WARN] plugin.stdio: received EOF, stopping recv loop: err="rpc error: code = Unavailable desc = transport is closing"
2021-02-05T16:35:32.718+0100 [DEBUG] plugin: plugin process exited: path=.terraform/plugins/registry.terraform.io/cloudflare/cloudflare/2.18.0/darwin_amd64/terraform-provider-cloudflare_v2.18.0 pid=25888 error="exit status 2"
2021/02/05 16:35:32 [ERROR] eval: *terraform.EvalRefresh, err: rpc error: code = Unavailable desc = transport is closing
2021/02/05 16:35:32 [ERROR] eval: *terraform.EvalSequence, err: rpc error: code = Unavailable desc = transport is closing
~

Expected behavior

Terraform evaluates the page rule successfully.

Actual behavior

terraform crashes with following error:

~
panic: Invalid data-type
2021-02-05T15:20:51.795Z [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0:
2021-02-05T15:20:51.795Z [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: goroutine 1405 [running]:
2021-02-05T15:20:51.795Z [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: github.com/cloudflare/terraform-provider-cloudflare/cloudflare.itemExistsInSlice(0x1124940, 0xc000343250, 0x1124940, 0x14bf0c0, 0xc00087cbc8)
2021-02-05T15:20:51.795Z [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: github.com/cloudflare/terraform-provider-cloudflare/cloudflare/utils.go:91 +0x219
2021-02-05T15:20:51.795Z [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: github.com/cloudflare/terraform-provider-cloudflare/cloudflare.transformFromCloudflarePageRuleAction(0xc0001f7868, 0xc0007da330, 0xc000038370, 0xe, 0xc00087c758, 0x0, 0x0)
2021-02-05T15:20:51.795Z [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: github.com/cloudflare/terraform-provider-cloudflare/cloudflare/resource_cloudflare_page_rule.go:753 +0xc8a
~

Steps to reproduce

Important factoids

References

Community note

  • Please vote on this issue by adding a 馃憤 reaction
    to the original issue to help the community and maintainers prioritize this request
  • If you are interested in working on this issue or have submitted a pull
    request, please leave a comment
kinbug workflopending-op-response triagnot-reproducible

Most helpful comment

Update on the original issue:

  • I pinned to cloudflare 2.17 and destroyed all my groups
  • had to terraform state rm the few remaining groups that cloudflare can't delete as they are in use
  • removed the pinned version
  • re-applied all the groups with 2.18: I'm now getting some variants as the errors above, ie: "transport is closing"

=> going back to version 2.17

All 18 comments

Thanks for reporting this however I'm unable to replicate the crash you've shown above using this configuration.

$ terraform version
Terraform v0.13.6
+ provider registry.terraform.io/cloudflare/cloudflare v2.18.0
terraform {
  required_providers {
    cloudflare = {
      version = "2.18.0"
      source = "cloudflare/cloudflare"
    }
  }
}

provider "cloudflare" {
  email   = var.cloudflare_email
  api_key = var.cloudflare_api_key
}

variable "cloudflare_email" {}
variable "cloudflare_api_key" {}
variable "cloudflare_zone_id" {}
variable "cloudflare_zone" {}
variable "cloudflare_account_id" {}

resource "cloudflare_page_rule" "static-pages" {
  zone_id    = var.cloudflare_zone_id
  priority   = 1
  status     = "active"
  target     = "${var.cloudflare_zone}/static-pages/*"
  actions {
    cache_level    = "cache_everything"
    edge_cache_ttl = "300"
    cache_key_fields {
      cookie {
        include = ["locale"]
      }
      header {
        check_presence = ["x-hide-fields", "x-ignore-tags", "x-locale"]
      }
      host {}
      user {}
      query_string {}
    }
  }
}

Are you able to try my test case above or let me know what is different for you?

for what it's worth (=not much, sorry), I'm having the same issue when planning through terragrunt and with terraform v0.14.4
cloudflare v2.18.0 gets me a panic error
cloudflare v2.17.0 works fine

However, I just cannot reproduce the issue in a standalone file ...

Do you have an existing page rule that cache key fields are being added to? Or is it a new rule?

In my case, the panic was for an existing rule which did not even have any changes.

My memory is a little fuzzy but you may need to either:

  • remove the rule from the terraform state and import it; or
  • recreate the rule completely.

From what I can remember, the state ended up needing to be altered for it to work without crashes in the newer versions. We weren't able to migrate the state due to it being in a broken state.

We have a very similar problem after upgrading to Cloudflare provider version 2.18.0 (Terraform version 0.14.6), though one of the errors is a bit different (one about authentication). Does anybody have any suggestions? This happens on a plan without any changes. Included are excerpts from the Terraform plan output.

panic: interface conversion: interface {} is nil, not string
2021-02-10T13:19:58.083Z [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: 
2021-02-10T13:19:58.083Z [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: goroutine 679 [running]:
2021-02-10T13:19:58.083Z [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: github.com/cloudflare/terraform-provider-cloudflare/cloudflare.TransformAccessGroupForSchema(0xc00090a240, 0x2, 0x4, 0x110de80, 0xc00043c540, 0x0)
2021-02-10T13:19:58.083Z [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0:  github.com/cloudflare/terraform-provider-cloudflare/cloudflare/resource_cloudflare_access_group.go:599 +0x533f
2021-02-10T13:19:58.084Z [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: github.com/cloudflare/terraform-provider-cloudflare/cloudflare.resourceCloudflareAccessPolicyRead(0xc0001107e0, 0x132fa00, 0xc0000e35c0, 0xc0001107e0, 0x0)
2021-02-10T13:19:58.084Z [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0:  github.com/cloudflare/terraform-provider-cloudflare/cloudflare/resource_cloudflare_access_policy.go:108 +0x93b
2021-02-10T13:19:58.084Z [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: github.com/hashicorp/terraform-plugin-sdk/helper/schema.(*Resource).RefreshWithoutUpgrade(0xc00030f0e0, 0xc000362f00, 0x132fa00, 0xc0000e35c0, 0xc00076a290, 0x0, 0x0)
2021-02-10T13:19:58.084Z [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0:  github.com/hashicorp/[email protected]/helper/schema/resource.go:460 +0x129
2021-02-10T13:19:58.084Z [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: github.com/hashicorp/terraform-plugin-sdk/internal/helper/plugin.(*GRPCProviderServer).ReadResource(0xc00000ec18, 0x1501640, 0xc00076eed0, 0xc0005eb200, 0xc00000ec18, 0xc00076eed0, 0xc000299ba0)
2021-02-10T13:19:58.084Z [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0:  github.com/hashicorp/[email protected]/internal/helper/plugin/grpc_provider.go:525 +0x3dd
2021-02-10T13:19:58.084Z [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: github.com/hashicorp/terraform-plugin-sdk/internal/tfplugin5._Provider_ReadResource_Handler(0x12ebca0, 0xc00000ec18, 0x1501640, 0xc00076eed0, 0xc0005eb140, 0x0, 0x1501640, 0xc00076eed0, 0xc000778240, 0x21f)
2021-02-10T13:19:58.084Z [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0:  github.com/hashicorp/[email protected]/internal/tfplugin5/tfplugin5.pb.go:3269 +0x214
2021-02-10T13:19:58.084Z [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: google.golang.org/grpc.(*Server).processUnaryRPC(0xc0005fa380, 0x150ce60, 0xc000315500, 0xc0005d7800, 0xc000109230, 0x1bf5510, 0x0, 0x0, 0x0)
2021-02-10T13:19:58.084Z [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0:  google.golang.org/[email protected]/server.go:1171 +0x522
2021-02-10T13:19:58.084Z [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: google.golang.org/grpc.(*Server).handleStream(0xc0005fa380, 0x150ce60, 0xc000315500, 0xc0005d7800, 0x0)
2021-02-10T13:19:58.084Z [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0:  google.golang.org/[email protected]/server.go:1494 +0xcc5
2021-02-10T13:19:58.084Z [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: google.golang.org/grpc.(*Server).serveStreams.func1.2(0xc0002fe180, 0xc0005fa380, 0x150ce60, 0xc000315500, 0xc0005d7800)
2021-02-10T13:19:58.084Z [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0:  google.golang.org/[email protected]/server.go:834 +0xa5
2021-02-10T13:19:58.084Z [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: created by google.golang.org/grpc.(*Server).serveStreams.func1
2021-02-10T13:19:58.084Z [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0:  google.golang.org/[email protected]/server.go:832 +0x1fd
...
2021-02-10T13:19:58.086Z [WARN]  plugin.stdio: received EOF, stopping recv loop: err="rpc error: code = Unavailable desc = transport is closing"
...
2021-02-10T12:44:43.682Z [DEBUG] plugin: plugin process exited: path=.terraform/providers/registry.terraform.io/cloudflare/cloudflare/2.18.0/linux_amd64/terraform-provider-cloudflare_v2.18.0 pid=1508 error="exit status 2"
...
2021/02/10 12:44:43 [TRACE] dag/walk: upstream of "provider[\"registry.terraform.io/cloudflare/cloudflare\"] (close)" errored, so skipping
2021/02/10 12:44:43 [TRACE] dag/walk: upstream of "meta.count-boundary (EachMode fixup)" errored, so skipping
2021/02/10 12:44:43 [TRACE] dag/walk: upstream of "root" errored, so skipping
2021/02/10 12:44:43 [INFO] backend/local: plan operation completed
2021-02-10T12:44:43.700Z [DEBUG] plugin: plugin exited
Error: rpc error: code = Canceled desc = context canceled
Error: rpc error: code = Canceled desc = context canceled
Error: rpc error: code = Unavailable desc = transport is closing
Error: rpc error: code = Unavailable desc = connection error: desc = "transport: authentication handshake failed: read unix @->/tmp/plugin236641619: read: connection reset by peer"
Error: rpc error: code = Canceled desc = context canceled

We just had the same issue this morning with terraform v0.13.6 and cloudflare v2.18.0 with a slightly different panic as well. I'm able to quickly resolve by pinning the cloudflare provider to v2.17.0.

panic: Invalid data-type

goroutine 161 [running]:
github.com/cloudflare/terraform-provider-cloudflare/cloudflare.itemExistsInSlice(0x1d224c0, 0xc000696f20, 0x1d224c0, 0x20bdb00, 0xc000a80628)
github.com/cloudflare/terraform-provider-cloudflare/cloudflare/utils.go:91 +0x219
github.com/cloudflare/terraform-provider-cloudflare/cloudflare.transformFromCloudflarePageRuleAction(0xc00091d868, 0xc0009215c0, 0xc000791d70, 0xb, 0xc000a803e8, 0x0, 0x0)
github.com/cloudflare/terraform-provider-cloudflare/cloudflare/resource_cloudflare_page_rule.go:753 +0xc8a
github.com/cloudflare/terraform-provider-cloudflare/cloudflare.resourceCloudflarePageRuleRead(0xc0002216c0, 0x1f2dc40, 0xc00018e840, 0xc0002216c0, 0x0)
github.com/cloudflare/terraform-provider-cloudflare/cloudflare/resource_cloudflare_page_rule.go:580 +0x805
github.com/hashicorp/terraform-plugin-sdk/helper/schema.(*Resource).RefreshWithoutUpgrade(0xc00026e360, 0xc00045c5a0, 0x1f2dc40, 0xc00018e840, 0xc000656bc8, 0x0, 0x0)
github.com/hashicorp/[email protected]/helper/schema/resource.go:460 +0x129
github.com/hashicorp/terraform-plugin-sdk/internal/helper/plugin.(*GRPCProviderServer).ReadResource(0xc0006563a0, 0x21001e0, 0xc0003620f0, 0xc00012e6c0, 0xc0006563a0, 0xc0003620f0, 0xc000113ba0)
github.com/hashicorp/[email protected]/internal/helper/plugin/grpc_provider.go:525 +0x3dd
github.com/hashicorp/terraform-plugin-sdk/internal/tfplugin5._Provider_ReadResource_Handler(0x1eea540, 0xc0006563a0, 0x21001e0, 0xc0003620f0, 0xc00012e5a0, 0x0, 0x21001e0, 0xc0003620f0, 0xc000ac6900, 0x428)
github.com/hashicorp/[email protected]/internal/tfplugin5/tfplugin5.pb.go:3269 +0x214
google.golang.org/grpc.(*Server).processUnaryRPC(0xc00030a1c0, 0x210bc00, 0xc000702900, 0xc000464000, 0xc00065a390, 0x27f7710, 0x0, 0x0, 0x0)
google.golang.org/[email protected]/server.go:1171 +0x522
google.golang.org/grpc.(*Server).handleStream(0xc00030a1c0, 0x210bc00, 0xc000702900, 0xc000464000, 0x0)
google.golang.org/[email protected]/server.go:1494 +0xcc5
google.golang.org/grpc.(*Server).serveStreams.func1.2(0xc0003c41a0, 0xc00030a1c0, 0x210bc00, 0xc000702900, 0xc000464000)
google.golang.org/[email protected]/server.go:834 +0xa5
created by google.golang.org/grpc.(*Server).serveStreams.func1
google.golang.org/[email protected]/server.go:832 +0x1fd
[ERROR] eval: *terraform.EvalRefresh, err: rpc error: code = Unavailable desc = transport is closing
[ERROR] eval: *terraform.EvalRefresh, err: rpc error: code = Unavailable desc = transport is closing
[ERROR] eval: *terraform.EvalSequence, err: rpc error: code = Unavailable desc = transport is closing

Update on the original issue:

  • I pinned to cloudflare 2.17 and destroyed all my groups
  • had to terraform state rm the few remaining groups that cloudflare can't delete as they are in use
  • removed the pinned version
  • re-applied all the groups with 2.18: I'm now getting some variants as the errors above, ie: "transport is closing"

=> going back to version 2.17

@jgournet can you please post your full TF_LOG=DEBUG logs? transport closing messages aren't the issue here; they occur at the end of a run.

@jacobbednarz :
1) my bad: looks like I'm actually "just" still have panic crashes ...
2) here's the output, in case it helps (it's not the full output - just the relevant parts; hopefully, that should be enough; this is because the less I put here, the less I have to sanitize and the less I might leak important data)

2021-02-11T13:44:24.116+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: -----------------------------------------------------
2021-02-11T13:44:24.440+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: 2021/02/11 13:44:24 [DEBUG] Cloudflare API Response Details:
2021-02-11T13:44:24.440+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: ---[ RESPONSE ]--------------------------------------
2021-02-11T13:44:24.440+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: HTTP/1.1 200 OK
2021-02-11T13:44:24.440+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: Connection: close
2021-02-11T13:44:24.440+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: Transfer-Encoding: chunked
2021-02-11T13:44:24.440+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: Cf-Cache-Status: DYNAMIC
2021-02-11T13:44:24.440+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: Cf-Ray: 61faba535bde17c8-MEL
2021-02-11T13:44:24.440+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: Cf-Request-Id: 08MASKED0001
2021-02-11T13:44:24.440+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: Content-Security-Policy: frame-ancestors 'none'; default-src https: 'unsafe-inline'
2021-02-11T13:44:24.440+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: Content-Type: application/json; charset=UTF-8
2021-02-11T13:44:24.440+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: Date: Thu, 11 Feb 2021 02:44:24 GMT
2021-02-11T13:44:24.440+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: Expect-Ct: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
2021-02-11T13:44:24.440+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: Server: cloudflare
2021-02-11T13:44:24.440+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: Set-Cookie: __cfduid=d7dd0eb9MASKED13011464; expires=Sat, 13-Mar-21 02:44:24 GMT; path=/; domain=.api.cloudflare.com; HttpOnly; SameSite=Lax; Secure
2021-02-11T13:44:24.440+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: Set-Cookie: __cflb=0H28vMASKEDq2zy; SameSite=Lax; path=/; expires=Thu, 11-Feb-21 05:14:25 GMT; HttpOnly
2021-02-11T13:44:24.440+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: Set-Cookie: __cfruid=fcd2c00MASKED464; path=/; domain=.api.cloudflare.com; HttpOnly; Secure; SameSite=None
2021-02-11T13:44:24.440+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: Strict-Transport-Security: max-age=31536000; includeSubDomains
form-provider-cloudflare_v2.18.0: Vary: Accept-Encoding
2021-02-11T13:44:24.440+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: X-Content-Type-Options: nosniff
2021-02-11T13:44:24.440+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: X-Envoy-Upstream-Service-Time: 6
2021-02-11T13:44:24.440+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: X-Frame-Options: DENY
2021-02-11T13:44:24.440+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: X-Xss-Protection: 1; mode=block
2021-02-11T13:44:24.440+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: 
2021-02-11T13:44:24.440+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: 1eb
2021-02-11T13:44:24.440+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: {
2021-02-11T13:44:24.440+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0:   "result": {
2021-02-11T13:44:24.440+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0:     "id": "MASKED",
2021-02-11T13:44:24.440+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0:     "name": "ba2_role",
2021-02-11T13:44:24.440+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0:     "uid": "MASKED",
2021-02-11T13:44:24.440+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0:     "include": [
2021-02-11T13:44:24.440+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0:       {
2021-02-11T13:44:24.440+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0:         "saml": {
2021-02-11T13:44:24.440+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0:           "attribute_name": "memberOf",
2021-02-11T13:44:24.440+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0:           "attribute_value": "ba2_role"
2021-02-11T13:44:24.440+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0:         }
2021-02-11T13:44:24.440+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0:       }
2021-02-11T13:44:24.440+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0:     ],
2021-02-11T13:44:24.440+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0:     "require": [],
2021-02-11T13:44:24.440+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0:     "exclude": [],
2021-02-11T13:44:24.440+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0:     "created_at": "2021-02-11T02:44:24Z",
2021-02-11T13:44:24.440+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0:     "updated_at": "2021-02-11T02:44:24Z"
2021-02-11T13:44:24.440+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0:   },
2021-02-11T13:44:24.440+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0:   "success": true,
2021-02-11T13:44:24.440+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0:   "errors": [],
2021-02-11T13:44:24.440+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0:   "messages": []
2021-02-11T13:44:24.440+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: }
2021-02-11T13:44:24.440+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: 
2021-02-11T13:44:24.440+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: 0
2021-02-11T13:44:24.440+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: 
2021-02-11T13:44:24.440+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: 
2021-02-11T13:44:24.440+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: -----------------------------------------------------

Warning: Resource targeting is in effect

You are creating a plan with the -target option, which means that the result
of this plan may not represent all of the changes requested by the current
configuration.

The -target option is not for routine use, and is provided only for
exceptional situations such as recovering from errors or mistakes, or when
Terraform specifically suggests to use it as part of an error message.


Warning: Applied changes may be incomplete

The plan was created with the -target option in effect, so some changes
requested in the configuration may have been ignored and the output values may
not be fully updated. Run the following command to verify that no other
changes are pending:
    terraform plan

Note that the -target option is not suitable for routine use, and is provided
only for exceptional situations such as recovering from errors or mistakes, or
when Terraform specifically suggests to use it as part of an error message.


Error: rpc error: code = Unavailable desc = transport is closing


panic: interface conversion: interface {} is nil, not string
2021-02-11T13:44:24.442+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: 
2021-02-11T13:44:24.442+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: goroutine 81 [running]:
2021-02-11T13:44:24.442+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: github.com/cloudflare/terraform-provider-cloudflare/cloudflare.TransformAccessGroupForSchema(0xc0000c2840, 0x1, 0x4, 0x110de80, 0xc00063a880, 0x0)
2021-02-11T13:44:24.442+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0:      github.com/cloudflare/terraform-provider-cloudflare/cloudflare/resource_cloudflare_access_group.go:611 +0x524d
2021-02-11T13:44:24.442+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: github.com/cloudflare/terraform-provider-cloudflare/cloudflare.resourceCloudflareAccessGroupRead(0xc000572af0, 0x132fa00, 0xc00017e780, 0x0, 0x0)
2021-02-11T13:44:24.442+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0:      github.com/cloudflare/terraform-provider-cloudflare/cloudflare/resource_cloudflare_access_group.go:261 +0x87a
2021-02-11T13:44:24.442+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: github.com/cloudflare/terraform-provider-cloudflare/cloudflare.resourceCloudflareAccessGroupCreate(0xc000572af0, 0x132fa00, 0xc00017e780, 0x2, 0x1c385a0)
2021-02-11T13:44:24.442+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0:      github.com/cloudflare/terraform-provider-cloudflare/cloudflare/resource_cloudflare_access_group.go:294 +0x5ba
2021-02-11T13:44:24.442+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: github.com/hashicorp/terraform-plugin-sdk/helper/schema.(*Resource).Apply(0xc000172990, 0xc000109b30, 0xc000636b40, 0x132fa00, 0xc00017e780, 0x1198301, 0xc000734898, 0xc00060fd10)
2021-02-11T13:44:24.442+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0:      github.com/hashicorp/[email protected]/helper/schema/resource.go:310 +0x375
2021-02-11T13:44:24.442+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: github.com/hashicorp/terraform-plugin-sdk/helper/schema.(*Provider).Apply(0xc00021a300, 0xc0006efa38, 0xc000109b30, 0xc000636b40, 0xc0006f2628, 0xc0000a6668, 0x119a720)
2021-02-11T13:44:24.442+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0:      github.com/hashicorp/[email protected]/helper/schema/provider.go:294 +0x99
2021-02-11T13:44:24.442+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: github.com/hashicorp/terraform-plugin-sdk/internal/helper/plugin.(*GRPCProviderServer).ApplyResourceChange(0xc0000a62a0, 0x1501640, 0xc000574630, 0xc000572000, 0xc0000a62a0, 0xc000574630, 0xc0000b2ba0)
2021-02-11T13:44:24.442+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0:      github.com/hashicorp/[email protected]/internal/helper/plugin/grpc_provider.go:885 +0x8ab
2021-02-11T13:44:24.442+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: github.com/hashicorp/terraform-plugin-sdk/internal/tfplugin5._Provider_ApplyResourceChange_Handler(0x12ebca0, 0xc0000a62a0, 0x1501640, 0xc000574630, 0xc0000a4480, 0x0, 0x1501640, 0xc000574630, 0xc000054e00, 0x35c)
2021-02-11T13:44:24.442+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0:      github.com/hashicorp/[email protected]/internal/tfplugin5/tfplugin5.pb.go:3305 +0x214
2021-02-11T13:44:24.442+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: google.golang.org/grpc.(*Server).processUnaryRPC(0xc0000d6380, 0x150ce60, 0xc000601c80, 0xc0005a0000, 0xc000182b40, 0x1bf5540, 0x0, 0x0, 0x0)
2021-02-11T13:44:24.442+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0:      google.golang.org/[email protected]/server.go:1171 +0x522
2021-02-11T13:44:24.442+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: google.golang.org/grpc.(*Server).handleStream(0xc0000d6380, 0x150ce60, 0xc000601c80, 0xc0005a0000, 0x0)
2021-02-11T13:44:24.442+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0:      google.golang.org/[email protected]/server.go:1494 +0xcc5
2021-02-11T13:44:24.443+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: google.golang.org/grpc.(*Server).serveStreams.func1.2(0xc00044e2d0, 0xc0000d6380, 0x150ce60, 0xc000601c80, 0xc0005a0000)
2021-02-11T13:44:24.443+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0:      google.golang.org/[email protected]/server.go:834 +0xa5
2021-02-11T13:44:24.443+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0: created by google.golang.org/grpc.(*Server).serveStreams.func1
2021-02-11T13:44:24.443+1100 [DEBUG] plugin.terraform-provider-cloudflare_v2.18.0:      google.golang.org/[email protected]/server.go:832 +0x1fd
2021-02-11T13:44:24.444+1100 [DEBUG] plugin: plugin process exited: path=.terraform/providers/registry.terraform.io/cloudflare/cloudflare/2.18.0/linux_amd64/terraform-provider-cloudflare_v2.18.0 pid=6038 error="exit status 2"
2021-02-11T13:44:24.444+1100 [WARN]  plugin.stdio: received EOF, stopping recv loop: err="rpc error: code = Unavailable desc = transport is closing"
2021/02/11 13:44:24 [DEBUG] cloudflare_access_group.this["ba2_role"]: apply errored, but we're indicating that via the Error pointer rather than returning it: rpc error: code = Unavailable desc = transport is closing
2021/02/11 13:44:24 [DEBUG] [aws-sdk-go] DEBUG: Request dynamodb/GetItem Details:

Thanks @jgournet, that is the 馃挕 we needed. It looks like your issue is separate to this one (op is page rule cache key fields and yours is access SAML groups). I'm going to slice yours off into it's own new issue where we can get a reproduction test case and a fix together.

@jacobbednarz could you please take a look at these logs - tf_panic.txt? Took the portion beginning with panic: interface conversion: interface {} is nil, not string and sanitized it for sensitive data. It starts happening after creating a bunch of resources like cloudflare_access_application and cloudflare_access_policy, on every plan in a clean workspace.

@Funghorn can you please open a new issue and follow the issue template provided? I don't have enough information based on your comment.

Are you able to try my test case above or let me know what is different for you?

@jacobbednarz another difference is that we are using an API token and not api key

@harshal-shah i don't think we're any closer to finding the cause here. i still can't replicate your issue and without the untruncated TF_LOG=DEBUG logs, i can't get any further. are you able to provide either on the latest version of the provider?

closing due to lack of information. if we can get more information to help diagnose the issue, we can always revisit.

@jacobbednarz sorry for the late response, this problem got resolved in the newer versions of the provider.
We had pinned ourselves to 2.17 and then just jumped to 2.20 and above, all fine now.

Glad to hear it!

Was this page helpful?
0 / 5 - 0 ratings