Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 75d41f5cca | |||
| a5f23d09da |
@@ -1,11 +1,11 @@
|
|||||||
# Список изменений в версии 10.0.1
|
# Список изменений в версии 10.0.3
|
||||||
|
|
||||||
## Добавлено
|
## Добавлено
|
||||||
|
|
||||||
## Удалено
|
## Удалено
|
||||||
|
|
||||||
## Исправлено
|
## Исправлено
|
||||||
### Модуль decort_group
|
### Модуль decort_k8s
|
||||||
| Идентификатор<br>задачи | Описание |
|
| Идентификатор<br>задачи | Описание |
|
||||||
| --- | --- |
|
| --- | --- |
|
||||||
| BANS-941 | Исправлена ошибка, из-за которой не происходил запуск группы после создании с указанием параметра `timeoutStart`. |
|
| BANS-1215 | Модуль завершал работу ошибкой запроса к API при попытке модуля пересоздать группу воркеров. |
|
||||||
|
|||||||
@@ -215,6 +215,9 @@ class decort_k8s(DecortController):
|
|||||||
self.k8s_workers_modify(
|
self.k8s_workers_modify(
|
||||||
arg_k8swg=self.k8s_info,
|
arg_k8swg=self.k8s_info,
|
||||||
arg_modwg=target_wgs,
|
arg_modwg=target_wgs,
|
||||||
|
master_node_storage_policy_id=(
|
||||||
|
self.aparams['storage_policy_id']
|
||||||
|
),
|
||||||
)
|
)
|
||||||
self.k8s_info = self.k8s_get_by_id(k8s_id=self.k8s_id)
|
self.k8s_info = self.k8s_get_by_id(k8s_id=self.k8s_id)
|
||||||
return
|
return
|
||||||
@@ -257,7 +260,10 @@ class decort_k8s(DecortController):
|
|||||||
self.k8s_info = self.k8s_get_by_id(k8s_id=self.k8s_id)
|
self.k8s_info = self.k8s_get_by_id(k8s_id=self.k8s_id)
|
||||||
#check groups and modify if needed
|
#check groups and modify if needed
|
||||||
if self.aparams['workers'] is not None:
|
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']
|
aparam_zone_id = self.aparams['zone_id']
|
||||||
if aparam_zone_id is not None and aparam_zone_id != self.k8s_info['zoneId']:
|
if aparam_zone_id is not None and aparam_zone_id != self.k8s_info['zoneId']:
|
||||||
|
|||||||
@@ -6472,7 +6472,12 @@ class DecortController(object):
|
|||||||
self.result['changed'] = False
|
self.result['changed'] = False
|
||||||
return
|
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")
|
self.result['waypoints'] = "{} -> {}".format(self.result['waypoints'], "k8s_workers_modify")
|
||||||
|
|
||||||
@@ -6581,11 +6586,20 @@ class DecortController(object):
|
|||||||
'workerDisk': wg_to_create['disk'],
|
'workerDisk': wg_to_create['disk'],
|
||||||
'workerSepId': wg_to_create['sep_id'],
|
'workerSepId': wg_to_create['sep_id'],
|
||||||
'workerSepPool': wg_to_create['pool'],
|
'workerSepPool': wg_to_create['pool'],
|
||||||
'labels': wg_to_create['labels'],
|
'labels': [
|
||||||
|
label for label in (wg_to_create['labels'] or [])
|
||||||
|
if 'workersGroupName' not in label
|
||||||
|
],
|
||||||
'taints': wg_to_create['taints'],
|
'taints': wg_to_create['taints'],
|
||||||
'annotations': wg_to_create['annotations'],
|
'annotations': wg_to_create['annotations'],
|
||||||
'userData': json.dumps(wg_to_create['ci_user_data']),
|
'userData': json.dumps(wg_to_create['ci_user_data']),
|
||||||
'chipset': wg_to_create['chipset'],
|
'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(
|
wg_add_response = self.decort_api_call(
|
||||||
arg_req_function=requests.post,
|
arg_req_function=requests.post,
|
||||||
@@ -6742,6 +6756,19 @@ class DecortController(object):
|
|||||||
self.set_changed()
|
self.set_changed()
|
||||||
return api_response.json()
|
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
|
# Bservice management
|
||||||
|
|||||||
@@ -1,2 +0,0 @@
|
|||||||
-r requirements.txt
|
|
||||||
pre-commit==4.1.0
|
|
||||||
Reference in New Issue
Block a user