By setting 'allow_disk_autoselect: True' user grants to framework permission
to autodiscover and override DUT's disks.
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
This fixes CAS-on-LVM scenario. Currently how CAS works:
1. LVM instantinates device nodes (not usable at this point)
2. CAS tries to add cores (fails)
3. LVM ends device configuration and issues change uevent
4. We ignore change uevents so we do nothing
This patch makes sure we don't ignore change uevents.
Still, some messages about not being able to open core device
can show up in syslog - there's room for improvement.
Signed-off-by: Jan Musial <jan.musial@intel.com>
Current startup procedure works on an assumption that we will
deal with asynchronously appearing devices in asynchronous way
(udev rules) and synchronous events in the system (systemd units)
won't interfere. If we would break anything (mounts) we would just
take those units and restart them. This tactic was working as long
as resetting systemd units took reasonable time.
As hackish as it sounds it worked in all systems that the software
has been validated on. Unfortunately it stopped working because
of *.mount units taking MUCH longer time to restart even on
mainstream OSes, so it's time to change.
This change implements open-cas systemd service which will wait
synchronously with systemd bootup process for all required Open CAS
devices to start. If they don't we fail the boot process just as
failing mounts would. We also make sure that this process takes place
before any mounts (aside from root FS and other critical FS's) are
even attempted. Now opencas-mount-utility can be discarded.
To override this behaviour on per-core basis you can specify
lazy_startup=true option in opencas.conf.
Signed-off-by: Jan Musial <jan.musial@intel.com>
The base_prepare() function is now called automatically during test
setup so there is no longer need to call it from each test manually.
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
As tests are now part of OCL repository, we prefer to always
run tests from local repository version on the same version
of OCL, so instead of cloning OCL from GitHub we just copy
local repository to DUT.
This also simplifies running remote tests in development
environment without need to push work-in-progress commits
to GitHub or installing OCL manually on DUT.
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>