cloudflare / terraform-provider-cloudflare

Cloudflare Terraform Provider
https://registry.terraform.io/providers/cloudflare/cloudflare
Mozilla Public License 2.0
765 stars 589 forks source link

panic: interface conversion: interface {} is nil, not *cloudflare.API #588

Closed ghost closed 4 years ago

ghost commented 4 years ago

This issue was originally opened by @hazcod as hashicorp/terraform#23892. It was migrated here as a result of the provider split. The original body of the issue is below.


Used v2.3.0 version of provider via terraformer (all): CLOUDFLARE_EMAIL='xxx' CLOUDFLARE_TOKEN='xxx' ./terraformer-all-darwin-amd64 import cloudflare --resources='firewall,dns,access' --compact --path-pattern 'cfgenerated/' --verbose

2020-01-19T16:00:20.051+0100 [DEBUG] plugin.terraform-provider-cloudflare_v2.3.0_x4: panic: interface conversion: interface {} is nil, not *cloudflare.API
2020-01-19T16:00:20.051+0100 [DEBUG] plugin.terraform-provider-cloudflare_v2.3.0_x4: 
2020-01-19T16:00:20.051+0100 [DEBUG] plugin.terraform-provider-cloudflare_v2.3.0_x4: goroutine 40 [running]:
2020-01-19T16:00:20.051+0100 [DEBUG] plugin.terraform-provider-cloudflare_v2.3.0_x4: github.com/terraform-providers/terraform-provider-cloudflare/cloudflare.resourceCloudflareAccessRuleRead(0xc0002b43f0, 0x0, 0x0, 0xc0002b43f0, 0x0)
2020-01-19T16:00:20.051+0100 [DEBUG] plugin.terraform-provider-cloudflare_v2.3.0_x4:    /opt/teamcity-agent/work/5d79fe75d4460a2f/src/github.com/terraform-providers/terraform-provider-cloudflare/cloudflare/resource_cloudflare_access_rule.go:107 +0xdd4
2020-01-19T16:00:20.051+0100 [DEBUG] plugin.terraform-provider-cloudflare_v2.3.0_x4: github.com/terraform-providers/terraform-provider-cloudflare/vendor/github.com/hashicorp/terraform-plugin-sdk/helper/schema.(*Resource).RefreshWithoutUpgrade(0xc000135380, 0xc0001624b0, 0x0, 0x0, 0xc00046b7a0, 0xc0001624b0, 0x0)
2020-01-19T16:00:20.051+0100 [DEBUG] plugin.terraform-provider-cloudflare_v2.3.0_x4:    /opt/teamcity-agent/work/5d79fe75d4460a2f/src/github.com/terraform-providers/terraform-provider-cloudflare/vendor/github.com/hashicorp/terraform-plugin-sdk/helper/schema/resource.go:455 +0x119
2020-01-19T16:00:20.051+0100 [DEBUG] plugin.terraform-provider-cloudflare_v2.3.0_x4: github.com/terraform-providers/terraform-provider-cloudflare/vendor/github.com/hashicorp/terraform-plugin-sdk/internal/helper/plugin.(*GRPCProviderServer).ReadResource(0xc0000a8a80, 0x1f36640, 0xc0003ae2a0, 0xc0001622d0, 0xc0000a8a80, 0xc0003ae2a0, 0xc00029dbd0)
2020-01-19T16:00:20.051+0100 [DEBUG] plugin.terraform-provider-cloudflare_v2.3.0_x4:    /opt/teamcity-agent/work/5d79fe75d4460a2f/src/github.com/terraform-providers/terraform-provider-cloudflare/vendor/github.com/hashicorp/terraform-plugin-sdk/internal/helper/plugin/grpc_provider.go:525 +0x3d7
2020-01-19T16:00:20.051+0100 [DEBUG] plugin.terraform-provider-cloudflare_v2.3.0_x4: github.com/terraform-providers/terraform-provider-cloudflare/vendor/github.com/hashicorp/terraform-plugin-sdk/internal/tfplugin5._Provider_ReadResource_Handler(0x1c605e0, 0xc0000a8a80, 0x1f36640, 0xc0003ae2a0, 0xc00007e360, 0x0, 0x1f36640, 0xc0003ae2a0, 0xc000142000, 0x88)
2020-01-19T16:00:20.051+0100 [DEBUG] plugin.terraform-provider-cloudflare_v2.3.0_x4:    /opt/teamcity-agent/work/5d79fe75d4460a2f/src/github.com/terraform-providers/terraform-provider-cloudflare/vendor/github.com/hashicorp/terraform-plugin-sdk/internal/tfplugin5/tfplugin5.pb.go:3153 +0x23e
2020-01-19T16:00:20.051+0100 [DEBUG] plugin.terraform-provider-cloudflare_v2.3.0_x4: github.com/terraform-providers/terraform-provider-cloudflare/vendor/google.golang.org/grpc.(*Server).processUnaryRPC(0xc0000de000, 0x1f42960, 0xc00055e780, 0xc00014c400, 0xc000146390, 0x28458f0, 0x0, 0x0, 0x0)
2020-01-19T16:00:20.051+0100 [DEBUG] plugin.terraform-provider-cloudflare_v2.3.0_x4:    /opt/teamcity-agent/work/5d79fe75d4460a2f/src/github.com/terraform-providers/terraform-provider-cloudflare/vendor/google.golang.org/grpc/server.go:995 +0x466
2020-01-19T16:00:20.051+0100 [DEBUG] plugin.terraform-provider-cloudflare_v2.3.0_x4: github.com/terraform-providers/terraform-provider-cloudflare/vendor/google.golang.org/grpc.(*Server).handleStream(0xc0000de000, 0x1f42960, 0xc00055e780, 0xc00014c400, 0x0)
2020-01-19T16:00:20.051+0100 [DEBUG] plugin.terraform-provider-cloudflare_v2.3.0_x4:    /opt/teamcity-agent/work/5d79fe75d4460a2f/src/github.com/terraform-providers/terraform-provider-cloudflare/vendor/google.golang.org/grpc/server.go:1275 +0xda6
2020-01-19T16:00:20.051+0100 [DEBUG] plugin.terraform-provider-cloudflare_v2.3.0_x4: github.com/terraform-providers/terraform-provider-cloudflare/vendor/google.golang.org/grpc.(*Server).serveStreams.func1.1(0xc0000360d0, 0xc0000de000, 0x1f42960, 0xc00055e780, 0xc00014c400)
2020-01-19T16:00:20.051+0100 [DEBUG] plugin.terraform-provider-cloudflare_v2.3.0_x4:    /opt/teamcity-agent/work/5d79fe75d4460a2f/src/github.com/terraform-providers/terraform-provider-cloudflare/vendor/google.golang.org/grpc/server.go:710 +0x9f
2020-01-19T16:00:20.051+0100 [DEBUG] plugin.terraform-provider-cloudflare_v2.3.0_x4: created by github.com/terraform-providers/terraform-provider-cloudflare/vendor/google.golang.org/grpc.(*Server).serveStreams.func1
2020-01-19T16:00:20.051+0100 [DEBUG] plugin.terraform-provider-cloudflare_v2.3.0_x4:    /opt/teamcity-agent/work/5d79fe75d4460a2f/src/github.com/terraform-providers/terraform-provider-cloudflare/vendor/google.golang.org/grpc/server.go:708 +0xa1
2020/01/19 16:00:20 rpc error: code = Unavailable desc = all SubConns are in TransientFailure, latest connection error: connection error: desc = "transport: authentication handshake failed: write unix ->/var/folders/vg/39v449yj7rq8t72dl5gh20r00000gn/T/plugin476821522: write: broken pipe"
2020/01/19 16:00:20 rpc error: code = Unavailable desc = all SubConns are in TransientFailure, latest connection error: connection error: desc = "transport: authentication handshake failed: write unix ->/var/folders/vg/39v449yj7rq8t72dl5gh20r00000gn/T/plugin476821522: write: broken pipe"
2020/01/19 16:00:20 rpc error: code = Unavailable desc = all SubConns are in TransientFailure, latest connection error: connection error: desc = "transport: authentication handshake failed: write unix ->/var/folders/vg/39v449yj7rq8t72dl5gh20r00000gn/T/plugin476821522: write: broken pipe"
2020/01/19 16:00:20 rpc error: code = Unavailable desc = all SubConns are in TransientFailure, latest connection error: connection error: desc = "transport: authentication handshake failed: write unix ->/var/folders/vg/39v449yj7rq8t72dl5gh20r00000gn/T/plugin476821522: write: broken pipe"
hoexter commented 4 years ago

I've seen a similar crash when we tried to add an IP address without a subnet mask with cloudflare_zone_lockdown. Though it's hard to tell if it's the same issue without the input data.

Our crash looks like that:

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

panic: interface conversion: interface {} is nil, not string
2020-01-27T12:46:45.185+0100 [DEBUG] plugin.terraform-provider-cloudflare_v2.3.0_x4:
2020-01-27T12:46:45.185+0100 [DEBUG] plugin.terraform-provider-cloudflare_v2.3.0_x4: goroutine 15 [running]:
2020-01-27T12:46:45.185+0100 [DEBUG] plugin.terraform-provider-cloudflare_v2.3.0_x4: github.com/terraform-providers/terraform-provider-cloudflare/cloudflare.resourceCloudflareZoneLockdownUpdate(0xc0001e82a0, 0x1099e60, 0xc00016c540, 0x24, 0x1c700a0)
2020-01-27T12:46:45.185+0100 [DEBUG] plugin.terraform-provider-cloudflare_v2.3.0_x4: /opt/teamcity-agent/work/5d79fe75d4460a2f/src/github.com/terraform-providers/terraform-provider-cloudflare/cloudflare/resource_cloudflare_zone_lockdown.go:196 +0x901
2020-01-27T12:46:45.185+0100 [DEBUG] plugin.terraform-provider-cloudflare_v2.3.0_x4: github.com/terraform-providers/terraform-provider-cloudflare/vendor/github.com/hashicorp/terraform-plugin-sdk/helper/schema.(*Resource).Apply(0xc0004ce700, 0xc00015c6e0, 0xc0001eb560, 0x1099e60, 0xc00016c540, 0xc000179501, 0xc000311578, 0xf2d780)
2020-01-27T12:46:45.185+0100 [DEBUG] plugin.terraform-provider-cloudflare_v2.3.0_x4: /opt/teamcity-agent/work/5d79fe75d4460a2f/src/github.com/terraform-providers/terraform-provider-cloudflare/vendor/github.com/hashicorp/terraform-plugin-sdk/helper/schema/resource.go:311 +0x264
2020-01-27T12:46:45.185+0100 [DEBUG] plugin.terraform-provider-cloudflare_v2.3.0_x4: github.com/terraform-providers/terraform-provider-cloudflare/vendor/github.com/hashicorp/terraform-plugin-sdk/helper/schema.(*Provider).Apply(0xc0004cea00, 0xc0001ada68, 0xc00015c6e0, 0xc0001eb560, 0xc00060f708, 0xc0000c0b70, 0xf2f460)
2020-01-27T12:46:45.185+0100 [DEBUG] plugin.terraform-provider-cloudflare_v2.3.0_x4: /opt/teamcity-agent/work/5d79fe75d4460a2f/src/github.com/terraform-providers/terraform-provider-cloudflare/vendor/github.com/hashicorp/terraform-plugin-sdk/helper/schema/provider.go:294 +0x18f
2020-01-27T12:46:45.185+0100 [DEBUG] plugin.terraform-provider-cloudflare_v2.3.0_x4: github.com/terraform-providers/terraform-provider-cloudflare/vendor/github.com/hashicorp/terraform-plugin-sdk/internal/helper/plugin.(*GRPCProviderServer).ApplyResourceChange(0xc000156578, 0x1337f40, 0xc000305b00, 0xc0001507e0, 0xc000156578, 0xc000305b00, 0xc000227bd0)
2020-01-27T12:46:45.185+0100 [DEBUG] plugin.terraform-provider-cloudflare_v2.3.0_x4: /opt/teamcity-agent/work/5d79fe75d4460a2f/src/github.com/terraform-providers/terraform-provider-cloudflare/vendor/github.com/hashicorp/terraform-plugin-sdk/internal/helper/plugin/grpc_provider.go:885 +0x884
2020-01-27T12:46:45.185+0100 [DEBUG] plugin.terraform-provider-cloudflare_v2.3.0_x4: github.com/terraform-providers/terraform-provider-cloudflare/vendor/github.com/hashicorp/terraform-plugin-sdk/internal/tfplugin5._Provider_ApplyResourceChange_Handler(0x1061fe0, 0xc000156578, 0x1337f40, 0xc000305b00, 0xc000150780, 0x0, 0x1337f40, 0xc000305b00, 0xc0001d8000, 0x12a1)
2020-01-27T12:46:45.185+0100 [DEBUG] plugin.terraform-provider-cloudflare_v2.3.0_x4: /opt/teamcity-agent/work/5d79fe75d4460a2f/src/github.com/terraform-providers/terraform-provider-cloudflare/vendor/github.com/hashicorp/terraform-plugin-sdk/internal/tfplugin5/tfplugin5.pb.go:3189 +0x23e
2020-01-27T12:46:45.185+0100 [DEBUG] plugin.terraform-provider-cloudflare_v2.3.0_x4: github.com/terraform-providers/terraform-provider-cloudflare/vendor/google.golang.org/grpc.(*Server).processUnaryRPC(0xc0003d8160, 0x1343fe0, 0xc000568d80, 0xc000146900, 0xc00014d050, 0x1c44800, 0x0, 0x0, 0x0)
2020-01-27T12:46:45.185+0100 [DEBUG] plugin.terraform-provider-cloudflare_v2.3.0_x4: /opt/teamcity-agent/work/5d79fe75d4460a2f/src/github.com/terraform-providers/terraform-provider-cloudflare/vendor/google.golang.org/grpc/server.go:995 +0x466
2020-01-27T12:46:45.185+0100 [DEBUG] plugin.terraform-provider-cloudflare_v2.3.0_x4: github.com/terraform-providers/terraform-provider-cloudflare/vendor/google.golang.org/grpc.(*Server).handleStream(0xc0003d8160, 0x1343fe0, 0xc000568d80, 0xc000146900, 0x0)
2020-01-27T12:46:45.185+0100 [DEBUG] plugin.terraform-provider-cloudflare_v2.3.0_x4: /opt/teamcity-agent/work/5d79fe75d4460a2f/src/github.com/terraform-providers/terraform-provider-cloudflare/vendor/google.golang.org/grpc/server.go:1275 +0xda6
2020-01-27T12:46:45.185+0100 [DEBUG] plugin.terraform-provider-cloudflare_v2.3.0_x4: github.com/terraform-providers/terraform-provider-cloudflare/vendor/google.golang.org/grpc.(*Server).serveStreams.func1.1(0xc0000b2380, 0xc0003d8160, 0x1343fe0, 0xc000568d80, 0xc000146900)
2020-01-27T12:46:45.185+0100 [DEBUG] plugin.terraform-provider-cloudflare_v2.3.0_x4: /opt/teamcity-agent/work/5d79fe75d4460a2f/src/github.com/terraform-providers/terraform-provider-cloudflare/vendor/google.golang.org/grpc/server.go:710 +0x9f
2020-01-27T12:46:45.185+0100 [DEBUG] plugin.terraform-provider-cloudflare_v2.3.0_x4: created by github.com/terraform-providers/terraform-provider-cloudflare/vendor/google.golang.org/grpc.(*Server).serveStreams.func1
2020-01-27T12:46:45.185+0100 [DEBUG] plugin.terraform-provider-cloudflare_v2.3.0_x4: /opt/teamcity-agent/work/5d79fe75d4460a2f/src/github.com/terraform-providers/terraform-provider-cloudflare/vendor/google.golang.org/grpc/server.go:708 +0xa1
2020-01-27T12:46:45.187+0100 [DEBUG] plugin: plugin process exited: path=/home/sven/foobar/terraform/cloudflare/foobar.com/.terraform/plugins/linux_amd64/terraform-provider-cloudflare_v2.3.0_x4 pid=8962 error="exit status 2"
2020/01/27 12:46:45 [DEBUG] cloudflare_zone_lockdown.whitelist: apply errored, but we're indicating that via the Error pointer rather than returning it: rpc error: code = Unavailable desc = transport is closing
2020/01/27 12:46:45 [TRACE] <root>: eval: *terraform.EvalMaybeTainted
2020/01/27 12:46:45 [TRACE] <root>: eval: *terraform.EvalWriteState
2020/01/27 12:46:45 [TRACE] EvalWriteState: recording 1 dependencies for cloudflare_zone_lockdown.whitelist
2020/01/27 12:46:45 [TRACE] EvalWriteState: writing current state object for cloudflare_zone_lockdown.whitelist
2020/01/27 12:46:45 [TRACE] <root>: eval: *terraform.EvalApplyProvisioners
2020/01/27 12:46:45 [TRACE] EvalApplyProvisioners: cloudflare_zone_lockdown.whitelist is not freshly-created, so no provisioning is required
2020/01/27 12:46:45 [TRACE] <root>: eval: *terraform.EvalMaybeTainted
2020/01/27 12:46:45 [TRACE] <root>: eval: *terraform.EvalWriteState
2020/01/27 12:46:45 [TRACE] EvalWriteState: recording 1 dependencies for cloudflare_zone_lockdown.whitelist
2020/01/27 12:46:45 [TRACE] EvalWriteState: writing current state object for cloudflare_zone_lockdown.whitelist
2020/01/27 12:46:45 [TRACE] <root>: eval: *terraform.EvalIf
2020/01/27 12:46:45 [TRACE] <root>: eval: *terraform.EvalIf
2020/01/27 12:46:45 [TRACE] <root>: eval: *terraform.EvalWriteDiff
2020/01/27 12:46:45 [TRACE] <root>: eval: *terraform.EvalApplyPost
2020/01/27 12:46:45 [ERROR] <root>: eval: *terraform.EvalApplyPost, err: rpc error: code = Unavailable desc = transport is closing
2020/01/27 12:46:45 [ERROR] <root>: eval: *terraform.EvalSequence, err: rpc error: code = Unavailable desc = transport is closing
2020/01/27 12:46:45 [TRACE] [walkApply] Exiting eval tree: cloudflare_zone_lockdown.whitelist
2020/01/27 12:46:45 [TRACE] vertex "cloudflare_zone_lockdown.whitelist": visit complete
2020/01/27 12:46:45 [TRACE] dag/walk: upstream of "provider.cloudflare (close)" errored, so skipping
2020/01/27 12:46:45 [TRACE] dag/walk: upstream of "meta.count-boundary (EachMode fixup)" errored, so skipping
2020/01/27 12:46:45 [TRACE] dag/walk: upstream of "root" errored, so skipping
2020-01-27T12:46:45.414+0100 [DEBUG] plugin: plugin exited