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

Refresh shows permanent diff for tagsAll in [email protected] #4080

Closed
corymhall opened this issue Jun 14, 2024 · 1 comment · Fixed by #4169
Closed

Refresh shows permanent diff for tagsAll in [email protected] #4080

corymhall opened this issue Jun 14, 2024 · 1 comment · Fixed by #4169
Assignees
Labels
kind/bug Some behavior is incorrect or out of spec resolution/fixed This issue was fixed
Milestone

Comments

@corymhall
Copy link
Contributor

Describe what happened

With the new refresh logic in [email protected] some resources have a permanent diff on tagsAll when that is not provided.

This is causing some of our tests to fail
https://github.com/pulumi/pulumi-aws/actions/runs/9510947700/job/26232303592?pr=4077

Sample program

name: test-aws-1655-pf
runtime: yaml
description: |
    Initial deployment without tags
outputs:
    actual: ${res.tags}
resources:
    app:
        properties:
            name: pf-tags-test-app
        type: aws:appconfig:Application
    aws-provider:
        type: pulumi:providers:aws
    res:
        options:
            provider: ${aws-provider}
        properties:
            applicationId: ${app.id}
            name: pf-tags-test
        type: aws:appconfig:Environment

Log output

grpc logs

{
  "method": "/pulumirpc.ResourceProvider/Diff",
  "request": {
    "id": "e2suou4:3u5gdcd",
    "urn": "urn:pulumi:dev::test-aws-1655-pf::aws:appconfig/environment:Environment::res",
    "olds": {
      "applicationId": "3u5gdcd",
      "arn": "arn:aws:appconfig:us-east-2:123456789012:application/3u5gdcd/environment/e2suou4",
      "description": "",
      "environmentId": "e2suou4",
      "id": "e2suou4:3u5gdcd",
      "monitors": [],
      "name": "pf-tags-test",
      "state": "ReadyForDeployment",
      "tagsAll": {}
    },
    "news": {
      "applicationId": "3u5gdcd",
      "name": "pf-tags-test"
    },
    "oldInputs": {
      "applicationId": "3u5gdcd",
      "name": "pf-tags-test"
    }
  },
  "response": {
    "changes": "DIFF_SOME",
    "diffs": [
      "tagsAll"
    ]
  },
  "metadata": {
    "kind": "resource",
    "mode": "client",
    "name": "aws"
  }
}

CLI output

Previewing refresh (dev)

View in Browser (Ctrl+O): https://app.pulumi.com/chall-pulumi-corp/test-aws-1655-pf/dev/previews/ebd560c7-3b68-4616-adfc-27d68ceb1c4c

     Type                          Name                  Plan
     pulumi:pulumi:Stack           test-aws-1655-pf-dev
 ~   ├─ aws:appconfig:Environment  res                   update
     ├─ aws:appconfig:Application  app
     └─ pulumi:providers:aws       aws-provider

Resources:
    ~ 1 to update
    3 unchanged

Do you want to perform this refresh?
No resources will be modified as part of this refresh; just your stack's state will be.
 details
  pulumi:pulumi:Stack: (same)
    [urn=urn:pulumi:dev::test-aws-1655-pf::pulumi:pulumi:Stack::test-aws-1655-pf-dev]
    ~ aws:appconfig/environment:Environment: (update)
        [id=e2suou4:3u5gdcd]
        [urn=urn:pulumi:dev::test-aws-1655-pf::aws:appconfig/environment:Environment::res]
        [provider=urn:pulumi:dev::test-aws-1655-pf::pulumi:providers:aws::aws-provider::4846d995-be31-41cf-8a47-f33b54bdde22]
        applicationId: "3u5gdcd"
        name         : "pf-tags-test"

Do you want to perform this refresh?
No resources will be modified as part of this refresh; just your stack's state will be.

Affected Resource(s)

No response

Output of pulumi about

CLI          
Version      3.120.0
Go Version   go1.22.4
Go Compiler  gc

Plugins
KIND      NAME  VERSION
resource  aws   unknown
language  yaml  unknown

Host     
OS       darwin
Version  14.5
Arch     arm64

This project is written in yaml

Current Stack: chall-pulumi-corp/test-aws-1655-pf/dev

TYPE                                   URN
pulumi:pulumi:Stack                    urn:pulumi:dev::test-aws-1655-pf::pulumi:pulumi:Stack::test-aws-1655-pf-dev
pulumi:providers:aws                   urn:pulumi:dev::test-aws-1655-pf::pulumi:providers:aws::aws-provider
pulumi:providers:aws                   urn:pulumi:dev::test-aws-1655-pf::pulumi:providers:aws::default
aws:appconfig/application:Application  urn:pulumi:dev::test-aws-1655-pf::aws:appconfig/application:Application::app
aws:appconfig/environment:Environment  urn:pulumi:dev::test-aws-1655-pf::aws:appconfig/environment:Environment::res


Found no pending operations associated with dev

Backend        
Name           pulumi.com
URL            https://app.pulumi.com/chall-pulumi-corp
User           chall-pulumi-corp
Organizations  chall-pulumi-corp, pulumi
Token type     personal

No dependencies found

Pulumi locates its logs in /var/folders/3b/6mr1jkqx7r797ff75k27jfjc0000gn/T/ by default

Additional context

No response

Contributing

Vote on this issue by adding a 👍 reaction.
To contribute a fix for this issue, leave a comment (and link to your pull request, if you've opened one already).

@corymhall corymhall added the kind/bug Some behavior is incorrect or out of spec label Jun 14, 2024
@t0yv0 t0yv0 added this to the 0.107 milestone Jul 1, 2024
corymhall added a commit to pulumi/pulumi-terraform-bridge that referenced this issue Jul 8, 2024
re pulumi/pulumi-aws#4080

I've noticed different behavior between sdkv2 and pf resources.
Sometimes if you do not provide a value for a map property it will write
an empty value to the outputs (i.e. `{ "tagsAll": {} }`).

When diff is called, the `olds` show the empty object value and the news
show no entry at all. sdkv2 resources handle this and do not display any
diff whereas pf resources show a diff.
@pulumi-bot pulumi-bot added the resolution/fixed This issue was fixed label Jul 23, 2024
@pulumi-bot
Copy link
Contributor

This issue has been addressed in PR #4169 and shipped in release v6.45.2.

@mjeffryes mjeffryes modified the milestones: 0.107, 0.108 Jul 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/bug Some behavior is incorrect or out of spec resolution/fixed This issue was fixed
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants