From b2cb33e9a846767811095c162a903837039ef29c Mon Sep 17 00:00:00 2001 From: sskarimov Date: Tue, 11 Aug 2026 11:52:11 +0300 Subject: [PATCH] 12.0.3 --- CHANGELOG.md | 4 ++-- module_utils/decort_utils.py | 24 +++++++++++++++++------- 2 files changed, 19 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 04e03ac..d3dddbd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -# Список изменений в версии 12.0.2 +# Список изменений в версии 12.0.3 ## Добавлено @@ -8,4 +8,4 @@ ### Модуль decort_vm | Идентификатор
задачи | Описание | | --- | --- | -| BANS-1331 | Модуль завершал работу ошибкой при передаче параметров `disks` и `boot` для существующей ВМ. | +| BANS-1377 | Модуль завершал работу ошибкой при передаче параметров `disks.objects.pci_slot_num_hex` и `disks.objects.bus_num_hex` в формате hex. | diff --git a/module_utils/decort_utils.py b/module_utils/decort_utils.py index d621a86..9905851 100644 --- a/module_utils/decort_utils.py +++ b/module_utils/decort_utils.py @@ -49,7 +49,7 @@ class DecortController(object): _api: sdk_types.API | None = None _usermanager_whoami_result: None | dict = None - ANSIBLE_MODULES_VERSION = '12.0.2' + ANSIBLE_MODULES_VERSION = '12.0.3' COMPATIBLE_SDK_MINOR_VERSION = '1.5' VM_RESIZE_NOT = 0 @@ -619,6 +619,12 @@ class DecortController(object): return int(datetime(**datetime_args).timestamp()) + @staticmethod + def _parse_hex(value: int | str) -> int: + if isinstance(value, int): + return value + return int(str(value).strip(), 16) + @staticmethod def sec_to_dt_str(sec: float, str_format: str = '%Y-%m-%d_%H-%M-%S') -> str: """ @@ -1144,12 +1150,16 @@ class DecortController(object): if ( ( aparam_disk['pci_slot_num_hex'] is not None - and str(comp_disk['pci_slot']) - != aparam_disk['pci_slot_num_hex'] + and int(comp_disk['pci_slot']) + != self._parse_hex( + aparam_disk['pci_slot_num_hex'] + ) ) or ( aparam_disk['bus_num_hex'] is not None - and str(comp_disk['bus_number']) - != aparam_disk['bus_num_hex'] + and int(comp_disk['bus_number']) + != self._parse_hex( + aparam_disk['bus_num_hex'] + ) ) ): disks_to_detach.append(aparam_disk) @@ -1170,11 +1180,11 @@ class DecortController(object): for disk in disks_to_attach: pci_slot_num = disk['pci_slot_num_hex'] if pci_slot_num is not None: - pci_slot_num = hex(int(pci_slot_num)) + pci_slot_num = hex(self._parse_hex(pci_slot_num)) bus_num = disk['bus_num_hex'] if bus_num is not None: - bus_num = hex(int(bus_num)) + bus_num = hex(self._parse_hex(bus_num)) api_params = { 'computeId': comp_dict['id'],