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

Add new Cdn Preview API version: 2025-01-01-preview #32875

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

Conversation

jessicl-ms
Copy link
Contributor

@jessicl-ms jessicl-ms commented Feb 27, 2025

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!
Azure CDN is adding new preview API version to support new feature: managed identity authentication for origins. This change is necessary for public preview.

The same change was reviewed in private repo: https://github.com/Azure/azure-rest-api-specs-pr/pull/21266

  • 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 Feb 27, 2025

Next Steps to Merge

Next steps that must be taken to merge this PR:
  • ❌ This is the public specs repo main branch which is not intended for iterative development.
    You must acknowledge that you understand that after this PR is merged, you won't be able to stop your changes from being published to Azure customers.
    If this is what you intend, add PublishToCustomers label to your PR.
    Otherwise, retarget this PR onto a feature branch, i.e. with prefix release- (see aka.ms/azsdk/api-versions#release--branches).
  • ❌ This PR is in purview of the ARM review (label: ARMReview). This PR must get ARMSignedOff label from an ARM reviewer.
    This PR has ARMChangesRequested label. Please address or respond to feedback from the ARM API reviewer.
    When you are ready to continue the ARM API review, please remove the ARMChangesRequested label.
    Automation should then add WaitForARMFeedback label.
    ❗If you don't have permissions to remove the label, request write access per aka.ms/azsdk/access#request-access-to-rest-api-or-sdk-repositories.
    For details of the ARM review, see aka.ms/azsdk/pr-arm-review
  • ❌ The required check named Swagger ModelValidation has failed. 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

@github-actions github-actions bot added the brownfield Brownfield services will soon be required to convert to TypeSpec. See https://aka.ms/azsdk/typespec. label Feb 27, 2025
@azure-sdk
Copy link
Collaborator

API change check

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

Microsoft.Cdn

@jessicl-ms
Copy link
Contributor Author

jessicl-ms commented Feb 27, 2025

To the ARM reviewer: Swagger LintDiff failures are preexisting and not occurring on the new lines added to specification (please see 7c8d3ba#diff-87b2e146b7dea7119eb43ea9e0c81c526f6ef013c49e12bfee96a9fd4b133810 new spec added). Please add LintDiff suppression label.

@jessicl-ms
Copy link
Contributor Author

jessicl-ms commented Feb 27, 2025

To the ARM reviewer: ModelValidation errors also don't seem related to new lines added in specification, but reviewer may be able to understand the errors better. Also requesting ModelValidation suppression lablel

@jessicl-ms jessicl-ms added WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required and removed NotReadyForARMReview labels Feb 27, 2025
@jessicl-ms
Copy link
Contributor Author

jessicl-ms commented Feb 27, 2025

To the ARM Reviewer: The SDK azure-sdk-for-net failures say Duplicate Schema named 'ErrorResponse' (1 differences). This appears to be because in our legacy service specification "cdn.json", we have our own "#/definitions/ErrorResponse" and using "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse". However, these errors are unrelated to the changes in current PR (which are to afdx.json) and we do not plan to modify legacy service specification defined in cdn.json. It doesn't look like this validation is required, but asking for suppression label in case it is. Otherwise, we can discuss and track updating my team's specs to resolve long-standing errors. I noticed the "brownfield" label, which I'm guess means we'll need to do something of an overhaul (?) of our specs soon anyways.

@razvanbadea-msft
Copy link
Contributor

The first commit needs to be an exact copy of the previous API version. All new changes should only be added in the subsequent commits.
This allows the reviewer to get a clear understanding of the actual changes being introduced. With the way the PR is raised now, it is not possible for the reviewer to tell what the changes are. Please either abandon the PR and raise another one with the recommendation or create a new set of commits on this PR following the recommendation. If you are doing the later option please indicate which commit is the exact copy of the previous version.

@razvanbadea-msft razvanbadea-msft added the ARMChangesRequested <valid label in PR review process>add this label when require changes after ARM review label Feb 27, 2025
@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 Feb 27, 2025
@jessicl-ms
Copy link
Contributor Author

azp /run

@jessicl-ms jessicl-ms force-pushed the originauth-2025-01-01-preview branch from 7c8d3ba to f2f5448 Compare February 27, 2025 20:10
@jessicl-ms
Copy link
Contributor Author

jessicl-ms commented Feb 27, 2025

The first commit needs to be an exact copy of the previous API version. All new changes should only be added in the subsequent commits. This allows the reviewer to get a clear understanding of the actual changes being introduced. With the way the PR is raised now, it is not possible for the reviewer to tell what the changes are. Please either abandon the PR and raise another one with the recommendation or create a new set of commits on this PR following the recommendation. If you are doing the later option please indicate which commit is the exact copy of the previous version.

@razvanbadea-msft I split the commits so that the new first commit a351317
is just copying the previous API version as requested.

@jessicl-ms jessicl-ms added WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required and removed ARMChangesRequested <valid label in PR review process>add this label when require changes after ARM review labels Feb 27, 2025
@AzureRestAPISpecReview AzureRestAPISpecReview removed the BreakingChange-Approved-BugFix Changes are to correct the REST API definition to correctly describe service behavior label Feb 27, 2025
@jessicl-ms jessicl-ms added the BreakingChange-Approved-BugFix Changes are to correct the REST API definition to correctly describe service behavior label Feb 27, 2025
@razvanbadea-msft
Copy link
Contributor

    "type": {

you should avoid using type as it is too generic and used in top level properties. use something like authenticationType


Refers to: specification/cdn/resource-manager/Microsoft.Cdn/preview/2025-01-01-preview/afdx.json:6703 in f2f5448. [](commit_id = f2f5448, deletion_comment = False)

@razvanbadea-msft
Copy link
Contributor

      "type": "string"

from the description, it appears that you can also add the uri format to it


Refers to: specification/cdn/resource-manager/Microsoft.Cdn/preview/2025-01-01-preview/afdx.json:6722 in f2f5448. [](commit_id = f2f5448, deletion_comment = False)

@razvanbadea-msft razvanbadea-msft added the ARMChangesRequested <valid label in PR review process>add this label when require changes after ARM review label Feb 28, 2025
@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 Feb 28, 2025
@razvanbadea-msft
Copy link
Contributor

To the ARM reviewer: ModelValidation errors also don't seem related to new lines added in specification, but reviewer may be able to understand the errors better. Also requesting ModelValidation suppression lablel

i asked about further to see if it is something related to the linter rule itself

]
},
"azureDnsZone": {
"id": ""
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe this bug in your example (missing value for id) is causing ModelValidation to crash:

ErrorMessage:Cannot read properties of null (reading 'id')

https://dev.azure.com/azure-sdk/internal/_build/results?buildId=4602971&view=logs&j=14c5c170-9612-5b44-a650-13d3ca524cf8&t=a1928b1b-77e4-58b6-0247-4cedb38901b4&l=183

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mikeharder Thanks for taking a look! I went through and corrected all the 2025-01-01-preview/examples/AFDCustomDomains_*.json examples (commit 87f1a7c652. The same ModelValidation error is still showing up though. I checked over the rest of 2025-01-01-preview/examples for "id": "", but didn't get more hits. Any ideas what else could be causing the error?

@AzureRestAPISpecReview AzureRestAPISpecReview added the BreakingChangeReviewRequired <valid label in PR review process>add this label when breaking change review is required label Feb 28, 2025
@jessicl-ms jessicl-ms force-pushed the originauth-2025-01-01-preview branch from 6a95465 to 87f1a7c Compare February 28, 2025 23:50
@jessicl-ms
Copy link
Contributor Author

    "type": {

you should avoid using type as it is too generic and used in top level properties. use something like authenticationType

Refers to: specification/cdn/resource-manager/Microsoft.Cdn/preview/2025-01-01-preview/afdx.json:6703 in f2f5448. [](commit_id = f2f5448, deletion_comment = False)

We prefer to leave the property as "type", since it is a subproperty of "authentication". Renaming it to "authenticationType" would be redundant. Example below

"properties": {
      ...
      "authentication": {
        "type": "SystemAssignedIdentity",
        "scope": "https://storage.azure.com/.default"
      }
    }

@jessicl-ms jessicl-ms added WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required and removed ARMChangesRequested <valid label in PR review process>add this label when require changes after ARM review BreakingChangeReviewRequired <valid label in PR review process>add this label when breaking change review is required labels Mar 1, 2025
@jessicl-ms jessicl-ms force-pushed the originauth-2025-01-01-preview branch from 87f1a7c to b586748 Compare March 5, 2025 00:03
@AzureRestAPISpecReview AzureRestAPISpecReview added the BreakingChangeReviewRequired <valid label in PR review process>add this label when breaking change review is required label Mar 5, 2025
"trafficRestorationTimeToHealedOrNewEndpointsInMinutes": 5,
"authentication": {
"type": "SystemAssignedIdentity",
"userAssignedIdentity": null,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is the next example bug causing ModelValidation to crash.

@rkmanda
Copy link
Member

rkmanda commented Mar 9, 2025

For the failures showing up here - https://github.com/Azure/azure-rest-api-specs/pull/32875/checks?check_run_id=38208677412

please add suppressions using https://github.com/Azure/autorest/blob/main/docs/generate/suppress-warnings.md
please ensure you mention a where clause in the suppressions.
Also indicate a good reason why these cannot be fixed even if it is stating that this violation has already been shipped in an earlier stable API version.

@rkmanda rkmanda added the ARMChangesRequested <valid label in PR review process>add this label when require changes after ARM review label Mar 9, 2025
@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 Mar 9, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ARMChangesRequested <valid label in PR review process>add this label when require changes after ARM review ARMReview BreakingChange-Approved-BugFix Changes are to correct the REST API definition to correctly describe service behavior BreakingChangeReviewRequired <valid label in PR review process>add this label when breaking change review is required brownfield Brownfield services will soon be required to convert to TypeSpec. See https://aka.ms/azsdk/typespec. Network - CDN new-api-version resource-manager
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants