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

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

Open
wants to merge 17 commits into
base: main
Choose a base branch
from

Conversation

dipti-pai
Copy link
Member

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.
  • 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:

  • I confirm this PR is modifying Azure Resource Manager (ARM) related specifications, and not data plane related specifications.
  • 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.

Copy link

openapi-pipeline-app bot commented Oct 10, 2024

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.
  • ❌ 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

Copy link

openapi-pipeline-app bot commented Oct 10, 2024

Generated ApiView

Language Package Name ApiView Link
Go sdk/resourcemanager/kubernetesconfiguration/armkubernetesconfiguration https://apiview.dev/Assemblies/Review/a54df2a0c1e54238a5d668c54b45f1ef?revisionId=ef353ee5d8f94a2da89db2549344491d
JavaScript @azure/arm-kubernetesconfiguration https://apiview.dev/Assemblies/Review/9c38fe14e2c0467c9767f42827a62a52?revisionId=f366363a44364908937f25ba7cde1868
Python azure-mgmt-kubernetesconfiguration https://apiview.dev/Assemblies/Review/dc933660aecc4da2a230269bc98ba893?revisionId=7e0daa1759d24053a9809e217e2941d1

@raosuhas
Copy link

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

@raosuhas raosuhas added the ARMChangesRequested <valid label in PR review process>add this label when require changes after ARM review label Oct 11, 2024
@openapi-pipeline-app openapi-pipeline-app bot removed the WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required label Oct 11, 2024
@dipti-pai
Copy link
Member Author

dipti-pai commented Oct 15, 2024

@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
Copy link
Member Author

/azp run

Copy link

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

@dipti-pai dipti-pai removed the ARMChangesRequested <valid label in PR review process>add this label when require changes after ARM review label Oct 18, 2024
@openapi-pipeline-app openapi-pipeline-app bot added the WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required label Oct 18, 2024
@dipti-pai
Copy link
Member Author

/azp run

Copy link

Azure Pipelines successfully started running 3 pipeline(s).

@dipti-pai dipti-pai added the PublishToCustomers Acknowledgement the changes will be published to Azure customers. label Oct 18, 2024
@dipti-pai
Copy link
Member Author

/azp run

Copy link

Azure Pipelines successfully started running 3 pipeline(s).

@ramoka178
Copy link
Contributor

Please fix Swagger Avocado failures too

@AzureRestAPISpecReview AzureRestAPISpecReview removed the ReadyForApiTest <valid label in PR review process>add this label when swagger and service APIs are ready for test label Oct 22, 2024
@ramoka178
Copy link
Contributor

Please fix Swagger ModelValidation errors too

@ramoka178 ramoka178 added the ARMChangesRequested <valid label in PR review process>add this label when require changes after ARM review label Oct 22, 2024
@openapi-pipeline-app openapi-pipeline-app bot removed the WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required label Oct 22, 2024
Signed-off-by: Dipti Pai <[email protected]>
@AzureRestAPISpecReview AzureRestAPISpecReview added the ReadyForApiTest <valid label in PR review process>add this label when swagger and service APIs are ready for test label Oct 22, 2024
@dipti-pai dipti-pai removed the ARMChangesRequested <valid label in PR review process>add this label when require changes after ARM review label Oct 23, 2024
@openapi-pipeline-app openapi-pipeline-app bot added the WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required label Oct 23, 2024
@ramoka178 ramoka178 added the ARMSignedOff <valid label in PR review process>add this label when ARM approve updates after review label Oct 23, 2024
@openapi-pipeline-app openapi-pipeline-app bot removed the WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required label Oct 23, 2024
@dipti-pai
Copy link
Member Author

@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!

@kazrael2119
Copy link
Contributor

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

@JeffreyRichter
Copy link
Member

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

@dipti-pai
Copy link
Member Author

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 ?

@JeffreyRichter
Copy link
Member

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).

@dipti-pai
Copy link
Member Author

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 ?

@JeffreyRichter
Copy link
Member

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.

Copied the files in a separate commit.
This allows reviewers to easily diff subsequent changes against the previous spec.

Signed-off-by: Dipti Pai <[email protected]>
Updated the API version from stable/2023-05-01 to stable/2024-11-01.

Signed-off-by: Dipti Pai <[email protected]>
@dipti-pai
Copy link
Member Author

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ARMReview ARMSignedOff <valid label in PR review process>add this label when ARM approve updates after review BreakingChange-Go-Sdk BreakingChange-JavaScript-Sdk-Suppression BreakingChange-JavaScript-Sdk-Suppression-Approved new-api-version PublishToCustomers Acknowledgement the changes will be published to Azure customers. ReadyForApiTest <valid label in PR review process>add this label when swagger and service APIs are ready for test resource-manager
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants