Skip to content

Rename networkAcls to NetworkRuleSet.#1494

Merged
jhendrixMSFT merged 2 commits intoAzure:currentfrom
JasonYang-MSFT:networkrulefix
Aug 22, 2017
Merged

Rename networkAcls to NetworkRuleSet.#1494
jhendrixMSFT merged 2 commits intoAzure:currentfrom
JasonYang-MSFT:networkrulefix

Conversation

@JasonYang-MSFT
Copy link
Copy Markdown
Member

@JasonYang-MSFT JasonYang-MSFT commented Jul 31, 2017

This checklist is used to make sure that common issues in a pull request are addressed. This will expedite the process of getting your pull request merged and avoid extra work on your part to fix issues discovered during the review process.

PR information

  • The title of the PR is clear and informative.
  • There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For information on cleaning up the commits in your pull request, see this page.
  • Except for special cases involving multiple contributors, the PR is started from a fork of the main repository, not a branch.
  • If applicable, the PR references the bug/issue that it fixes.
  • Swagger files are correctly named (e.g. the api-version in the path should match the api-version in the spec).

Quality of Swagger

@fearthecowboy
Copy link
Copy Markdown
Contributor

@JasonYang-MSFT Sorry for the delay -- I've been trying to fix some CI issues.

This is just some simple renames? I'm assuming that there isn't an SDK release with the current version yet that we're going to break?

@JasonYang-MSFT
Copy link
Copy Markdown
Member Author

JasonYang-MSFT commented Aug 2, 2017

This will break current version of Storage RP .Net SDK. But only break the feature that is still in preview.

@tjprescott
Copy link
Copy Markdown
Member

The Python SDK also contains the current version with "network_acls" cc/ @lmazuel

@lmazuel
Copy link
Copy Markdown
Member

lmazuel commented Aug 2, 2017

So technically it's broken in Python as well, and since the ApiVersion is not released as preview, the Python package was released as stable.
That being said, in this particular case:

  • This was released 15 days ago
  • I doubt people are using it at the SDK, there is no samples, but maybe CLI does ( @tjprescott ?)
  • If users use the dict syntax as input, this is not breaking

So we might just release that a "bug fix" like "sorry we didn't mean to use that name". But it's on the border, once a Swagger is in master, the point is that it is stable. Otherwise the Swagger has nothing to do on master.

@tjprescott
Copy link
Copy Markdown
Member

The CLI does, but it's still on a branch in my fork. I can just fix up the references before I issue a PR.

@lmazuel
Copy link
Copy Markdown
Member

lmazuel commented Aug 3, 2017

@JasonYang-MSFT The point here is you can't say just "This will break current version of Storage RP .Net SDK. But only break the feature that is still in preview."

First, sorry but it's really a C#-focused sentence, note that this Swagger is used in Java, Ruby, NodeJS, Python and GO. You break all of them.

Second, the Swagger is commited in master on the public repo for 2 months, for an ApiVersion that does not contain preview. We have no way to determine the "preview-ness" of this Swagger. Please in this situation do an email or something to SDK teams in general (not only C#), to explain that we should not integrate the change, or make it clear that it's preview.

FYI @johanste

@johanste
Copy link
Copy Markdown
Member

johanste commented Aug 3, 2017

@salameer, @kirthik, one more example where having the ability to do a "soft" rename (deprecate previous name) could be very helpful.

@lmazuel
Copy link
Copy Markdown
Member

lmazuel commented Aug 3, 2017

@johanste That would be awesome! @mayurid, this is what I meant yesterday talking about "deprecate in Autorest".

@kirthik
Copy link
Copy Markdown
Contributor

kirthik commented Aug 3, 2017

Agreed that having a deprecation mechanism is important. @fearthecowboy is working on a proposal which he will be sharing soon.

@azuresdkciprbot
Copy link
Copy Markdown

Hi There,

I am the AutoRest Linter Azure bot. I am here to help. My task is to analyze the situation from the AutoRest linter perspective. Please review the below analysis result:

File: specification/storage/resource-manager/readme.md
Before the PR: Warning(s): 11 Error(s): 1
After the PR: Warning(s): 11 Error(s): 0

AutoRest Linter Guidelines | AutoRest Linter Issues

Send feedback and make AutoRest Linter Azure Bot smarter day by day!

Thanks for your co-operation.

@JasonYang-MSFT
Copy link
Copy Markdown
Member Author

@lmazuel Thanks for the advice. I have just sent the email to notify the situation.

@fearthecowboy
Copy link
Copy Markdown
Contributor

This PR renames a model class, which is something that I didn't represent.

Lemme generate out the code before/after and see how that plays out.

@fearthecowboy
Copy link
Copy Markdown
Contributor

Well, this will definitely be a breaking change in existing SDKs -- even if we had the ability to rename properties/methods implemented in AutoRest at this point, this PR changes a model type, and there ain't no power in the 'verse that can export an alias of a class.

@lmazuel
Copy link
Copy Markdown
Member

lmazuel commented Aug 8, 2017

@fearthecowboy You know an alias to a class is possible in Python right? ;)

@fearthecowboy
Copy link
Copy Markdown
Contributor

@lmazuel "First, sorry but it's really a python-focused sentence"

😆

Yeah, yeah...

@fearthecowboy
Copy link
Copy Markdown
Contributor

If I merge this, it's gonna be a binary breaking change everywhere. Which means a major version bump pretty much across the board. Is that what we want? Can the change wait for the next API Version bump?

@johanste @lmazuel @kirthik -- Any dissension?

@lmazuel
Copy link
Copy Markdown
Member

lmazuel commented Aug 11, 2017

@fearthecowboy I know... Ok to merge anyway from me.

@kirthik
Copy link
Copy Markdown
Contributor

kirthik commented Aug 11, 2017

@markcowl,@twitchax - Are you ok with this change from PowerShell perspective?

@salameer
Copy link
Copy Markdown
Member

OKaaay lovely People,

Given all the risks and large impact that we have from the opration name, the safest thing here would be to rename on the next API version of this swagger to avoid breaking changes on all generated SDKs

@JasonYang-MSFT
Copy link
Copy Markdown
Member Author

As far as I checked out, correct me if I have missed anything, python, .net and NodeJS have this feature, which will cause breaking.
For Java, Go and Ruby, this feature is not included for now, in which case no breaking to them. But if we rename on the next API version, they will also be impacted in that time.

For PowerShell, "NetworkRuleSet" is already used in its parameters.
For CLI, as @tjprescott mentioned, changes are still in his fork repo currently.

So in my opinion, rename it now may have smaller breaking impact other than rename on the next API version. @salameer What do you think about this idea?

@JasonYang-MSFT
Copy link
Copy Markdown
Member Author

@kirthik
Copy link
Copy Markdown
Contributor

kirthik commented Aug 16, 2017

@JasonYang-MSFT - I am not sure how this would affect PowerShell but could you get an ack from Powershell folks - @markcowl (Mark Cowlishaw) and @twitchax (Aaron Roney). Once they ack on this change, we can merge.

@kirthik
Copy link
Copy Markdown
Contributor

kirthik commented Aug 17, 2017

We got ack that this change does not break PowerShell. Given Python team signed off, @fearthecowboy I think we are ok to merge.

@JasonYang-MSFT
Copy link
Copy Markdown
Member Author

Thanks all for your cooperation.

@jhendrixMSFT jhendrixMSFT merged commit 531dbf3 into Azure:current Aug 22, 2017
@AutorestCI
Copy link
Copy Markdown

No modification for AutorestCI/azure-sdk-for-node

@AutorestCI
Copy link
Copy Markdown

@AutorestCI
Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.