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

Batch 2022-10-01 control plane fix

Open paterasMSFT opened this issue 3 years ago • 6 comments

This reverts an incorrect, breaking change made to the Batch Control Plane swagger, version 2022-10-10, that was just published. It also adds x-ms-secret to a few properties.

paterasMSFT avatar Oct 27 '22 16:10 paterasMSFT

Hi, @paterasMSFT 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. [email protected]

    Swagger Validation Report

    ️❌BreakingChange: 6 Errors, 0 Warnings failed [Detail]
    compared swaggers (via Oad v0.10.1)] new version base version
    BatchManagement.json 2022-10-01(0482b8f) 2022-10-01(main)
    Rule Message
    1025 - RequiredStatusChange The 'required' status changed from the old version('True') to the new version('False').
    New: Microsoft.Batch/stable/2022-10-01/BatchManagement.json#L6122:7
    Old: Microsoft.Batch/stable/2022-10-01/BatchManagement.json#L6116:7
    1025 - RequiredStatusChange The 'required' status changed from the old version('True') to the new version('False').
    New: Microsoft.Batch/stable/2022-10-01/BatchManagement.json#L6157:7
    Old: Microsoft.Batch/stable/2022-10-01/BatchManagement.json#L6149:7
    1034 - AddedRequiredProperty The new version has new required property 'userName' that was not found in the old version.
    New: Microsoft.Batch/stable/2022-10-01/BatchManagement.json#L6037:9
    Old: Microsoft.Batch/stable/2022-10-01/BatchManagement.json#L6033:9
    1034 - AddedRequiredProperty The new version has new required property 'accountKey' that was not found in the old version.
    New: Microsoft.Batch/stable/2022-10-01/BatchManagement.json#L6042:9
    Old: Microsoft.Batch/stable/2022-10-01/BatchManagement.json#L6038:9
    1034 - AddedRequiredProperty The new version has new required property 'userName' that was not found in the old version.
    New: Microsoft.Batch/stable/2022-10-01/BatchManagement.json#L6120:5
    Old: Microsoft.Batch/stable/2022-10-01/BatchManagement.json#L6114:5
    1034 - AddedRequiredProperty The new version has new required property 'accountKey' that was not found in the old version.
    New: Microsoft.Batch/stable/2022-10-01/BatchManagement.json#L6155:5
    Old: Microsoft.Batch/stable/2022-10-01/BatchManagement.json#L6147:5
    ️️✔️Breaking Change(Cross-Version) succeeded [Detail] [Expand]
    There are no breaking changes.
    ️️✔️CredScan succeeded [Detail] [Expand]
    There is no credential detected.
    ️⚠️LintDiff: 0 Warnings warning [Detail]
    compared tags (via openapi-validator v1.13.0) new version base version
    package-2022-10 package-2022-10(0482b8f) package-2022-10(main)

    The following errors/warnings exist before current PR submission:

    Rule Message
    :warning: R3010 - TrackedResourceListByImmediateParent The child tracked resource, 'applications' with immediate parent 'BatchAccount', must have a list by immediate parent operation.
    Location: Microsoft.Batch/stable/2022-10-01/BatchManagement.json#L3188
    :warning: R3010 - TrackedResourceListByImmediateParent The child tracked resource, 'versions' with immediate parent 'Application', must have a list by immediate parent operation.
    Location: Microsoft.Batch/stable/2022-10-01/BatchManagement.json#L3222
    :warning: R3010 - TrackedResourceListByImmediateParent The child tracked resource, 'certificates' with immediate parent 'BatchAccount', must have a list by immediate parent operation.
    Location: Microsoft.Batch/stable/2022-10-01/BatchManagement.json#L3690
    :warning: R3010 - TrackedResourceListByImmediateParent The child tracked resource, 'detectors' with immediate parent 'BatchAccount', must have a list by immediate parent operation.
    Location: Microsoft.Batch/stable/2022-10-01/BatchManagement.json#L3788
    :warning: R3010 - TrackedResourceListByImmediateParent The child tracked resource, 'privateLinkResources' with immediate parent 'BatchAccount', must have a list by immediate parent operation.
    Location: Microsoft.Batch/stable/2022-10-01/BatchManagement.json#L3814
    :warning: R3010 - TrackedResourceListByImmediateParent The child tracked resource, 'privateEndpointConnections' with immediate parent 'BatchAccount', must have a list by immediate parent operation.
    Location: Microsoft.Batch/stable/2022-10-01/BatchManagement.json#L3858
    :warning: R3010 - TrackedResourceListByImmediateParent The child tracked resource, 'pools' with immediate parent 'BatchAccount', must have a list by immediate parent operation.
    Location: Microsoft.Batch/stable/2022-10-01/BatchManagement.json#L4007
    ️️✔️Avocado succeeded [Detail] [Expand]
    Validation passes for Avocado.
    ️️✔️ApiReadinessCheck succeeded [Detail] [Expand]
    ️⚠️~[Staging] ServiceAPIReadinessTest: 0 Warnings warning [Detail]

    API Test is not triggered due to precheck failure. Check pipeline log for details.

    ️️✔️ModelValidation succeeded [Detail] [Expand]
    Validation passes for ModelValidation.
    ️️✔️SemanticValidation succeeded [Detail] [Expand]
    Validation passes for SemanticValidation.
    ️🔄PoliCheck inProgress [Detail]
    ️️✔️PrettierCheck succeeded [Detail] [Expand]
    Validation passes for PrettierCheck.
    ️️✔️SpellCheck succeeded [Detail] [Expand]
    Validation passes for SpellCheck.
    ️️✔️Lint(RPaaS) succeeded [Detail] [Expand]
    Validation passes for Lint(RPaaS).
    ️️✔️CadlValidation succeeded [Detail] [Expand]
    Validation passes for CadlValidation.
    ️️✔️PR Summary succeeded [Detail] [Expand]
    Validation passes for Summary.
    Posted by Swagger Pipeline | How to fix these errors?

    Swagger Generation Artifacts

    ️🔄ApiDocPreview inProgress [Detail]
    ️❌SDK Breaking Change Tracking failed [Detail]

    Breaking Changes Tracking

    azure-sdk-for-python-track2 - track2_azure-mgmt-batch - 16.2.0
    +	Model CIFSMountConfiguration has a new required parameter user_name
    +	Model CIFSMountConfiguration no longer has parameter username
    +	Model NetworkConfiguration no longer has parameter dynamic_v_net_assignment_scope
    +	Model PrivateLinkServiceConnectionState no longer has parameter action_required
    azure-sdk-for-js - @azure/arm-batch - 8.0.0
    +	Interface CifsMountConfiguration has a new required parameter userName
    +	Interface CifsMountConfiguration no longer has parameter username
    +	Interface NetworkConfiguration no longer has parameter dynamicVNetAssignmentScope
    +	Interface PrivateLinkServiceConnectionState no longer has parameter actionRequired
    ️❌ azure-sdk-for-net-track2 failed [Detail]
    • Failed [Logs]Release - Generate from 5f8ec28ffec963fb2c47c2e007bba1b15f444258. SDK Automation 14.0.0
      command	pwsh ./eng/scripts/Automation-Sdk-Init.ps1 ../azure-sdk-for-net_tmp/initInput.json ../azure-sdk-for-net_tmp/initOutput.json
      warn	File azure-sdk-for-net_tmp/initOutput.json not found to read
      command	pwsh ./eng/scripts/Invoke-GenerateAndBuildV2.ps1 ../azure-sdk-for-net_tmp/generateInput.json ../azure-sdk-for-net_tmp/generateOutput.json
      cmderr	[Invoke-GenerateAndBuildV2.ps1] [91mGeneratePackage: [0m/mnt/vss/_work/1/s/azure-sdk-for-net/eng/scripts/automation/GenerateAndBuildLib.ps1:517
      cmderr	[Invoke-GenerateAndBuildV2.ps1] [96mLine |
      cmderr	[Invoke-GenerateAndBuildV2.ps1] [96m 517 | [0m         [96mGeneratePackage -projectFolder $projectFolder -sdkRootPath $s[0m …
      cmderr	[Invoke-GenerateAndBuildV2.ps1] [96m     | [91m         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      cmderr	[Invoke-GenerateAndBuildV2.ps1] [91m[96m     | [91mFailed to build sdk. exit code: False
      cmderr	[Invoke-GenerateAndBuildV2.ps1] [0m
    • Azure.ResourceManager.Batch [View full logs]  [Release SDK Changes] Breaking Change Detected
      info	[Changelog] Breaking Changes: /home/cloudtest/.nuget/packages/microsoft.dotnet.apicompat/5.0.0-beta.20467.1/build/Microsoft.DotNet.ApiCompat.targets(82,5): error : MembersMustExist : Member 'public System.Nullable<Azure.ResourceManager.Batch.Models.DynamicVNetAssignmentScope> Azure.ResourceManager.Batch.Models.BatchNetworkConfiguration.DynamicVNetAssignmentScope.get()' does not exist in the implementation but it does exist in the contract. [/mnt/vss/_work/1/s/azure-sdk-for-net/sdk/batch/Azure.ResourceManager.Batch/src/Azure.ResourceManager.Batch.csproj],
      info	[Changelog] /home/cloudtest/.nuget/packages/microsoft.dotnet.apicompat/5.0.0-beta.20467.1/build/Microsoft.DotNet.ApiCompat.targets(82,5): error : MembersMustExist : Member 'public void Azure.ResourceManager.Batch.Models.BatchNetworkConfiguration.DynamicVNetAssignmentScope.set(System.Nullable<Azure.ResourceManager.Batch.Models.DynamicVNetAssignmentScope>)' does not exist in the implementation but it does exist in the contract. [/mnt/vss/_work/1/s/azure-sdk-for-net/sdk/batch/Azure.ResourceManager.Batch/src/Azure.ResourceManager.Batch.csproj],
      info	[Changelog] /home/cloudtest/.nuget/packages/microsoft.dotnet.apicompat/5.0.0-beta.20467.1/build/Microsoft.DotNet.ApiCompat.targets(82,5): error : MembersMustExist : Member 'public System.String Azure.ResourceManager.Batch.Models.BatchPrivateLinkServiceConnectionState.ActionRequired.get()' does not exist in the implementation but it does exist in the contract. [/mnt/vss/_work/1/s/azure-sdk-for-net/sdk/batch/Azure.ResourceManager.Batch/src/Azure.ResourceManager.Batch.csproj],
      info	[Changelog] /home/cloudtest/.nuget/packages/microsoft.dotnet.apicompat/5.0.0-beta.20467.1/build/Microsoft.DotNet.ApiCompat.targets(96,5): error : ApiCompat failed for '/mnt/vss/_work/1/s/azure-sdk-for-net/artifacts/bin/Azure.ResourceManager.Batch/Debug/netstandard2.0/Azure.ResourceManager.Batch.dll' [/mnt/vss/_work/1/s/azure-sdk-for-net/sdk/batch/Azure.ResourceManager.Batch/src/Azure.ResourceManager.Batch.csproj]
    ️⚠️ azure-sdk-for-python-track2 warning [Detail]
    • ⚠️Warning [Logs]Release - Generate from 5f8ec28ffec963fb2c47c2e007bba1b15f444258. SDK Automation 14.0.0
      command	sh scripts/automation_init.sh ../azure-sdk-for-python_tmp/initInput.json ../azure-sdk-for-python_tmp/initOutput.json
      cmderr	[automation_init.sh] WARNING: Skipping azure-nspkg as it is not installed.
      command	sh scripts/automation_generate.sh ../azure-sdk-for-python_tmp/generateInput.json ../azure-sdk-for-python_tmp/generateOutput.json
    • ️✔️track2_azure-mgmt-batch [View full logs]  [Release SDK Changes] Breaking Change Detected
      info	[Changelog] ### Features Added
      info	[Changelog]
      info	[Changelog]   - Model NetworkConfiguration has a new parameter dynamic_vnet_assignment_scope
      info	[Changelog]   - Model Pool has a new parameter current_node_communication_mode
      info	[Changelog]   - Model Pool has a new parameter target_node_communication_mode
      info	[Changelog]   - Model PrivateLinkServiceConnectionState has a new parameter actions_required
      info	[Changelog]
      info	[Changelog] ### Breaking Changes
      info	[Changelog]
      info	[Changelog]   - Model CIFSMountConfiguration has a new required parameter user_name
      info	[Changelog]   - Model CIFSMountConfiguration no longer has parameter username
      info	[Changelog]   - Model NetworkConfiguration no longer has parameter dynamic_v_net_assignment_scope
      info	[Changelog]   - Model PrivateLinkServiceConnectionState no longer has parameter action_required
    ️⚠️ azure-sdk-for-java warning [Detail]
    • ⚠️Warning [Logs]Release - Generate from 5f8ec28ffec963fb2c47c2e007bba1b15f444258. SDK Automation 14.0.0
      command	./eng/mgmt/automation/init.sh ../azure-sdk-for-java_tmp/initInput.json ../azure-sdk-for-java_tmp/initOutput.json
      command	./eng/mgmt/automation/generate.py ../azure-sdk-for-java_tmp/generateInput.json ../azure-sdk-for-java_tmp/generateOutput.json
      cmderr	[generate.py] [ForkJoinPool-1-worker-3] INFO com.azure.core.test.implementation.TestingHelpers - Environment variable 'AZURE_TEST_MODE' has not been set yet. Using 'Playback' mode.
    • ️✔️azure-resourcemanager-batch [View full logs]  [Release SDK Changes]
    ️️✔️ azure-sdk-for-go succeeded [Detail] [Expand]
    • ️✔️Succeeded [Logs]Release - Generate from 5f8ec28ffec963fb2c47c2e007bba1b15f444258. SDK Automation 14.0.0
      command	sh ./eng/scripts/automation_init.sh ../../../../../azure-sdk-for-go_tmp/initInput.json ../../../../../azure-sdk-for-go_tmp/initOutput.json
      command	generator automation-v2 ../../../../../azure-sdk-for-go_tmp/generateInput.json ../../../../../azure-sdk-for-go_tmp/generateOutput.json
    • ️✔️sdk/resourcemanager/batch/armbatch [View full logs]  [Release SDK Changes] Breaking Change Detected
      info	[Changelog] ### Breaking Changes
      info	[Changelog]
      info	[Changelog] - Struct `CloudError` has been removed
      info	[Changelog] - Struct `CloudErrorBody` has been removed
      info	[Changelog] - Field `ActionRequired` of struct `PrivateLinkServiceConnectionState` has been removed
      info	[Changelog] - Field `DynamicVNetAssignmentScope` of struct `NetworkConfiguration` has been removed
      info	[Changelog] - Field `Username` of struct `CIFSMountConfiguration` has been removed
      info	[Changelog]
      info	[Changelog] ### Features Added
      info	[Changelog]
      info	[Changelog] - New const `EndpointAccessDefaultActionDeny`
      info	[Changelog] - New const `NodeCommunicationModeClassic`
      info	[Changelog] - New const `PrivateEndpointConnectionProvisioningStateCancelled`
      info	[Changelog] - New const `EndpointAccessDefaultActionAllow`
      info	[Changelog] - New const `PrivateEndpointConnectionProvisioningStateCreating`
      info	[Changelog] - New const `PrivateEndpointConnectionProvisioningStateDeleting`
      info	[Changelog] - New const `NodeCommunicationModeDefault`
      info	[Changelog] - New const `NodeCommunicationModeSimplified`
      info	[Changelog] - New type alias `EndpointAccessDefaultAction`
      info	[Changelog] - New type alias `NodeCommunicationMode`
      info	[Changelog] - New function `PossibleNodeCommunicationModeValues() []NodeCommunicationMode`
      info	[Changelog] - New function `*PrivateEndpointConnectionClient.BeginDelete(context.Context, string, string, string, *PrivateEndpointConnectionClientBeginDeleteOptions) (*runtime.Poller[PrivateEndpointConnectionClientDeleteResponse], error)`
      info	[Changelog] - New function `PossibleEndpointAccessDefaultActionValues() []EndpointAccessDefaultAction`
      info	[Changelog] - New struct `EndpointAccessProfile`
      info	[Changelog] - New struct `IPRule`
      info	[Changelog] - New struct `NetworkProfile`
      info	[Changelog] - New struct `PrivateEndpointConnectionClientBeginDeleteOptions`
      info	[Changelog] - New struct `PrivateEndpointConnectionClientDeleteResponse`
      info	[Changelog] - New field `NetworkProfile` in struct `AccountUpdateProperties`
      info	[Changelog] - New field `PublicNetworkAccess` in struct `AccountUpdateProperties`
      info	[Changelog] - New field `DynamicVnetAssignmentScope` in struct `NetworkConfiguration`
      info	[Changelog] - New field `CurrentNodeCommunicationMode` in struct `PoolProperties`
      info	[Changelog] - New field `TargetNodeCommunicationMode` in struct `PoolProperties`
      info	[Changelog] - New field `NodeManagementEndpoint` in struct `AccountProperties`
      info	[Changelog] - New field `NetworkProfile` in struct `AccountProperties`
      info	[Changelog] - New field `UserName` in struct `CIFSMountConfiguration`
      info	[Changelog] - New field `ActionsRequired` in struct `PrivateLinkServiceConnectionState`
      info	[Changelog] - New field `NetworkProfile` in struct `AccountCreateProperties`
      info	[Changelog] - New field `GroupIDs` in struct `PrivateEndpointConnectionProperties`
      info	[Changelog]
      info	[Changelog] Total 7 breaking change(s), 31 additive change(s).
    ️️✔️ azure-sdk-for-js succeeded [Detail] [Expand]
    • ️✔️Succeeded [Logs]Release - Generate from 5f8ec28ffec963fb2c47c2e007bba1b15f444258. SDK Automation 14.0.0
      command	sh .scripts/automation_init.sh ../azure-sdk-for-js_tmp/initInput.json ../azure-sdk-for-js_tmp/initOutput.json
      warn	File azure-sdk-for-js_tmp/initOutput.json not found to read
      command	sh .scripts/automation_generate.sh ../azure-sdk-for-js_tmp/generateInput.json ../azure-sdk-for-js_tmp/generateOutput.json
    • ️✔️@azure/arm-batch [View full logs]  [Release SDK Changes] Breaking Change Detected
      info	[Changelog] **Features**
      info	[Changelog]
      info	[Changelog]   - Added Type Alias NodeCommunicationMode
      info	[Changelog]   - Interface NetworkConfiguration has a new optional parameter dynamicVnetAssignmentScope
      info	[Changelog]   - Interface Pool has a new optional parameter currentNodeCommunicationMode
      info	[Changelog]   - Interface Pool has a new optional parameter targetNodeCommunicationMode
      info	[Changelog]   - Interface PrivateLinkServiceConnectionState has a new optional parameter actionsRequired
      info	[Changelog]
      info	[Changelog] **Breaking Changes**
      info	[Changelog]
      info	[Changelog]   - Interface CifsMountConfiguration no longer has parameter username
      info	[Changelog]   - Interface NetworkConfiguration no longer has parameter dynamicVNetAssignmentScope
      info	[Changelog]   - Interface PrivateLinkServiceConnectionState no longer has parameter actionRequired
      info	[Changelog]   - Interface CifsMountConfiguration has a new required parameter userName
    ️⚠️ azure-resource-manager-schemas warning [Detail]
    • ⚠️Warning [Logs]Release - Generate from 5f8ec28ffec963fb2c47c2e007bba1b15f444258. Schema Automation 14.0.0
      command	.sdkauto/initScript.sh ../azure-resource-manager-schemas_tmp/initInput.json ../azure-resource-manager-schemas_tmp/initOutput.json
      cmderr	[initScript.sh] WARN old lockfile
      cmderr	[initScript.sh] npm WARN old lockfile The package-lock.json file was created with an old version of npm,
      cmderr	[initScript.sh] npm WARN old lockfile so supplemental metadata must be fetched from the registry.
      cmderr	[initScript.sh] npm WARN old lockfile
      cmderr	[initScript.sh] npm WARN old lockfile This is a one-time fix-up, please be patient...
      cmderr	[initScript.sh] npm WARN old lockfile
      warn	File azure-resource-manager-schemas_tmp/initOutput.json not found to read
      command	.sdkauto/generateScript.sh ../azure-resource-manager-schemas_tmp/generateInput.json ../azure-resource-manager-schemas_tmp/generateOutput.json
    ️️✔️ azure-powershell succeeded [Detail] [Expand]
    • ️✔️Succeeded [Logs]Release - Generate from 5f8ec28ffec963fb2c47c2e007bba1b15f444258. SDK Automation 14.0.0
      command	sh ./tools/SwaggerCI/init.sh ../azure-powershell_tmp/initInput.json ../azure-powershell_tmp/initOutput.json
      command	pwsh ./tools/SwaggerCI/psci.ps1 ../azure-powershell_tmp/generateInput.json ../azure-powershell_tmp/generateOutput.json
    • ️✔️Az.Batch [View full logs]  [Release SDK Changes]
    Posted by Swagger Pipeline | How to fix these errors?

    Hi @paterasMSFT, Your PR has some issues. Please fix the CI sequentially by following the order of Avocado, semantic validation, model validation, breaking change, lintDiff. If you have any questions, please post your questions in this channel https://aka.ms/swaggersupport.

    TaskHow to fixPriority
    AvocadoFix-AvocadoHigh
    Semantic validationFix-SemanticValidation-ErrorHigh
    Model validationFix-ModelValidation-ErrorHigh
    LintDiffFix-LintDiffhigh
    If you need further help, please feedback via swagger feedback.

    Hi @paterasMSFT, 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. Note: To avoid breaking change, you can refer to Shift Left Solution for detecting breaking change in early phase at your service code repository.