vmware / photon

Minimal Linux container host
https://vmware.github.io/photon
Other
3.01k stars 699 forks source link

"Failed to mount the CD" on install #791

Closed a42887 closed 6 years ago

a42887 commented 6 years ago

I am continually getting stuck at line 104 in iso_config.py when trying to install. I have tried installing from USB DVD drive, both in UEFI and Legacy, both with Secure Boot on and off, as well as with a virtual CD through Intel AMT. It dies at this spot every single time. I can manually execute the mount command, and it mounts just fine, but I don't know how to resume the installation.

It also tells me to check the logs, which output:

mount: special device /dev/cdrom does not exist mount: special device /dev/cdrom does not exist mount: special device /dev/cdrom does not exist Traceback (most recent call last): File "./isoInstaller.py", line 341, in <module> curses.wrapper(isoInstaller, options.options_file) File "/usr/lib/python2.7/curses/wrapper.py", line 43, in wrapper return func(stdscr, *args, **kwds) File "./isoInstaller.py", line 327, in __init__ self.mount_RPMS_cd() File "./isoInstaller.py", line 88, in mount_RPMS_cd raise Exception("Can not mount the cd") Exception: Can not mount the cd

a42887 commented 6 years ago

Well, I believe I've figured out the issue. It appears that the timeout for the host to find the CDROM to mount whatever it needs to is way too short. I was trying to initially install from a USB CDROM, and then through a remote-IDE CDROM through Intel AMT. Both of them had enough delay in them to cause it to fail because the window it waits to mount is way too short. The USB CDROM wouldn't spin up fast enough, and the remote mount wasn't fast enough over the network. Believe there needs to be a change to the timeout for this, or a separate parameter that can be issued at the initial installation screen to allow for more time for this to mount.

srivatsabhat commented 6 years ago

@a42887 Thank you for reporting this issue and also finding the root-cause!

It looks like we have a loop that tries mounting 3 times, with a 1-second delay after each attempt. https://github.com/vmware/photon/blob/4b5126e5dd7991188d74fea3571e2b9890a87acb/installer/isoInstaller.py#L78

A good solution to your problem would be to figure out how long your setup takes to find the cdrom device, and extend the loop counter so that the retry loop waits for that duration (without changing the sleep interval, so as to not slow down installation on other setups needlessly).

Would you like to send us a pull request with this fix?

suezzelur commented 6 years ago

Please re-open in the form of a pull request if you need to fix this behavior.