terraform-provider-ibm: Creating Redis database crash when instance is in provisioning state

Hi there, I’m trying to setup a databaase-for-redis instance.

Terraform Version

Terraform v0.12.23

  • provider.ibm v1.2.4

Affected Resource(s)

  • ibm_database

Terraform Configuration Files

resource "ibm_database" "database" {
  name              = "redis"
  plan              = "standard"
  location          = "eu-de"
  resource_group_id = var.resourcegroup_id"

  service = "databases-for-redis"
  version = "5"

  service_endpoints = "public-and-private"
  members_memory_allocation_mb = 2048
  members_disk_allocation_mb   = 2048

}

Debug Output

ibm_database.database: Creating...
2020/03/17 15:12:57 [TRACE] <root>: eval: *terraform.EvalApply
2020/03/17 15:12:57 [DEBUG] ibm_database.database: applying the planned Create change
2020/03/17 15:12:57 [TRACE] GRPCProvider: ApplyResourceChange
2020-03-17T15:12:57.989+0100 [DEBUG] plugin.terraform-provider-ibm_v1.2.4: 2020/03/17 15:12:57 [DEBUG] setting computed for "connectionstrings" from ComputedKeys
2020-03-17T15:12:57.989+0100 [DEBUG] plugin.terraform-provider-ibm_v1.2.4: 2020/03/17 15:12:57 [DEBUG] setting computed for "groups" from ComputedKeys
2020/03/17 15:13:00 [TRACE] dag/walk: vertex "provider.ibm (close)" is waiting for "ibm_database.database"
2020/03/17 15:13:00 [TRACE] dag/walk: vertex "root" is waiting for "provider.ibm (close)"
2020/03/17 15:13:00 [TRACE] dag/walk: vertex "meta.count-boundary (EachMode fixup)" is waiting for "ibm_database.database"
2020/03/17 15:13:05 [TRACE] dag/walk: vertex "root" is waiting for "provider.ibm (close)"
2020/03/17 15:13:05 [TRACE] dag/walk: vertex "provider.ibm (close)" is waiting for "ibm_database.database"
2020/03/17 15:13:05 [TRACE] dag/walk: vertex "meta.count-boundary (EachMode fixup)" is waiting for "ibm_database.database"
2020-03-17T15:13:06.789+0100 [DEBUG] plugin.terraform-provider-ibm_v1.2.4: 2020/03/17 15:13:06 [DEBUG] Waiting for state to become: [active]
ibm_database.database: Still creating... [10s elapsed]
2020/03/17 15:13:10 [TRACE] dag/walk: vertex "root" is waiting for "provider.ibm (close)"
2020/03/17 15:13:10 [TRACE] dag/walk: vertex "meta.count-boundary (EachMode fixup)" is waiting for "ibm_database.database"
2020/03/17 15:13:10 [TRACE] dag/walk: vertex "provider.ibm (close)" is waiting for "ibm_database.database"
2020/03/17 15:13:15 [TRACE] dag/walk: vertex "meta.count-boundary (EachMode fixup)" is waiting for "ibm_database.database"
2020/03/17 15:13:15 [TRACE] dag/walk: vertex "root" is waiting for "provider.ibm (close)"
2020/03/17 15:13:15 [TRACE] dag/walk: vertex "provider.ibm (close)" is waiting for "ibm_database.database"
2020/03/17 15:13:17 [DEBUG] ibm_database.database: apply errored, but we're indicating that via the Error pointer rather than returning it: Error waiting for create database instance () to complete: unexpected state 'provisioning', wanted target 'active'. last error: %!s(<nil>)
2020/03/17 15:13:17 [TRACE] <root>: eval: *terraform.EvalMaybeTainted
2020/03/17 15:13:17 [TRACE] EvalMaybeTainted: ibm_database.database encountered an error during creation, so it is now marked as tainted
2020/03/17 15:13:17 [TRACE] <root>: eval: *terraform.EvalWriteState
2020/03/17 15:13:17 [TRACE] EvalWriteState: removing state object for ibm_database.database
2020/03/17 15:13:17 [TRACE] <root>: eval: *terraform.EvalApplyProvisioners
2020/03/17 15:13:17 [TRACE] EvalApplyProvisioners: ibm_database.database has no state, so skipping provisioners
2020/03/17 15:13:17 [TRACE] <root>: eval: *terraform.EvalMaybeTainted
2020/03/17 15:13:17 [TRACE] EvalMaybeTainted: ibm_database.database encountered an error during creation, so it is now marked as tainted
2020/03/17 15:13:17 [TRACE] <root>: eval: *terraform.EvalWriteState
2020/03/17 15:13:17 [TRACE] EvalWriteState: removing state object for ibm_database.database
2020/03/17 15:13:17 [TRACE] <root>: eval: *terraform.EvalIf
2020/03/17 15:13:17 [TRACE] <root>: eval: *terraform.EvalIf
2020/03/17 15:13:17 [TRACE] <root>: eval: *terraform.EvalWriteDiff
2020/03/17 15:13:17 [TRACE] <root>: eval: *terraform.EvalApplyPost
2020/03/17 15:13:17 [ERROR] <root>: eval: *terraform.EvalApplyPost, err: Error waiting for create database instance () to complete: unexpected state 'provisioning', wanted target 'active'. last error: %!s(<nil>)
2020/03/17 15:13:17 [ERROR] <root>: eval: *terraform.EvalSequence, err: Error waiting for create database instance () to complete: unexpected state 'provisioning', wanted target 'active'. last error: %!s(<nil>)
2020/03/17 15:13:17 [TRACE] [walkApply] Exiting eval tree: ibm_database.database
2020/03/17 15:13:17 [TRACE] vertex "ibm_database.database": visit complete
2020/03/17 15:13:17 [TRACE] dag/walk: upstream of "meta.count-boundary (EachMode fixup)" errored, so skipping
2020/03/17 15:13:17 [TRACE] dag/walk: upstream of "provider.ibm (close)" errored, so skipping
2020/03/17 15:13:17 [TRACE] dag/walk: upstream of "root" errored, so skipping

Error: Error waiting for create database instance () to complete: unexpected state 'provisioning', wanted target 'active'. last error: %!s(<nil>)

  on main.tf line 25, in resource "ibm_database" "database":
  25: resource "ibm_database" "database" {


2020-03-17T15:13:17.104+0100 [DEBUG] plugin: plugin process exited: path=/Users/sibellas/.terraform.d/plugins/terraform-provider-ibm_v1.2.4 pid=93904
2020-03-17T15:13:17.104+0100 [DEBUG] plugin: plugin exited

Expected Behavior

Terraform should stop when redis instance is up and running.

Actual Behavior

Terraform stop with an error when redis instance is in state provisioning.

Steps to Reproduce

  1. terraform apply

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Reactions: 1
  • Comments: 17 (1 by maintainers)

Most upvoted comments

We will complete release in couple of hours

The IBM api has changed the response values. A change in the provider is necessary to solve this problem. We have created this PR to solve this problem. https://github.com/IBM-Cloud/terraform-provider-ibm/pull/1192