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

vendor: Downgrade Azure dependencies #22532

Merged
merged 1 commit into from
Aug 20, 2019
Merged

Conversation

radeksimko
Copy link
Member

This is to allow Terraform providers to upgrade to at least one more minor version of the plugin SDK without major UX hiccups.

This concludes (unsuccessful) experiments involving upgrades to SDK with Azure/go-autorest#455

Even with that patch all providers still experience broken UX as described in #22490

The most likely cause is that all providers already track the old version of Azure SDK in their go.sum, which is being resolved and compared to the one brought via Terraform Plugin SDK upgrade and that results in ambiguous imports.

This downgrade reduces the uncomfort to only a handful of providers from >100s. The affected providers more or less directly depend on Azure SDK(s), which is less than 10% of official providers.

Affected providers practically cannot consume Terraform Plugin SDK with this patch (downgraded Azure SDKs) and will instead wait for extracted Terraform Plugin SDK which is planned to be released soon. This SDK won't suffer from this problem anymore because it doesn't depend on Azure at all as backend logic (inc. Azure backend) stays in Terraform core.

This reverts the following PRs:

and it is otherwise result of the following commands

go get github.com/Azure/azure-sdk-for-go@v21.3.0
go get github.com/hashicorp/go-azure-helpers@166dfd221bb2
go mod tidy

cc @vancluever @tombuildsstuff @tamalsaha


Here is a full report from attempted upgrade of Terraform SDK of 88 providers to this branch:
https://gist.github.com/radeksimko/573e83b3341a395fd970afe3eaa757d0
(practically result of go get github.com/hashicorp/terraform@vendor-downgrade-azure-sdk called in the root of each repo)


Sorry for the back and forth - we explored all paths reasonably available and believe this is the best one forward.

This is to allow Terraform providers to upgrade to at least
one more minor version of the plugin SDK without major UX hiccups.

This concludes (unsuccessful) experiments involving upgrades
to SDK with Azure/go-autorest#455

Even with that patch all providers still experience broken UX
as described in #22490

This downgrade reduces the uncomfort to only a handful of providers
from >100s. The affected providers more or less directly depend on
Azure SDK(s), which is ~8.

Affected providers practically cannot consume Terraform Plugin SDK
with this patch (downgraded Azure SDKs) and can just wait for
extracted Terraform Plugin SDK which is planned to be released soon.

This reverts the following PRs:

 - #22247
 - #22248
 - #22524
 - #22525

and it is otherwise result of the following commands

```
go get github.com/Azure/azure-sdk-for-go@v21.3.0
go get github.com/hashicorp/go-azure-helpers@166dfd221bb2
go mod tidy
```
@radeksimko radeksimko added the dependencies Auto-pinning label Aug 20, 2019
Copy link
Contributor

@appilon appilon left a comment

Choose a reason for hiding this comment

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

great write up an analysis. I think we are choosing the least frictional option.

Copy link
Contributor

@tombuildsstuff tombuildsstuff left a comment

Choose a reason for hiding this comment

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

LGTM presuming the backend tests pass 👍

@radeksimko radeksimko merged commit c701129 into master Aug 20, 2019
@radeksimko radeksimko deleted the vendor-downgrade-azure-sdk branch August 20, 2019 15:58
@ghost
Copy link

ghost commented Sep 20, 2019

I'm going to lock this issue because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues.

If you have found a problem that seems similar to this, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further.

@ghost ghost locked and limited conversation to collaborators Sep 20, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
dependencies Auto-pinning
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants