vRO ワークフローまたは vRA の UI/API 呼び出しで 100 台を超えるマシンを取得できない
search cancel

vRO ワークフローまたは vRA の UI/API 呼び出しで 100 台を超えるマシンを取得できない

book

Article ID: 342052

calendar_today

Updated On:

Products

VMware Aria Suite

Issue/Introduction

  • vRealize Orchestrator (vRO) ワークフローまたは vRealize Automation (vRA) UI/API 呼び出しで 100 台を超えるマシンを取得しようとすると失敗する。
  • vRealize Orchestrator server.log ファイルに次のようなエントリが表示される。

    016-12-22 13:22:23.689+0000 [https-jsse-nio-0.0.0.0-8281-exec-7] ERROR {} [ResponseErrorHandler] [Rest Composite Exception]: ( [Rest Error]: {Status code: 400}, {Error code: 20152} , {Error Source: null}, {Error Msg: Error while retrieving resources from provider [Infrastructure Service] for resource type [Machine].}, {System Msg: Error while retrieving resources from provider [{[email protected]}] for resource type [{com.vmware.csp.component.iaas.proxy.provider@resource.type.registration.name.Infrastructure.Machine}].}) ( [Rest Error]: {Status code: 400}, {Error code: 42000} , {Error Source: null}, {Error Msg: Request was denied due to exceeded resource size limit.The maximum number of resources allowed is 100.}, {System Msg: Infrastructure service provider error: Request was denied due to exceeded resource size limit.The maximum number of resources allowed is 100.})
    2016-12-22 13:22:23.690+0000 [https-jsse-nio-0.0.0.0-8281-exec-7] ERROR {} [InventoryService] findChildrenInRelation error! host: everyone (a26127ad-e702-4662-8c8a-1abcdcf98669), type: VCACHost, id: a26127ad-e702-4662-8c8a-1abcdcf98669, relationName: CatalogResource, exception: com.vmware.vcac.platform.rest.client.error.RestCompositeException: [Rest Composite Exception]: ( [Rest Error]: {Status code: 400}, {Error code: 20152} , {Error Source: null}, {Error Msg: Error while retrieving resources from provider [Infrastructure Service] for resource type [Machine].}, {System Msg: Error while retrieving resources from provider [{[email protected]}] for resource type [{com.vmware.csp.component.iaas.proxy.provider@resource.type.registration.name.Infrastructure.Machine}].}) ( [Rest Error]: {Status code: 400}, {Error code: 42000} , {Error Source: null}, {Error Msg: Request was denied due to exceeded resource size limit.The maximum number of resources allowed is 100.}, {System Msg: Infrastructure service provider error: Request was denied due to exceeded resource size limit.The maximum number of resources allowed is 100

  • <Install drive>\Program Files (x86)\Vmware\vCAC\Web API\Logs\Elmah にある IaaS Web Server WAPI Elmah のログに次のようなエントリが記録される。

    Request was denied due to exceeded resource size limit.The maximum number of resources allowed is 100.

  • /var/log/vmware/vcac/catalina.out ファイルにある vRealize Automation ログに、次のようなエラーが表示される。

    {"code":42000,"message":"Request was denied due to exceeded resource size limit.The maximum number of resources allowed is 100.","systemMessage":"Infrastructure service provider error: Request was denied due to exceeded resource size limit.The maximum number of resources allowed is 100.","moreInfoUrl":null}

:前述のログの引用は単なる例です。日付、時間、および環境変数は、環境によって異なる場合があります。


Symptoms:
免責事項:これは英文の記事「Unable to retrieve over 100 machines in vRO workflow or vRA UI/API call (2149013)」の日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。

Environment

VMware vRealize Automation 7.2.x
VMware vRealize Orchestrator 7.2.x

Cause

vRealize Automation 7.2 では、大量のマシンがクエリされたときに一度に 100 台を超えるマシンを検索できないという障害に対処するための変更が導入されました。

Resolution

この問題は vRealize Automation 7.3 で解決されており、VMware Downloads から入手できます。
REST API を使用してこの問題を解決するには、API 呼び出しの最後に次の情報を追加してページング情報を指定します。

?page=<page>&limit=<limit>

例:
catalogItems を呼び出した場合、次のようになります。
https://<vrva_url>/catalog-service/api/consumer/resources?page=1&limit=<some_number_less_than_100>
vRA REST API とその機能の詳細については、『vRealize Automation 7.2 Developer Resources Guide』のドキュメントを参照してください。
vRealize Orchestrator ワークフローでこの問題を回避するには、vCAC プラグインのホストとページネーションの詳細を追加します。
例:
var myvCACCAFEOdataQuery = new vCACCAFEOdataQuery();
var myFilter = vCACCAFEFilterParam.substringOf("name" , "'" + nameFilter + "'");
myvCACCAFEOdataQuery.addFilter([myFilter]);
var myvCACCAFEPageOdataRequest = new vCACCAFEPageOdataRequest(page , pageLimit , myvCACCAFEOdataQuery);
var items = host.createCatalogClient().getCatalogConsumerCatalogItemService().getCatalogItems(myvCACCAFEPageOdataRequest);
System.log(items);



Additional Information

:vRO のインベントリ ツリーではページネーションはサポートされていないため、vCAC プラグインの find/find all メソッドではページネーションはサポートされていません。Unable to retrieve over 100 machines in vRO workflow or vRA UI/API call