-
Notifications
You must be signed in to change notification settings - Fork 17
Conditional dns resolution binding #1010
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
Conversation
|
/run pipeline |
…form-ibm-modules/terraform-ibm-landing-zone-vpc into conditional-dns-resolution-binding
|
/run pipeline |
|
/run pipeline |
…-landing-zone-vpc into conditional-dns-resolution-binding
…form-ibm-modules/terraform-ibm-landing-zone-vpc into conditional-dns-resolution-binding
|
/run pipeline |
|
/run pipeline |
|
/run pipeline |
|
/run pipeline |
1 similar comment
|
/run pipeline |
|
/run pipeline |
vburckhardt
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi Rajat, a few comments.
README.md
Outdated
|
|
||
| This major version upgrade affects the Hub and Spoke VPC topology. The `ibm_is_vpc_dns_resolution_binding` resources are no longer created explicitly. Instead, DNS resolution bindings for Spoke VPCs are now handled within the `ibm_is_vpc` resource when the DNS resolver type is set to `delegated`. | ||
|
|
||
| To upgrade your resources, follow this two-step process: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Given the existing public instructions, I suspect consumers will already have flipped the flag update_delegated_resolver to true in version 7, and this is likely still the value used. So in first step, isn't there a need to explicitly set update_delegated_resolver to false?
In addition, given the flow to delete and re-create, we should probably document network connectivity issues in dns resolution in the spoke during this process?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also do not forget to flip the minor -> major flag in the PR for mergers
|
@vburckhardt I have come up with a solution where the updates will be in-place instead of deletion of DNS resolution binding and recreating that in the second apply. |
…form-ibm-modules/terraform-ibm-landing-zone-vpc into conditional-dns-resolution-binding
|
/run pipeline |
Further tests and findings:Test 1:Test on VPC module release Test passed Test 2:Test on VPC module Note: All the changes were made two years ago in the DNS portion of the VPC TIM module, so the VPC module itself hasn’t changed. Therefore, testing different versions of the VPC module is unnecessary. I’m also unsure whether it’s worth testing different Terraform provider versions—because even if I identify the issue, from the user’s perspective they’ll eventually need to upgrade the provider. Fetching DNS Resolution binding ID from the Spoke VPC after first terraform apply on the main branch. (System resolver type, not delegated) Then, ran This proves the point that it is actually changing the DNS resolver binding (as oppose to what we talked about in the playback about just updating the terraform resource, but not the actual resources in the cloud.) Conclusion:Following is the log of terraform apply with the flag on the feature branch, with these highlights:
FULL LOGS FOR REFERENCE @vburckhardt had discussion on this topic in last week's deep dive and playback to avoid/reduce downtime for the users. |
|
/run pipelin |
…form-ibm-modules/terraform-ibm-landing-zone-vpc into conditional-dns-resolution-binding
|
/run pipeline |
|
/run pipeline |
|
Please add the release notes - ensure they contain the full details of why this is a breaking change, and what the impact will be, and if any actions can be taken to prevent downtime. Thanks |


Description
BREAKING CHANGE:
ibm_is_vpc_dns_resolution_bindingresources are no longer used for DNS resolution binding with thedelegatedresolver type. The DNS resolver now creates within the VPC when the resolver type is selected asdelegated. This fixes the issue where the module attempts to createibm_is_vpc_dns_resolution_bindingtwice, which is reported here: #1019This upgrade notice applies only to users of the advanced Hub and Spoke VPC topology who are upgrading from a previous version of this module to v8.0.0 or later. If you are using the standard topology, or a new user starting with v8.0.0 or above, this breaking change does not apply.
Upgrade steps:
v8.0.0).update_delegated_resolver = truein your Terraform configuration (along with any other input parameters you previously used) and runterraform applyto re-create the DNS resolution binding with thedelegatedresolver type. For example:terraform apply -var="update_delegated_resolver=true"Expected network connectivity downtime of typically around 20 seconds.
Release required?
x.x.X)x.X.x)X.x.x)Release notes content
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:
Checklist for reviewers
For mergers