FlexibleEngineCloud / terraform-provider-flexibleengine

Terraform flexibleengine provider
https://www.terraform.io/docs/providers/flexibleengine/
Mozilla Public License 2.0
30 stars 53 forks source link

Plugin did not respond #761

Closed SBatais closed 2 years ago

SBatais commented 2 years ago

Hi there,

Terraform Version

Terraform v1.1.7 on linux_amd64 flexibleenginecloud/flexibleengine v1.27.1

Affected Resource(s)

it seems to affect all resources.

Debug Output

$ terraform init -var-file="../env_attributes/$PF_ENV.tfvars"
Initializing the backend...
Successfully configured the backend "http"! Terraform will automatically
use this backend unless the backend configuration changes.
Initializing provider plugins...
- Finding terraform-provider-openstack/openstack versions matching "~> 1.47.0"...
- Finding hashicorp/vault versions matching "~> 2.19.1"...
- Finding hashicorp/local versions matching "~> 2.1.0"...
- Finding flexibleenginecloud/flexibleengine versions matching "~> 1.27.0"...
- Installing terraform-provider-openstack/openstack v1.47.0...
- Installed terraform-provider-openstack/openstack v1.47.0 (self-signed, key ID 4F80527A391BEFD2)
- Installing hashicorp/vault v2.19.1...
- Installed hashicorp/vault v2.19.1 (signed by HashiCorp)
- Installing hashicorp/local v2.1.0...
- Installed hashicorp/local v2.1.0 (signed by HashiCorp)
- Installing flexibleenginecloud/flexibleengine v1.27.1...
- Installed flexibleenginecloud/flexibleengine v1.27.1 (self-signed, key ID 0D0EDE6AC300F5EE)
Partner and community providers are signed by their developers.
If you'd like to know more about provider signing, you can read about it here:
https://www.terraform.io/docs/cli/plugins/signing.html
Terraform has created a lock file .terraform.lock.hcl to record the provider
selections it made above. Include this file in your version control repository
so that Terraform can guarantee to make the same selections by default when
you run "terraform init" in the future.
Terraform has been successfully initialized!
You may now begin working with Terraform. Try running "terraform plan" to see
any changes that are required for your infrastructure. All Terraform commands
should now work.
If you ever set or change modules or backend configuration for Terraform,
rerun this command to reinitialize your working directory. If you forget, other
commands will detect it and remind you to do so if necessary.
$ terraform providers
Providers required by configuration:
.
├── provider[registry.terraform.io/terraform-provider-openstack/openstack] ~> 1.47.0
├── provider[registry.terraform.io/hashicorp/vault] ~> 2.19.1
├── provider[registry.terraform.io/hashicorp/local] ~> 2.1.0
└── provider[registry.terraform.io/flexibleenginecloud/flexibleengine] ~> 1.27.0
Providers required by state:
    provider[registry.terraform.io/flexibleenginecloud/flexibleengine]
    provider[registry.terraform.io/hashicorp/local]
    provider[registry.terraform.io/hashicorp/vault]
    provider[registry.terraform.io/terraform-provider-openstack/openstack]
$ terraform validate
Success! The configuration is valid.
$ terraform plan -var-file="../env_attributes/$PF_ENV.tfvars"
...

│ Error: Plugin did not respond
│ 
│   with flexibleengine_compute_instance_v2.master[1],
│   on 01_master.tf line 16, in resource "flexibleengine_compute_instance_v2" "master":
│   16: resource "flexibleengine_compute_instance_v2" "master" {
│ 
│ The plugin encountered an error, and failed to respond to the
│ plugin.(*GRPCProvider).ReadResource call. The plugin logs may contain more
│ details.

Panic Output

Stack trace from the terraform-provider-flexibleengine_v1.27.1 plugin:
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x198 pc=0xeb7ac6]
goroutine 834 [running]:
github.com/chnsz/golangsdk.(*ProviderClient).doRequest(0x0, 0x172083f, 0x3, 0xc0007ee480, 0x2c, 0xc000975528, 0xc000975318, 0x0, 0x0, 0x0)
    github.com/chnsz/golangsdk@v0.0.0-20220221091504-96baa1e956c5/provider_client.go:281 +0x1c6
github.com/chnsz/golangsdk.(*ProviderClient).Request(...)
    github.com/chnsz/golangsdk@v0.0.0-20220221091504-96baa1e956c5/provider_client.go:242
github.com/chnsz/golangsdk.(*ServiceClient).Request(0xc000[782](https://gitlab.tech.orange/diod/dbdne/infrastructure/diod-dbdne-infra/-/jobs/36423946#L782)cd0, 0x172083f, 0x3, 0xc0007ee480, 0x2c, 0xc000975528, 0xc0007ecbd0, 0xc000975528, 0xed5c07)
    github.com/chnsz/golangsdk@v0.0.0-20220221091504-96baa1e956c5/service_client.go:176 +0x1be
github.com/chnsz/golangsdk.(*ServiceClient).Get(0xc000782cd0, 0xc0007ee480, 0x2c, 0x145c7a0, 0xc0007ecbd0, 0xc000975528, 0xb9b456, 0xc0006d53c0, 0xc000bfe690)
    github.com/chnsz/golangsdk@v0.0.0-20220221091504-96baa1e956c5/service_client.go:85 +0xe7
github.com/chnsz/golangsdk/openstack/compute/v2/servers.Get(0xc000782cd0, 0xc000cbc390, 0x24, 0x1519bc0, 0xc0007ecae0, 0x0, 0x0, 0xc000263920)
    github.com/chnsz/golangsdk@v0.0.0-20220221091504-96baa1e956c5/openstack/compute/v2/servers/requests.go:304 +0x15e
github.com/terraform-providers/terraform-provider-flexibleengine/flexibleengine.resourceComputeInstanceV2Read(0xc0009cc480, 0x171d260, 0xc00033bc00, 0x259c0a0, 0x178dfc8)
    github.com/terraform-providers/terraform-provider-flexibleengine/flexibleengine/resource_flexibleengine_compute_instance_v2.go:642 +0xc7d
github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*Resource).read(0xc000022ee0, 0x1a4f740, 0xc000d102c0, 0xc0009cc480, 0x171d260, 0xc00033bc00, 0x0, 0x0, 0x0)
    github.com/hashicorp/terraform-plugin-sdk/v2@v2.7.0/helper/schema/resource.go:335 +0x1e9
github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*Resource).RefreshWithoutUpgrade(0xc000022ee0, 0x1a4f740, 0xc000d102c0, 0xc00012c850, 0x171d260, 0xc00033bc00, 0xc000315080, 0x0, 0x0, 0x0)
    github.com/hashicorp/terraform-plugin-sdk/v2@v2.7.0/helper/schema/resource.go:624 +0x1c2
github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*GRPCProviderServer).ReadResource(0xc000310ae0, 0x1a4f740, 0xc000d102c0, 0xc000d10300, 0xc000d102c0, 0x162d740, 0x16b05c0)
    github.com/hashicorp/terraform-plugin-sdk/v2@v2.7.0/helper/schema/grpc_provider.go:575 +0x42f
github.com/hashicorp/terraform-plugin-go/tfprotov5/server.(*server).ReadResource(0xc000389300, 0x1a4f740, 0xc000d102c0, 0xc0003816e0, 0xc000389300, 0xc00080eba0, 0xc000925ba0)
    github.com/hashicorp/terraform-plugin-go@v0.3.0/tfprotov5/server/server.go:298 +0x101
github.com/hashicorp/terraform-plugin-go/tfprotov5/internal/tfplugin5._Provider_ReadResource_Handler(0x16b05c0, 0xc000389300, 0x1a4f[800](https://gitlab.tech.orange/diod/dbdne/infrastructure/diod-dbdne-infra/-/jobs/36423946#L800), 0xc00080eba0, 0xc000381680, 0x0, 0x1a4f800, 0xc00080eba0, 0xc000cf4800, 0x7fc)
    github.com/hashicorp/terraform-plugin-go@v0.3.0/tfprotov5/internal/tfplugin5/tfplugin5_grpc.pb.go:344 +0x217
google.golang.org/grpc.(*Server).processUnaryRPC(0xc0007a9340, 0x1a5e580, 0xc000302d80, 0xc000d18200, 0xc0001172c0, 0x255f0d0, 0x0, 0x0, 0x0)
    google.golang.org/grpc@v1.32.0/server.go:1194 +0x50a
google.golang.org/grpc.(*Server).handleStream(0xc0007a9340, 0x1a5e580, 0xc000302d80, 0xc000d18200, 0x0)
    google.golang.org/grpc@v1.32.0/server.go:1517 +0xcfd
google.golang.org/grpc.(*Server).serveStreams.func1.2(0xc000316200, 0xc0007a9340, 0x1a5e580, 0xc000302d80, 0xc000d18200)
    google.golang.org/grpc@v1.32.0/server.go:859 +0xa1
created by google.golang.org/grpc.(*Server).serveStreams.func1
    google.golang.org/grpc@v1.32.0/server.go:857 +0x204
Error: The terraform-provider-flexibleengine_v1.27.1 plugin crashed!
This is always indicative of a bug within the plugin. It would be immensely
helpful if you could report the crash with the plugin's maintainers so that it
can be fixed. The output above should help diagnose the issue.

Expected Behavior

The execution of the terraform code succeeds

Actual Behavior

The execution of the terraform code fails

Steps to Reproduce

  1. terraform init
  2. terraform plan

Important Factoids

I was able to execute the same code with the same provider last week without any errors. I think that a change has been applied on the Flexible Engine cloud recently without check the non regression on all versions of the provider.

References

antonin-a commented 2 years ago

Hello @SBatais can you confirm that the issue is now resolved ? It seems that it was caused by some API endpoints changes on Cloud Provider side.

SBatais commented 2 years ago

Yes I confirm that the issue is resolved