linux-system-roles / storage

Ansible role for linux storage management
https://linux-system-roles.github.io/storage/
MIT License
99 stars 55 forks source link

feat: Stratis support #439

Closed vojtechtrefny closed 1 month ago

vojtechtrefny commented 2 months ago

Support for creating and managing Stratis pools and volumes. For now this is just a draft because we need a new version of Blivet to be available for the full support. This includes support for creating Stratis pools and filesystems and adding new block devices to an existing Stratis pool (removing block devices is not supported by Stratis). Encrypted Stratis pools can be created with Clevis/Tang or TPM support.

Resolves: RHEL-31854

vojtechtrefny commented 1 month ago

Blivet with full support for all Stratis features in this PR is now available on both RHEL (9 and 10) and Fedora so I am marking this as ready for review. The pylint failures are fixed in #440

richm commented 1 month ago

[citest]

codecov[bot] commented 1 month ago

Codecov Report

Attention: Patch coverage is 0% with 127 lines in your changes missing coverage. Please review.

Project coverage is 10.90%. Comparing base (acd20be) to head (9be4bd6). Report is 12 commits behind head on main.

Files Patch % Lines
library/blivet.py 0.00% 106 Missing :warning:
library/blockdev_info.py 0.00% 21 Missing :warning:
Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #439 +/- ## ========================================== - Coverage 16.54% 10.90% -5.65% ========================================== Files 2 8 +6 Lines 284 1917 +1633 Branches 79 0 -79 ========================================== + Hits 47 209 +162 - Misses 237 1708 +1471 ``` | [Flag](https://app.codecov.io/gh/linux-system-roles/storage/pull/439/flags?src=pr&el=flags&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=linux-system-roles) | Coverage Δ | | |---|---|---| | [sanity](https://app.codecov.io/gh/linux-system-roles/storage/pull/439/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=linux-system-roles) | `?` | | Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=linux-system-roles#carryforward-flags-in-the-pull-request-comment) to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

vojtechtrefny commented 1 month ago

[citest]

richm commented 1 month ago

the centos9 statis test fails:

TASK [fedora.linux_system_roles.storage : Manage the pools and volumes to match the specified state] ***
task path: /WORKDIR/git-main_stratis-support-25ax7xqcj/.collection/ansible_collections/fedora/linux_system_roles/roles/storage/tasks/main-blivet.yml:69
Friday 31 May 2024  17:45:03 +0000 (0:00:00.010)       0:01:05.969 ************ 
fatal: [sut]: FAILED! => {
    "actions": [],
    "changed": false,
    "crypts": [],
    "leaves": [],
    "mounts": [],
    "packages": [],
    "pools": [],
    "volumes": []
}

MSG:

failed to set up pool 'foo': __init__() got an unexpected keyword argument 'clevis'
vojtechtrefny commented 1 month ago

[citest]

vojtechtrefny commented 1 month ago

[citest]

vojtechtrefny commented 1 month ago

[citest]

vojtechtrefny commented 1 month ago

[citest]

richm commented 1 month ago

please rebase on top of the latest main branch to pick up test fixes

vojtechtrefny commented 1 month ago

[citest]