Skip to content

Release vmware Microsoft.AVS/2024-09-01#32946

Merged
cataggar merged 36 commits intomainfrom
release-vmware-Microsoft.AVS/2024-09-01
Apr 29, 2025
Merged

Release vmware Microsoft.AVS/2024-09-01#32946
cataggar merged 36 commits intomainfrom
release-vmware-Microsoft.AVS/2024-09-01

Conversation

@cataggar
Copy link
Member

@cataggar cataggar commented Mar 3, 2025

These changes were previously reviewed in PRs linked from https://github.com/Azure/azure-rest-api-specs-pr/pull/19667.

  • Changes
    • add Hosts API
    • add ProvisionedNetworks API
    • add standard Skus API
    • add standard AvailabilityZones for PrivateCloud
    • deprecate setting vcenterPassword and nsxtPassword
    • add pureStorageVolume to DatastoreProperties
    • add replicationNetwork to AddonVrProperties
    • add managementNetwork and uplinkNetwork to AddonHcxProperties

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.

spec_pr_review_workflow_diagram

Purpose of this PR

What's the purpose of this PR? Check the specific option that applies. This is mandatory!

  • New resource provider.
  • New API version for an existing resource provider. (If API spec is not defined in TypeSpec, the PR should have been created in adherence to OpenAPI specs PR creation guidance).
  • Update existing version for a new feature. (This is applicable only when you are revising a private preview API version.)
  • Update existing version to fix OpenAPI spec quality issues in S360.
  • Convert existing OpenAPI spec to TypeSpec spec (do not combine this with implementing changes for a new API version).
  • Other, please clarify:
    • edit this with your clarification

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:

  • I confirm this PR is modifying Azure Resource Manager (ARM) related specifications, and not data plane related specifications.
  • I have reviewed following Resource Provider guidelines, including
    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

  • First, please carefully read through this PR description, from top to bottom. Please fill out the Purpose of this PR and Due diligence checklist.
  • If you don't have permissions to remove or add labels to the PR, request write access per aka.ms/azsdk/access#request-access-to-rest-api-or-sdk-repositories
  • To understand what you must do next to merge this PR, see the 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.
  • For guidance on fixing this PR CI check failures, see the hyperlinks provided in given failure
    and https://aka.ms/ci-fix.
  • For help with ARM review (PR workflow diagram Step 2), see https://aka.ms/azsdk/pr-arm-review.
  • 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.
  • If the help provided by the previous points is not enough, post to https://aka.ms/azsdk/support/specreview-channel and link to this PR.

@openapi-pipeline-app
Copy link

openapi-pipeline-app bot commented Mar 3, 2025

Next Steps to Merge

✅ All automated merging requirements have been met! To get your PR merged, see aka.ms/azsdk/specreview/merge.

@openapi-pipeline-app
Copy link

openapi-pipeline-app bot commented Mar 3, 2025

PR validation pipeline restarted successfully. If there is ApiView generated, it will be updated in this comment.

@azure-sdk
Copy link
Collaborator

azure-sdk commented Mar 3, 2025

API Change Check

APIView identified API level changes in this PR and created the following API reviews

Language API Review for Package
Swagger Microsoft.AVS
TypeSpec Microsoft.AVS
Go sdk/resourcemanager/avs/armavs
Java com.azure.resourcemanager:azure-resourcemanager-avs
JavaScript @azure/arm-avs

@AzureRestAPISpecReview AzureRestAPISpecReview added ARMReview new-api-version ReadyForApiTest <valid label in PR review process>add this label when swagger and service APIs are ready for test resource-manager TypeSpec Authored with TypeSpec WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required labels Mar 3, 2025
@cataggar
Copy link
Member Author

cataggar commented Apr 24, 2025

The SDK azure-sdk-for-net failure looks like it may be due to:

Can't find Baseline contract assembly (Azure.ResourceManager.Avs@1.4.0)

https://dev.azure.com/azure-sdk/internal/_build/results?buildId=4794992&view=logs&j=2be18a23-047c-5c9f-61d7-60a33437d1f1&t=90227b5e-3523-5803-3e16-3788cf693a16

I am not able to reproduce locally with:

npm install @azure-tools/typespec-csharp
npx tsp compile --emit @azure-tools/typespec-csharp specification/vmware/Microsoft.AVS.Management

@cataggar
Copy link
Member Author

SDK azure-sdk-for-java is failing with an error about EnforceFinalFields on retryAfter and location.

command	./eng/automation/init.sh ../azure-sdk-for-java_tmp/initInput.json ../azure-sdk-for-java_tmp/initOutput.json
warn		Warning: azure-sdk-for-java cannot be found in specification/vmware/resource-manager/readme.md. This SDK will be skipped from SDK generation. Please add the right config to the readme file according to this guidance https://github.com/Azure/azure-rest-api-specs/blob/main/documentation/code-gen/configure-go-sdk.md#swagger-to-sdk.
command	./eng/automation/generate.py ../azure-sdk-for-java_tmp/generateInput.json ../azure-sdk-for-java_tmp/generateOutput.json
cmderr	[Java-Sdk-Automation] Diagnostics were reported during compilation. Use the `--debug` flag to see if there is warning diagnostic output.
cmderr	[Java-Sdk-Automation] Example of how to compile using the tsp commandline. NOTE: tsp-client does NOT directly run this command, results may vary:
cmderr	[Java-Sdk-Automation]         npx tsp compile /mnt/vss/_work/1/s/azure-sdk-for-java/sdk/avs/azure-resourcemanager-avs/TempTypeSpecFiles/Microsoft.AVS.Management/client.tsp --emit @azure-tools/typespec-java --option package-dir=azure-resourcemanager-avs --option namespace=com.azure.resourcemanager.avs --option service-name=avs --option flavor=azure --option emitter-output-dir=/mnt/vss/_work/1/s/azure-sdk-for-java/sdk/avs/azure-resourcemanager-avs
cmderr	[Java-Sdk-Automation]
cmderr	[Java-Sdk-Automation] Diagnostics were reported during compilation. Use the `--debug` flag to see if there is warning diagnostic output.
cmderr	[Java-Sdk-Automation] Example of how to compile using the tsp commandline. NOTE: tsp-client does NOT directly run this command, results may vary:
cmderr	[Java-Sdk-Automation]         npx tsp compile /mnt/vss/_work/1/s/azure-sdk-for-java/sdk/avs/azure-resourcemanager-avs/TempTypeSpecFiles/Microsoft.AVS.Management/client.tsp --emit @azure-tools/typespec-java --option package-dir=azure-resourcemanager-avs --option namespace=com.azure.resourcemanager.avs --option service-name=avs --option flavor=azure --option emitter-output-dir=/mnt/vss/_work/1/s/azure-sdk-for-java/sdk/avs/azure-resourcemanager-avs --option package-version=1.3.0-beta.1
cmderr	[Java-Sdk-Automation]
cmdout	[Java-Sdk-Automation] [ERROR] /mnt/vss/_work/1/s/azure-sdk-for-java/sdk/avs/azure-resourcemanager-avs/src/main/java/com/azure/resourcemanager/avs/models/PlacementPoliciesUpdateHeaders.java:19:5: Field "retryAfter" is only assigned in constructor and it is not final. You should consider making the field final, or suppressing the warning. [EnforceFinalFields]
cmdout	[Java-Sdk-Automation] [ERROR] /mnt/vss/_work/1/s/azure-sdk-for-java/sdk/avs/azure-resourcemanager-avs/src/main/java/com/azure/resourcemanager/avs/models/PlacementPoliciesUpdateHeaders.java:24:5: Field "location" is only assigned in constructor and it is not final. You should consider making the field final, or suppressing the warning. [EnforceFinalFields]
cmdout	[Java-Sdk-Automation] [ERROR] /mnt/vss/_work/1/s/azure-sdk-for-java/sdk/avs/azure-resourcemanager-avs/src/main/java/com/azure/resourcemanager/avs/models/ClustersUpdateHeaders.java:19:5: Field "retryAfter" is only assigned in constructor and it is not final. You should consider making the field final, or suppressing the warning. [EnforceFinalFields]
cmdout	[Java-Sdk-Automation] [ERROR] /mnt/vss/_work/1/s/azure-sdk-for-java/sdk/avs/azure-resourcemanager-avs/src/main/java/com/azure/resourcemanager/avs/models/ClustersUpdateHeaders.java:24:5: Field "location" is only assigned in constructor and it is not final. You should consider making the field final, or suppressing the warning. [EnforceFinalFields]
cmdout	[Java-Sdk-Automation] [ERROR] /mnt/vss/_work/1/s/azure-sdk-for-java/sdk/avs/azure-resourcemanager-avs/src/main/java/com/azure/resourcemanager/avs/models/PrivateCloudsUpdateHeaders.java:19:5: Field "retryAfter" is only assigned in constructor and it is not final. You should consider making the field final, or suppressing the warning. [EnforceFinalFields]
cmdout	[Java-Sdk-Automation] [ERROR] /mnt/vss/_work/1/s/azure-sdk-for-java/sdk/avs/azure-resourcemanager-avs/src/main/java/com/azure/resourcemanager/avs/models/PrivateCloudsUpdateHeaders.java:24:5: Field "location" is only assigned in constructor and it is not final. You should consider making the field final, or suppressing the warning. [EnforceFinalFields]
cmdout	[Java-Sdk-Automation] [ERROR] Failed to execute goal org.apache.maven.plugins:maven-checkstyle-plugin:3.6.0:check (default) on project azure-resourcemanager-avs: Failed during checkstyle execution: There are 6 errors reported by Checkstyle 9.3 with /mnt/vss/_work/1/s/azure-sdk-for-java/sdk/avs/azure-resourcemanager-avs/../../../eng/code-quality-reports/src/main/resources/checkstyle/checkstyle.xml ruleset. -> [Help 1]
cmdout	[Java-Sdk-Automation] [ERROR]
cmdout	[Java-Sdk-Automation] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
cmdout	[Java-Sdk-Automation] [ERROR] Re-run Maven using the -X switch to enable full debug logging.
cmdout	[Java-Sdk-Automation] [ERROR]
cmdout	[Java-Sdk-Automation] [ERROR] For more information about the errors and possible solutions, please read the following articles:
cmdout	[Java-Sdk-Automation] [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
cmdout	[Java-Sdk-Automation] [ERROR]
cmdout	[Java-Sdk-Automation] [ERROR] After correcting the problems, you can resume the build with the command
cmdout	[Java-Sdk-Automation] [ERROR]   mvn <args> -rf :azure-resourcemanager-avs
cmdout	[Java-Sdk-Automation] 2025-04-24 10:53:14 [ERROR] [COMPILE] Maven build fail.
cmdout	[Java-Sdk-Automation] 2025-04-24 10:53:14 [ERROR] You can inquire in "Language - Java" Teams channel. Please include the link of this Pull Request in the query.

https://github.com/Azure/azure-rest-api-specs/pull/32946/checks?check_run_id=41078993037

I am unable to reproduce locally with:

npm install @azure-tools/typespec-java
npx tsp compile --emit @azure-tools/typespec-java specification/vmware/Microsoft.AVS.Management

Where do we see the version of @azure-tools/typespec-java that is being used?

@weidongxu-microsoft
Copy link
Member

There is older issue that make the TypeSpec invalid for SDK.

E.g. the LRO is written as

// 202 response has a body, but it should not to match ArmCustomPatchAsync.
// update is ArmCustomPatchAsync<PlacementPolicy, PlacementPolicyUpdate>;
#suppress "@azure-tools/typespec-azure-resource-manager/no-response-body"
#suppress "@azure-tools/typespec-azure-core/no-openapi" "DO NOT COPY - TODO migrate to LRO apis"
@doc("Update a PlacementPolicy")
@extension("x-ms-long-running-operation", true)
@extension(
"x-ms-long-running-operation-options",
#{ `final-state-via`: "location" }
)
@armResourceUpdate(PlacementPolicy)
@patch
update(
...ResourceInstanceParameters<PlacementPolicy>,
@bodyRoot
@doc("The placement policy properties to be updated.")
placementPolicyUpdate: PlacementPolicyUpdate,
): ArmResponse<PlacementPolicy> | {
...AcceptedResponse;
...Azure.Core.Foundations.RetryAfterHeader;
...LocationHeader;
@bodyRoot
@doc("The updatd placement policy.")
placementPolicy: PlacementPolicy;
} | ErrorResponse;

  @extension("x-ms-long-running-operation", true)
  @extension(
    "x-ms-long-running-operation-options",
    #{ `final-state-via`: "location" }
  )

This is not a valid LRO in TypeSpec.

@weidongxu-microsoft
Copy link
Member

weidongxu-microsoft commented Apr 25, 2025

SDK azure-sdk-for-java is failing with an error about EnforceFinalFields on retryAfter and location.

command	./eng/automation/init.sh ../azure-sdk-for-java_tmp/initInput.json ../azure-sdk-for-java_tmp/initOutput.json
warn		Warning: azure-sdk-for-java cannot be found in specification/vmware/resource-manager/readme.md. This SDK will be skipped from SDK generation. Please add the right config to the readme file according to this guidance https://github.com/Azure/azure-rest-api-specs/blob/main/documentation/code-gen/configure-go-sdk.md#swagger-to-sdk.
command	./eng/automation/generate.py ../azure-sdk-for-java_tmp/generateInput.json ../azure-sdk-for-java_tmp/generateOutput.json
cmderr	[Java-Sdk-Automation] Diagnostics were reported during compilation. Use the `--debug` flag to see if there is warning diagnostic output.
cmderr	[Java-Sdk-Automation] Example of how to compile using the tsp commandline. NOTE: tsp-client does NOT directly run this command, results may vary:
cmderr	[Java-Sdk-Automation]         npx tsp compile /mnt/vss/_work/1/s/azure-sdk-for-java/sdk/avs/azure-resourcemanager-avs/TempTypeSpecFiles/Microsoft.AVS.Management/client.tsp --emit @azure-tools/typespec-java --option package-dir=azure-resourcemanager-avs --option namespace=com.azure.resourcemanager.avs --option service-name=avs --option flavor=azure --option emitter-output-dir=/mnt/vss/_work/1/s/azure-sdk-for-java/sdk/avs/azure-resourcemanager-avs
cmderr	[Java-Sdk-Automation]
cmderr	[Java-Sdk-Automation] Diagnostics were reported during compilation. Use the `--debug` flag to see if there is warning diagnostic output.
cmderr	[Java-Sdk-Automation] Example of how to compile using the tsp commandline. NOTE: tsp-client does NOT directly run this command, results may vary:
cmderr	[Java-Sdk-Automation]         npx tsp compile /mnt/vss/_work/1/s/azure-sdk-for-java/sdk/avs/azure-resourcemanager-avs/TempTypeSpecFiles/Microsoft.AVS.Management/client.tsp --emit @azure-tools/typespec-java --option package-dir=azure-resourcemanager-avs --option namespace=com.azure.resourcemanager.avs --option service-name=avs --option flavor=azure --option emitter-output-dir=/mnt/vss/_work/1/s/azure-sdk-for-java/sdk/avs/azure-resourcemanager-avs --option package-version=1.3.0-beta.1
cmderr	[Java-Sdk-Automation]
cmdout	[Java-Sdk-Automation] [ERROR] /mnt/vss/_work/1/s/azure-sdk-for-java/sdk/avs/azure-resourcemanager-avs/src/main/java/com/azure/resourcemanager/avs/models/PlacementPoliciesUpdateHeaders.java:19:5: Field "retryAfter" is only assigned in constructor and it is not final. You should consider making the field final, or suppressing the warning. [EnforceFinalFields]
cmdout	[Java-Sdk-Automation] [ERROR] /mnt/vss/_work/1/s/azure-sdk-for-java/sdk/avs/azure-resourcemanager-avs/src/main/java/com/azure/resourcemanager/avs/models/PlacementPoliciesUpdateHeaders.java:24:5: Field "location" is only assigned in constructor and it is not final. You should consider making the field final, or suppressing the warning. [EnforceFinalFields]
cmdout	[Java-Sdk-Automation] [ERROR] /mnt/vss/_work/1/s/azure-sdk-for-java/sdk/avs/azure-resourcemanager-avs/src/main/java/com/azure/resourcemanager/avs/models/ClustersUpdateHeaders.java:19:5: Field "retryAfter" is only assigned in constructor and it is not final. You should consider making the field final, or suppressing the warning. [EnforceFinalFields]
cmdout	[Java-Sdk-Automation] [ERROR] /mnt/vss/_work/1/s/azure-sdk-for-java/sdk/avs/azure-resourcemanager-avs/src/main/java/com/azure/resourcemanager/avs/models/ClustersUpdateHeaders.java:24:5: Field "location" is only assigned in constructor and it is not final. You should consider making the field final, or suppressing the warning. [EnforceFinalFields]
cmdout	[Java-Sdk-Automation] [ERROR] /mnt/vss/_work/1/s/azure-sdk-for-java/sdk/avs/azure-resourcemanager-avs/src/main/java/com/azure/resourcemanager/avs/models/PrivateCloudsUpdateHeaders.java:19:5: Field "retryAfter" is only assigned in constructor and it is not final. You should consider making the field final, or suppressing the warning. [EnforceFinalFields]
cmdout	[Java-Sdk-Automation] [ERROR] /mnt/vss/_work/1/s/azure-sdk-for-java/sdk/avs/azure-resourcemanager-avs/src/main/java/com/azure/resourcemanager/avs/models/PrivateCloudsUpdateHeaders.java:24:5: Field "location" is only assigned in constructor and it is not final. You should consider making the field final, or suppressing the warning. [EnforceFinalFields]
cmdout	[Java-Sdk-Automation] [ERROR] Failed to execute goal org.apache.maven.plugins:maven-checkstyle-plugin:3.6.0:check (default) on project azure-resourcemanager-avs: Failed during checkstyle execution: There are 6 errors reported by Checkstyle 9.3 with /mnt/vss/_work/1/s/azure-sdk-for-java/sdk/avs/azure-resourcemanager-avs/../../../eng/code-quality-reports/src/main/resources/checkstyle/checkstyle.xml ruleset. -> [Help 1]
cmdout	[Java-Sdk-Automation] [ERROR]
cmdout	[Java-Sdk-Automation] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
cmdout	[Java-Sdk-Automation] [ERROR] Re-run Maven using the -X switch to enable full debug logging.
cmdout	[Java-Sdk-Automation] [ERROR]
cmdout	[Java-Sdk-Automation] [ERROR] For more information about the errors and possible solutions, please read the following articles:
cmdout	[Java-Sdk-Automation] [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
cmdout	[Java-Sdk-Automation] [ERROR]
cmdout	[Java-Sdk-Automation] [ERROR] After correcting the problems, you can resume the build with the command
cmdout	[Java-Sdk-Automation] [ERROR]   mvn <args> -rf :azure-resourcemanager-avs
cmdout	[Java-Sdk-Automation] 2025-04-24 10:53:14 [ERROR] [COMPILE] Maven build fail.
cmdout	[Java-Sdk-Automation] 2025-04-24 10:53:14 [ERROR] You can inquire in "Language - Java" Teams channel. Please include the link of this Pull Request in the query.

https://github.com/Azure/azure-rest-api-specs/pull/32946/checks?check_run_id=41078993037

I am unable to reproduce locally with:

npm install @azure-tools/typespec-java
npx tsp compile --emit @azure-tools/typespec-java specification/vmware/Microsoft.AVS.Management

Where do we see the version of @azure-tools/typespec-java that is being used?

The error is not from the emitter. It is a "checkstyle" check when running the mvn package that build the resulting code.

The reason was in my comment above. The related API is not correctly written as LRO.

You may choose to ignore this CI failure in this PR (this is not a "required" CI). But you will have to fix it before any SDK release request.

@cataggar cataggar mentioned this pull request Apr 25, 2025
9 tasks
@cataggar
Copy link
Member Author

cataggar commented Apr 25, 2025

Thanks @weidongxu-microsoft. To address the LRO issues, I created:

@cataggar
Copy link
Member Author

cataggar commented Apr 29, 2025

It looks like merging requires BreakingChange-Go-Sdk-Approved. cc @tadelesh.

@cataggar cataggar requested a review from tadelesh April 29, 2025 16:49
@cataggar cataggar merged commit a56c282 into main Apr 29, 2025
55 checks passed
@cataggar cataggar deleted the release-vmware-Microsoft.AVS/2024-09-01 branch April 29, 2025 18:06
koen-mertens pushed a commit to koen-mertens/azure-rest-api-specs that referenced this pull request May 7, 2025
nwnt pushed a commit to nwnt/azure-rest-api-specs that referenced this pull request Jun 10, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Approved-Suppression ARMAutoSignedOff ARMReview ARMSignedOff <valid label in PR review process>add this label when ARM approve updates after review BreakingChange-JavaScript-Sdk-Approved BreakingChange-Python-Sdk-Approved new-api-version PipelineBotTrigger PublishToCustomers Acknowledgement the changes will be published to Azure customers. ReadyForApiTest <valid label in PR review process>add this label when swagger and service APIs are ready for test resource-manager SuppressionReviewRequired TypeSpec Authored with TypeSpec

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Comments