-
Notifications
You must be signed in to change notification settings - Fork 138
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Scrub status "unknown" - Leap 15.6 OS base #2872
Comments
@FroggyFlox has now established the likely area/origin of this issue: hence it's creation. It looks like our scrub parser is failing over to reporting "unknown" when trying to establish a scrub status; for an as yet unknown reason. But we suspect it is down to differences in kernel versions, or our failure to apply the correct parsing accordingly. We currently have a multi-path parsing capability re scrub that adapts to the expected scrub status output: based on kernel version (from memory). |
In our view we call low-level scrub_status with the Pool and the output of btrfsprogs_legacy: our designation for the appropriate parsing path for scrub_status to take. rockstor-core/src/rockstor/storageadmin/views/pool_scrub.py Lines 52 to 69 in 7639973
And our initial value for the pool scrub status (PoolScrub.status) is established when we create the associated model used to track the subprocess we initiate the scrub via; by way of the "started" default: rockstor-core/src/rockstor/storageadmin/models/scrub.py Lines 23 to 29 in 7639973
So the model is always initiated with scrub status assumed "started" and we then update this via a low level call to scrub_status(): but only if it is a new model (status == "started") or already established as "running". |
Thanks a lot for creating all of that, @phillxnet! |
@FroggyFlox Thanks for kicking this one off. I'm dabbling now and should hopefully have some more idea about where we are failing in a bit. |
So it seems we are getting to the nub of it here. Just got the following on a 15.6 OS base via some temporary logging:
But rockstor-core/src/rockstor/fs/btrfs.py Line 1879 in 7639973
With the reproducer of an "unknown" status: even after page refresh: |
Noteworthy here is that our current 'legacy' parsing pertains to btrfs-progs "... < "v5.1.2" ...", which from the following existing unit test: rockstor-core/src/rockstor/fs/tests/test_btrfs.py Lines 1001 to 1018 in 7639973
equates to Leap versions before 15.4 !! We are no longer publishing rpms for anything older. As such, it may be we can now drop this legacy test entirely. |
I'll begin by proving the findings here and working out why we label this newer version as legacy: most likely as we inadvertently roll-over to legacy in our now dated btrfsprogs_legacy() procedure. |
Test extension re legacy btrfs parsing requirement:
And as we have @Hooverdan96 report of current Stable Kernel backports functioning as expected (on our reproducer 15.6 base) I've added this to the above test additions:
So using TW btrfs-progs version as a stand in for Stable Kernel backports, we successfully identify as non-legacy: we look to have a simple comparison bug here: exposed by the 6.5.1 version specifically. And our prior insufficient testing data. |
Adopt packaging library as a direct dependency to enable more sophisticated btrfs-progs version assessment. Previously already an indirect dependency of gunicorn. Moving to explicit dependency to avoid issues re gunicorn's deprecation in the future. Includes - Additional test data pertaining to Leap 15.6 and newer, re btrfs-progs version. - Additional test data re exception handling (fail throught) re non PEP 440 compliant 'btrfs-progs version' output.
Adopt packaging library as a direct dependency to enable more sophisticated btrfs-progs version assessment. Previously already an indirect dependency of gunicorn. Moving to explicit dependency to avoid issues re gunicorn's deprecation in the future. Includes - Additional test data pertaining to Leap 15.6 and newer, re btrfs-progs version. - Additional test data re exception handling (fail throught) re non PEP 440 compliant 'btrfs-progs version' output.
…eap-15.6-OS-base Scrub status "unknown" - Leap 15.6 OS base #2872
Closing as: |
Thanks to forum member Tex1954 for highlighting this issue. We currently report "unknown" for scrub status on a 15.6 base, but work as expected on a 15.5 base. Thanks to @FroggyFlox & @Hooverdan96 for helping to narrow down this issue.
N.B. @Hooverdan96 reports that a Stable Backport kernel does not exibity this error, this instance would also have a newer btrfs-progs userland as per: https://rockstor.com/docs/howtos/stable_kernel_backport.html
This issue is currently believed to be cosmetic in nature as the scrub itself is executed as expected. However cosmetic failure, in this context, translates to a Web-UI failure in a critical report: adding to our current Stable Milestone as a consequence.
Forum thread reference: https://forum.rockstor.com/t/5-0-11-scrub-not-working/9585
Seen last in 5.0.12-0
The text was updated successfully, but these errors were encountered: