-
Notifications
You must be signed in to change notification settings - Fork 18
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Signed-off-by: mulhern <amulhern@redhat.com>
- Loading branch information
Showing
1 changed file
with
101 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,101 @@ | ||
+++ | ||
title = "Stratis 3.0.0 Release Notes" | ||
date = 2021-10-25 | ||
weight = 21 | ||
template = "page.html" | ||
render = true | ||
+++ | ||
|
||
*mulhern, Stratis Team* | ||
|
||
Stratis 3.0.0 includes many internal improvements, bug fixes, and | ||
user-visible changes. | ||
|
||
Users of the Stratis CLI may observe the following changes: | ||
* It is now possible to set the filesystem logical size when creating a | ||
filesystem. | ||
* It is possible to rebind a pool using a Clevis tang server or with a key | ||
in the kernel keyring. | ||
* Filesystem and pool list output have been extended and improved. The pool | ||
listing includes an `Alerts` column. Currently this column is used to indicate | ||
whether the pool is in a restricted operation mode. A new subcommand, | ||
`stratis pool explain`, which provides a fuller explanation of the codes | ||
displayed in the `Alerts` column has been added. The filesystem listing | ||
now displays a filesystem's logical size. | ||
* With encrypted pools it was previously possible for the display of block | ||
device paths to change format if `stratisd` was restarted after an encrypted | ||
pool had been created. Now the display of the block device paths is consistent | ||
across `stratisd` restarts. | ||
* Previously, if a user specified the same device using two different paths | ||
when creating or extending a pool the different paths would be | ||
interpreted as two different devices and an error would be returned when | ||
`stratisd` attempted to initialize the device a second time. Now, the | ||
different paths are canonicalized eagerly, and converted into a single | ||
canonical representation of the device, `stratisd` initializes the device only | ||
once, and no error is returned. | ||
|
||
In stratisd 3.0.0 the D-Bus API has undergone a revision and the prior | ||
interfaces are all removed. The `FetchProperties` interfaces that | ||
were supported by all objects have been removed. The values that were | ||
previously obtainable via the `FetchProperties` methods | ||
are now conventional D-Bus properties. The possible values of error codes | ||
returned by the D-Bus methods have been reduced to 0 and 1, with the usual | ||
interpretation. | ||
|
||
stratisd 3.0.0 includes a number of signficant internal improvements and a few | ||
bug fixes. | ||
|
||
`stratisd` bug fixes: | ||
* The `--prompt` option was not passed to `stratis-min` in the | ||
`stratis-fstab-setup` script; this prevented the user from entering the | ||
password necessary to unlock an encrypted pool during boot. This is | ||
no longer the case. | ||
* `stratisd` was not immediately updating the devicemapper device stack when | ||
a cache was initialized with the result that the cache was not immediately | ||
put in use. It was necessary for `stratisd` to be restarted for the cache to | ||
be set up properly. This is no longer the case. | ||
* `stratisd` was not immediately updating the Clevis encryption info associated | ||
with a pool on a command to bind an encrypted pool with Clevis. This problem | ||
has been corrected. | ||
* `stratisd` was sending an incorrect D-Bus signal on a pool name change; this | ||
has been fixed. | ||
* Previously, when `stratisd-min`, which runs during boot before D-Bus | ||
functionality is available, gave way to `stratisd` when the D-Bus had been set | ||
up, it was possible for inconsistencies to arise if the Stratis engine was | ||
performing an operation which required invoking a distinct executable. The | ||
executable might be terminated during its execution, and `stratisd-min` would | ||
take the action appropriate to the command failure before exiting. Now, systemd | ||
is instructed to send a kill signal only to `stratisd-min` and not to any of | ||
`stratisd-min`'s child processes when shutting down `stratisd-min`. | ||
|
||
|
||
Other `stratisd` improvements: | ||
* Handling of errors returned by internal methods is improved; a chaining | ||
mechanism has been introduced and the error chains can be scrutinized | ||
programatically to identify expected scenarios like rollback failures. | ||
* A set of states indicating that a pool has reduced capability have been | ||
added internally and are published on the D-Bus. A pool's capability is | ||
reduced on an error being returned internally which contains, somewhere in | ||
its chain, the appropriate identifying error variant. | ||
* The code used to roll back failed encryption operations on a list of | ||
pool devices has been refactored and generalized. It is now capable of | ||
returning an error that can be used to identify a restricted pool capability | ||
due to a rollback failure. | ||
* `stratisd` uses sha-256 instead of sha-1 for Clevis-related encryption | ||
operations to conform with Clevis's own usage. | ||
* `stratisd` exits more elegantly and less frequently if it encounters an | ||
error during execution of the distinct tasks that are assigned to the | ||
individual threads that it manages internally. | ||
* In preparation for edition 2021 of the Rust language, `stratisd` source code | ||
has been updated to conform entirely to edition 2018 recommendations. | ||
* `stratisd` logging has been improved. | ||
|
||
<!-- more --> | ||
|
||
Please consult the [stratisd] and [stratis-cli] changelogs for additional | ||
information about the 3.0.0 release. | ||
|
||
We would like to thank mvollmer for contributions to this release. | ||
|
||
[stratisd]: https://github.com/stratis-storage/stratisd/blob/develop-2.4.2/CHANGES.txt | ||
[stratis-cli]: https://github.com/stratis-storage/stratis-cli/blob/develop-2.4.1/CHANGES.txt |