diff --git a/CHANGELOG.md b/CHANGELOG.md index dd2aa3e..1196230 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,11 +1,11 @@ -# Список изменений в версии 11.0.3 +# Список изменений в версии 11.0.4 ## Добавлено ## Удалено ## Исправлено -### Модуль decort_k8s +### Модуль decort_vm | Идентификатор
задачи | Описание | | --- | --- | -| BANS-1208 | Модуль завершал работу ошибкой запроса к API при попытке модуля пересоздать группу воркеров. | +| BANS-1333 | Модуль завершал работу ошибкой при передаче параметров `disks` и `boot` для существующей ВМ. | diff --git a/library/decort_vm.py b/library/decort_vm.py index 90d546b..5e89724 100644 --- a/library/decort_vm.py +++ b/library/decort_vm.py @@ -1637,12 +1637,17 @@ class decort_vm(DecortController): f'disk {aparam_boot_disk_id} is not attached to ' f'Compute ID {self.comp_id}.' ) - else: + elif aparam_boot_disk_id is not None: + aparam_disk_ids = [] + if aparam_disks['objects']: + aparam_disk_ids = [ + disk['id'] for disk in aparam_disks['objects'] + ] match aparam_disks['mode']: case 'update': if ( aparam_boot_disk_id not in comp_disk_ids - and aparam_boot_disk_id not in aparam_disks['ids'] + and aparam_boot_disk_id not in aparam_disk_ids ): check_errors = True self.message( @@ -1651,7 +1656,7 @@ class decort_vm(DecortController): f'to Compute ID {self.comp_id}.' ) case 'match': - if aparam_boot_disk_id not in aparam_disks['ids']: + if aparam_boot_disk_id not in aparam_disk_ids: check_errors = True self.message( f'Check for parameter "boot.disk_id" failed: ' @@ -1659,7 +1664,7 @@ class decort_vm(DecortController): f'disks.ids' ) case 'detach' | 'delete': - if aparam_boot_disk_id in aparam_disks['ids']: + if aparam_boot_disk_id in aparam_disk_ids: check_errors = True self.message( f'Check for parameter "boot.disk_id" failed: ' diff --git a/module_utils/decort_utils.py b/module_utils/decort_utils.py index 1e73451..8f196d1 100644 --- a/module_utils/decort_utils.py +++ b/module_utils/decort_utils.py @@ -43,7 +43,7 @@ class DecortController(object): _api: sdk_types.API | None = None _usermanager_whoami_result: None | dict = None - ANSIBLE_MODULES_VERSION = '11.0.3' + ANSIBLE_MODULES_VERSION = '11.0.4' COMPATIBLE_SDK_MINOR_VERSION = '1.4' VM_RESIZE_NOT = 0