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

Update to the latest Open API specs #122

Merged
merged 6 commits into from
Aug 21, 2020
Merged

Conversation

mikhailshilkov
Copy link
Member

@mikhailshilkov mikhailshilkov commented Aug 20, 2020

This upgrades the Open API specs to the latest version (accumulated 25 days of changes).

After going through the changes, I found 3 instances of breaking changes:

  • CDN removed properties from a few latest versions PR in specs. In the description, they claim that those versions weren't released yet, so apparently we need to adopt a notion of release in our pipeline. A working theory is that a version isn't released unless it's published in the "README". And indeed, those versions were not in here until a week ago. We should validate this across the repo.

  • Security renamed their types to avoid the word "whitelist" PR in specs. They confirm it's breaking but shipped for language-usage reasons.

  • Storage cache fixed something about discrimination properties PR is specs. There's no explanation in the PR, so I asked for one, but it looks like this may be a bug fix in their terms, see this other PR.

In all three cases, Microsoft's automation detected the changes as breaking but the reviewers went ahead regardless.

@lukehoban
Copy link

Curious to understand the exact impact these had for existing azure tooling.

Did SDKs ship breaking changes as a result of these?

Did existing ARM templates potentially start failing?

Are affected API versions marked as “per-release” in any meaningful sense?

Any other qualitative insights on how these changes would “feel” from within existing tools?

Did any changes uniquely cause breaks for Pulumi users that wouldn’t have felt like breaks for ARM and/or SDK users?

@mikhailshilkov
Copy link
Member Author

mikhailshilkov commented Aug 20, 2020

AFAIK

Did SDKs ship breaking changes as a result of these?

Probably yes for (2). (1) claims that version wasn't used in SDKs yet (looks like it). (3) seems to be a workaround for an autorest bug that skipped that field in SDK generation. However, I don't see any changes in Go/C# SDKs related to this yet, maybe they haven't updated them.

Did existing ARM templates potentially start failing?

I think yes for all (1)-(3). For example, ARM Template docs still show the location property which was removed.

Are affected API versions marked as “per-release” in any meaningful sense?

Not that I know of. We likely need to talk this through with Microsoft.

Did any changes uniquely cause breaks for Pulumi users that wouldn’t have felt like breaks for ARM and/or SDK users?

I think we are on-par with ARM templates here.

@mikhailshilkov
Copy link
Member Author

After thinking one more time: it could be that the behavior of the service itself hasn't changed and it's just specs that changed (likely in 1 and 3), in which case ARM templates wouldn't be broken, while we would (some hypothetical code wouldn't compile).

@mikhailshilkov
Copy link
Member Author

I'll merge the PR and will keep doing the exercise of upgrading. Let's track breaking changes in #127

@mikhailshilkov mikhailshilkov merged commit 3f70981 into master Aug 21, 2020
@pulumi-bot pulumi-bot deleted the mikhailshilkov/bump branch August 21, 2020 06:54
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.

2 participants