Commit Graph

30 Commits

Author SHA1 Message Date
Adam Rutkowski
3c6e76aa39 Remove obsolete ext3 & ext4 io class configs
These configs use legacy syntax and serve no purpose
on standard kernels.

Fixes #261

Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2020-02-11 15:25:29 -05:00
Michal Mielewczyk
f76103dc60 casctl: fix matching multilevel configuration
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2020-01-30 09:36:45 -05:00
Michal Mielewczyk
6c57d2827f Fix restoring old CAS version when upgrade failed
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2020-01-29 10:12:09 -05:00
Michal Mielewczyk
8c73bc2f5a Forbid upgrade in flight when cas_disk is older than 20.01
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2020-01-29 08:49:47 -05:00
Jan Musial
3e7560e22c Create upgrade script for upgrade-in-flight of OpenCAS
Signed-off-by: Jan Musial <jan.musial@intel.com>
2020-01-20 12:57:38 +01: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
7cdb71d5b7 Don't fail boot if opencas config is missing
Signed-off-by: Jan Musial <jan.musial@intel.com>
2020-01-13 10:42:19 +01:00
Robert Baldyga
714552d300
Merge pull request #212 from liuhongtong/master-lht-casctl
utils: lengthen open-cas service timeout
2020-01-07 09:47:43 +01:00
Jan Musial
cefd12edc5 utils: lengthen settle timeout in open-cas service
Signed-off-by: Jan Musial <jan.musial@intel.com>
2020-01-02 09:35:33 +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
liuhongtong
40694e5ef3 utils: lengthen open-cas service timeout
Signed-off-by: liuhongtong <hongtongliu@126.com>
2019-11-29 19:52:01 +08:00
liuhongtong
087dd29560 utils: casctl needs python 3.5+
opencas.py invokes subprocess.run().
Only python 3.5 and later versions support subprocess.run().

Signed-off-by: liuhongtong <hongtongliu@126.com>
2019-11-29 11:12:58 +08:00
Jan Musial
c4e15a1af7 Try to load devices on change udev event
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>
2019-11-18 15:59:37 +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
Michal Rakowski
3a19ae0bf5 utils: print help as default casctl cmd
Signed-off-by: Michal Rakowski <michal.rakowski@intel.com>
2019-10-02 19:56:59 +02:00
Rafal Stefanowski
623f758cb2 Improve check for Python 3 in Makefile
Signed-off-by: Rafal Stefanowski <rafal.stefanowski@intel.com>
2019-09-30 13:56:06 +02:00
Michal Mielewczyk
69cee70c54 Require python3 to install Open CAS Linux.
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2019-09-25 18:39:50 -04:00
Adam Rutkowski
a208fd4682 Add WO cache mode in man page
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2019-09-23 13:29:54 -04: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
a8c3c651de Update opencas.conf man page
Signed-off-by: Jan Musial <jan.musial@intel.com>
2019-09-19 08:38:35 +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
Jan Musial
9408c685cd Update casadm man page
Signed-off-by: Jan Musial <jan.musial@intel.com>
2019-09-19 08:38:35 +02:00
Adam Rutkowski
f55425ed4d
Merge pull request #73 from Ostrokrzew/changed
Porting python2 to python3 syntax
2019-08-05 13:37:19 +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
Robert Baldyga
fa61d2d3a6 utils: Makefile: Rename "default" target to "all"
As "all" target is supported by upper level Makefile, and target
names are passed to subdirectory Makefiles, all of them need to
support "all" target as well. Rename default target for simplicity.

Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2019-07-27 19:03:37 +02:00
Adam Rutkowski
9f4e842f01 Edit WO cache mode man page
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2019-06-27 13:00:01 -04: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