Boot volume creation failure
search cancel

Boot volume creation failure

book

Article ID: 385478

calendar_today

Updated On:

Products

VMware Integrated OpenStack

Issue/Introduction

  • Creation of volume for Boot, which is created by specifying an image file, fails.
  • Cinder volume logs may show similar:
    cinder-volume[922]: 2024-12-25 00:00:03.870 10 ERROR cinder.volume.drivers.vmware.vmdk oslo_vmware.exceptions.FileLockedException: Unable to access file /vmfs/volumes/vsan:################-################/########-####-####-####-############/########-####-####-####-############.vmdk since it is locked

Environment

7.3

Cause

On the client side, a normal workflow to download a VMDK file with NFC is:

  • Acquire a lease from vCenter. The returned lease included a URL, among other information.
  • Create a NFC connection with the returned URL. It's either a HTTP or HTTPs connection.
  • Send a HTTP header that includes the image's length.
  • Send VMDK file by chunks with periodic progress update.
  • Once the entire VMDK file is sent:
    • Release the lease
    • Get HTTP response
    • Close the HTTP connection

The existing implementation doesn't get HTTP response before closing the HTTP connection. As a consequence, it might create a potential race condition on the server side as shown above that could end up with the server deleting the received incomplete VMDK file, which the client has no knowledge of.

Resolution

Please find attached one-off patch for VIO 7.3: vio-patch-7.3.0-pr3464424.tgz

  1. Copy the file vio-patch-7.3.0-pr3464424.tgz to the vio-manager
  2. Add the patch: 
    #viocli oneoffpatch add -l vio-patch-7.3.0-pr3464424.tgz
  3.  Execute this command:
    #viocli oneoffpatch install -p vio-patch-7.3.0-pr3464424

Note: If you need to uninstall the patch, execute the command:  #viocli oneoffpatch uninstall -p vio-patch-7.3.0-pr3464424

If the error is still reproducible after installing the one-off patch, please create a vio support bundle and collect the output generated by:

osctl exec -ti cinder-volume-0 -- cat /usr/lib/python3.7/site-packages/oslo_vmware/rw_handles.py > rw_handles.py

before uninstalling the one-off patch.

Attachments

vio-patch-7.3.0-pr3464424.tgz get_app