pactflow / terraform-provider-pact

Terraform provider for Pact Broker (and Pactflow)
https://pactflow.io
MIT License
24 stars 4 forks source link

Bug: role updates not correctly applied #19

Closed mefellows closed 2 years ago

mefellows commented 2 years ago

Bug report via https://pact-foundation.slack.com/archives/C02NN7XSHDM/p1641777161010000

The second change was to add a role to an existing user. The delta is reported correctly:

# pact_user.liam_scott will be updated in-place
  ~ resource "pact_user" "liam_scott" {
        id     = "e9fb21e1-d84c-45b4-88fe-d2f30d08cebe"
        name   = "Liam Scott"
      ~ roles  = [
            "e9282e22-416b-11ea-a16e-57ee1bb61d18",
          + "d635f960-88f2-4f13-8043-4641a02dffa0",
        ]
        # (4 unchanged attributes hidden)
    }

But then there's no audit entry for that update, all the requests concerning that user are GET. Looking at the logs, I found this:

2022-01-10T11:55:37.780+1300 [WARN]  Provider "registry.terraform.io/pactflow/pact" produced an unexpected new value for pact_user.liam_scott during refresh.
      - .roles: element 1 has vanished

I don't know what's going on there.

I also found a couple of minor things that I don't think are having any effect in my project, but probably worth looking at: Possible issue with optional arguments that are not provided (not sure if this is just user error, it goes away when providing a value - an empty string in this case):

2022-01-10T11:55:37.775+1300 [WARN]  Provider "registry.terraform.io/pactflow/pact" produced an invalid plan for pact_application.fruit_salad, but we are tolerating it because it is using the legacy plugin SDK.
    The following problems may be the cause of any confusing errors from downstream operations:
      - .repository_url: planned value cty.StringVal("") for a non-computed attribute

Possible issue with empty arrays:

2022-01-10T14:18:48.629+1300 [WARN]  Provider "registry.terraform.io/pactflow/pact" produced an invalid plan for pact_team.scallops, but we are tolerating it because it is using the legacy plugin SDK.
    The following problems may be the cause of any confusing errors from downstream operations:
      - .pacticipants: planned value cty.NullVal(cty.List(cty.String)) does not match config value cty.ListValEmpty(cty.String)
mefellows commented 2 years ago

I believe this has been fixed and no reports of it still being an issue, so closing off.