(feat): Refactor lsblk -J to lsblk -P + LVM Validation Test Cases #18
+145
−175
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I was experimenting with
ebs-bootstrap
running on RHEL 7.9 and found thatlsblk -J
, a command that returns a JSON representation of a block device, is only supported on relatively modern operating systems.After some digging, I found that
lsblk -P
returns a machine readable format response in the form of key-value pairs. Since this machine readable format is supported on older versions oflsblk
, I refactored any invocations oflsblk -J
tolsblk -P
Additionaly, I use this oppurtunity to improve the test cases around LVM validation and error handling. I introduce a performance optimisation for Regex logic by computing the expressions ahead of time and storing them in top-level variables