Moblab VM issue with USB mounting |
|||
Issue descriptionThere are still some false pre CQ rejections like: https://cros-goldeneye.corp.google.com/chromeos/healthmonitoring/buildDetails?buildbucketId=8951344699614489792 2018-03-22T16:20:56.952441+00:00 NOTICE moblab-database-init[2436]: Ending. 2018-03-22T16:20:56.986570+00:00 NOTICE moblab-database-test-importer[2446]: Starting. 2018-03-22T16:20:56.998000+00:00 NOTICE moblab-external-storage-init[2453]: Starting 2018-03-22T16:20:58.008900+00:00 NOTICE moblab-external-storage-init[2460]: No disk labeled MOBLAB-STORAGE found! 2018-03-22T16:20:58.024280+00:00 NOTICE moblab-external-storage-init[2465]: Moblab will not launch. Please insert a 2018-03-22T16:20:58.026977+00:00 NOTICE moblab-external-storage-init[2466]: properly configured drive and reboot. My workaround on the init script for external storage has helped but there is some fundamental issue with the VM where we are booting before the USB mounts are ready.
,
Mar 22 2018
,
Mar 22 2018
On a VM the boot script is starting before the USB device is being mounted. I do not see this on physical devices, I know very little about how VM's treat external USB disks, I see the disk being created here: https://cs.corp.google.com/chromeos_public/chromite/lib/moblab_vm.py?rcl=051b1952ca4b29bde5f5b1f07ce0e1fff20d9fce&l=496 But I am not sure how exactly a VM "mounts" that disk and if it behaves in exactly the same way as a real device, the boot script waits for cros_disks to be started, if the VM mounting is not using the same method we might need some other signal to know a VM has completed all external device mounting.
,
Mar 22 2018
The udev script that handles the mounting of the file system could emit a "MOBLAB-MOUNTED" event to upstart somehow, no? Or just entirely move the script from upstart to udev control scripts? does this have to use upstart at all?
,
Mar 22 2018
Re #3, the disk is provided on the qemu commandline. This _should_ boot the VM such that disk is present from the beginning. Also, the failed build in the link in OP has a different failure reason: /tmp/cbuildbotYqCXm8/results/results-1-moblab_DummyServerNoSspSuite/moblab_RunSuite 03/22 11:23:09.501 ERROR| utils:0282| [stderr] @@@STEP_LINK@[Test-Logs]: provision: FAIL: Failed to update 192.168.231.100 to build R67-10509.0.0-b2404993; found build 10509.0.2018_03_22_0824 instead@http://localhost/tko/retrieve_logs.cgi?job=/results/2-moblab/@@@ That is the same as issue 824956 Did you include the wrong link?
,
Mar 22 2018
No - I was aware that the failure was because of the provision issue, I found this as part of the investigation and filed it since it happens long before the provision starts and some parts of the init script will not be run in this condition and so things are not being tested / perhaps will not work. I have not found the root cause of the failure. Another build link https://uberchromegw.corp.google.com/i/chromiumos.tryserver/builders/pre_cq/builds/91251
,
Mar 22 2018
So I might have got a bit confused it seem this log is part of the provisioning of the sub dut - are we putting moblab on the sub dut as well ? I thought it was a betty image we were using. Sorry if this is just my mix up. https://pantheon.corp.google.com/storage/browser/chromeos-image-archive/moblab-generic-vm-pre-cq/R67-10508.0.0-b2403238/moblab_vm_test_results/results-1-moblab_DummyServerNoSspSuite/sysinfo/mnt/moblab/results/hosts/192.168.231.100/2-provision/sysinfo/var/spool/crash/
,
Jun 28 2018
I think this is fixed - I put some logic in to delay before trying to detect the external usb Also I made some changes where the moblab will still correctly boot if the readlink fails, but assume no external disk |
|||
►
Sign in to add a comment |
|||
Comment 1 by shuqianz@chromium.org
, Mar 22 2018