Skip to content

Conversation

@HarikaPonna
Copy link
Contributor

@HarikaPonna HarikaPonna commented Dec 2, 2025

Description

This update the ibm and restapi provider versions across the module to align with the latest supported releases

  • Updated IBM-Cloud/ibm provider to >= 1.70.1 (and to 1.85.0 for the solutions, example).
  • Updated Mastercard/restapi provider to >= 2.0.1, < 3.0.0 across all modules and examples.
  • Added ignore_all_server_changes = true to REST API resources that return additional metadata in v2+, preventing drift caused by new provider-side response comparisons.

Release required?

  • No release
  • Patch release (x.x.X)
  • Minor release (x.X.x)
  • Major release (X.x.x)
Release notes content
  1. Updated the IBM-Cloud/ibm provider version to >= 1.70.1 (and to 1.85.0 for the solutions example) to align with the latest supported provider releases.
  2. Updated the Mastercard/restapi provider version to >= 2.0.1, < 3.0.0 across all modules and examples.
  3. Added ignore_all_server_changes = true to REST API resources to handle new comparison behavior introduced in restapi v2+
  4. These changes cause drift when upgrading from older provider versions because the v2+ restapi provider returns more fields and different secure hash values compared to v1.x.

Run the pipeline

If the CI pipeline doesn't run when you create the PR, the PR requires a user with GitHub collaborators access to run the pipeline.

Run the CI pipeline when the PR is ready for review and you expect tests to pass. Add a comment to the PR with the following text:

/run pipeline

Checklist for reviewers

  • If relevant, a test for the change is included or updated with this PR.
  • If relevant, documentation for the change is included or updated with this PR.

For mergers

  • Use a conventional commit message to set the release level. Follow the guidelines.
  • Include information that users need to know about the PR in the commit message. The commit message becomes part of the GitHub release notes.
  • Use the Squash and merge option.

Copy link
Member

@Aashiq-J Aashiq-J left a comment

Choose a reason for hiding this comment

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

you will need to update the versions of the restapi provider in the modules as well.
ignore_all_server_changes = true you will need to set this parameter for the resource "restapi_object" "storage_delegation" and resource "restapi_object" "configure_project".

This will prevent the restapi call from making any server changes during the consequent terraform plan.

@HarikaPonna HarikaPonna requested a review from Aashiq-J December 2, 2025 09:17
@HarikaPonna
Copy link
Contributor Author

HarikaPonna commented Dec 2, 2025

@Aashiq-J I tried updating the versions in modules and added the variable, the terraform validation is failing and upgrade tests are. still failing

Terraform validate

      "summary": "Unsupported argument",
      "detail": "An argument named \"ignore_all_server_changes\" is not expected here.",

upgrade tests

  terraform.go:243: 
               Error Trace:    /Users/harika/go/pkg/mod/github.com/terraform-ibm-modules/ibmcloud-terratest-wrapper@v1.60.34/testhelper/terraform.go:243
                                                       /Users/harika/go/pkg/mod/github.com/terraform-ibm-modules/ibmcloud-terratest-wrapper@v1.60.34/testschematic/tests.go:273
                                                       /Users/harika/go/pkg/mod/github.com/terraform-ibm-modules/ibmcloud-terratest-wrapper@v1.60.34/testschematic/tests.go:50
                                                       /Users/harika/terraform/terraform-ibm-watsonx-ai/tests/pr_test.go:203
               Error:          Should be false
               Test:           TestRunFullyConfigurableUpgradeSolutionSchematics
               Messages:       Resource(s) identified to be updated 
                               Name: configure_project
                               Address: module.watsonx_ai.module.configure_project[0].restapi_object.configure_project
                               Actions: [update]
                               DIFF:
                                 Before: 
                                       {"data":"SECURE_VALUE_HIDDEN_HASH:-97a5806a51a98aa4e1bcd789d0ce9bcc274b77133a508f40b680bf0d","ignore_all_server_changes":null}
                                 After: 
                                       {"data":"SECURE_VALUE_HIDDEN_HASH:-813e8303e1930db2249ec748ba7b9ef70c3c011d5cb1e5d96137fead","ignore_all_server_changes":true}
                           
                               Change Detail:
                               {
                                 "actions": [
                                   "update"
                                 ],
                                 "after": {

HarikaPonna and others added 2 commits December 2, 2025 15:09
Co-authored-by: Aashiq Jacob <122446118+Aashiq-J@users.noreply.github.com>
Co-authored-by: Aashiq Jacob <122446118+Aashiq-J@users.noreply.github.com>
@HarikaPonna
Copy link
Contributor Author

/run pipeline

Copy link
Contributor

@ocofaigh ocofaigh left a comment

Choose a reason for hiding this comment

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

You need to update the provider version in the examples too

@HarikaPonna
Copy link
Contributor Author

/run pipeline

@ocofaigh
Copy link
Contributor

ocofaigh commented Dec 2, 2025

@HarikaPonna The upgrade test is failing because it has detected ignore_all_server_changes value changing from null to true. I just wanted to confirm if this was expected? It won't have any impact to consumers on upgrade but before skipping the upgrade test I wanted to make sure this was done on purpose?

Messages:   	Resource(s) identified to be updated 
        	            	Name: configure_project
        	            	Address: module.watsonx_ai.module.configure_project[0].restapi_object.configure_project
        	            	Actions: [update]
        	            	DIFF:
        	            	  Before: 
        	            		{"data":"SECURE_VALUE_HIDDEN_HASH:-276e0b22f84cc24069c399297765f720aa60d6702011592fe28b01de","ignore_all_server_changes":null}
        	            	  After: 
        	            		{"data":"SECURE_VALUE_HIDDEN_HASH:-368185597a5159d1290be8696b6fd6846b3704a93bc510cb064d3fa0","ignore_all_server_changes":true}
        	Messages:   	Resource(s) identified to be updated 
        	            	Name: storage_delegation
        	            	Address: module.watsonx_ai.module.storage_delegation[0].restapi_object.storage_delegation
        	            	Actions: [update]
        	            	DIFF:
        	            	  Before: 
        	            		{"data":"SECURE_VALUE_HIDDEN_HASH:-451ba7619f7c2321f215b4918d6b81bee32e74caa4e6c7b122acc466","ignore_all_server_changes":null}
        	            	  After: 
        	            		{"data":"SECURE_VALUE_HIDDEN_HASH:-8b3589a299597a299945484bcab83d1d0f1e597c107eca8aa36e07c2","ignore_all_server_changes":true}

HarikaPonna and others added 6 commits December 2, 2025 23:20
Co-authored-by: Aashiq Jacob <122446118+Aashiq-J@users.noreply.github.com>
Co-authored-by: Aashiq Jacob <122446118+Aashiq-J@users.noreply.github.com>
Co-authored-by: Aashiq Jacob <122446118+Aashiq-J@users.noreply.github.com>
Co-authored-by: Aashiq Jacob <122446118+Aashiq-J@users.noreply.github.com>
@HarikaPonna
Copy link
Contributor Author

/run pipeline

@HarikaPonna
Copy link
Contributor Author

@ocofaigh Yes, this behavior is expected. After upgrading the provider, the error comes from changes in terraform-provider-restapi. With v2+, the provider now compares the full server response, and even when ignore_all_server_changes = true is set, it can still detect changes in fields. This is a provider-specific change, which causes the upgrade test to show drift when compared against the older state. I tested the upgrade locally with both true and false for ignore_all_server_changes, and in both cases Terraform still detects changes in the resource.The change from null to true is expected because ignore_all_server_changes did not exist in v1.20.0, the v2.0.1 provider introduces this attribute with a default value of false.

@ocofaigh
Copy link
Contributor

ocofaigh commented Dec 4, 2025

I approve to skip upgrade test

@HarikaPonna
Copy link
Contributor Author

/run pipeline

Copy link
Contributor

@ocofaigh ocofaigh left a comment

Choose a reason for hiding this comment

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

@HarikaPonna HarikaPonna requested a review from ocofaigh December 4, 2025 10:51
@ocofaigh
Copy link
Contributor

ocofaigh commented Dec 4, 2025

/run pipeline

@ocofaigh
Copy link
Contributor

ocofaigh commented Dec 4, 2025

"message": "Internal server error. Event notifications source could not be 'delete'd."

Unrelated to changes in this Pr, so re-running..

@ocofaigh
Copy link
Contributor

ocofaigh commented Dec 4, 2025

/run pipeline

@ocofaigh ocofaigh merged commit 65cfec7 into main Dec 4, 2025
2 checks passed
@ocofaigh ocofaigh deleted the version_updates branch December 4, 2025 13:54
@terraform-ibm-modules-ops
Copy link
Contributor

🎉 This PR is included in version 2.12.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

piyush117 pushed a commit that referenced this pull request Dec 5, 2025
… upgrading to this version will see the expected update in place of the `module.watsonx_ai.module.storage_delegation[0].restapi_object.storage_delegation` resource (#201)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants