-
Notifications
You must be signed in to change notification settings - Fork 5.1k
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
Review request for Microsoft.ContainerService/aks to add version preview/2024-04-02-preview #29061
Review request for Microsoft.ContainerService/aks to add version preview/2024-04-02-preview #29061
Conversation
…eview/2024-03-02-preview to version 2024-04-02-preview
* add undrainableNodeBehavior property * fix some spell errors * fix some grammer issues
Next Steps to Merge✅ All automated merging requirements have been met! To get your PR merged, see aka.ms/azsdk/specreview/merge. |
Swagger Validation Report
|
Compared specs (v0.10.9) | new version | base version |
---|---|---|
managedClusters.json | 2024-04-02-preview(3d8dc2c) | 2024-02-01(main) |
managedClusters.json | 2024-04-02-preview(3d8dc2c) | 2024-03-02-preview(main) |
The following breaking changes are detected by comparison with the latest stable version:
The following breaking changes are detected by comparison with the latest preview version:
Rule | Message |
---|---|
The new version is missing a definition that was found in the old version. Was 'NetworkMonitoring' removed or renamed? New: aks/preview/2024-04-02-preview/managedClusters.json#L4045:3 Old: aks/preview/2024-03-02-preview/managedClusters.json#L4042:3 |
|
The new version is missing a property found in the old version. Was 'monitoring' renamed or removed? New: aks/preview/2024-04-02-preview/managedClusters.json#L5058:7 Old: aks/preview/2024-03-02-preview/managedClusters.json#L4982:7 |
|
The new version has a different 'maximum' value than the previous one. New: aks/preview/2024-04-02-preview/managedClusters.json#L4209:9 Old: aks/preview/2024-03-02-preview/managedClusters.json#L4198:9 |
|
The new version has a different 'minimum' value than the previous one. New: aks/preview/2024-04-02-preview/managedClusters.json#L4209:9 Old: aks/preview/2024-03-02-preview/managedClusters.json#L4198:9 |
️️✔️
CredScan succeeded [Detail] [Expand]
There is no credential detected.
️⚠️
LintDiff: 3 Warnings warning [Detail]
Compared specs (v2.2.2) | new version | base version |
---|---|---|
package-preview-2024-04 | package-preview-2024-04(3d8dc2c) | default(main) |
[must fix]The following errors/warnings are introduced by current PR:
Rule | Message | Related RPC [For API reviewers] |
---|---|---|
Schema should have a description or title. Location: aks/preview/2024-04-02-preview/managedClusters.json#L10063 |
||
Booleans properties are not descriptive in all cases and can make them to use, evaluate whether is makes sense to keep the property as boolean or turn it into an enum. Location: aks/preview/2024-04-02-preview/managedClusters.json#L10074 |
||
Missing identifier id in array item property Location: aks/preview/2024-04-02-preview/managedClusters.json#L10087 |
The following errors/warnings exist before current PR submission:
Only 30 items are listed, please refer to log for more details.
Rule | Message |
---|---|
OperationsApiResponseSchema |
The response schema of operations API '/providers/Microsoft.ContainerService/operations' does not match the ARM specification. Please standardize the schema. Location: aks/preview/2024-04-02-preview/managedClusters.json#L52 |
OperationsApiSchemaUsesCommonTypes |
Operations API path must follow the schema provided in the common types. Location: aks/preview/2024-04-02-preview/managedClusters.json#L53 |
XmsPageableForListCalls |
x-ms-pageable extension must be specified for LIST APIs.Location: aks/preview/2024-04-02-preview/managedClusters.json#L74 |
ParametersInPointGet |
Query parameter resource-type should be removed. Point Get's MUST not have query parameters other than api version. Location: aks/preview/2024-04-02-preview/managedClusters.json#L80 |
XmsPageableForListCalls |
x-ms-pageable extension must be specified for LIST APIs.Location: aks/preview/2024-04-02-preview/managedClusters.json#L116 |
GetCollectionOnlyHasValueAndNextLink |
Get endpoints for collections of resources must only have the value and nextLink properties in their model.Location: aks/preview/2024-04-02-preview/managedClusters.json#L137 |
XmsPageableForListCalls |
x-ms-pageable extension must be specified for LIST APIs.Location: aks/preview/2024-04-02-preview/managedClusters.json#L237 |
ResourceNameRestriction |
The resource name parameter 'roleName' should be defined with a 'pattern' restriction. Location: aks/preview/2024-04-02-preview/managedClusters.json#L278 |
ParametersInPost |
server-fqdn is a query parameter. Post operation must not contain any query parameter other than api-version. Location: aks/preview/2024-04-02-preview/managedClusters.json#L336 |
ParametersInPost |
server-fqdn is a query parameter. Post operation must not contain any query parameter other than api-version. Location: aks/preview/2024-04-02-preview/managedClusters.json#L381 |
ParametersInPost |
format is a query parameter. Post operation must not contain any query parameter other than api-version. Location: aks/preview/2024-04-02-preview/managedClusters.json#L381 |
ParametersInPost |
server-fqdn is a query parameter. Post operation must not contain any query parameter other than api-version. Location: aks/preview/2024-04-02-preview/managedClusters.json#L429 |
LroErrorContent |
Error response content of long running operations must follow the error schema provided in the common types v2 and above. Location: aks/preview/2024-04-02-preview/managedClusters.json#L569 |
PatchResponseCodes |
Long-running PATCH operations must have responses with 200, 202 and default return codes. They also must not have other response codes. Location: aks/preview/2024-04-02-preview/managedClusters.json#L676 |
PatchIdentityProperty |
The patch operation body parameter schema should contain property 'identity'. Location: aks/preview/2024-04-02-preview/managedClusters.json#L695 |
LroPatch202 |
The async patch operation should return 202. Location: aks/preview/2024-04-02-preview/managedClusters.json#L713 |
LroErrorContent |
Error response content of long running operations must follow the error schema provided in the common types v2 and above. Location: aks/preview/2024-04-02-preview/managedClusters.json#L723 |
LroErrorContent |
Error response content of long running operations must follow the error schema provided in the common types v2 and above. Location: aks/preview/2024-04-02-preview/managedClusters.json#L781 |
ResourceNameRestriction |
The resource name parameter 'configName' should be defined with a 'pattern' restriction. Location: aks/preview/2024-04-02-preview/managedClusters.json#L841 |
PostResponseCodes |
Long-running POST operations must have responses with 202 and default return codes. They must also have a 200 return code if only if the final response is intended to have a schema, if not the 200 return code must not be specified. They also must not have other response codes. Location: aks/preview/2024-04-02-preview/managedClusters.json#L1011 |
LroErrorContent |
Error response content of long running operations must follow the error schema provided in the common types v2 and above. Location: aks/preview/2024-04-02-preview/managedClusters.json#L1055 |
LroErrorContent |
Error response content of long running operations must follow the error schema provided in the common types v2 and above. Location: aks/preview/2024-04-02-preview/managedClusters.json#L1223 |
LroErrorContent |
Error response content of long running operations must follow the error schema provided in the common types v2 and above. Location: aks/preview/2024-04-02-preview/managedClusters.json#L1350 |
XmsPageableForListCalls |
x-ms-pageable extension must be specified for LIST APIs.Location: aks/preview/2024-04-02-preview/managedClusters.json#L1366 |
XmsPageableForListCalls |
x-ms-pageable extension must be specified for LIST APIs.Location: aks/preview/2024-04-02-preview/managedClusters.json#L1565 |
OperationIdNounVerb |
Per the Noun_Verb convention for Operation Ids, the noun 'AgentPools' should not appear after the underscore. Note: If you have already shipped an SDK on top of this spec, fixing this warning may introduce a breaking change. Location: aks/preview/2024-04-02-preview/managedClusters.json#L1569 |
GetCollectionOnlyHasValueAndNextLink |
Get endpoints for collections of resources must only have the value and nextLink properties in their model.Location: aks/preview/2024-04-02-preview/managedClusters.json#L1589 |
PostResponseCodes |
200 return code does not have a schema specified. LRO POST must have a 200 return code if only if the final response is intended to have a schema, if not the 200 return code must not be specified. Location: aks/preview/2024-04-02-preview/managedClusters.json#L1608 |
LroErrorContent |
Error response content of long running operations must follow the error schema provided in the common types v2 and above. Location: aks/preview/2024-04-02-preview/managedClusters.json#L1654 |
PostResponseCodes |
200 return code does not have a schema specified. LRO POST must have a 200 return code if only if the final response is intended to have a schema, if not the 200 return code must not be specified. Location: aks/preview/2024-04-02-preview/managedClusters.json#L1670 |
️️✔️
Avocado succeeded [Detail] [Expand]
Validation passes for Avocado.
️️✔️
SwaggerAPIView succeeded [Detail] [Expand]
️️✔️
TypeSpecAPIView succeeded [Detail] [Expand]
️️✔️
ModelValidation succeeded [Detail] [Expand]
Validation passes for ModelValidation.
️️✔️
SemanticValidation succeeded [Detail] [Expand]
Validation passes for SemanticValidation.
️️✔️
PoliCheck succeeded [Detail] [Expand]
Validation passed for PoliCheck.
️️✔️
SpellCheck succeeded [Detail] [Expand]
Validation passes for SpellCheck.
️️✔️
Lint(RPaaS) succeeded [Detail] [Expand]
Validation passes for Lint(RPaaS).
️️✔️
PR Summary succeeded [Detail] [Expand]
Validation passes for Summary.
️️✔️
Automated merging requirements met succeeded [Detail] [Expand]
Hi @FumingZhang, this service has enabled ShiftLeft Toolset. All spec updates MUST be initiated from service ADO project repo, so that to guarantee it to be the source of truth., please review this pull request if it is intentional or reject it if it is not expected. Normally, all the specification or example changes should start with PR created in ADO. |
Swagger Generation Artifacts
|
Generated ApiView
|
Replace boolean/switch properties with a more meaningful enum whenever possible. A boolean will forever have two valid values (true or false). Enums are always a more flexible and future proof option because they allow additional values to be added in the future in a non-breaking way, e.g. [Enabled, Disabled, Suspended, Deallocated]. In this case for example you could have a upgradeChangeType with values that could be added apart from the [BreakingChanges, None] in the future if other type of changes could appear Refers to: specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/managedClusters.json:10087 in 984bbe4. [](commit_id = 984bbe4, deletion_comment = False) |
You should you use plural or rename the array properties fpr this properties to be more suggestive Refers to: specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/managedClusters.json:4188 in 984bbe4. [](commit_id = 984bbe4, deletion_comment = False) |
Hi @razvanbadea-msft thanks for your review. Yes, I agree plural will be a better choice here. However, the new "autoscale" field is the counterpart to the existing "manual" property, which is also an array. (see code here: https://github.com/Azure/azure-rest-api-specs/blob/5506bda46d28441b272dacfd2009fad8d925f875/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/managedClusters.json#L4180C7-L4187C11) I believe it's better to keep them consistent here. |
I think we only need true/false here, enum is vague and not necessary. If we indeed need more options in the future, we can add a new field. Now we have no idea of any other options except for BreakingChanges and NoBreakingChanges. |
* apply code review * remove wireserver description because it's not link local address * apply code review
Suggestions applied in #29272 |
Why are the limits removed? Is there any validation logic in place to reject requests with an extremely large number? Refers to: specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/managedClusters.json:4202 in fa06b45. [](commit_id = fa06b45, deletion_comment = True) |
Yes, we have validation on the server side to reject the request if count is larger than 1000. The reason we are removing it here is actually because of the |
Releasing the ARM manifest changes, which are expected to be completed this Saturday (06/08), this PR could be merged after that. |
/pr RequestMerge |
Manifest release is completed. |
…iew/2024-04-02-preview (Azure#29061) * Adds base for updating Microsoft.ContainerService/aks from version preview/2024-03-02-preview to version 2024-04-02-preview * Updates readme * Updates API version in new specs and examples * add undrainableNodeBehavior property (Azure#28919) * add undrainableNodeBehavior property * fix some spell errors * fix some grammer issues * MixSku Pool Autoscale mode API Change (Azure#29052) * MixSku Pool Autoscale mode API Change * Prettier --------- Co-authored-by: wenxuanW <wenxuanwang@microsoft.com> * Add swagger defination for IMDS restriction feature (Azure#29044) * Add swagger defination for IMDS restriction feature * update swagger * fix spell * add none to outbound type in aks managedCluster (Azure#29095) * add componentsByReleases (Azure#29002) * update(retina): update adv networking to note additional costs (Azure#29245) * apply code review (Azure#29272) * apply code review * remove wireserver description because it's not link local address * apply code review * remove(monitoring): remove network monitoring profile from api 04-02 preview (Azure#29279) --------- Co-authored-by: zjpjack-github <136433002+zjpjack-github@users.noreply.github.com> Co-authored-by: Thalia Wang <58485997+wenxuan0923@users.noreply.github.com> Co-authored-by: wenxuanW <wenxuanwang@microsoft.com> Co-authored-by: Tongyao Si <tosi@microsoft.com> Co-authored-by: Fan Shang Xiang <fanshangxiang@gmail.com> Co-authored-by: Shaoru Hu <49520642+HuShaoRu@users.noreply.github.com> Co-authored-by: Steven Nguyen <30740718+snguyen64@users.noreply.github.com>
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.
Purpose of this PR
What's the purpose of this PR? Check the specific option that applies. This is mandatory!
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:
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
Purpose of this PR
andDue diligence checklist
.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.and https://aka.ms/ci-fix.
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.