Skip to content
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 - add managedcluster and nodetype specs 2020-01-01-preview #10085

Merged

Conversation

a-santamaria
Copy link
Member

@a-santamaria a-santamaria commented Jul 10, 2020

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

Contribution checklist:

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

ARM API Review Checklist

  • Service team MUST add the "WaitForARMFeedback" label if the management plane API changes fall into one of the below categories.
    • adding/removing APIs.
    • adding/removing properties.
    • adding/removing API-version.
    • adding a new service in Azure.

Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs.

  • If you are blocked on ARM review and want to get the PR merged urgently, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.
    Please follow the link to find more details on API review process.

@a-santamaria a-santamaria requested a review from samedder as a code owner July 10, 2020 04:46
@openapi-pipeline-app
Copy link

Swagger pipeline can not start as the pull request has merge conflicts.

@azure-pipelines
Copy link

Pull request contains merge conflicts.

@a-santamaria a-santamaria requested a review from linmeng08 July 10, 2020 04:47
@azuresdkci
Copy link
Contributor

Can one of the admins verify this patch?

@a-santamaria a-santamaria force-pushed the sfrp_2020-01-01-preview_managedclusters branch from e03c7f6 to 6ed51c1 Compare July 10, 2020 05:04
@openapi-pipeline-app
Copy link

openapi-pipeline-app bot commented Jul 10, 2020

[Staging] Swagger Validation Report

️✔️BreakingChange [Detail]
 There are no breaking changes. 
️✔️LintDiff [Detail]
 Validation passes for LintDiff. 
️✔️Avocado [Detail]
 Validation passes for Avocado. 
Posted by Swagger Pipeline | How to fix these errors?

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@openapi-sdkautomation
Copy link

openapi-sdkautomation bot commented Jul 10, 2020

Trenton Generation - Release

No readme.md specification configuration files were found that are associated with the files modified in this pull request, or swagger_to_sdk section in readme.md is not configured

@openapi-sdkautomation
Copy link

openapi-sdkautomation bot commented Jul 10, 2020

azure-sdk-for-js - Release

No readme.md specification configuration files were found that are associated with the files modified in this pull request, or swagger_to_sdk section in readme.md is not configured

@openapi-sdkautomation
Copy link

openapi-sdkautomation bot commented Jul 10, 2020

Azure CLI Extension Generation - Release

No readme.md specification configuration files were found that are associated with the files modified in this pull request, or swagger_to_sdk section in readme.md is not configured

@openapi-sdkautomation
Copy link

openapi-sdkautomation bot commented Jul 10, 2020

azure-sdk-for-python - Release

️✔️ succeeded [Logs] [Expand Details]
  • ️✔️ Generate from 3ed3369 with merge commit 5103652. SDK Automation 13.0.17.20200619.4
  • ️✔️azure-mgmt-servicefabric [View full logs]  [Release SDK Changes]
    [build_conf] INFO:packaging_tools:Building template azure-mgmt-servicefabric
    [build_conf] INFO:packaging_tools.conf:Skipping default conf since the file exists
    [build_conf] INFO:packaging_tools:Skipping CHANGELOG.md template, since a previous one was found
    [build_conf] INFO:packaging_tools:Template done azure-mgmt-servicefabric
    [build_package] /usr/lib/python3.6/distutils/dist.py:261: UserWarning: Unknown distribution option: 'long_description_content_type'
    [build_package]   warnings.warn(msg)
    [build_package] /usr/lib/python3.6/distutils/dist.py:261: UserWarning: Unknown distribution option: 'long_description_content_type'
    [build_package]   warnings.warn(msg)
    [breaking_change_setup] Ignoring mock: markers 'python_version <= "2.7"' don't match your environment
    [ChangeLog] Size of delta 7.571% size of original (original: 56146 chars, delta: 4251 chars)
    [ChangeLog] **Features**
    [ChangeLog] 
    [ChangeLog]   - Model DiagnosticsStorageAccountConfig has a new parameter protected_account_key_name2
    [ChangeLog]   - Model ApplicationUpgradePolicy has a new parameter upgrade_mode
    [ChangeLog]   - Model ApplicationResourceUpdate has a new parameter managed_identities
    [ChangeLog]   - Model ServiceResource has a new parameter service_dns_name
    [ChangeLog]   - Model StatefulServiceProperties has a new parameter service_dns_name
    [ChangeLog]   - Model StatelessServiceUpdateProperties has a new parameter instance_close_delay_duration
    [ChangeLog]   - Model StatelessServiceProperties has a new parameter service_dns_name
    [ChangeLog]   - Model StatelessServiceProperties has a new parameter instance_close_delay_duration
    [ChangeLog]   - Model ClusterUpdateParameters has a new parameter application_type_versions_cleanup_policy
    [ChangeLog]   - Model ApplicationResource has a new parameter identity
    [ChangeLog]   - Model ApplicationResource has a new parameter managed_identities
    [ChangeLog]   - Model ServiceResourceProperties has a new parameter service_dns_name
    [ChangeLog]   - Model Cluster has a new parameter application_type_versions_cleanup_policy

@openapi-sdkautomation
Copy link

openapi-sdkautomation bot commented Jul 10, 2020

azure-sdk-for-go - Release

️✔️ succeeded [Logs] [Expand Details]

@openapi-sdkautomation
Copy link

openapi-sdkautomation bot commented Jul 10, 2020

azure-sdk-for-python-track2 - Release

No readme.md specification configuration files were found that are associated with the files modified in this pull request, or swagger_to_sdk section in readme.md is not configured

@openapi-sdkautomation
Copy link

openapi-sdkautomation bot commented Jul 10, 2020

azure-sdk-for-java - Release

⚠️ warning [Logs] [Expand Details]
  • ⚠️ Generate from 3ed3369 with merge commit 5103652. SDK Automation 13.0.17.20200619.4
  • ️✔️sdk/servicefabric/mgmt-v2016_09_01 [View full logs]  [Release SDK Changes]
  • ⚠️sdk/servicefabric/mgmt-v2017_07_01_preview [View full logs]  [Release SDK Changes]
      [mvn] [ERROR] COMPILATION ERROR : 
      [mvn] [ERROR] /z/work/azure-sdk-for-java/sdk/servicefabric/mgmt-v2017_07_01_preview/src/main/java/com/microsoft/azure/management/servicefabric/v2017_07_01_preview/implementation/ClusterImpl.java:[40,22] no suitable method found for createAsync(java.lang.String,java.lang.String,java.lang.String,com.microsoft.azure.management.servicefabric.v2017_07_01_preview.implementation.ClusterInner)
      [mvn]     method com.microsoft.azure.management.servicefabric.v2017_07_01_preview.implementation.ClustersInner.createAsync(java.lang.String,java.lang.String,java.lang.String,java.lang.String,com.microsoft.azure.management.servicefabric.v2017_07_01_preview.implementation.ClusterInner,com.microsoft.rest.ServiceCallback) is not applicable
      [mvn]       (actual and formal argument lists differ in length)
      [mvn]     method com.microsoft.azure.management.servicefabric.v2017_07_01_preview.implementation.ClustersInner.createAsync(java.lang.String,java.lang.String,java.lang.String,java.lang.String,com.microsoft.azure.management.servicefabric.v2017_07_01_preview.implementation.ClusterInner) is not applicable
      [mvn]       (actual and formal argument lists differ in length)
      [mvn] [ERROR] /z/work/azure-sdk-for-java/sdk/servicefabric/mgmt-v2017_07_01_preview/src/main/java/com/microsoft/azure/management/servicefabric/v2017_07_01_preview/implementation/ClusterImpl.java:[54,22] no suitable method found for updateAsync(java.lang.String,java.lang.String,java.lang.String,com.microsoft.azure.management.servicefabric.v2017_07_01_preview.ClusterUpdateParameters)
      [mvn]     method com.microsoft.azure.management.servicefabric.v2017_07_01_preview.implementation.ClustersInner.updateAsync(java.lang.String,java.lang.String,java.lang.String,java.lang.String,com.microsoft.azure.management.servicefabric.v2017_07_01_preview.ClusterUpdateParameters,com.microsoft.rest.ServiceCallback) is not applicable
      [mvn]       (actual and formal argument lists differ in length)
      [mvn]     method com.microsoft.azure.management.servicefabric.v2017_07_01_preview.implementation.ClustersInner.updateAsync(java.lang.String,java.lang.String,java.lang.String,java.lang.String,com.microsoft.azure.management.servicefabric.v2017_07_01_preview.ClusterUpdateParameters) is not applicable
      [mvn]       (actual and formal argument lists differ in length)
      [mvn] [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project azure-mgmt-servicefabric: Compilation failure: Compilation failure: 
      [mvn] [ERROR] /z/work/azure-sdk-for-java/sdk/servicefabric/mgmt-v2017_07_01_preview/src/main/java/com/microsoft/azure/management/servicefabric/v2017_07_01_preview/implementation/ClusterImpl.java:[40,22] no suitable method found for createAsync(java.lang.String,java.lang.String,java.lang.String,com.microsoft.azure.management.servicefabric.v2017_07_01_preview.implementation.ClusterInner)
      [mvn] [ERROR]     method com.microsoft.azure.management.servicefabric.v2017_07_01_preview.implementation.ClustersInner.createAsync(java.lang.String,java.lang.String,java.lang.String,java.lang.String,com.microsoft.azure.management.servicefabric.v2017_07_01_preview.implementation.ClusterInner,com.microsoft.rest.ServiceCallback) is not applicable
      [mvn] [ERROR]       (actual and formal argument lists differ in length)
      [mvn] [ERROR]     method com.microsoft.azure.management.servicefabric.v2017_07_01_preview.implementation.ClustersInner.createAsync(java.lang.String,java.lang.String,java.lang.String,java.lang.String,com.microsoft.azure.management.servicefabric.v2017_07_01_preview.implementation.ClusterInner) is not applicable
      [mvn] [ERROR]       (actual and formal argument lists differ in length)
      [mvn] [ERROR] /z/work/azure-sdk-for-java/sdk/servicefabric/mgmt-v2017_07_01_preview/src/main/java/com/microsoft/azure/management/servicefabric/v2017_07_01_preview/implementation/ClusterImpl.java:[54,22] no suitable method found for updateAsync(java.lang.String,java.lang.String,java.lang.String,com.microsoft.azure.management.servicefabric.v2017_07_01_preview.ClusterUpdateParameters)
      [mvn] [ERROR]     method com.microsoft.azure.management.servicefabric.v2017_07_01_preview.implementation.ClustersInner.updateAsync(java.lang.String,java.lang.String,java.lang.String,java.lang.String,com.microsoft.azure.management.servicefabric.v2017_07_01_preview.ClusterUpdateParameters,com.microsoft.rest.ServiceCallback) is not applicable
      [mvn] [ERROR]       (actual and formal argument lists differ in length)
      [mvn] [ERROR]     method com.microsoft.azure.management.servicefabric.v2017_07_01_preview.implementation.ClustersInner.updateAsync(java.lang.String,java.lang.String,java.lang.String,java.lang.String,com.microsoft.azure.management.servicefabric.v2017_07_01_preview.ClusterUpdateParameters) is not applicable
      [mvn] [ERROR]       (actual and formal argument lists differ in length)
      [mvn] [ERROR] -> [Help 1]
      [mvn] [ERROR] 
      [mvn] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
      [mvn] [ERROR] Re-run Maven using the -X switch to enable full debug logging.
      [mvn] [ERROR] 
      [mvn] [ERROR] For more information about the errors and possible solutions, please read the following articles:
      [mvn] [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
    • ️✔️sdk/servicefabric/mgmt-v2018_02_01 [View full logs]  [Release SDK Changes]

    @openapi-sdkautomation
    Copy link

    openapi-sdkautomation bot commented Jul 10, 2020

    azure-sdk-for-net - Release

    ️✔️ succeeded [Logs] [Expand Details]

    @azure-pipelines
    Copy link

    Azure Pipelines successfully started running 1 pipeline(s).

    @azure-pipelines
    Copy link

    Azure Pipelines successfully started running 1 pipeline(s).

    @a-santamaria a-santamaria added the WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required label Jul 10, 2020
    },
    "adminPassword": {
    "type": "string",
    "format": "password",
    Copy link
    Contributor

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

         "format": "password [](start = 0, length = 29)
    

    Please go through https://armwiki.azurewebsites.net/rp_onboarding/process/api_review_best_practices.html?q=best%20practice
    In this case please annotate using x-ms-secret: true

    Copy link
    Member Author

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    done thanks

    @azure-pipelines
    Copy link

    Azure Pipelines successfully started running 1 pipeline(s).

    @a-santamaria
    Copy link
    Member Author

    a-santamaria commented Jul 15, 2020

    @chiragg4u thanks for reviewing. I have fixed some of the comments and added a response to others, could you take a look again?

    @chiragg4u
    Copy link
    Contributor

    Thanks for taking the comments. In general the changes looks like you are modeling ServiceFabric nodes which will contain VMSS nodes. AFAIK VMSS team is also planning to come up the tracked resource for VMSS object, and I've few questions

    1. How will this model interact with those object?
    2. How will deployments for SF clusters vs VMSS would work?

    @a-santamaria
    Copy link
    Member Author

    Thanks for taking the comments. In general the changes looks like you are modeling ServiceFabric nodes which will contain VMSS nodes. AFAIK VMSS team is also planning to come up the tracked resource for VMSS object, and I've few questions

    1. How will this model interact with those object?
    2. How will deployments for SF clusters vs VMSS would work?

    The idea of this new model is for SFRP to manage the entire resource group for the essential components of the service fabric cluster that includes VMSS, VNet/Load Balancer and storage account. In the Previous model SFRP only had control over the ‘cluster’ resource that was mostly configurations about the cluster but all the other resources (VMSS / VNet / etc) where the actual cluster runs on was managed by the customer and had to be in sync.
    The node type resource represents each node type in the service fabric cluster that also maps to one VMSS resource, we decided to model it as a separate resource from the managed cluster to be able to perform operation on them independently.

    @chiragg4u chiragg4u added ARMSignedOff <valid label in PR review process>add this label when ARM approve updates after review and removed WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required labels Jul 17, 2020
    @a-santamaria
    Copy link
    Member Author

    a-santamaria commented Jul 20, 2020

    @leni-msft this has been signed off by ARM can we merge the pr, please?

    @leni-msft leni-msft self-requested a review July 21, 2020 05:27
    @leni-msft leni-msft merged commit 5103652 into Azure:master Jul 21, 2020
    "format": "password",
    "description": "vm admin user password."
    },
    "loadBalancingRules": {
    Copy link
    Member

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    @a-santamaria this is not a valid array declaration and is breaking our tooling currently. Also, what did the generated SDK look like for this property and the ones below?

    Take a look at https://swagger.io/docs/specification/data-models/data-types/#array to see how arrays are supposed to work in Swagger.

    @leni-msft How did this get past the linters?

    "$ref": "#/definitions/LoadBalancingRule",
    "description": "Describes a load balancing rule."
    },
    "clients": {
    Copy link
    Member

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    This has a similar problem as loadBalancingRules. Same for any other property of type array with $ref at the same level.

    @a-santamaria a-santamaria mentioned this pull request Jul 24, 2020
    10 tasks
    00Kai0 pushed a commit to 00Kai0/azure-rest-api-specs that referenced this pull request Oct 12, 2020
    …view (Azure#10085)
    
    * adding managedcluster and nodetype specs
    
    * remove name form put requests
    
    * fix descriptions
    
    * fix typos
    
    * run prettier-fix
    
    * change api version to 2020-01-01-preview
    
    * rename vmSku parameter to vmSize
    
    * fix fqdn and clusterCertificateCommonName in examples
    
    * fix comments and update with latest
    
    * prettier fixes and fix typos
    
    * renaming example to see if validtion can find it
    
    * add operations example and secret tag to password
    
    Co-authored-by: Alfredo Santamaria Gomez <alsantam@microsoft.com>
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Labels
    ARMSignedOff <valid label in PR review process>add this label when ARM approve updates after review
    Projects
    None yet
    Development

    Successfully merging this pull request may close these issues.

    5 participants