VMware Cloud Director へ OVF または OVA をアップロードする際に、 "Unable to retrieve OVF descriptor" および "Error during content upload: Timed out" が発生する
search cancel

VMware Cloud Director へ OVF または OVA をアップロードする際に、 "Unable to retrieve OVF descriptor" および "Error during content upload: Timed out" が発生する

book

Article ID: 427763

calendar_today

Updated On:

Products

VMware Cloud Director

Issue/Introduction

免責事項:これは英文の記事 「Error: "Unable to retrieve OVF descriptor" and "Error during content upload: Timed out" errors when trying to upload an OVF or OVA to Cloud Director」の日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。


  • OVF または OVA をアップロードする際、 "Timed Out" "Unable to retrieve OVF descriptor" および "Error during content upload: Timed out" エラーが発生します
  • タスクは正常に開始されますが、1%の状態で停止したままとなり、最終的にタイムアウトして失敗します
  • /opt/vmware/vcloud-director/logs/vcloud-container-debug.log ファイルに以下のようなログが記録されます :

| DEBUG | content-library-activity-pool2 | CreateLibraryItemActivity | [Activity Execution] Running phase: WaitForVAlcObjectCreationPhase - Handle: urn:uuid:####-####-####-####-############, Current Phase: CreateLibraryItemActivity$WaitForVAlcObjectCreationPhase

| DEBUG | task-service-activity-pool-10 | ReceivingSocketImpl    | Resource my-vm-disk.vmdk not fully transferred yet (###,###,###/###,###,###) for transfer session <TASK_UUID>

| DEBUG | task-service-activity-pool-10 | ReceivingSocketImpl    | Resource my-vm-disk.vmdk not fully transferred yet (###,###,###/###,###,###) for transfer session <TASK_UUID>

| DEBUG | task-service-activity-pool-10 | ReceivingSocketImpl    | Resource my-vm-disk.vmdk not fully transferred yet (###,###,###/###,###,###) for transfer session TASK_UUID

| DEBUG | task-service-activity-pool-10 | ReceivingSocketImpl    | Resource my-vm-disk.vmdk not fully transferred yet (###,###,###/###,###,###) for transfer session <TASK_UUID>

  • 最終的には以下のログのようにタイムアウトが発生し、処理は失敗します :

| ERROR | task-service-activity-pool-10 | FutureUtil        | Transfer session: <TASK_UUID>, vApp/template: NewvApp. Unable to retrieve OVF descriptor.

| ERROR | task-service-activity-pool-10 | ReceivingSocketImpl    | Transfer session <TASK_UUID> no longer exists (timed out)

| WARN | task-service-activity-pool-10 | VAppUploadManagerImpl   | Transfer session: <TASK_UUID>. Error during content upload: Timed out.

com.vmware.vcloud.api.presentation.service.TimedoutException: Timed out.

    at com.vmware.vcloud.fabric.transfer.impl.ReceivingSocketImpl$FileImportResourceFuture.isDone(ReceivingSocketImpl.java:117)

    at com.vmware.vcloud.common.future.FutureUtil.waitForFutureOrCancel(FutureUtil.java:132)

    at com.vmware.ssdc.backend.services.impl.VAppUploadManagerImpl.handleContentUploaded(VAppUploadManagerImpl.java:3131)

    at com.vmware.ssdc.backend.services.impl.VAppUploadManagerImpl.handleUploadBody(VAppUploadManagerImpl.java:2002)

    at com.vmware.ssdc.backend.services.impl.VAppUploadManagerImpl.handleUpload(VAppUploadManagerImpl.java:1908)

    at com.vmware.ssdc.backend.services.impl.VAppUploadManagerImpl.executeTask(VAppUploadManagerImpl.java:4850)

...

| DEBUG  | task-service-activity-pool-10 | VAppUploadManagerImpl | Transfer session: <TASK_UUID>. vApp/template name: NewvApp. Marked vApp/template as failed. Previous status: TRANSFER_TIMEOUT

  • ログには、転送されたバイト数がディスクのサイズを超過している旨が記録されます :
| DEBUG | task-service-activity-pool-10 | ReceivingSocketImpl    | Resource my-vm-disk.vmdk not fully transferred yet (###,###,###/###,###,###) for transfer session <TASK_UUID>

Environment

VMware Cloud Director 10.6

Cause

この問題は、アップロードされた OVF 記述子ファイル内で、不適切なディスクサイズが指定されている場合に発生する可能性があります。

Resolution

この問題を解決するには、 OVF 記述子ファイルの <References> セクションにある ovf:size パラメータを、 VMDK ファイルの実際のサイズ(バイト単位)へ修正します。

      <ovf:File ovf:href="disk1.vmdk" ovf:id="disk1" ovf:size="#####"></ovf:File>

実際のファイルサイズは、 dir コマンドで確認できます。
 以下は、仮想ディスク ####.vmdk (682510336バイト) における出力例です。

     C:\###>dir /-C ####.vmdk
      mm/dd/yyyy hh:mm 682510336 ####.vmdk