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

[Batch] WIP: Azure Batch Data Plane 2024-02-01

Open dpwatrous opened this issue 1 year ago • 5 comments

Data Plane API - Pull Request

API Info: The Basics

Most of the information about your service should be captured in the issue that serves as your API Spec engagement record.

  • Link to API Spec engagement record issue:

Is this review for (select one):

  • [ ] a private preview
  • [ ] a public preview
  • [X] GA release

Change Scope

This section will help us focus on the specific parts of your API that are new or have been modified.
Please share a link to the design document for the new APIs, a link to the previous API Spec document (if applicable), and the root paths that have been updated.

  • Design Document:
  • Previous API Spec Doc:
  • Updated paths:

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 Swagger-Suppression-Process to get approval.

❔Got questions? Need additional info?? We are here to help!

Contact us!

The Azure API Review Board is dedicated to helping you create amazing APIs. You can read about our mission and learn more about our process on our wiki.

Click here for links to tools, specs, guidelines & other good stuff

Tooling

Guidelines & Specifications

Helpful Links

Checks stuck in `queued` state? 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.

dpwatrous avatar Jan 23 '24 22:01 dpwatrous

Next Steps to Merge

✅ All automated merging requirements have been met! Refer to step 4 in the PR workflow diagram (even if your PR is for data plane, not ARM).

Swagger Validation Report

️️✔️BreakingChange succeeded [Detail] [Expand]
There are no breaking changes.
️❌Breaking Change(Cross-Version): 5 Errors, 0 Warnings failed [Detail]
compared swaggers (via Oad v0.10.5)] new version base version
BatchService.json 2024-02-01.19.0(7d0435f) 2023-11-01.18.0(main)

The following breaking changes are detected by comparison with the latest stable version:

Rule Message
1027 - DefaultValueChanged The new version has a different default value than the previous one.
New: Microsoft.Batch/stable/2024-02-01.19.0/BatchService.json#L7988:11
Old: Microsoft.Batch/stable/2023-11-01.18.0/BatchService.json#L7982:11
1034 - AddedRequiredProperty The new version has new required property 'upgradingOS' that was not found in the old version.
New: Microsoft.Batch/stable/2024-02-01.19.0/BatchService.json#L17254:7
Old: Microsoft.Batch/stable/2023-11-01.18.0/BatchService.json#L17228:7
1034 - AddedRequiredProperty The new version has new required property 'upgradingOS' that was not found in the old version.
New: Microsoft.Batch/stable/2024-02-01.19.0/BatchService.json#L17238:9
Old: Microsoft.Batch/stable/2023-11-01.18.0/BatchService.json#L17212:9
1034 - AddedRequiredProperty The new version has new required property 'upgradingOS' that was not found in the old version.
New: Microsoft.Batch/stable/2024-02-01.19.0/BatchService.json#L17242:9
Old: Microsoft.Batch/stable/2023-11-01.18.0/BatchService.json#L17216:9
1034 - AddedRequiredProperty The new version has new required property 'upgradingOS' that was not found in the old version.
New: Microsoft.Batch/stable/2024-02-01.19.0/BatchService.json#L17252:5
Old: Microsoft.Batch/stable/2023-11-01.18.0/BatchService.json#L17226:5
️️✔️CredScan succeeded [Detail] [Expand]
There is no credential detected.
️⚠️LintDiff: 10 Warnings warning [Detail]
compared tags (via openapi-validator v2.1.7) new version base version
package-2024-02 package-2024-02(7d0435f) default(main)

[must fix]The following errors/warnings are introduced by current PR:

Rule Message Related RPC [For API reviewers]
:warning: PropertyDescription Property should have a description.
Location: Microsoft.Batch/stable/2024-02-01.19.0/BatchService.json#L17320
:warning: PropertyDescription Property should have a description.
Location: Microsoft.Batch/stable/2024-02-01.19.0/BatchService.json#L17644
:warning: SchemaNamesConvention Schema name should be Pascal case.
Location: Microsoft.Batch/stable/2024-02-01.19.0/BatchService.json#L17687
:warning: EnumInsteadOfBoolean 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: Microsoft.Batch/stable/2024-02-01.19.0/BatchService.json#L17690
:warning: EnumInsteadOfBoolean 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: Microsoft.Batch/stable/2024-02-01.19.0/BatchService.json#L17694
:warning: EnumInsteadOfBoolean 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: Microsoft.Batch/stable/2024-02-01.19.0/BatchService.json#L17698
:warning: EnumInsteadOfBoolean 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: Microsoft.Batch/stable/2024-02-01.19.0/BatchService.json#L17702
:warning: EnumInsteadOfBoolean 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: Microsoft.Batch/stable/2024-02-01.19.0/BatchService.json#L17712
:warning: EnumInsteadOfBoolean 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: Microsoft.Batch/stable/2024-02-01.19.0/BatchService.json#L17741
:warning: EnumInsteadOfBoolean 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: Microsoft.Batch/stable/2024-02-01.19.0/BatchService.json#L17745


The following errors/warnings exist before current PR submission:

Only 30 items are listed, please refer to log for more details.

Rule Message
HostParametersValidation The host parameter must be called 'endpoint'.
Location: Microsoft.Batch/stable/2024-02-01.19.0/BatchService.json#L12
HostParametersValidation The host parameter must be typed 'type 'string', format 'url''.
Location: Microsoft.Batch/stable/2024-02-01.19.0/BatchService.json#L12
LroExtension Operations with a 202 response must specify x-ms-long-running-operation: true. GET operation is excluded from the validation as GET will have 202 only if it is a polling action & hence x-ms-long-running-operation wouldn't be defined
Location: Microsoft.Batch/stable/2024-02-01.19.0/BatchService.json#L1055
ValidFormats 'file' is not a known format.
Location: Microsoft.Batch/stable/2024-02-01.19.0/BatchService.json#L1579
ValidFormats 'file' is not a known format.
Location: Microsoft.Batch/stable/2024-02-01.19.0/BatchService.json#L2042
LroExtension Operations with a 202 response must specify x-ms-long-running-operation: true. GET operation is excluded from the validation as GET will have 202 only if it is a polling action & hence x-ms-long-running-operation wouldn't be defined
Location: Microsoft.Batch/stable/2024-02-01.19.0/BatchService.json#L2668
LroExtension Operations with a 202 response must specify x-ms-long-running-operation: true. GET operation is excluded from the validation as GET will have 202 only if it is a polling action & hence x-ms-long-running-operation wouldn't be defined
Location: Microsoft.Batch/stable/2024-02-01.19.0/BatchService.json#L3594
LroExtension Operations with a 202 response must specify x-ms-long-running-operation: true. GET operation is excluded from the validation as GET will have 202 only if it is a polling action & hence x-ms-long-running-operation wouldn't be defined
Location: Microsoft.Batch/stable/2024-02-01.19.0/BatchService.json#L4006
LroExtension Operations with a 202 response must specify x-ms-long-running-operation: true. GET operation is excluded from the validation as GET will have 202 only if it is a polling action & hence x-ms-long-running-operation wouldn't be defined
Location: Microsoft.Batch/stable/2024-02-01.19.0/BatchService.json#L4629
LroExtension Operations with a 202 response must specify x-ms-long-running-operation: true. GET operation is excluded from the validation as GET will have 202 only if it is a polling action & hence x-ms-long-running-operation wouldn't be defined
Location: Microsoft.Batch/stable/2024-02-01.19.0/BatchService.json#L4790
LroExtension Operations with a 202 response must specify x-ms-long-running-operation: true. GET operation is excluded from the validation as GET will have 202 only if it is a polling action & hence x-ms-long-running-operation wouldn't be defined
Location: Microsoft.Batch/stable/2024-02-01.19.0/BatchService.json#L4942
OperationIdNounVerb Per the Noun_Verb convention for Operation Ids, the noun 'Job' 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: Microsoft.Batch/stable/2024-02-01.19.0/BatchService.json#L5377
LroExtension Operations with a 202 response must specify x-ms-long-running-operation: true. GET operation is excluded from the validation as GET will have 202 only if it is a polling action & hence x-ms-long-running-operation wouldn't be defined
Location: Microsoft.Batch/stable/2024-02-01.19.0/BatchService.json#L6057
LroExtension Operations with a 202 response must specify x-ms-long-running-operation: true. GET operation is excluded from the validation as GET will have 202 only if it is a polling action & hence x-ms-long-running-operation wouldn't be defined
Location: Microsoft.Batch/stable/2024-02-01.19.0/BatchService.json#L7079
LroExtension Operations with a 202 response must specify x-ms-long-running-operation: true. GET operation is excluded from the validation as GET will have 202 only if it is a polling action & hence x-ms-long-running-operation wouldn't be defined
Location: Microsoft.Batch/stable/2024-02-01.19.0/BatchService.json#L7240
LroExtension Operations with a 202 response must specify x-ms-long-running-operation: true. GET operation is excluded from the validation as GET will have 202 only if it is a polling action & hence x-ms-long-running-operation wouldn't be defined
Location: Microsoft.Batch/stable/2024-02-01.19.0/BatchService.json#L7511
LroExtension Operations with a 202 response must specify x-ms-long-running-operation: true. GET operation is excluded from the validation as GET will have 202 only if it is a polling action & hence x-ms-long-running-operation wouldn't be defined
Location: Microsoft.Batch/stable/2024-02-01.19.0/BatchService.json#L9489
LroExtension Operations with a 202 response must specify x-ms-long-running-operation: true. GET operation is excluded from the validation as GET will have 202 only if it is a polling action & hence x-ms-long-running-operation wouldn't be defined
Location: Microsoft.Batch/stable/2024-02-01.19.0/BatchService.json#L9615
ValidFormats 'file' is not a known format.
Location: Microsoft.Batch/stable/2024-02-01.19.0/BatchService.json#L10208
MissingTypeObject The schema 'HttpHeader' is considered an object but without a 'type:object', please add the missing 'type:object'.
Location: Microsoft.Batch/stable/2024-02-01.19.0/BatchService.json#L11614
MissingTypeObject The schema 'ComputeNodeIdentityReference' is considered an object but without a 'type:object', please add the missing 'type:object'.
Location: Microsoft.Batch/stable/2024-02-01.19.0/BatchService.json#L17577
XmsParameterLocation The parameter 'ApiVersionParameter' is defined in global parameters section without 'x-ms-parameter-location' extension. This would add the parameter as the client property. Please ensure that this is exactly you want. If so, apply the extension 'x-ms-parameter-location': 'client'. Else, apply the extension 'x-ms-parameter-location': 'method'.
Location: Microsoft.Batch/stable/2024-02-01.19.0/BatchService.json#L17754
:warning: VersionConvention API version should be a date in YYYY-MM-DD format, optionally suffixed with '-preview'.
Location: Microsoft.Batch/stable/2024-02-01.19.0/BatchService.json#L5
:warning: SecurityDefinitionDescription Security definition should have a description.
Location: Microsoft.Batch/stable/2024-02-01.19.0/BatchService.json#L46
:warning: EnumInsteadOfBoolean 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: Microsoft.Batch/stable/2024-02-01.19.0/BatchService.json#L110
:warning: PaginationResponse value property in pageable response should be required
Location: Microsoft.Batch/stable/2024-02-01.19.0/BatchService.json#L160
:warning: ErrorResponse Error response should contain a x-ms-error-code header.
Location: Microsoft.Batch/stable/2024-02-01.19.0/BatchService.json#L164
:warning: ErrorResponse Error response schema should contain an object property named error.
Location: Microsoft.Batch/stable/2024-02-01.19.0/BatchService.json#L166
:warning: PageableOperation Based on the response model schema, operation 'Application_Get' might be pageable. Consider adding the x-ms-pageable extension.
Location: Microsoft.Batch/stable/2024-02-01.19.0/BatchService.json#L174
:warning: PaginationResponse Operation might be pageable. Consider adding the x-ms-pageable extension.
Location: Microsoft.Batch/stable/2024-02-01.19.0/BatchService.json#L174
️️✔️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]
Posted by Swagger Pipeline | How to fix these errors?

Swagger Generation Artifacts

️️✔️ApiDocPreview succeeded [Detail] [Expand]
 Please click here to preview with your @microsoft account. 
️️✔️SDK Breaking Change Tracking succeeded [Detail] [Expand]

Breaking Changes Tracking

Posted by Swagger Pipeline | How to fix these errors?

Generated ApiView

Language Package Name ApiView Link
Swagger Microsoft.Batch https://apiview.dev/Assemblies/Review/85a2658fa59441d2bfe325d29d1d9b90?revisionId=3c392668da544bdba6121d2e82d186df

Moved from azure-rest-api-specs-pr: https://github.com/Azure/azure-rest-api-specs-pr/pull/16727

(The linked PR has Arch Board review comments)

dpwatrous avatar Jan 23 '24 22:01 dpwatrous

Removed the start/deallocate feature which we reviewed with the board and squashed/rebased down to 2 commits. This API version will only include the auto OS upgrade feature.

dpwatrous avatar Feb 02 '24 19:02 dpwatrous

Hi @dpwatrous! For review efficiency consideration, when creating a new API version, it is required to place API specs of the base version in the first commit, and push new version updates into successive commits. You can use OpenAPIHub to initialize the PR for adding a new version.
For more details refer to the wiki.

FYI: The upgradingOS property which the breaking change check is complaining about is on a read-only model, so this shouldn't be breaking in practice (it's a summary of node counts by state). The new property is following the pattern of the other properties on that model, which are always returned.

dpwatrous avatar Feb 02 '24 20:02 dpwatrous

Not sure why this is showing as missing a base commit. The initial commit is a copy of the 2023-11-01.18.0 data plane spec.

dpwatrous avatar Feb 08 '24 18:02 dpwatrous

/azp run

konrad-jamrozik avatar Feb 20 '24 21:02 konrad-jamrozik

Azure Pipelines successfully started running 4 pipeline(s).

azure-pipelines[bot] avatar Feb 20 '24 21:02 azure-pipelines[bot]

@konrad-jamrozik @mikekistler looks like the breaking change review required tag got re-added to this PR. Can one of you help? This shouldn't be a breaking change in practice. The default value change is a fix to make the Swagger match the service behavior, and the new required property is on a read-only model where all of the other properties were already marked as required.

dpwatrous avatar Feb 22 '24 21:02 dpwatrous

@mikekistler thanks! Looks like it's just missing the APIStewardshipBoard-SignedOff tag now and it's good to go.

dpwatrous avatar Feb 23 '24 18:02 dpwatrous