-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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
Service Fabric Managed Clusters - initial skd with api version 2021-01-01-preview #18875
Service Fabric Managed Clusters - initial skd with api version 2021-01-01-preview #18875
Conversation
This pull request is protected by Check Enforcer. What is Check Enforcer?Check Enforcer helps ensure all pull requests are covered by at least one check-run (typically an Azure Pipeline). When all check-runs associated with this pull request pass then Check Enforcer itself will pass. Why am I getting this message?You are getting this message because Check Enforcer did not detect any check-runs being associated with this pull request within five minutes. This may indicate that your pull request is not covered by any pipelines and so Check Enforcer is correctly blocking the pull request being merged. What should I do now?If the check-enforcer check-run is not passing and all other check-runs associated with this PR are passing (excluding license-cla) then you could try telling Check Enforcer to evaluate your pull request again. You can do this by adding a comment to this pull request as follows: What if I am onboarding a new service?Often, new services do not have validation pipelines associated with them. In order to bootstrap pipelines for a new service, please perform following steps: For data-plane/track 2 SDKs Issue the following command as a pull request comment:
For track 1 management-plane SDKsPlease open a separate PR and to your service SDK path in this file. Once that PR has been merged, you can re-run the pipeline to trigger the verification. |
adding managed clusters to eng\pipelines\mgmt.yml here: #18888 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some comments inline. Also, to make your build and tests run in ci, you need to add a reference to your project here: https://github.com/Azure/azure-sdk-for-net/blob/master/eng/pipelines/mgmt.yml
<PackageId>Microsoft.Azure.Management.ServiceFabricManagedClusters</PackageId> | ||
<Description>Microsoft Azure Management ServiceFabricManagedClusters Library</Description> | ||
<AssemblyName>Microsoft.Azure.Management.ServiceFabricManagedClusters</AssemblyName> | ||
<Version>0.1.0</Version> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
First version should be '1.0.0-beta.1'
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
changed
<Description>Microsoft Azure Management ServiceFabricManagedClusters Library</Description> | ||
<AssemblyName>Microsoft.Azure.Management.ServiceFabricManagedClusters</AssemblyName> | ||
<Version>0.1.0</Version> | ||
<PackageTags>Microsoft Azure Management Library;ServiceFabricManagedClusters;ServiceFabricManagedClusters management;</PackageTags> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also, need to add an 'Properties\AssemblyInfo.cs' file to provide metadata for the assembly (see other projects for specifics)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
added
using System.Net.Http.Headers; | ||
using System.Threading.Tasks; | ||
|
||
public class RecordedDelegatingHandler : DelegatingHandler |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why are you adding this? There is already a similar delegating handler in the test framework
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
removed
CreateAppType(serviceFabricMcClient, resourceGroupName, clusterName, cluster.ClusterId, AppTypeName); | ||
var appTypeVersion = CreateAppTypeVersion(serviceFabricMcClient, resourceGroupName, clusterName, cluster.ClusterId, AppTypeName, AppTypeVersionName, AppPackageUrl); | ||
CreateApplication(serviceFabricMcClient, resourceGroupName, clusterName, cluster.ClusterId, AppName, appTypeVersion.Id); | ||
CreateService(serviceFabricMcClient, resourceGroupName, clusterName, cluster.ClusterId, AppName, StatefulServiceTypeName, StatefulServiceName); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are no assertions over the properties of the returned types. It is generally a good idea to ensure that the serialization/deserialization of properties is working end-to-end in at east one test
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thanks, I added properties validations
// regenerated. | ||
// </auto-generated> | ||
|
||
namespace Microsoft.Azure.Management.ServiceFabricManagedClusters.Models |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So, this is occurring because your spec is not referencing the common ARM error model (https://github.com/Azure/azure-rest-api-specs/blob/master/specification/common-types/resource-management/v1/types.json#L277). Using a custom error like this, rather than the exception form the management library will make it more difficult to handle errors uniformly across RP sdks for the customer
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok. I understand thanks! we will fix this on the next swagger update
…validation in tests
I created a separate pr #18888 as suggested by the check-enforcer comment. Also added it in this pr |
@markcowl I have addressed the comments, please review the update. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One question about the service reference in the test project, otherwise, LGTM
All SDK Contribution checklist:
Support for service fabric managed clusters with the api version 2020-01-01-preview swagger link: https://github.com/Azure/azure-rest-api-specs/tree/master/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabricManagedClusters/preview/2021-01-01-preview
swagger prs:
initial pr: Azure/azure-rest-api-specs#12639
missing properties and fixes: Azure/azure-rest-api-specs#12858
This checklist is used to make sure that common guidelines for a pull request are followed.
Draft
mode if it is:General Guidelines and Best Practices
Testing Guidelines
SDK Generation Guidelines
*.csproj
andAssemblyInfo.cs
files have been updated with the new version of the SDK. Please double check nuget.org current release version.Additional management plane SDK specific contribution checklist:
Note: Only applies to
Microsoft.Azure.Management.[RP]
orAzure.ResourceManager.[RP]
Management plane SDK Troubleshooting
new service
label and/or contact assigned reviewer.Verify Code Generation
step, please ensure:generate.ps1/cmd
to generate this PR instead of callingautorest
directly.Please pay attention to the @microsoft.csharp version output after running generate.ps1. If it is lower than current released version (2.3.82), please run it again as it should pull down the latest version,
Old outstanding PR cleanup
Please note:
If PRs (including draft) has been out for more than 60 days and there are no responses from our query or followups, they will be closed to maintain a concise list for our reviewers.