SDDC での NSX のアップグレードが次のエラーで失敗する - Client 'admin' exceeded request rate of 100 per second
search cancel

SDDC での NSX のアップグレードが次のエラーで失敗する - Client 'admin' exceeded request rate of 100 per second

book

Article ID: 419117

calendar_today

Updated On:

Products

VMware Cloud Foundation VMware NSX

Issue/Introduction

免責事項:これは英文の記事「NSX upgrade fails on SDDC - Client 'admin' exceeded request rate of 100 per second」の日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。

NSX-T アップグレードの "postcheck stage" で、VCF 環境での並列クラスタアップグレードが失敗する。

Environment

VMware Cloud Foundation 3.x
VMware Cloud Foundation 4.x
VMware Cloud foundation  5.x

Cause

NSX-Tはデフォルトで1秒あたり100件のAPIリクエストをサポートしています。並列クラスタアップグレードであることにより、API リクエストがこの制限を超え、最終的に失敗する可能性があります。次のログはAPIのユーザーである「admin」を参照しています。

lcm-debug.log

ERROR [vcf_lcm,############38ac,de34,upgradeId=########-####-####-####-#######2bc4,resourceType=NSX_T_PARALLEL_CLUSTER,resourceId=######-#####-#####-###-##:_ParallelClusterUpgradeElement,bundleElementId=########-####-####-####-########396c] [c.v.e.s.l.p.i.n.s.NsxtHostClusterParallelUpgradeStageRunner,Async-10] Caught exception {"messages":[],"data":{"strValue":{"fields":{"error_message":{"value":"Client \#####user_admin\u0027 exceeded request rate of 100 per second"},"error_cod
e":{"value":102},"module_name":{"value":"common-services"}},"name":"struct"}},"errorType":{"name":"SERVICE_UNAVAILABLE"},"stackTrace":[],"suppressedExceptions":[]} while performing stage NSX_T_HOST_TYPE_POSTCHECK_STAGE. Returning status NSXT_HOST_CLUSTER
_UPGRADE_FAILED_POSTCHECK
ERROR [vcf_lcm,############38ac,de34,upgradeId=########-####-####-####-#######2bc4,resourceType=NSX_T_PARALLEL_CLUSTER,resourceId=######-#####-#####-###-##:_ParallelClusterUpgradeElement,bundleElementId=########-####-####-####-########396c] [c.v.e.s.l.p.i.n.s.NsxtHostClusterParallelUpgradeStageRunner,Async-10] Exception :
com.vmware.vapi.std.errors.ServiceUnavailable: ServiceUnavailable (com.vmware.vapi.std.errors.service_unavailable) => {
    messages = [],
    data = struct => {error_message=Client 'admin' exceeded request rate of 100 per second, error_code=102, module_name=common-services},
    errorType = SERVICE_UNAVAILABLE
}
        at com.vmware.vapi.std.errors.ServiceUnavailable._newInstance2(ServiceUnavailable.java:187)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

Resolution

回避策:

  1.  NSX-T Manager にアサインされた VIP に SSH で接続します。
  2. admin ユーザでログインします。
  3. 次のコマンドを実行します。
    get service http

    出力例

    Service name: http                                               
    Service state: running
    Session timeout: 1800 seconds
    Connection timeout: 30 seconds
    Client API rate limit: 100 requests/sec
    Client API concurrency limit: 40 connections
    Global API concurrency limit: 199 connections
    Redirect host: (not configured)

     

  4. 次のコマンドを実行して Client API rate limit を 120 に変更します。
    set service http client-api-rate-limit 120

  5. SDDC Manager からアップグレードを再実行します。

アップグレードが完了したら、client-api-rate-limit を 100 に戻すことをお勧めします。