bosh-deployment: virtualbox/create-env.sh "Mounting persistent disk" error with upgrade to VirtualBox 6.1 (from 6.0)

We found that the recent update to VirtualBox from 6.0 -> 6.1 has broken bosh-deployment/virtualbox/create-env.sh with the following error:

Started deploying
  Creating VM for instance 'bosh/0' from stemcell 'sc-e8b65e9f-4e9c-47f4-459a-198a62168ea3'... Finished (00:00:01)
  Waiting for the agent on VM 'vm-65636d87-3ea9-4735-5395-69ecf9d0d78a' to be ready... Finished (00:00:33)
  Creating disk... Finished (00:00:00)
  Attaching disk 'disk-e294dc0d-e3a2-44d0-7039-82c2ebfcc1d6' to VM 'vm-65636d87-3ea9-4735-5395-69ecf9d0d78a'... Failed (00:01:12)
Failed deploying (00:01:47)
Cleaning up rendered CPI jobs... Finished (00:00:00)
Deploying:
  Creating instance 'bosh/0':
    Updating instance disks:
      Updating disks:
        Deploying disk:
          Mounting disk:
            Sending 'get_task' to the agent:
              Agent responded with error: Action Failed get_task: Task e99bae98-06be-4b4d-4099-c32229131e20 result: Mounting persistent disk: Getting real device path: Timed out getting real device path for '1ATA'
Exit code 1

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Reactions: 7
  • Comments: 25 (7 by maintainers)

Commits related to this issue

Most upvoted comments

@jfmyers9 I also run into this issue and tried to analyze the root cause. I have posted my detailed analysis at the virtualbox-cpi repository https://github.com/cppforlife/bosh-virtualbox-cpi-release/issues/18 .

In short, the virtualbox-cpi does to wrong things:

  • it tries to hotplug an IDE-device, which was never supposed to work.
    • Therefore, all handling of disks should be moved to SATA
  • it uses an internal / debugging tool to perform the actual disk attache, which is explicitly document as not notifying the guest OS (chapter 9.22, line 4, of the VirtualBox manual, revision 6.1
    • Therefore, it should do a simple VBoxManage storageattach <vm_name> --storagectl <ctrl_name> --port <port_num> --device 0 --type hdd --medium <file_name> against the running VM. No pause and resume cycle.

Unfortunately, I can’t fix this myself, because I am illiterate in GO. And there seems to be no documentation of the virtualbox-cpi nor how to build a local release and then use that local release in a “create-env” call.

@rkoster My latest attempt at using bosh-deployment worked fine for creating a virtualbox environment.

My only remaining issue is here: https://github.com/cloudfoundry/bosh-virtualbox-cpi-release/issues/21