Commit Graph

21 Commits

Author SHA1 Message Date
Jan Musial
fa167c267f Add support for failover states in opencas.conf
Signed-off-by: Jan Musial <jan.musial@intel.com>
2022-02-10 12:06:37 +01:00
Jan Musial
a187813d13 Minor improvements in opencas.py/casctl
Signed-off-by: Jan Musial <jan.musial@intel.com>
2022-02-10 12:06:37 +01:00
Rafal Stefanowski
acec05060d Fix license
Change license to BSD-3-Clause

Signed-off-by: Rafal Stefanowski <rafal.stefanowski@intel.com>
2021-10-28 12:46:42 +02:00
Robert Baldyga
c968285d9f Remove upgrade-in-flight feature
Due to changes in Linux kernel this feature is not working anymore.

Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2021-08-11 20:33:16 +02:00
Rafal Stefanowski
43f43068ad Update copyright statements (2021)
Signed-off-by: Rafal Stefanowski <rafal.stefanowski@intel.com>
2021-01-21 13:15:38 +01:00
Slawomir Jankowski
17f440de10 Update TF and functional tests API
Signed-off-by: Slawomir Jankowski <slawomir.jankowski@intel.com>
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2020-12-22 16:29:33 +01:00
Slawomir Jankowski
d7e0bad5a4 Coding style fixes in loader to meet PEP 8 criteria
Change str.format() to formatted string literals.
It should be a little faster and easier to read.

Signed-off-by: Slawomir Jankowski <slawomir.jankowski@intel.com>
2020-12-22 16:29:05 +01:00
Slawomir Jankowski
068d90bbea Do not accept non-by-id path in opencas.conf
Exception: allow passing exported objects paths.

Signed-off-by: Slawomir Jankowski <slawomir.jankowski@intel.com>
2020-12-22 16:29:05 +01:00
Jan Musial
45d0d36191 Fix handling of lazy_startup for cache
Signed-off-by: Jan Musial <jan.musial@intel.com>
2020-10-27 11:17:26 +01:00
Jan Musial
3ce173800f Make casctl settle wait for udev and add cores/start caches
Signed-off-by: Jan Musial <jan.musial@intel.com>
2020-10-14 14:27:06 +02:00
Rafal Stefanowski
44b4020cc1 Update copyright statements
Signed-off-by: Rafal Stefanowski <rafal.stefanowski@intel.com>
2020-05-04 16:47:38 +02:00
Jan Musial
0126ffb274 Wrap upgrade command for casadm
Signed-off-by: Jan Musial <jan.musial@intel.com>
2020-01-17 14:10:55 +01:00
Jan Musial
f385cc79ea Fix configuring cache with PP in init script
Signed-off-by: Jan Musial <jan.musial@intel.com>
2019-12-12 10:23:52 +01:00
Jan Musial
b91fc1ca4a Wait for cas_ctrl device in casctl
Signed-off-by: Jan Musial <jan.musial@intel.com>
2019-11-18 15:00:31 +01:00
Jan Musial
aaedfb35dd Change startup procedure
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>
2019-11-14 12:20:08 +01:00
Jan Musial
86ccc817a6 Fix tests after moving to python3
Signed-off-by: Jan Musial <jan.musial@intel.com>
2019-09-20 13:40:44 +02:00
Jan Musial
735c1e5008 Handle promotion_policy as conf param
Signed-off-by: Jan Musial <jan.musial@intel.com>
2019-09-19 08:38:35 +02:00
Slawomir_Jankowski
3d5d82f892 Translate python2 to python3
*opencas.py*: changed result class to contain text values instead of bytes,
translated chache configuring methods to py3,
*init script*: changed regex input on raw string to work in py3.

Signed-off-by: Slawomir_Jankowski <slawomir.jankowski@intel.com>
2019-08-05 13:19:04 +02:00
Adam Rutkowski
ffa1f4b067 Extend CAS interface with Write-only cache mode
Write-only (WO) cache mode is similar to Write-back (WB), however
read operations do not promote data to cache. Reads are mostly
serviced by the core device, only dirty sectors are fetched from
the cache.

Write-only cache mode is behaving similarly to Write-back with
respect to flushing dirty data. For example it is required to
explicitly enable/disable flushing when changing cache mode
from WO to something other than WB.

Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2019-06-13 15:54:51 -04:00
Jan Musial
aa0f3c078a Add tests for opencas.py
Signed-off-by: Jan Musial <jan.musial@intel.com>
2019-05-28 17:56:15 +02:00
Robert Baldyga
94e8ca09e0 Initial commit
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2019-03-29 08:45:50 +01:00