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

ibm_schematics_workspace adding template_inputs causes panic #3296

Closed
powellquiring opened this issue Nov 4, 2021 · 1 comment
Closed

ibm_schematics_workspace adding template_inputs causes panic #3296

powellquiring opened this issue Nov 4, 2021 · 1 comment
Labels
service/Schematics Issues related to Schematics

Comments

@powellquiring
Copy link

see #3295

Apply the following:

resource "ibm_schematics_workspace" "schematics_workspace" {
  name = var.basename
  description = "testing schematics"
  location = "us-east"
  resource_group = local.resource_group
  template_type = "terraform_v1.0.3"
  template_git_url = "https://github.ibm.com/pquiring/feedback-schematics-actions/tree/master/workspace"

#  template_inputs {
#    name = "basename"
#    value = "NEW"
#    type = "string"
#  }
}

Uncomment the template_inputs and then apply again:

schematics_tf $ tfa

Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols:
  + create

Terraform will perform the following actions:

  # ibm_schematics_workspace.schematics_workspace will be created
  + resource "ibm_schematics_workspace" "schematics_workspace" {
      + created_at                          = (known after apply)
      + created_by                          = (known after apply)
      + crn                                 = (known after apply)
      + description                         = "testing schematics"
      + id                                  = (known after apply)
      + last_health_check_at                = (known after apply)
      + location                            = "us-east"
      + locked                              = (known after apply)
      + locked_by                           = (known after apply)
      + locked_time                         = (known after apply)
      + name                                = "feedb00"
      + resource_group                      = "b6503f25836d49029966ab5be7fe50b5"
      + runtime_data                        = (known after apply)
      + status                              = (known after apply)
      + template_git_has_uploadedgitrepotar = (known after apply)
      + template_git_url                    = "https://github.ibm.com/pquiring/feedback-schematics-actions/tree/master/workspace"
      + template_type                       = "terraform_v1.0.3"
      + template_values_metadata            = (known after apply)
      + updated_at                          = (known after apply)
      + updated_by                          = (known after apply)

      + template_inputs {
          + name  = "basename"
          + type  = "string"
          + value = "NEW"
        }
    }

Plan: 1 to add, 0 to change, 0 to destroy.
ibm_schematics_workspace.schematics_workspace: Creating...
ibm_schematics_workspace.schematics_workspace: Creation complete after 6s [id=us-east.workspace.feedb00.09bf08aa]

Apply complete! Resources: 1 added, 0 changed, 0 destroyed.
schematics_tf $ tfa
ibm_schematics_workspace.schematics_workspace: Refreshing state... [id=us-east.workspace.feedb00.09bf08aa]

Note: Objects have changed outside of Terraform

Terraform detected the following changes made outside of Terraform since the last "terraform apply":

  # ibm_schematics_workspace.schematics_workspace has been changed
  ~ resource "ibm_schematics_workspace" "schematics_workspace" {
        id                                  = "us-east.workspace.feedb00.09bf08aa"
      ~ locked                              = true -> false
      - locked_by                           = "pquiring@us.ibm.com" -> null
      - locked_time                         = "2021-11-04T22:05:29.614Z" -> null
        name                                = "feedb00"
      ~ status                              = "DRAFT" -> "INACTIVE"
      + status_code                         = "200"
      + tags                                = []
      + template_env_settings               = []
      ~ template_values_metadata            = [
          + {
              + "default"     = "pfq3"
              + "description" = ""
              + "name"        = "basename"
              + "type"        = "string"
            },
          + {
              + "default"     = "pfq"
              + "description" = ""
              + "name"        = "ssh_key_name"
              + "type"        = "string"
            },
          + {
              + "default"     = "default"
              + "description" = ""
              + "name"        = "resource_group_name"
              + "type"        = "string"
            },
          + {
              + "default"     = "us-south"
              + "description" = ""
              + "name"        = "region"
              + "type"        = "string"
            },
          + {
              + "default"     = "2"
              + "description" = ""
              + "name"        = "subnets"
              + "type"        = "string"
            },
          + {
              + "default"     = "cx2-2x4"
              + "description" = ""
              + "name"        = "profile"
              + "type"        = "string"
            },
          + {
              + "default"     = "ibm-ubuntu-20-04-minimal-amd64-2"
              + "description" = ""
              + "name"        = "image_name"
              + "type"        = "string"
            },
        ]
        # (15 unchanged attributes hidden)

        # (1 unchanged block hidden)
    }

Unless you have made equivalent changes to your configuration, or ignored the relevant attributes using ignore_changes, the following plan may include actions to undo or
respond to these changes.

─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols:
  ~ update in-place

Terraform will perform the following actions:

  # ibm_schematics_workspace.schematics_workspace will be updated in-place
  ~ resource "ibm_schematics_workspace" "schematics_workspace" {
        id                                  = "us-east.workspace.feedb00.09bf08aa"
        name                                = "feedb00"
      ~ resource_group                      = "default" -> "b6503f25836d49029966ab5be7fe50b5"
      - status_code                         = "200" -> null
        tags                                = []
      - template_git_branch                 = "master" -> null
      - template_git_folder                 = "workspace" -> null
      ~ template_git_url                    = "https://github.ibm.com/pquiring/feedback-schematics-actions" -> "https://github.ibm.com/pquiring/feedback-schematics-actions/tree/master/workspace"
        # (15 unchanged attributes hidden)

        # (1 unchanged block hidden)
    }

Plan: 0 to add, 1 to change, 0 to destroy.
ibm_schematics_workspace.schematics_workspace: Modifying... [id=us-east.workspace.feedb00.09bf08aa]
╷
│ Error: Plugin did not respond
│
│   with ibm_schematics_workspace.schematics_workspace,
│   on main.tf line 9, in resource "ibm_schematics_workspace" "schematics_workspace":
│    9: resource "ibm_schematics_workspace" "schematics_workspace" {
│
│ The plugin encountered an error, and failed to respond to the plugin.(*GRPCProvider).ApplyResourceChange call. The plugin logs may contain more details.
╵

Stack trace from the terraform-provider-ibm plugin:

panic: interface conversion: interface {} is string, not bool

goroutine 136 [running]:
github.com/IBM-Cloud/terraform-provider-ibm/ibm.resourceIBMSchematicsWorkspaceUpdate(0x41d4da0, 0xc0000517a0, 0xc000448900, 0x3c54ec0, 0xc000e8d000, 0xc0006e52c0, 0x202cb2a, 0xc0011f03e0)
	/Users/harinireddy/go/src/github.com/IBM-Cloud/terraform-provider-ibm/ibm/resource_ibm_schematics_workspace.go:1519 +0x299f
github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*Resource).update(0xc000c90fc0, 0x41d4d20, 0xc001296e40, 0xc000448900, 0x3c54ec0, 0xc000e8d000, 0x0, 0x0, 0x0)
	/Users/harinireddy/go/pkg/mod/github.com/hashicorp/terraform-plugin-sdk/v2@v2.7.0/helper/schema/resource.go:364 +0x17c
github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*Resource).Apply(0xc000c90fc0, 0x41d4d20, 0xc001296e40, 0xc0003f27e0, 0xc0011f03e0, 0x3c54ec0, 0xc000e8d000, 0x0, 0x0, 0x0, ...)
	/Users/harinireddy/go/pkg/mod/github.com/hashicorp/terraform-plugin-sdk/v2@v2.7.0/helper/schema/resource.go:464 +0x390
github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*GRPCProviderServer).ApplyResourceChange(0xc00000d260, 0x41d4d20, 0xc001296e40, 0xc001536a00, 0xc001296e40, 0x0, 0x4218380)
	/Users/harinireddy/go/pkg/mod/github.com/hashicorp/terraform-plugin-sdk/v2@v2.7.0/helper/schema/grpc_provider.go:955 +0x8cf
github.com/hashicorp/terraform-plugin-go/tfprotov5/server.(*server).ApplyResourceChange(0xc000947e20, 0x41d4d20, 0xc001296e40, 0xc0003f2540, 0xc000947e20, 0xc0010524e0, 0xc000634ba0)
	/Users/harinireddy/go/pkg/mod/github.com/hashicorp/terraform-plugin-go@v0.3.0/tfprotov5/server/server.go:332 +0xae
github.com/hashicorp/terraform-plugin-go/tfprotov5/internal/tfplugin5._Provider_ApplyResourceChange_Handler(0x3b64f60, 0xc000947e20, 0x41d4de0, 0xc0010524e0, 0xc000576480, 0x0, 0x41d4de0, 0xc0010524e0, 0xc001056000, 0x134d)
	/Users/harinireddy/go/pkg/mod/github.com/hashicorp/terraform-plugin-go@v0.3.0/tfprotov5/internal/tfplugin5/tfplugin5_grpc.pb.go:380 +0x214
google.golang.org/grpc.(*Server).processUnaryRPC(0xc0006a4fc0, 0x41f4380, 0xc000513380, 0xc00120e600, 0xc000624510, 0x52bbde0, 0x0, 0x0, 0x0)
	/Users/harinireddy/go/pkg/mod/google.golang.org/grpc@v1.32.0/server.go:1194 +0x522
google.golang.org/grpc.(*Server).handleStream(0xc0006a4fc0, 0x41f4380, 0xc000513380, 0xc00120e600, 0x0)
	/Users/harinireddy/go/pkg/mod/google.golang.org/grpc@v1.32.0/server.go:1517 +0xd05
google.golang.org/grpc.(*Server).serveStreams.func1.2(0xc00045e320, 0xc0006a4fc0, 0x41f4380, 0xc000513380, 0xc00120e600)
	/Users/harinireddy/go/pkg/mod/google.golang.org/grpc@v1.32.0/server.go:859 +0xa5
created by google.golang.org/grpc.(*Server).serveStreams.func1
	/Users/harinireddy/go/pkg/mod/google.golang.org/grpc@v1.32.0/server.go:857 +0x1fd

Error: The terraform-provider-ibm 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.
@kavya498 kavya498 added the service/Schematics Issues related to Schematics label Nov 8, 2021
nven pushed a commit to nven/terraform-provider-ibm that referenced this issue Nov 11, 2021
nven pushed a commit to nven/terraform-provider-ibm that referenced this issue Nov 15, 2021
hkantare pushed a commit that referenced this issue Nov 15, 2021
… Schematics OpenAPI Spec and SDK (#2901)

* Update schematics terraform resources and datasources based on latest Schematics OpenAPI Spec and SDK

* Add schematics inventory and resource query terraform data sources and resources

* Update schematics docs

* Update detect secrets false positive files

* Fix for issue #3296 Update template_git_branch type

* Fix for issue #3295 - Update template_inputs

* Update attribute types - Remove optional type for computed fields

Co-authored-by: Venkatesh Murugan <n.venkatesh@in.ibm.com>
@kavya498
Copy link
Collaborator

Fix is available in provider version >=1.36.0.
Closing this issue..

Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
service/Schematics Issues related to Schematics
Projects
None yet
Development

No branches or pull requests

2 participants