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

Enable DiffStrategy PlanState by default #1976

Merged
merged 6 commits into from
Jun 6, 2024

Conversation

t0yv0
Copy link
Member

@t0yv0 t0yv0 commented May 15, 2024

This has been rolled out to GCP and AWS providers for a considerable time and should be the new default behavior. Retaining the WithDiffStrategy and similar functions as deprecated to avoid breaking provider builds that set them.

@t0yv0
Copy link
Member Author

t0yv0 commented May 15, 2024

Tests uncovered a change in behavior, logging it in #1977

Copy link

codecov bot commented May 15, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 61.57%. Comparing base (7677b6e) to head (840f281).

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #1976      +/-   ##
==========================================
+ Coverage   61.53%   61.57%   +0.04%     
==========================================
  Files         334      334              
  Lines       45056    44955     -101     
==========================================
- Hits        27725    27682      -43     
+ Misses      15803    15750      -53     
+ Partials     1528     1523       -5     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@t0yv0 t0yv0 marked this pull request as ready for review May 15, 2024 16:28
@VenelinMartinov
Copy link
Contributor

Should we run this through downstream tests? Do we expect this to break anything?

@@ -21,6 +21,8 @@ import (

// Configures how the provider performs Diff. Since this is a sensitive method that can result in unexpected breaking
// changes, using a configurable DiffStrategy as a feature flag assists gradual rollout.
//
// Deprecated.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's make sure there is an issue to clean these up.

@t0yv0
Copy link
Member Author

t0yv0 commented May 15, 2024

I can fire up downstream tests, good idea.

@t0yv0
Copy link
Member Author

t0yv0 commented May 15, 2024

@VenelinMartinov
Copy link
Contributor

aiven and cloudamqp are unrelated.

Fastly is the same panic as in #1964

Just restarted f5bigip, the rest were flakes

@t0yv0
Copy link
Member Author

t0yv0 commented May 16, 2024

anton@anton-mbp-m3> python  scripts/downstream_checks.py --hash 5b75c91691ebb718a0038d5908d395507b6aa816
FAILURE https://github.com/pulumi/pulumi-aiven/pull/611
FAILURE https://github.com/pulumi/pulumi-fastly/pull/538
FAILURE https://github.com/pulumi/pulumi-cloudamqp/pull/441
MISSING https://github.com/pulumi/pulumi-meraki/actions/workflows/upgrade-bridge.yml

@t0yv0
Copy link
Member Author

t0yv0 commented May 16, 2024

Excellent this is down to #1964 having a look.

t0yv0 added 3 commits June 5, 2024 11:02
This has been rolled out to GCP and AWS providers for a considerable time and should be the new default behavior.
Retaining the WithDiffStrategy and similar functions as deprecated to avoid breaking provider builds that set them.
@t0yv0 t0yv0 force-pushed the t0yv0/remove-diff-strategy-flag branch from 5b75c91 to c12f66f Compare June 5, 2024 15:05
@t0yv0
Copy link
Member Author

t0yv0 commented Jun 5, 2024

This now fails --- FAIL: TestUnknowns/unknown_for_set_block_prop (0.00s) @VenelinMartinov interesting, having a look.

@@ -4738,7 +4742,8 @@ func TestUnknowns(t *testing.T) {
},
"response": {
"properties":{
"id":""
"id":"",
"setBlockProps": [{"prop": ""}]
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks like an improvement but still not quite what we want. We had a set of 1 element [unk] and now it shows back as indeed a set of one element, just the unknonwn got substituted by an empty value.

@VenelinMartinov points out this may be fixed/changed in #2060

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With 2060 this test flips back. I think it's not a blocker either way, I'll go ahead and pre-test this PR through downstream checks.

@t0yv0
Copy link
Member Author

t0yv0 commented Jun 6, 2024

Another round of checking

python scripts/downstream_checks.py --hash 840f281410a06a39218e6892470955d7e43791cc | grep -v SUCCESS                                                                                                                                                                                                                   ~/code/pulumi-terraform-bridge

FAILURE pulumi/pulumi-fastly#553
MISSING https://github.com/pulumi/pulumi-openstack/actions/workflows/upgrade-bridge.yml
MISSING https://github.com/pulumi/pulumi-meraki/actions/workflows/upgrade-bridge.yml

@t0yv0 t0yv0 requested a review from iwahbe June 6, 2024 14:44
@t0yv0
Copy link
Member Author

t0yv0 commented Jun 6, 2024

Per @VenelinMartinov Fastly error goes away if the Fastly resource is enrolled in PlanResourceChange per #1964 investigation, recommend we do this and not block

Copy link
Contributor

@VenelinMartinov VenelinMartinov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good

@t0yv0 t0yv0 merged commit ba48631 into master Jun 6, 2024
84 checks passed
@t0yv0 t0yv0 deleted the t0yv0/remove-diff-strategy-flag branch June 6, 2024 14:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants