-
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
Enable TryPlannedBeforeForcedFailover for SQL DB Failover Group #22673
Enable TryPlannedBeforeForcedFailover for SQL DB Failover Group #22673
Conversation
Hi, @subhrob Thanks for your PR. I am workflow bot for review process. Here are some small tips. Any feedback about review process or workflow bot, pls contact swagger and tools team. [email protected] |
Swagger Validation Report
|
compared swaggers (via Oad v0.10.4)] | new version | base version |
---|---|---|
FailoverGroups.json | 2022-11-01-preview(5fdbec9) | 2021-11-01(main) |
FailoverGroups.json | 2022-11-01-preview(5fdbec9) | 2022-08-01-preview(main) |
The following breaking changes are detected by comparison with the latest preview version:
Rule | Message |
---|---|
The new version has a different format than the previous one. New: Microsoft.Sql/preview/2022-11-01-preview/FailoverGroups.json#L665:9 Old: Microsoft.Sql/preview/2022-08-01-preview/FailoverGroups.json#L596:9 |
|
The new version has a different format than the previous one. New: Microsoft.Sql/preview/2022-11-01-preview/FailoverGroups.json#L561:11 Old: Microsoft.Sql/preview/2022-08-01-preview/FailoverGroups.json#L500:11 |
️⚠️
LintDiff: 1 Warnings warning [Detail]
compared tags (via openapi-validator v2.0.0) | new version | base version |
---|---|---|
package-preview-2022-11 | package-preview-2022-11(5fdbec9) | package-preview-2022-11(release-sql-Microsoft.Sql-2022-11-01-preview) |
[must fix]The following errors/warnings are introduced by current PR:
Rule | Message | Related RPC [For API reviewers] |
---|---|---|
Parameter 'api-version' is referenced but not defined in the global parameters section of Service Definition Location: Microsoft.Sql/preview/2022-11-01-preview/FailoverGroups.json#L410 |
The following errors/warnings exist before current PR submission:
Only 30 items are listed, please refer to log for more details.
Rule | Message |
---|---|
ResourceNameRestriction |
The resource name parameter 'serverName' should be defined with a 'pattern' restriction. Location: Microsoft.Sql/preview/2022-11-01-preview/FailoverGroups.json#L19 |
ResourceNameRestriction |
The resource name parameter 'serverName' should be defined with a 'pattern' restriction. Location: Microsoft.Sql/preview/2022-11-01-preview/FailoverGroups.json#L65 |
ResourceNameRestriction |
The resource name parameter 'failoverGroupName' should be defined with a 'pattern' restriction. Location: Microsoft.Sql/preview/2022-11-01-preview/FailoverGroups.json#L65 |
CreateOperationAsyncResponseValidation |
An async PUT operation must set long running operation options 'x-ms-long-running-operation-options' Location: Microsoft.Sql/preview/2022-11-01-preview/FailoverGroups.json#L114 |
CreateOperationAsyncResponseValidation |
Only 201 is the supported response code for PUT async response. Location: Microsoft.Sql/preview/2022-11-01-preview/FailoverGroups.json#L164 |
LroLocationHeader |
A 202 response should include an Location response header. Location: Microsoft.Sql/preview/2022-11-01-preview/FailoverGroups.json#L164 |
DeleteOperationAsyncResponseValidation |
An async DELETE operation must set long running operation options 'x-ms-long-running-operation-options' Location: Microsoft.Sql/preview/2022-11-01-preview/FailoverGroups.json#L181 |
LroLocationHeader |
A 202 response should include an Location response header. Location: Microsoft.Sql/preview/2022-11-01-preview/FailoverGroups.json#L219 |
LroLocationHeader |
A 202 response should include an Location response header. Location: Microsoft.Sql/preview/2022-11-01-preview/FailoverGroups.json#L283 |
ResourceNameRestriction |
The resource name parameter 'serverName' should be defined with a 'pattern' restriction. Location: Microsoft.Sql/preview/2022-11-01-preview/FailoverGroups.json#L295 |
ResourceNameRestriction |
The resource name parameter 'failoverGroupName' should be defined with a 'pattern' restriction. Location: Microsoft.Sql/preview/2022-11-01-preview/FailoverGroups.json#L295 |
PostOperationAsyncResponseValidation |
An async POST operation must set long running operation options 'x-ms-long-running-operation-options' Location: Microsoft.Sql/preview/2022-11-01-preview/FailoverGroups.json#L296 |
LroLocationHeader |
A 202 response should include an Location response header. Location: Microsoft.Sql/preview/2022-11-01-preview/FailoverGroups.json#L337 |
ResourceNameRestriction |
The resource name parameter 'serverName' should be defined with a 'pattern' restriction. Location: Microsoft.Sql/preview/2022-11-01-preview/FailoverGroups.json#L349 |
ResourceNameRestriction |
The resource name parameter 'failoverGroupName' should be defined with a 'pattern' restriction. Location: Microsoft.Sql/preview/2022-11-01-preview/FailoverGroups.json#L349 |
PostOperationAsyncResponseValidation |
An async POST operation must set long running operation options 'x-ms-long-running-operation-options' Location: Microsoft.Sql/preview/2022-11-01-preview/FailoverGroups.json#L350 |
LroLocationHeader |
A 202 response should include an Location response header. Location: Microsoft.Sql/preview/2022-11-01-preview/FailoverGroups.json#L391 |
Parameter 'api-version' is referenced but not defined in the global parameters section of Service Definition Location: Microsoft.Sql/preview/2022-11-01-preview/FailoverGroups.json#L26 |
|
The response of operation:'FailoverGroups_Get' is defined without 'systemData'. Consider adding the systemData to the response. Location: Microsoft.Sql/preview/2022-11-01-preview/FailoverGroups.json#L66 |
|
Parameter 'api-version' is referenced but not defined in the global parameters section of Service Definition Location: Microsoft.Sql/preview/2022-11-01-preview/FailoverGroups.json#L72 |
|
A PUT operation request body schema should be the same as its 200 response schema, to allow reusing the same entity between GET and PUT. If the schema of the PUT request body is a superset of the GET response body, make sure you have a PATCH operation to make the resource updatable. Operation: 'FailoverGroups_CreateOrUpdate' Request Model: 'parameters[3].schema' Response Model: 'responses[200].schema' Location: Microsoft.Sql/preview/2022-11-01-preview/FailoverGroups.json#L114 |
|
The response of operation:'FailoverGroups_CreateOrUpdate' is defined without 'systemData'. Consider adding the systemData to the response. Location: Microsoft.Sql/preview/2022-11-01-preview/FailoverGroups.json#L114 |
|
The x-ms-long-running-operation-options should be specified explicitly to indicate the type of response header to track the async operation. Location: Microsoft.Sql/preview/2022-11-01-preview/FailoverGroups.json#L114 |
|
Parameter 'api-version' is referenced but not defined in the global parameters section of Service Definition Location: Microsoft.Sql/preview/2022-11-01-preview/FailoverGroups.json#L120 |
|
The x-ms-long-running-operation-options should be specified explicitly to indicate the type of response header to track the async operation. Location: Microsoft.Sql/preview/2022-11-01-preview/FailoverGroups.json#L181 |
|
Parameter 'api-version' is referenced but not defined in the global parameters section of Service Definition Location: Microsoft.Sql/preview/2022-11-01-preview/FailoverGroups.json#L187 |
|
The response of operation:'FailoverGroups_Update' is defined without 'systemData'. Consider adding the systemData to the response. Location: Microsoft.Sql/preview/2022-11-01-preview/FailoverGroups.json#L233 |
|
The x-ms-long-running-operation-options should be specified explicitly to indicate the type of response header to track the async operation. Location: Microsoft.Sql/preview/2022-11-01-preview/FailoverGroups.json#L233 |
|
Parameter 'api-version' is referenced but not defined in the global parameters section of Service Definition Location: Microsoft.Sql/preview/2022-11-01-preview/FailoverGroups.json#L239 |
|
A LRO Post operation with return schema must have 'x-ms-long-running-operation-options' extension enabled. Location: Microsoft.Sql/preview/2022-11-01-preview/FailoverGroups.json#L295 |
️️✔️
Avocado succeeded [Detail] [Expand]
Validation passes for Avocado.
️️✔️
SwaggerAPIView succeeded [Detail] [Expand]
️️✔️
CadlAPIView succeeded [Detail] [Expand]
️️✔️
ModelValidation succeeded [Detail] [Expand]
Validation passes for ModelValidation.
️️✔️
SemanticValidation succeeded [Detail] [Expand]
Validation passes for SemanticValidation.
️️✔️
PrettierCheck succeeded [Detail] [Expand]
Validation passes for PrettierCheck.
️️✔️
SpellCheck succeeded [Detail] [Expand]
Validation passes for SpellCheck.
️️✔️
CadlValidation succeeded [Detail] [Expand]
Validation passes for CadlValidation.
️️✔️
PR Summary succeeded [Detail] [Expand]
Validation passes for Summary.
Swagger Generation Artifacts
|
Generated ApiView
|
Hi @subhrob, one or multiple breaking change(s) is detected in your PR. Please check out the breaking change(s), and provide business justification in the PR comment and @ PR assignee why you must have these change(s), and how external customer impact can be mitigated. Please ensure to follow breaking change policy to request breaking change review and approval before proceeding swagger PR review. |
Hi @subhrob, Your PR has some issues. Please fix the CI sequentially by following the order of
|
Breaking changes details:
I investigated the ModelValidation failures and they are due to Issues with LROs which I didn't change. |
the breaking change from that PR is expected. their changes are from ARM side. |
Update to ModelValidation failures |
Please add arm-id and other fields which have already been in the old version:
arm-id and other fields were added manually last week by ARM/Security team. We will add them into our swagger generation process next month. thus we need to match the old version manually in this API version. |
@ericshape
Also how about the LroLocationHeader and the Pattern ResourceNameRestriction . |
Please ensure to respond feedbacks from the ARM API reviewer. When you are ready to continue the ARM API review, please remove |
@subhrob - Just noticed your PR is going to an aggregation branch, removed my earlier comment. |
ARM recommends against the empty/unschematized object pattern. Recommend you remove this. In reply to: 1458737286 Refers to: specification/sql/resource-manager/Microsoft.Sql/preview/2022-11-01-preview/FailoverGroups.json:647 in 4199eb4. [](commit_id = 4199eb4, deletion_comment = False) |
@subhrob - Please complete the ARM API Review Checklist. |
@mentat9 , Thank you for reviewing. Made the changes. |
Recommend moving to newest common types (v5) for new swagger code. Refers to: specification/sql/resource-manager/Microsoft.Sql/preview/2022-11-01-preview/FailoverGroups.json:375 in 5fdbec9. [](commit_id = 5fdbec9, deletion_comment = False) |
@subhrob - Signed off for ARM with comments. |
* Adds base for updating Microsoft.Sql from version preview/2022-08-01-preview to version 2022-11-01-preview * Updates readme * Updates API version in new specs and examples * Add Swagger API changes required for progress-reporting related changes in DatabaseOperations (#22669) * Update swagger (#22715) * Follow-up Swagger API changes required for progress-reporting related changes in DatabaseOperations (#22775) * Add Swagger API changes required for progress-reporting related changes in DatabaseOperations * Follow up changes required for progress-reporting related changes in DatabaseOperations * updated example file * Added Failed case in list-operations examples * Update Microsoft.Sql ManagedInstance 2022-11-01-preview Swagger Docs (#22899) * Update Microsoft.sql ManagedInstance 2022-11-01-preview Swagger Docs * Address Swagger Validation Errors * Modify custom-words.txt * Manually updating arm-id format to match stable 2021-11-01 version * Adding provisioning state changes * fixing validation * adding missing space * Remove HTTP 200 from Start/Stop Actions as we only return HTTP 202 --------- Co-authored-by: Jovana Toroman <[email protected]> * Update DateTime to ISO-8601 format in example file (#22986) * Add Swagger API changes required for progress-reporting related changes in DatabaseOperations * Follow up changes required for progress-reporting related changes in DatabaseOperations * updated example file * Added Failed case in list-operations examples * Update DateTime to ISo-8601 format in example file * Enable TryPlannedBeforeForcedFailover for SQL DB Failover Group (#22673) * Enable TryPlannedBeforeForcedFailover for SQL DB Failover Group * Modify example file * Add example * Fix ModelValidation issues * Fix ModelValidation issues * Add new controller * Modify example * Modify example * Update server name * Fix LintDiff * Fix model validation errors * Fix PostOperationAsyncResponseValidation, Unfix LroLocationHeader,ResourceNameRestriction * Fix PostOperationAsyncResponseValidation * Fix pending items * Update doc * Remove empty/unschematized object --------- Co-authored-by: subhrob <[email protected]> * [DO NOT MERGE] Add Archive option to LTR Policy for SQL DB (#22697) * add archival changes to LTRPolicy * fix LongTermRetentionPolicies swagger file * fix check failures * redo swagger * Update swagger documentation for Managed Instance start-stop actions (#22992) * Add NetworkSecurityPerimeterConfigurations Swagger (#22960) * Add NetworkSecurityPerimeterConfigurations Swagger * Fixes round 1 * Fixes round 2 * Fixes Round 3 * Fixes Round 4 * Fix Round 5 * fixing enum (#22995) Co-authored-by: Jovana Toroman <[email protected]> * add changes (#23120) * Carry all minor changes to dev sql microsoft.sql 2022 11 01 preview (#23337) * Revert "add changes (#23120)" This reverts commit 5c348d2. Revert "[DO NOT MERGE] Add Archive option to LTR Policy for SQL DB (#22697)" This reverts commit 559f7f4. * Carrying minor changes to release branch for Microsoft.Sql 2022-11-01-preview * Reverting DatabaseAdvisors * Further reverting problematic files * Reverting a few example files * Adding back arm-id to a few files * Reverting error message change in ManagedDatabaseRestoreDetails.json, Jobs.json,ServerDevOpsAudit.json, and TransparentDataEncryptions.json * Minor fixes for Turkey name change and missing x-ms-identifier (#23637) * Fixing issues with a few breaking changes (#23943) * Minor fixes for Turkey name change and missing x-ms-identifier * Adding back missing arm-id and other missing property issues causing breaking changes incorrectly. * Fixing prettier issue with ManagedDatabases.json * Fixing arm-id format in 4 examples * Adding missing location for 202 responses on sync examples --------- Co-authored-by: Ji Wang <[email protected]> Co-authored-by: Mohit Agarwal <[email protected]> Co-authored-by: GalGoldi72 <[email protected]> Co-authored-by: ilijadivljan-ms <[email protected]> Co-authored-by: Jovana Toroman <[email protected]> Co-authored-by: subhrob <[email protected]> Co-authored-by: subhrob <[email protected]> Co-authored-by: CelinaJiangJXY <[email protected]> Co-authored-by: beoberha <[email protected]> Co-authored-by: toki95 <[email protected]>
ARM API Information (Control Plane)
MSFT employees can try out our new experience at OpenAPI Hub - one location for using our validation tools and finding your workflow.
Azure 1st Party Service can try out the Shift Left experience to initiate API design review from ADO code repo. If you are interested, may request engineering support by filling in with the form https://aka.ms/ShiftLeftSupportForm.
Changelog
Add a changelog entry for this PR by answering the following questions:
Contribution checklist (MS Employees Only):
If any further question about AME onboarding or validation tools, please view the FAQ.
ARM API Review Checklist
Otherwise your PR may be subject to ARM review requirements. Complete the following:
Check this box if any of the following apply to the PR so that the label "ARMReview" and "WaitForARMFeedback" will be added by bot to kick off ARM API Review. Missing to check this box in the following scenario may result in delays to the ARM manifest review and deployment.
-[ ] To review changes efficiently, ensure you copy the existing version into the new directory structure for first commit and then push new changes, including version updates, in separate commits. You can use OpenAPIHub to initialize the PR for adding a new version. For more details refer to the wiki.
Ensure you've reviewed following guidelines including ARM resource provider contract and REST guidelines. Estimated time (4 hours). This is required before you can request review from ARM API Review board.
If you are blocked on ARM review and want to get the PR merged with urgency, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.
Breaking Change Review Checklist
If you have any breaking changes as defined in the Breaking Change Policy, request approval from the Breaking Change Review Board.
Action: to initiate an evaluation of the breaking change, create a new intake using the template for breaking changes. Additional details on the process and office hours are on the Breaking Change Wiki.
NOTE: To update API(s) in public preview for over 1 year (refer to Retirement of Previews)
Please follow the link to find more details on PR review process.