Skip to content

Conversation

@emontgomerydae
Copy link
Contributor

@emontgomerydae emontgomerydae commented Feb 8, 2021

Found a path with a missing /

MSFT employees can try out our new experience at OpenAPI Hub - one location for using our validation tools and finding your workflow.

Changelog

Please ensure to add changelog with this PR by answering the following questions.

  1. What's the purpose of the update?
    • new service onboarding
    • new API version
    • update existing version for new feature
    • update existing version to fix swagger quality issue in s360
    • Other, please clarify:
  2. When you are targeting to deploy new service/feature to public regions? Please provide date, or month to public if date is not available yet.
  3. When you expect to publish swagger? Please provide date, or month to public if date is not available yet.
  4. If it's an update to existing version, please select SDKs of specific language and CLIs that require refresh after swagger is published.
    • SDK of .NET (need service team to ensure code readiness)
    • SDK of Python
    • SDK of Java
    • SDK of Js
    • SDK of Go
    • PowerShell
    • CLI
    • Terraform
    • No, no need to refresh for updates in this PR

Contribution checklist:

If any further question about AME onboarding or validation tools, please view the FAQ.

ARM API Review Checklist

  • Ensure to check this box if one of the following scenarios meet updates in the PR, so that label “WaitForARMFeedback” will be added automatically to involve ARM API Review. Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs, all “removals” and “adding a new property” no more require ARM API review.

    • Adding new API(s)
    • Adding a new API version
    • Adding a new service
  • Please 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 there are following updates in the PR, ensure to request an approval from Breaking Change Review Board as defined in the Breaking Change Policy.

  • Removing API(s) in stable version
  • Removing properties in stable version
  • Removing API version(s) in stable version
  • Updating API in stable or public preview version with Breaking Change Validation errors
  • Updating API(s) in public preview over 1 year (refer to Retirement of Previews)

Action: to initiate an evaluation of the breaking change, create a new intake using the template for breaking changes. Addition details on the process and office hours are on the Breaking change Wiki.

Please follow the link to find more details on PR review process.

Found a path with a missing /
@openapi-workflow-bot
Copy link

Hi, @emontgomerydae Thanks for your PR. I am workflow bot for review process. Here are some small tips.

  • Please ensure to do self-check against checklists in first PR comment.
  • PR assignee is the person auto-assigned and responsible for your current PR reviewing and merging.
  • For specs comparison cross API versions, Use API Specs Comparison Report Generator
  • If there is CI failure(s), to fix CI error(s) is mandatory for PR merging; or you need to provide justification in PR comment for explanation. How to fix?

  • Any feedback about review process or workflow bot, pls contact swagger and tools team. vsswagger@microsoft.com

    @ghost ghost added the customer-reported Issues that are reported by GitHub users external to the Azure organization. label Feb 8, 2021
    @openapi-pipeline-app
    Copy link

    openapi-pipeline-app bot commented Feb 8, 2021

    Swagger Validation Report

    ️❌BreakingChange: 2 Errors, 0 Warnings failed [Detail]

    Rule Message
    1005 - RemovedPath The new version is missing a path that was found in the old version. Was path '/subscriptions/{subscriptionId}resourceGroups/{resourceGroup}/providers/Microsoft.Storage.Admin/storageServices/{serviceName}' removed or restructured?
    Old: Microsoft.Storage.Admin/preview/2019-08-08/storage.json#L169:5
    1038 - AddedPath The new version is adding a path that was not found in the old version.
    New: Microsoft.Storage.Admin/preview/2019-08-08/storage.json#L169:5
    ️❌LintDiff: 3 Errors, 0 Warnings failed [Detail]

    Rule Message
    R4007 - DefaultErrorResponseSchema the default error response schema does not correspond to the schema documented at https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-details.md#error-response-content.
    Location: Microsoft.Storage.Admin/preview/2019-08-08/storage.json#L202
    R4007 - DefaultErrorResponseSchema the default error response schema does not correspond to the schema documented at https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-details.md#error-response-content.
    Location: Microsoft.Storage.Admin/preview/2019-08-08/storage.json#L242
    R4019 - GetCollectionResponseSchema The response in the GET collection operation 'StorageServices_ListRG' does not match the response definition in the individual GET operation 'StorageServices_Get' .
    Location: Microsoft.Storage.Admin/preview/2019-08-08/storage.json#L94
    ️️✔️Avocado succeeded [Detail] [Expand]
    Validation passes for Avocado.
    ️️✔️ModelValidation succeeded [Detail] [Expand]
    Validation passes for ModelValidation.
    ️️✔️SemanticValidation succeeded [Detail] [Expand]
    Validation passes for SemanticValidation.
    ️️✔️[Staging] Cross Version BreakingChange (Base on preview version) succeeded [Detail] [Expand]
    There are no breaking changes.
    ️️✔️[Staging] Cross Version BreakingChange (Base on stable version) succeeded [Detail] [Expand]
    There are no breaking changes.
    ️️✔️CredScan succeeded [Detail] [Expand]
    There is no credential detected.
    ️⚠️[Staging] SDK Track2 Validation: 4 Warnings warning [Detail]

    Rule Message
    ⚠️ PreCheck/SchemaMissingType "readme":"azsadmin/resource-manager/storage/readme.md",
    "tag":"package-2019-08-08",
    "details":"The schema 'Operation' with an undefined type and decalared properties is a bit ambigious. This has been auto-corrected to 'type:object'"
    ⚠️ PreCheck/SchemaMissingType "readme":"azsadmin/resource-manager/storage/readme.md",
    "tag":"package-2019-08-08",
    "details":"The schema 'Display' with an undefined type and decalared properties is a bit ambigious. This has been auto-corrected to 'type:object'"
    ⚠️ PreCheck/SchemaMissingType "readme":"azsadmin/resource-manager/storage/readme.md",
    "tag":"package-2019-08-08",
    "details":"The schema 'OperationList' with an undefined type and decalared properties is a bit ambigious. This has been auto-corrected to 'type:object'"
    ⚠️ PreCheck/CheckDuplicateSchemas "readme":"azsadmin/resource-manager/storage/readme.md",
    "tag":"package-2019-08-08",
    "details":"Checking for duplicate schemas,
    this could take a (long) while. Run with --verbose for more detail."
    ️️✔️[Staging] PrettierCheck succeeded [Detail] [Expand]
    Validation passes for PrettierCheck.
    ️️✔️[Staging] SpellCheck succeeded [Detail] [Expand]
    Validation passes for SpellCheck.
    Posted by Swagger Pipeline | How to fix these errors?

    @openapi-pipeline-app
    Copy link

    openapi-pipeline-app bot commented Feb 8, 2021

    Swagger pipeline restarted successfully, please wait for status update in this comment.

    @ghost
    Copy link

    ghost commented Feb 8, 2021

    Thank you for your contribution emontgomerydae! We will review the pull request and get back to you soon.

    @openapi-workflow-bot
    Copy link

    In the Window Period to fix mismatches between swagger and service, when PR is labelled with “FixS360”, breaking change can be approved by PR assignee; the Azure Breaking Change Board is no longer required to approve the PR. Please ensure to clarify what s360 action items to be solved, and @ mention PR assignee for awareness. Please check this wiki [Window to Fix Broken]( Window to Fix Broken - Overview (azure.com)) for more details.

    @emontgomerydae
    Copy link
    Contributor Author

    This is a lot... just found a missing / is all

    @openapi-workflow-bot
    Copy link

    Hi @emontgomerydae, 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.
    Action: To initiate an evaluation of the breaking change, create a new intake using the template for breaking changes. Addition details on the process and office hours are on the Breaking change Wiki.
    If you want to know the production traffic statistic, please see ARM Traffic statistic.
    If you think it is false positive breaking change, please provide the reasons in the PR comment, report to Swagger Tooling Team via https://aka.ms/swaggerfeedback.

    @openapi-workflow-bot
    Copy link

    NewApiVersionRequired reason:

    A service’s API is a contract with customers and is represented by using the api-version query parameter. Changes such as adding an optional property to a request/response or introducing a new operation is a change to the service’s contract and therefore requires a new api-version value. This is critically important for documentation, client libraries, and customer support.

    EXAMPLE: if a customer calls a service in the public cloud using api-version=2020-07-27, the new property or operation may exist but if they call the service in a government cloud, air-gapped cloud, or Azure Stack Hub cloud using the same api-version, the property or operation may not exist. Because there is no clear relationship between the service api-version and the new property/operation, customers can’t trust the documentation and Azure customer have difficulty helping customers diagnose issues. In addition, each client library version documents the service version it supports. When an optional property or new operation is added to a service and its Swagger, new client libraries must be produced to expose this functionality to customers. Without updating the api-version, it is unclear to customers which version of a client library supports these new features.

    @openapi-workflow-bot
    Copy link

    Hi @emontgomerydae, Your PR has some issues. Please fix the CI sequentially by following the order of Avocado, semantic validation, model validation, breaking change, lintDiff.

    TaskHow to fixPrioritySupport (Microsoft alias)
    AvocadoFix-AvocadoHighruowan
    Semantic validationFix-SemanticValidation-ErrorHighraychen, jianyxi
    Model validationFix-ModelValidation-ErrorHighraychen,jianyxi
    LintDiffFix-LintDiffhighjianyxi, ruoxuan
    If you need further help, please feedback via swagger feedback."

    @emontgomerydae
    Copy link
    Contributor Author

    This seems like death by CICD... I would assume this is just an issue in the documentation, not an actual change to the API itself

    @allenjzhang allenjzhang added Approved-BreakingChange DO NOT USE! OBSOLETE label. See https://github.com/Azure/azure-sdk-tools/issues/6374 and removed BreakingChangeReviewRequired labels Feb 16, 2021
    @allenjzhang
    Copy link
    Contributor

    I understand this PR is only adjusting for a typo in the path. The breaking change will not be blocking the merge. However, we continue to improve our validation logics that try to catch inconsistencies and ensure API consistencies. For the three linter errors:

    • two of them is about referencing standard errorresponse schemas. The current ARM recommendation is v2's schema which has an error node outside. Your team should review your implementation and try to snap to the standard as much as possible. This would have service code change implications.
    • The _ListRG should also be updated to _ListByResourceGroup or just _List if you don't have subscription level list. This does NOT have service change implications.

    I strongly recommend you take advantage of this month's Fix360 window to fix these little inconsistencies. If you chose not to, the next window may be some time away.

    @allenjzhang
    Copy link
    Contributor

    @emontgomerydae, thank you for your contribution!

    @allenjzhang allenjzhang merged commit d4f163e into Azure:master Feb 22, 2021
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

    Labels

    Approved-BreakingChange DO NOT USE! OBSOLETE label. See https://github.com/Azure/azure-sdk-tools/issues/6374 CI-FixRequiredOnFailure customer-reported Issues that are reported by GitHub users external to the Azure organization. FixS360

    Projects

    None yet

    Development

    Successfully merging this pull request may close these issues.

    2 participants