(→Stratisd 2.2.0: add formatting) |
(→How To Test: improve formatting) |
||
Line 81: | Line 81: | ||
== How To Test == | == How To Test == | ||
* Testing new filesystem paths can be done using the CLI provided by stratis-cli package or D-Bus API provided by stratisd | * Testing new filesystem paths can be done using the CLI provided by stratis-cli package or D-Bus API provided by stratisd package. | ||
package. | |||
* Create a pool and filesystem using stratis command | * Create a pool and filesystem using stratis command | ||
stratis fs create p1 fs1 | stratis pool create p1 /dev/sdb | ||
stratis fs create p1 fs1 | |||
* Check that the new path is in /dev/stratis/<pool name>/<filesystem name> | * Check that the new path is in /dev/stratis/<pool name>/<filesystem name> | ||
ls /dev/stratis/<pool name> | ls /dev/stratis/<pool name> | ||
stratis fs list | |||
stratis fs list | |||
== User Experience == | == User Experience == |
Revision as of 11:05, 15 November 2020
Stratis 2.2.0
Summary
Stratis 2.2.0 now places Stratis filesystem symlinks in /dev/stratis, rather than /stratis. Stratis creates and maintains the symlinks by means of udev rules, rather than directly via stratisd as previously. The /stratis directory is neither created nor used by stratisd 2.2.0.
Owner
- Name: Dennis Keefe, Anne Mulhern, John Baublitz
- Email: dkeefe@redhat.com, amulhern@redhat.com, jbaublitz@redhat.com
Current Status
Detailed Description
Stratisd 2.2.0
This release creates and maintains Stratis filesystem symlinks in /dev/stratis
by means of udev rules. It includes a small Rust script, stratis_uuids_to_names
which is invoked by the Stratis udev rule which sets the Stratis filesystem symlinks.
In the case where stratisd is updated in place, some filesystem symlinks may remain in /stratis
. This release includes a shell script, stratis_migrate_symlinks.sh
which may be used to clean up the /stratis
directory and ensure that the correct symlinks exist in /dev/stratis
. The script removes the /stratis
directory once it has completed without error. The shell script relies on a small Rust script, stratis_dbusquery_version
which is included with this version of stratisd.
This release also extends the D-Bus interface in a few ways:
It sends org.freedesktop.DBus.ObjectManager.InterfacesAdded
and org.freedesktop.DBus.ObjectManager.InterfacesRemoved
signals on the D-Bus whenever a D-Bus object is added to or removed from the D-Bus interface.
It adds a new D-Bus property, PhysicalPath
, for the org.storage.stratis2.blockdev.r2
interface. This property is principally useful for encrypted Stratis block devices; it identifies the block device on which the Stratis LUKS2 metadata resides.
It adds a new key, LockedPools
, to the org.storage.stratis2.FetchProperties.r2
interface for objects that implement the org.storage.stratis2.Manager
interface. This key returns a D-Bus object that maps the UUIDs of locked pools to their corresponding key descriptions.
Please consult the D-Bus API Reference for the precise D-Bus specification.
This release allows the user to specify their preferred log level more directly and succinctly with the --log-level
CLI option.
This release includes management of terminal settings for interactive encryption-key entry.
This release includes some unsupported scripts which may be built from the source distribution but are not intended to be released as part of any package. These scripts depend on the extras feature in Cargo.toml.
This release also includes a number of minor bug fixes.
Detailed Description
Stratis-cli 2.2.0
This release requires stratisd 2.2.0. Some commands have been updated to make use of the new stratisd D-Bus interfaces.
This release drops management of terminal settings for interactive encryption-key entry; management of terminal settings is now handled in stratisd 2.2.0.
Feedback
Benefits to Fedora
Users of Fedora will now benefit from Stratis 2.2.0 by:
- Devices being located in an existing and known top level directory.
- Applications that are restricted from using non-default top level directories can now use Stratis symlinks
- Better integration with udev
Scope
- Proposal owners:
- Update existing stratis-cli package to specify new release
- Update existing stratisd package to specify new release
- Other developers: N/A
- Release engineering: Self Contained
- Policies guidelines: N/A
- Trademark approval: N/A
Upgrade/compatibility impact
Stratis symlinks have moved. Existing symlinks in /stratis/<pool name>/<filesystem name> will need to be migrated to /dev/stratis/<pool name>/<filesystem name>. This is accomplished by running the migration script (stratis_migrate_symlinks.sh) that comes with the 2.2.0 release of Stratis or rebooting the system. Any configurations that make use of the old symlink locations will need to be updated to use the new location. So, if there has been manual changes to systemd unit files or /etc/fstab for automatically mounting Stratis filesystems, then these will need to be updated to reflect the change.
How To Test
- Testing new filesystem paths can be done using the CLI provided by stratis-cli package or D-Bus API provided by stratisd package.
- Create a pool and filesystem using stratis command
stratis pool create p1 /dev/sdb stratis fs create p1 fs1
- Check that the new path is in /dev/stratis/<pool name>/<filesystem name>
ls /dev/stratis/<pool name> stratis fs list
User Experience
Users with existing Stratis filesystems will notice a change in the filesystem path from /stratis/<pool name>/<filesystem name> to /dev/stratis/<pool name>/<filesystem name>. Appropriate action will need to be taken to update system configurations that make use of the older filesystem paths.
Dependencies
We are not aware of any new dependencies
Contingency Plan
- Contingency mechanism:
- Contingency deadline: N/A
- Blocks release? No
- Blocks product? No
Documentation
Please see https://stratis-storage.github.io/ for design documents and API reference. Development and issue tracking is at https://github.com/stratis-storage/
Release Notes
Includes recent version of Stratis