Commit Graph

61 Commits

Author SHA1 Message Date
Slawomir Jankowski
0d9a56b4f0 Update smoke tests utilities
according to recent changes

Signed-off-by: Slawomir Jankowski <slawomir.jankowski@intel.com>
2020-12-22 16:29:06 +01:00
Slawomir Jankowski
7b4837e240 Documentation update
Signed-off-by: Slawomir Jankowski <slawomir.jankowski@intel.com>
2020-12-22 16:29:06 +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
Robert Baldyga
4972deb312
Merge pull request #558 from imjfckm/fix-cache-lazy-startup
Fix handling of lazy_startup for cache
2020-11-05 14:02:41 +01:00
Robert Baldyga
3060aaf95f Introduce DKMS support for DEB packages
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2020-11-04 11:47:34 +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
Jan Musial
bc29b6987a Update sample opencas.conf to include lazy_startup option
Signed-off-by: Jan Musial <jan.musial@intel.com>
2020-10-05 16:49:53 +02:00
Rafal Stefanowski
ef70bce154 Update automatic package generator
- add DEB package creation functionality
- update RPM spec file to work with SLES

Signed-off-by: Rafal Stefanowski <rafal.stefanowski@intel.com>
2020-09-14 14:17:28 +02:00
Rafal Stefanowski
bc5c92d3ed Fix typo in casctl manpage title line
Signed-off-by: Rafal Stefanowski <rafal.stefanowski@intel.com>
2020-09-14 13:12:06 +02:00
Robert Baldyga
795bdd2440
Merge pull request #483 from rafalste/fix_weak_updates_symlinks
Fix depmod error in RPM install/uninstall
2020-09-14 12:36:07 +02:00
Rafal Stefanowski
67858ed594 Fix depmod error in RPM install/uninstall
Fixes module removing by weak-modules and deleting broken symlinks to
non-existing modules.

Signed-off-by: Rafal Stefanowski <rafal.stefanowski@intel.com>
2020-09-11 16:08:04 +02:00
Rafal Stefanowski
db07756d22 Patch for RPM generation on SLES
Signed-off-by: Rafal Stefanowski <rafal.stefanowski@intel.com>
2020-09-01 00:15:37 +02:00
Rafal Stefanowski
34961c7ff0 Fix versioning related error messages
Signed-off-by: Rafal Stefanowski <rafal.stefanowski@intel.com>
2020-07-31 15:19:33 +02:00
Robert Baldyga
b8cfee1883
Merge pull request #435 from rafalste/update_versioning
Version unifying
2020-07-27 18:34:46 +02:00
Robert Baldyga
3c486186e7
Merge pull request #436 from mmichal10/upgrade-return-error
upgrade: return actual upgrade status
2020-06-15 16:30:06 +02:00
Michal Mielewczyk
165fcae798 upgrade: restore original config after upgrade
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2020-06-12 02:48:09 -04:00
Rafal Stefanowski
05d8181a85 Update RPM creation for new versioning
Signed-off-by: Rafal Stefanowski <rafal.stefanowski@intel.com>
2020-06-10 18:14:36 +02:00
Michal Mielewczyk
fb8c4c34cf upgrade: return actual upgrade status
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@intel.com>
2020-06-10 11:56:59 -04:00
Rafal Stefanowski
afa0c1b53f Modify version check flow
Signed-off-by: Rafal Stefanowski <rafal.stefanowski@intel.com>
2020-06-10 15:08:37 +02:00
Robert Baldyga
80327aea1b
Merge pull request #418 from rafalste/pckgen_deps
Fix pckgen dependencies
2020-05-25 15:04:25 +02:00
Rafal Stefanowski
72387d61fd Fix pckgen dependencies
Signed-off-by: Rafal Stefanowski <rafal.stefanowski@intel.com>
2020-05-15 15:18:28 +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
Rafal Stefanowski
20aa069546 Change 'major' version number to double digit
Signed-off-by: Rafal Stefanowski <rafal.stefanowski@intel.com>
2020-04-03 12:25:14 +02:00
Rafal Stefanowski
a2d64d7d55 Fix git calls in package generator script
- make git command compatible with older git versions by removing -C option
- minor syntax improvements in the entire script

Signed-off-by: Rafal Stefanowski <rafal.stefanowski@intel.com>
2020-03-27 16:19:57 +01:00
Robert Baldyga
5b37183e41
Merge pull request #344 from rafalste/add_package_generator
Add package generator script
2020-03-25 12:40:29 +01:00
Rafal Stefanowski
7335b321ea Add package generator script
- add a 'pckgen' script to generate various OpenCAS packages like
release archives (tar, zip), RPMs (source and binary) as well as to
create version file with metadata
- add a SPEC file for RPM creation
- add Makefile targets to use 'pckgen' script through 'make <package>'

'pckgen' script has a bunch of features for package generation.
Read './pckgen --help' for more information on usage scenarios.

Script is also prepared to easily add new packages creation in the future.

Signed-off-by: Rafal Stefanowski <rafal.stefanowski@intel.com>
2020-03-20 03:16:56 +01:00
Slawomir Jankowski
5d74062599 Casadm man extend
Add description of OpenCAS exported objects' naming template
Update date in mans.
closes #359

Signed-off-by: Slawomir Jankowski <slawomir.jankowski@intel.com>
2020-03-19 13:05:18 +01:00
Daniel Madej
55bdad7054 Return exit codes from casctl stop
Signed-off-by: Daniel Madej <daniel.madej@intel.com>
2020-03-17 11:55:51 +01:00
Rafal Stefanowski
0d256b675d Makefile changes for building RPM
Signed-off-by: Rafal Stefanowski <rafal.stefanowski@intel.com>
2020-02-11 14:47:32 +01:00
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