canonical / checkbox

Checkbox
https://checkbox.readthedocs.io
GNU General Public License v3.0
30 stars 46 forks source link

storage_device_* test issues #1330

Open plars opened 2 months ago

plars commented 2 months ago

Bug Description

Several possible issues with this test that I'm seeing...

  1. It fails on a cm3 where we try to run it because there's only a built-in emmc which only has 4GB. After the OS and kernel upgrade there's typically only about 20-40MB free. The default file it creates is much larger. It looks like the test checks the available free space, but doesn't attempt to restrict it to something that will work:
    Testing disk mmcblk0
    identified as a disk...
    test will be run on partition /dev/mmcblk0p2
    /dev/mmcblk0p2 already mounted at /
    19.4375MB of free space avaialble
    Forcing memory setting to 4.859375MB
    + bonnie++ -d / -u root -r 4.859375
    Using uid:0, gid:0.
    Writing a byte at a time...done
    Writing intelligently...Can't write block.: No such file or directory
    Can't write block 23359.
    Traceback (most recent call last):
    File "/tmp/nest-1yz0jf9o.f7d8140b3d66637aba3a9fe2c93b503cfc33f293ecfed6c336a94420bd417bcb/storage_test.py", line 157, in <module>
    main()
    File "/tmp/nest-1yz0jf9o.f7d8140b3d66637aba3a9fe2c93b503cfc33f293ecfed6c336a94420bd417bcb/storage_test.py", line 153, in main
    disk_test(udev_name)
    File "/tmp/nest-1yz0jf9o.f7d8140b3d66637aba3a9fe2c93b503cfc33f293ecfed6c336a94420bd417bcb/storage_test.py", line 142, in disk_test
    run_bonnie(mount_dir)
    File "/tmp/nest-1yz0jf9o.f7d8140b3d66637aba3a9fe2c93b503cfc33f293ecfed6c336a94420bd417bcb/storage_test.py", line 98, in run_bonnie
    sp.check_call(cmd, shell=True)
    File "/usr/lib/python3.8/subprocess.py", line 364, in check_call
    raise CalledProcessError(retcode, cmd)
    subprocess.CalledProcessError: Command 'bonnie++ -d / -u root -r 4.859375' returned non-zero exit status 1.
  2. I don't think it should be trying to run the test at all on this device. It's the root device, and is also a sd/emmc type device. ISTR we have some other tests that do some checks to make sure they don't do io stress-type tests on devices that are prone to wear issues like this. In this case, since it's an emmc, I don't think we should run it at all since the device will be useless once we burn out this emmc.

To Reproduce

run the storage_device_mmcblk0 test on a device with emmc (such as cm3)

Environment

ubuntu 20.04 on cm3

Relevant log output

See logs above in the description

Additional context

No response

syncronize-issues-to-jira[bot] commented 2 months ago

Thank you for reporting us your feedback!

The internal ticket has been created: https://warthogs.atlassian.net/browse/CHECKBOX-1485.

This message was autogenerated