rockstor / rockstor-core

Linux/BTRFS based Network Attached Storage(NAS)
http://rockstor.com/docs/contribute_section.html
GNU General Public License v3.0
558 stars 138 forks source link

Scrub status "unknown" - Leap 15.6 OS base #2872 #2873

Closed phillxnet closed 4 months ago

phillxnet commented 4 months ago

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

Fixes #2872

phillxnet commented 4 months ago

Testing

On an issue-reproducer system (dev machine using Leap 15.6 X86_64) we have one before (see: https://github.com/rockstor/rockstor-core/issues/2872#issuecomment-2228515648) and one after scrub status reports:

finished-scrub-status-leap-15 6

And we have the following imported ROOT pool in "running" scrub status:

running-scrug-ROOT-pool-leap-15 6

After a little time, and Web-UI refresh, we see this same ROOT pool scrub as having finnished:

finnished-scrub-ROOT-pool-leap-15 6

phillxnet commented 4 months ago

@FroggyFlox Thanks for the review & 15.5 check: much appreciated. I'll get this merged directly.

I know we have the question of need, for this legacy btrfs-progs support, as per https://github.com/rockstor/rockstor-core/issues/2872#issuecomment-2228544443: i.e. do we really need to support pre Leap 15.4 btrfs-progs versions. But we are in very late testing here so minimal changes to address indicated issue. We also have the potential to migrate scrub to Huey (or a more Django native Huey replacement) but our consensus appears to be that this is better tackled in the next or next-plus-one testing phase.

phillxnet commented 4 months ago

An rpm was test built using this branch (Leap 15.6 X86_64 host) and looks to behave as-per the testing report so far. We also have the new dependency here which now shows up as a new top-level one re:

cd /opt/rockstor/
poetry show --tree
...
gunicorn 22.0.0 WSGI HTTP Server for UNIX
└── packaging *
...
packaging 24.1 Core utilities for Python packages
psutil 5.9.4 Cross-platform lib for process and system monitoring in Python.
...

Where-as previously we only saw the packaging dependency as secondary: i.e. via gunicorn as in the above.