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

[Microsoft.App] Advanced Ingress ACA - 2024-10-02-preview #30862

Conversation

tdaroly
Copy link
Contributor

@tdaroly tdaroly commented Oct 4, 2024

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 4, 2024

Next Steps to Merge

✅ All automated merging requirements have been met! To get your PR merged, see aka.ms/azsdk/specreview/merge.

@tdaroly tdaroly changed the title Advanced Ingress ACA - 2024-10-02-preview [Microsoft.App] Advanced Ingress ACA - 2024-10-02-preview Oct 4, 2024
"type": "object",
"allOf": [
{
"$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource"
Copy link
Member

Choose a reason for hiding this comment

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

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Answered in comment below

Copy link
Member

Choose a reason for hiding this comment

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

Confirm if proxy resource type makes more sense

Copy link
Contributor Author

Choose a reason for hiding this comment

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

thank you for bringing this up, this is a good point! We will use ProxyResource. Changed.

@raosuhas raosuhas added the ARMSignedOff <valid label in PR review process>add this label when ARM approve updates after review label Oct 9, 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 9, 2024
}
}
},
"delete": {
Copy link
Contributor

Choose a reason for hiding this comment

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

is it a long running operation?

Copy link
Contributor Author

@tdaroly tdaroly Oct 12, 2024

Choose a reason for hiding this comment

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

no, we are just deleting the crd directly from cluster and thats it. no other dependency resources need deletion.

Copy link
Member

Choose a reason for hiding this comment

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

Confirm with Chris if resource creation happens async and will make this async.
Also to handle transient issues with managed cluster incase api-server availablity/throttling

Copy link
Contributor Author

Choose a reason for hiding this comment

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

we will keep this as non long running
cc: @Tratcher

}
}
},
"201": {
Copy link
Contributor

Choose a reason for hiding this comment

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

if it is not long running operation, you should never return 201. Please remove it

Copy link
Contributor Author

Choose a reason for hiding this comment

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

i removed 201 and now it is failing lint validation

Copy link
Contributor Author

Choose a reason for hiding this comment

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

image

Copy link
Contributor Author

Choose a reason for hiding this comment

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

We still need to adhere to synchronous running operation based on the source code of the lintDiff validation check
Hence, we need to add a 201 for non long runnning opps as well

https://github.com/Azure/azure-openapi-validator/blob/c26c69a9a4bc2c36a98752bb7dd89a7292e4a39a/packages/rulesets/src/spectral/functions/put-response-codes.ts#L39
image

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Copy link
Contributor

@Juliehzl Juliehzl Oct 16, 2024

Choose a reason for hiding this comment

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

The lint error is for patch and the example file you update "HttpConfig_CreateOrUpdate" is for put. They are not related. Please remove 201 for HttpConfig_CreateOrUpdate. If there is lint error occured, please also fix as mentioned. If you think the lint error doesn't make sense, we can ask ARM for exception.

Copy link
Contributor Author

@tdaroly tdaroly Oct 16, 2024

Choose a reason for hiding this comment

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

@Juliehzl i have fixed the lint error for PATCH.

I am now referring to the other error pertaining to 201 status codes for non long running operations. It seems that ARM has added a validation that required 201 for those as well. You can refer to those here:
https://github.com/Azure/azure-openapi-validator/blob/c26c69a9a4bc2c36a98752bb7dd89a7292e4a39a/packages/rulesets/src/spectral/functions/put-response-codes.ts#L39
image

Do we not want to support that? if so, yes i agree with you that we should ask ARM for exception.

Copy link
Contributor

Choose a reason for hiding this comment

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

I see. If it is treated as valid for arm, then I am fine with it. Thanks!

Taher Darolywala added 2 commits October 16, 2024 19:52
…olywala/advanced-ingress-routing-2024-10-02-preview
@Juliehzl Juliehzl enabled auto-merge (squash) October 18, 2024 03:11
…olywala/advanced-ingress-routing-2024-10-02-preview
auto-merge was automatically disabled October 18, 2024 04:40

Head branch was pushed to by a user without write access

@Juliehzl Juliehzl enabled auto-merge (squash) October 18, 2024 04:53
…olywala/advanced-ingress-routing-2024-10-02-preview
Copy link
Member

@jijohn14 jijohn14 left a comment

Choose a reason for hiding this comment

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

Added suggestions

@tdaroly
Copy link
Contributor Author

tdaroly commented Oct 18, 2024

/pr RequestMerge

@jijohn14 jijohn14 merged commit 37712e1 into Azure:release-app-Microsoft.App-2024-10-02-preview Oct 18, 2024
24 of 27 checks passed
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 resource-manager
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants