Skip to content

[Bug]: ca not passed in API call when deleting sslservicegroup_sslcertkey_binding #1305

@rein-tollevik

Description

@rein-tollevik

Terraform Core Version

1.11.4

citrixadc Provider Version

1.43.4

Operating system

Ubuntu 22.04.5 LTS

Affected Resource(s)

  • citrixadc_sslservicegroup_sslcertkey_binding

Unknown if other similar sslcertkey_binding resources are also affected

Equivalent NetScaler CLI Command

N/A

Expected Behavior

Deleting a citrixadc_sslservicegroup_sslcertkey_binding resource with ca=true should succeed

Actual Behavior

Deleting a citrixadc_sslservicegroup_sslcertkey_binding resource with ca=true fails with the error message:

Error: [INFO] delete failed: 599 Netscaler specific error ({ "errorcode": 1542, "message": "Certificate binding does not exist", "severity": "ERROR" })

Relevant Error/Panic Output Snippet

Terraform Configuration Files

resource` "citrixadc_sslservicegroup_sslcertkey_binding" "bind" {
ca = true
certkeyname = "MyCertName"
servicegroupname = "MyServicegroupName"
}

Steps to Reproduce

Create and then delete the above resource

Debug Output

Debug output from terraform run with NS_LOG=trace TF_LOG_PROVIDER=debug, with leading timestamps removed for brevity. The output show that the API call are made with "args=certkeyname:MyCertName", it should have been "args=ca:true,certkeyname=MyCertName". The error message fetching the resource indicates that it ca:true should have been included in that API call as well.

citrixadc_sslservicegroup_sslcertkey_binding.servicegroup["MyCertName"]: Destroying... [id=MyServicegroupName,ROOT-TEST-CA-01]
[DEBUG] citrixadc-provider: In deleteSslservicegroup_sslcertkey_bindingFunc
[TRACE] service/netscaler_resource.go:402: nitro-go: listing resource with args : resourceType=sslservicegroup_sslcertkey_binding name=MyServicegroupName args=["certkeyname:MyCertName"]
[TRACE] service/netscaler_resource.go:413: nitro-go: listResourceWithArgs: url=https://nst-http-ext.drift.politinett.no/nitro/v1/config/sslservicegroup_sslcertkey_binding/MyServicegroupName
[TRACE] service/netscaler_resource.go:205: nitro-go: doHTTPRequest HTTP method: method=GET url=https://nst-http-ext.drift.politinett.no/nitro/v1/config/sslservicegroup_sslcertkey_binding/MyServicegroupName?args=certkeyname:MyCertName headers="map[Accept:[application/json] Content-Type:[application/json] Set-Cookie:[*********] User-Agent:[terraform-ctxadc]]"
[TRACE] service/netscaler_resource.go:214: nitro-go: response Status:: status="599 Netscaler specific error"
[INFO] service/netscaler_resource.go:142: nitro-go: read: error = : body="{ "errorcode": 278, "message": "Invalid argument [certkeyname]", "severity": "ERROR" }"
[TRACE] service/netscaler_resource.go:417: nitro-go: listResourceWithArgs: error listing with args, trying filter: error="[INFO] failed read: 599 Netscaler specific error ({ "errorcode": 278, "message": "Invalid argument [certkeyname]", "severity": "ERROR" })"
[TRACE] service/netscaler_resource.go:419: nitro-go: listResourceWithArgs: url2=https://nst-http-ext.drift.politinett.no/nitro/v1/config/sslservicegroup_sslcertkey_binding/MyServicegroupName?filter=certkeyname:MyCertName
[TRACE] service/netscaler_resource.go:205: nitro-go: doHTTPRequest HTTP method: method=GET url=https://nst-http-ext.drift.politinett.no/nitro/v1/config/sslservicegroup_sslcertkey_binding/MyServicegroupName?filter=certkeyname:MyCertName headers="map[Accept:[application/json] Content-Type:[application/json] Set-Cookie:[*********] User-Agent:[terraform-ctxadc]]"
[TRACE] service/netscaler_resource.go:214: nitro-go: response Status:: status="200 OK"
[TRACE] service/config.go:376: nitro-go: DeleteResource Found resource : resourceType=sslservicegroup_sslcertkey_binding resourceName=MyServicegroupName
[TRACE] service/netscaler_resource.go:320: nitro-go: Deleting resource with args: resourceType=sslservicegroup_sslcertkey_binding args =["certkeyname:MyCertName"]
[TRACE] service/netscaler_resource.go:329: nitro-go: deleteResourceWithArgs : url=https://nst-http-ext.drift.politinett.no/nitro/v1/config/sslservicegroup_sslcertkey_binding/MyServicegroupName?args=certkeyname:MyCertName
[TRACE] service/netscaler_resource.go:205: nitro-go: doHTTPRequest HTTP method: method=DELETE url=https://nst-http-ext.drift.politinett.no/nitro/v1/config/sslservicegroup_sslcertkey_binding/MyServicegroupName?args=certkeyname:MyCertName headers="map[Accept:[application/json] Content-Type:[application/json] Set-Cookie:[*********] User-Agent:[terraform-ctxadc]]"
[TRACE] service/netscaler_resource.go:214: nitro-go: response Status:: status="599 Netscaler specific error"
[INFO] service/netscaler_resource.go:120: nitro-go: delete: error = : body="{ "errorcode": 1542, "message": "Certificate binding does not exist", "severity": "ERROR" }"
[WARN] service/config.go:380: nitro-go: Failed to delete resource: resourceType=sslservicegroup_sslcertkey_binding resourceName=sg_whoami.kp.test.politinett.no_443_whoami error="[INFO] delete failed: 599 Netscaler specific error ({ "errorcode": 1542, "message": "Certificate binding does not exist", "severity": "ERROR" })"

Panic Output

No response

Important Factoids

A "ca:true" value must be include in the args query string when referring to a sslcertkey_binding resource created with this attribute value.

References

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions