Skip to content

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.

3 participants