azure-rest-api-specs icon indicating copy to clipboard operation
azure-rest-api-specs copied to clipboard

Create new API version 2024-11-01 adding `provider` field to GitRepository

Open dipti-pai opened this issue 1 year ago • 22 comments

ARM (Control Plane) API Specification Update Pull Request

[!TIP] Overwhelmed by all this guidance? See the Getting help section at the bottom of this PR description.

PR review workflow diagram

Please understand this diagram before proceeding. It explains how to get your PR approved & merged.

spec_pr_review_workflow_diagram

Purpose of this PR

What's the purpose of this PR? Check the specific option that applies. This is mandatory!

  • [ ] New resource provider.
  • [x] New API version for an existing resource provider. (If API spec is not defined in TypeSpec, the PR should have been created in adherence to OpenAPI specs PR creation guidance).
  • [ ] Update existing version for a new feature. (This is applicable only when you are revising a private preview API version.)
  • [ ] Update existing version to fix OpenAPI spec quality issues in S360.
  • [ ] Convert existing OpenAPI spec to TypeSpec spec (do not combine this with implementing changes for a new API version).
  • [ ] Other, please clarify:
    • edit this with your clarification

Due diligence checklist

To merge this PR, you must go through the following checklist and confirm you understood and followed the instructions by checking all the boxes:

  • [x] I confirm this PR is modifying Azure Resource Manager (ARM) related specifications, and not data plane related specifications.
  • [x] I have reviewed following Resource Provider guidelines, including ARM resource provider contract and REST guidelines (estimated time: 4 hours).
    I understand this is required before I can proceed to the diagram Step 2, "ARM API changes review", for this PR.

Additional information

Viewing API changes

For convenient view of the API changes made by this PR, refer to the URLs provided in the table in the Generated ApiView comment added to this PR. You can use ApiView to show API versions diff.

Suppressing failures

If one or multiple validation error/warning suppression(s) is detected in your PR, please follow the suppressions guide to get approval.

Getting help

  • First, please carefully read through this PR description, from top to bottom. Please fill out the Purpose of this PR and Due diligence checklist.
  • If you don't have permissions to remove or add labels to the PR, request write access per aka.ms/azsdk/access#request-access-to-rest-api-or-sdk-repositories
  • To understand what you must do next to merge this PR, see the Next Steps to Merge comment. It will appear within few minutes of submitting this PR and will continue to be up-to-date with current PR state.
  • For guidance on fixing this PR CI check failures, see the hyperlinks provided in given failure and https://aka.ms/ci-fix.
  • For help with ARM review (PR workflow diagram Step 2), see https://aka.ms/azsdk/pr-arm-review.
  • If the PR CI checks appear to be stuck in queued state, please add a comment with contents /azp run. This should result in a new comment denoting a PR validation pipeline has started and the checks should be updated after few minutes.
  • If the help provided by the previous points is not enough, post to https://aka.ms/azsdk/support/specreview-channel and link to this PR.

dipti-pai avatar Oct 10 '24 16:10 dipti-pai

Next Steps to Merge

Next steps that must be taken to merge this PR:
  • ❌ Your PR has breaking changes in the generated SDK for Go (label: BreakingChange-Go-Sdk). Refer to step 3 in the PR workflow diagram.
  • ❌ Your PR has breaking changes in the generated SDK for JavaScript (label: BreakingChange-JavaScript-Sdk). Refer to step 3 in the PR workflow diagram.
  • ❌ The required check named Automated merging requirements met has failed. This is the final check that must pass. Refer to the check in the PR's 'Checks' tab for details on how to fix it and consult the aka.ms/ci-fix guide. In addition, refer to step 4 in the PR workflow diagram

Could you please check the swagger lintdiff errors. It looks like you do not have an operations api implementation for this api version ?

raosuhas avatar Oct 11 '24 20:10 raosuhas

@raosuhas I don't have permissions to remove the ARMChangesRequested label. Would you know how I can get the required permissions to continue the review ?

dipti-pai avatar Oct 15 '24 23:10 dipti-pai

/azp run

dipti-pai avatar Oct 17 '24 21:10 dipti-pai

Commenter does not have sufficient privileges for PR 30956 in repo Azure/azure-rest-api-specs

azure-pipelines[bot] avatar Oct 17 '24 21:10 azure-pipelines[bot]

/azp run

dipti-pai avatar Oct 18 '24 18:10 dipti-pai

Azure Pipelines successfully started running 3 pipeline(s).

azure-pipelines[bot] avatar Oct 18 '24 18:10 azure-pipelines[bot]

/azp run

dipti-pai avatar Oct 21 '24 18:10 dipti-pai

Azure Pipelines successfully started running 3 pipeline(s).

azure-pipelines[bot] avatar Oct 21 '24 18:10 azure-pipelines[bot]

Please fix Swagger Avocado failures too

ramoka178 avatar Oct 21 '24 21:10 ramoka178

/azp run

dipti-pai avatar Oct 22 '24 16:10 dipti-pai

Azure Pipelines successfully started running 3 pipeline(s).

azure-pipelines[bot] avatar Oct 22 '24 16:10 azure-pipelines[bot]

Please fix Swagger ModelValidation errors too

ramoka178 avatar Oct 22 '24 23:10 ramoka178

@ramoka178 As per the Next Steps diagram, SDK reviewers are supposed to review the changes next. It's been few days and there have been no updates. Would you know how I can bring this PR to SDK reviewers attention ? Thanks so much!

dipti-pai avatar Oct 28 '24 17:10 dipti-pai

add @JeffreyRichter as reviewer as the newer default tap has multi api versions

kazrael2119 avatar Oct 29 '24 07:10 kazrael2119

Thanks for adding me in. Yes, Azure's policy and processes require that all operations in a service version uniformly. So the 2024-11 package cannot contain operations with a version of 2023-05-01. ALL operations MUST be 2024-11-01. We do have an internal document that explains why this is necessary: https://microsoft-my.sharepoint.com/:w:/p/jeffreyr/EVQ3n8VAjgxGknd19qeY_LsBf48ooc71gTiY22U1NNKnPA?e=KXhvnc

JeffreyRichter avatar Oct 29 '24 15:10 JeffreyRichter

Azure's policy and processes require that all operations in a service version uniformly. So the 2024-11 package cannot contain operations with a version of 2023-05-01. ALL operations MUST be 2024-11-01.

@JeffreyRichter Is this requirement only for stable versions and not preview ?

dipti-pai avatar Oct 29 '24 16:10 dipti-pai

The document explains this. This requirement is for everything: private preview, public preview, and stable. The requirement exists so that customers know what docs version to look at, what SDK package version to get, to know what service versions are deployed in which datacenters & non-public clouds, to know what versions are boroken if a new breaking-change version is introduced, and to know which service versions are retired when they have to be retired. In other words, ALL of our internal processes and customer-facing messaging force this requirement.

This requirement has always been true, but we haven't always actively enforced it. We are now actively enforcing it due to various customer issues that have occurred and we are improving our repo tooling to detect these kinds of issues and forbid merging PRs that violate them. We don't have this tooling just yet which is why I'm asked to manually intervene when someone detects a PR in violation (like this PR).

JeffreyRichter avatar Oct 29 '24 16:10 JeffreyRichter

Thanks @JeffreyRichter for the explanation. Our previous version (2024-04-01-preview) has diverged and has multi APIs, could you suggest (or share a doc) how I should make the new stable API 2024-11-01 using the scripts in ./eng/scripts given that fluxConfiguration.json APIs are based on 2024-04-01-preview and the other APIs (extensions, operations, kubernetesConfiguration) are based on 2023-05-01 ?

dipti-pai avatar Oct 29 '24 17:10 dipti-pai

I don't know anything about the scripts in ./eng/scripts. The teams that I've worked with on this have had to do some internal coordination (I don't know the details). There is an alternate approach of splitting a monolithic service into a suite of smaller service where each service versions uniformly but independently of each other. Really, what a team does should be based on the customer experience - does your team want to represent its features as a single monolithic service that versions where each version has its own docs, SDK package, etc. OR does the team want a suite of services where each has its own separate docs, SDK package, etc.? Once the decision is made, it must be maintained in perpetuity as changing this is a breaking change. The Azure Breaking Board is allowing teams to make a 1-time break to go from monolith to suite so that teams can get on a long-term sustainable path.

But again, your team should optimize for the best customer experience (not the best MS engineering experience) and then put in place a long-term plan to maintain this experience.

JeffreyRichter avatar Oct 29 '24 17:10 JeffreyRichter

@kazrael2119, I removed the multi-APIs, all APIs are now in version 2024-11-01. Could you take a look? Thanks.

dipti-pai avatar Oct 29 '24 20:10 dipti-pai

@JeffreyRichter in this pr, there is a ref change that will cause sdk breaking change: KustomizationPatchDefinition.PostBuild has been changed from PostBuildDefinition to PostBuildPatchDefinition. it is only labeled with warning in swagger breaking change tool: https://github.com/Azure/azure-rest-api-specs/pull/30956/checks?check_run_id=33022160718. idw whether it should go through the breaking change review?

tadelesh avatar Dec 12 '24 06:12 tadelesh

Was changing PostBuildDefinition to PostBuildPatchDefinition intentional? If a mistake, then it should be put back. If intentional, then it should be justified by the service team.

JeffreyRichter avatar Dec 12 '24 16:12 JeffreyRichter

Was changing PostBuildDefinition to PostBuildPatchDefinition intentional? If a mistake, then it should be put back. If intentional, then it should be justified by the service team.

@tadelesh @JeffreyRichter This change is not new to this PR and is present in the previous version (2024-04-01-preview) that this version is based on. Link here.

dipti-pai avatar Dec 12 '24 19:12 dipti-pai

I added the BreakingChange-Approved-Previously label so this PR is good as is.

JeffreyRichter avatar Dec 12 '24 21:12 JeffreyRichter

API change check

APIView has identified API level changes in this PR and created following API reviews.

Microsoft.KubernetesConfiguration

azure-sdk avatar Dec 13 '24 03:12 azure-sdk

Hi, @dipti-pai. Your PR has no update for 14 days and it is marked as stale PR. If no further update for over 14 days, the bot will close the PR. If you want to refresh the PR, please remove no-recent-activity label.

Hi, @dipti-pai. The PR will be closed since the PR has no update for 28 days. If you still need the PR review to proceed, please reopen it and @ mention PR assignee.