mirror of
https://github.com/ansible-collections/community.general.git
synced 2026-04-21 11:19:00 +00:00
parted: add unit_preserve_case option to fix unit case in return value (#11813)
* parted: add unit_preserve_case option to fix unit case in return value Adds O(unit_preserve_case) feature flag (bool, default None) to control the case of the ``unit`` field in the module return value. Previously the unit was always lowercased (e.g. ``kib``), making it impossible to feed ``disk.unit`` back as the ``unit`` parameter without a validation error. With O(unit_preserve_case=true) the unit is returned in its original mixed case (e.g. ``KiB``), matching the accepted input values. The default (None) emits a deprecation notice; the default will become V(true) in community.general 14.0.0. Fixes #1860 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * parted: add changelog fragment for PR #11813 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * adjustments from review * Comment 15.0.0 deprecation in option decription. * parted: fix unit test calls to parse_partition_info after signature change Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * parted: fix unit_preserve_case - parted outputs lowercase units in machine mode Parted's machine-parseable output always uses lowercase unit suffixes (e.g. ``kib``, ``mib``) regardless of what was passed to the ``unit`` parameter. Removing the explicit ``.lower()`` call was therefore not enough to preserve case. Add a ``canonical_unit()`` helper that maps a unit string to its canonical mixed-case form using ``parted_units`` as the reference, and use it instead of a bare identity when ``unit_preserve_case=true``. Also fix a yamllint violation in the DOCUMENTATION block (missing space after ``#`` in inline comments). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Update plugins/modules/parted.py Co-authored-by: Felix Fontein <felix@fontein.de> * Update plugins/modules/parted.py Co-authored-by: Felix Fontein <felix@fontein.de> --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> Co-authored-by: Felix Fontein <felix@fontein.de>
This commit is contained in:
parent
314863e3a7
commit
edf8f24959
4 changed files with 93 additions and 14 deletions
|
|
@ -200,8 +200,8 @@ class TestParted(ModuleTestCase):
|
|||
|
||||
def test_parse_partition_info(self):
|
||||
"""Test that the parse_partition_info returns the expected dictionary"""
|
||||
self.assertEqual(parse_partition_info(parted_output1, "MB"), parted_dict1)
|
||||
self.assertEqual(parse_partition_info(parted_output2, "MB"), parted_dict2)
|
||||
self.assertEqual(parse_partition_info(parted_output1, "MB", False), parted_dict1)
|
||||
self.assertEqual(parse_partition_info(parted_output2, "MB", False), parted_dict2)
|
||||
|
||||
def test_partition_already_exists(self):
|
||||
with set_module_args(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue