diff --git a/CHANGELOG.md b/CHANGELOG.md
index a0e10f2..f393d03 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,170 +1,10 @@
-# Список изменений в версии 11.0.0
+# Список изменений в версии 11.0.1
## Добавлено
-### Глобально
-| Идентификатор
задачи | Описание |
-| --- | --- |
-| BANS-909 | В системные требования добавлена библиотека Python `dynamix_sdk`. |
-| BANS-918 | Добавлен общий для всех модулей параметр `ignore_api_compatibility`. |
-| BANS-913 | Добавлен общий для всех модулей параметр `ignore_sdk_version_check`. |
-| BANS-954 | Добавлен модуль `decort_vm` в связи с переименованием из `decort_kvmvm`. |
-| BANS-953 | Добавлен модуль `decort_image` в связи с переименованием из `decort_osimage`. |
-| BANS-997 | Добавлен модуль `decort_security_group_list`, позволяющий получить список доступных групп безопасности. |
-| BANS-884 | Добавлен модуль `decort_disk_list`, позволяющий получить список доступных дисков. |
-| BANS-936 | Добавлен модуль `decort_rg_list`, позволяющий получить список доступных ресурсных групп. |
-| BANS-949 | Добавлен модуль `decort_vins_list`, позволяющий получить список доступных внутренних сетей. |
-| BANS-940 | Добавлен модуль `decort_vm_list`, позволяющий получить список доступных виртуальных машин. |
-| BANS-959 | Добавлен модуль `decort_flip_group_list`, позволяющий получить список доступных групп с плавающим IP-адресом. |
-| BANS-952 | Добавлен модуль `decort_image_list`, позволяющий получить список доступных образов. |
-| BANS-983 | Добавлен модуль `decort_account_list`, позволяющий получить список доступных аккаунтов. |
-| BANS-985 | Добавлен модуль `decort_audit_list`, позволяющий получить список аудитов. |
-| BANS-988 | Добавлен модуль `decort_trunk_list`, позволяющий получить список доступных транковых портов. |
-| BANS-987 | Добавлен модуль `decort_zone_list`, позволяющий получить список доступных зон. |
-| BANS-989 | Добавлен модуль `decort_storage_policy_list`, позволяющий получить список политик хранения. |
-| BANS-945 | Добавлен модуль `decort_user` в связи с переименованием из `decort_user_info`. |
-
-### Модуль decort_vm
-| Идентификатор
задачи | Описание |
-| --- | --- |
-| BANS-926 | Для параметра `chipset` добавлено значение по умолчанию `Q35` при создании ВМ. |
-| BANS-933 | Добавлено возвращаемое значение `pinned_to_node` в связи с переименованием из `pinned_to_stack`. |
-| BANS-934 | Добавлено возвращаемое значение `read_only`. |
-| BANS-994 | Добавлена возможность задать параметр `mtu` при создании сетевого интерфейса для TRUNK-сети и изменить `mtu` у существующего интерфейса, подключённого к TRUNK-сети. |
-| BANS-991 | Добавлена возможность указать параметр `ip_addr` при присоединении и изменении `DPDK` сети. |
-| BANS-1017 | Добавлено возвращаемое значение `disks.cache`. |
-| BANS-1034 | Добавлена возможность указать параметр `ip_addr` при присоединении и изменении `VFNIC` сети. |
-| BANS-992 | Добавлен параметр `networks.net_prefix`. |
-
-### Модуль decort_group
-| Идентификатор
задачи | Описание |
-| --- | --- |
-| BANS-927 | Для параметра `chipset` добавлено значение по умолчанию `Q35` при создании группы. |
-
-### Модуль decort_k8s
-| Идентификатор
задачи | Описание |
-| --- | --- |
-| BANS-928 | Для параметра `chipset` добавлено значение по умолчанию `Q35` при создании кластера. |
-
-### Модуль decort_account
-| Идентификатор
задачи | Описание |
-| --- | --- |
-| BANS-966 | Добавлен параметр `get_resource_consumption` и возвращаемое значение `resource_consumption`. |
-
-### Модуль decort_trunk
-| Идентификатор
задачи | Описание |
-| --- | --- |
-| BANS-993 | Добавлено возвращаемое значение `mtu`. |
-| BANS-976 | Добавлены возвращаемые значения `created_datetime`, `deleted_datetime`, `updated_datetime`. |
-
-### Модуль decort_zone
-| Идентификатор
задачи | Описание |
-| --- | --- |
-| BANS-970 | Добавлены возвращаемые значения `created_datetime`, `updated_datetime` и возвращаемые значения `account_ids`, `bservice_ids`, `vm_ids`, `extnet_ids`, `k8s_ids`, `lb_ids`, `vins_ids` в связи с переименованием из `accountIds`, `bserviceIds`, `computeIds`, `extnetIds`, `k8sIds`, `lbIds`, `vinsIds`. |
-| BANS-1024 | Добавлено возвращаемое значение `node_auto_start`. |
-
-### Модуль decort_vm_snapshot
-| Идентификатор
задачи | Описание |
-| --- | --- |
-| BANS-978 | Добавлено возвращаемое значение `datetime`. |
-
-### Модуль decort_storage_policy
-| Идентификатор
задачи | Описание |
-| --- | --- |
-| BANS-977 | Добавлены возвращаемые значения `sep_name`, `sep_tech_status`. |
-
-### Модуль decort_disk
-| Идентификатор
задачи | Описание |
-| --- | --- |
-| BANS-1019 | Добавлено возвращаемое значение `cache_mode`. |
-| BANS-1050 | Добавлено возвращаемое значение `blkdiscard`. |
## Удалено
-### Глобально
-| Идентификатор
задачи | Описание |
-| --- | --- |
-| BANS-954 | Удалён модуль `decort_kvmvm` в связи с переименованием в `decort_vm`. |
-| BANS-969 | Модуль `decort_account_info` расформирован, его функционал перенесён в модули: `decort_disk_list`, `decort_rg_list`, `decort_vins_list`, `decort_vm_list`, `decort_flip_group_list`, `decort_image_list`, `decort_account`. |
-| BANS-953 | Удалён модуль `decort_osimage` в связи с переименованием в `decort_image`. |
-| BANS-945 | Удалён модуль `decort_user_info` в связи с переименованием в `decort_user`. |
-
-### Модуль decort_account
-| Идентификатор
задачи | Описание |
-| --- | --- |
-| BANS-924 | Удалён параметр `quotas.ext_traffic`. |
-| BANS-998 |Для параметра `state` удалено значение по умолчанию. |
-
-### Модуль decort_rg
-| Идентификатор
задачи | Описание |
-| --- | --- |
-| BANS-925 | Удалён параметр `quotas.net_transfer`. |
-
-### Модуль decort_vm
-| Идентификатор
задачи | Описание |
-| --- | --- |
-| BANS-926 | Для параметра `chipset` удалено значение по умолчанию `i440fx` при создании ВМ. |
-| BANS-933 | Удалено возвращаемое значение `pinned_to_stack` в связи с переименованием в `pinned_to_node`. |
-| BANS-961 | Параметр `storage_policy_id` удалён из обязательных при пересоздании загрузочного диска. |
-
-### Модуль decort_group
-| Идентификатор
задачи | Описание |
-| --- | --- |
-| BANS-927 | Для параметра `chipset` удалено значение по умолчанию `i440fx` при создании группы. |
-| BANS-1027 | Удалён параметр `driver`. |
-
-### Модуль decort_k8s
-| Идентификатор
задачи | Описание |
-| --- | --- |
-| BANS-928 | Для параметра `chipset` удалено значение по умолчанию `i440fx` при создании кластера. |
-
-### Модуль decort_user
-| Идентификатор
задачи | Описание |
-| --- | --- |
-| BANS-983 | Удалён параметр `accounts` и возвращаемое значение `accounts` в связи с переносом этой функциональности в модуль `decort_account_list`. |
-| BANS-985 | Удалён параметр `audits` и возвращаемое значение `audits` в связи с переносом этой функциональности в модуль `decort_audit_list`. |
-| BANS-988 | Удалён параметр `trunks` и возвращаемое значение `trunks` в связи с переносом этой функциональности в модуль `decort_trunk_list`. |
-| BANS-987 | Удалён параметр `zones` и возвращаемое значение `zones` в связи с переносом этой функциональности в модуль `decort_zone_list`. |
-| BANS-989 | Удалён параметр `storage_policies` и возвращаемое значение `storage_policies` в связи с переносом этой функциональности в модуль `decort_storage_policy_list`. |
-| BANS-997 | Удалён параметр `security_groups` и возвращаемое значение `security_groups` в связи с переносом этой функциональности в модуль `decort_security_group_list`. |
-
-### Модуль decort_zone
-| Идентификатор
задачи | Описание |
-| --- | --- |
-| BANS-970 | Удалены возвращаемые значения `accountIds`, `bserviceIds`, `computeIds`, `extnetIds`, `k8sIds`, `lbIds`, `vinsIds` в связи с переименованием в `account_ids`, `bservice_ids`, `vm_ids`, `extnet_ids`, `k8s_ids`, `lb_ids`, `vins_ids`. |
-
-### Модуль decort_disk
-| Идентификатор
задачи | Описание |
-| --- | --- |
-| BANS-1004 | Удалён параметр `reason` |
-
-### Модуль decort_security_group
-| Идентификатор
задачи | Описание |
-| --- | --- |
-| BANS-1000 | Удалено возвращаемое значение `rules.remote_ip_prefix` в связи с переименованием в `rules.remote_net_cidr`. |
-| BANS-1013 | Удален параметр `rules.objects.remote_ip_prefix` в связи с переименованием в `rules.objects.remote_net_cidr`. |
-
-### Модуль decort_vm_snapshot
-| Идентификатор
задачи | Описание |
-| --- | --- |
-| BANS-1012 | Удалено возвращаемое значение `disks` в связи с переименованием в `disk_ids`. |
## Исправлено
-### Модуль decort_vm
| Идентификатор
задачи | Описание |
| --- | --- |
-| BANS-996 | Параметры `mac`, `security_groups`, `enable_secgroups`, `enabled` сетевого интерфейса DPDK-сети могли меняться при изменении `mtu`. |
-| BANS-1052 | Параметры `numa_affinity`, `cpu_pin`, `hp_backed` не применялись при создании ВМ без образа. |
-
-### Модуль decort_bservice
-| Идентификатор
задачи | Описание |
-| --- | --- |
-| BANS-389 | После создания базовой службы, модуль не возвращал информацию о созданном объекте. |
-
-### Модуль decort_vm_snapshot
-| Идентификатор
задачи | Описание |
-| --- | --- |
-| BANS-1022 | После создания снимка не возвращалась информация о снимке. |
-
-### Модуль decort_k8s
-| Идентификатор
задачи | Описание |
-| --- | --- |
-| BANS-1033 | Модуль без необходимости выполнял запрос к API `/cloudapi/k8s/update`, передавая в него параметры, не вызывающие изменения. |
+| BANS-1173 | Модуль завершал работу ошибкой запроса к API при попытке добавить группу worker-узлов к существующему кластеру. |
diff --git a/library/decort_k8s.py b/library/decort_k8s.py
index b320b6b..d45f199 100644
--- a/library/decort_k8s.py
+++ b/library/decort_k8s.py
@@ -215,6 +215,7 @@ class decort_k8s(DecortController):
self.k8s_workers_modify(
arg_k8swg=self.k8s_info,
arg_modwg=target_wgs,
+ storage_policy_id=self.aparams['storage_policy_id'],
)
self.k8s_info = self.k8s_get_by_id(k8s_id=self.k8s_id)
return
@@ -257,7 +258,10 @@ class decort_k8s(DecortController):
self.k8s_info = self.k8s_get_by_id(k8s_id=self.k8s_id)
#check groups and modify if needed
if self.aparams['workers'] is not None:
- self.k8s_workers_modify(self.k8s_info, self.amodule.params['workers'])
+ self.k8s_workers_modify(
+ arg_k8swg=self.k8s_info,
+ arg_modwg=self.amodule.params['workers'],
+ )
aparam_zone_id = self.aparams['zone_id']
if aparam_zone_id is not None and aparam_zone_id != self.k8s_info['zoneId']:
diff --git a/module_utils/decort_utils.py b/module_utils/decort_utils.py
index fdb46b0..fa908b3 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.0'
+ ANSIBLE_MODULES_VERSION = '11.0.1'
COMPATIBLE_SDK_MINOR_VERSION = '1.4'
VM_RESIZE_NOT = 0
@@ -5537,7 +5537,12 @@ class DecortController(object):
self.result['changed'] = False
return
- def k8s_workers_modify(self,arg_k8swg,arg_modwg):
+ def k8s_workers_modify(
+ self,
+ arg_k8swg,
+ arg_modwg,
+ master_node_storage_policy_id: int | None = None,
+ ):
self.result['waypoints'] = "{} -> {}".format(self.result['waypoints'], "k8s_workers_modify")
@@ -5651,6 +5656,12 @@ class DecortController(object):
'annotations': wg_to_create['annotations'],
'userData': json.dumps(wg_to_create['ci_user_data']),
'chipset': wg_to_create['chipset'],
+ 'storage_policy_id': (
+ master_node_storage_policy_id
+ or self.k8s_get_master_node_storage_policy_id(
+ k8s_info=arg_k8swg,
+ )
+ ),
}
wg_add_response = self.decort_api_call(
arg_req_function=requests.post,
@@ -5807,6 +5818,19 @@ class DecortController(object):
self.set_changed()
return api_response.json()
+ def k8s_get_master_node_storage_policy_id(self, k8s_info: dict) -> int:
+ master_nodes_info = k8s_info['k8sGroups']['masters'][
+ 'detailedInfo'
+ ]
+ if not master_nodes_info:
+ raise ValueError(
+ f'No master nodes found in K8s cluster ID {k8s_info['id']}'
+ )
+ _, master_node_info, _ = self._compute_get_by_id(
+ comp_id=master_nodes_info[0]['id']
+ )
+ return master_node_info['disks'][0]['storage_policy_id']
+
##############################
#
# Bservice management