This commit is contained in:
2026-09-18 12:19:28 +03:00
parent b2cb33e9a8
commit 1c0e5cfdb3
27 changed files with 1045 additions and 753 deletions

View File

@@ -21,7 +21,12 @@ class decort_group(DecortController):
validated_bservice_id = None
#find and validate B-Service
validated_bservice_id, bservice_info = self.bservice_get_by_id(arg_amodule.params['bservice_id'])
validated_bservice_id, self._bservice_info = self.bservice_find(
account_id=None,
rg_id=None,
bservice_id=arg_amodule.params['bservice_id'],
fail_if_not_found=False,
)
if not validated_bservice_id:
self.result['failed'] = True
self.result['changed'] = False
@@ -29,15 +34,14 @@ class decort_group(DecortController):
self.amodule.fail_json(**self.result)
#find group
self.bservice_id = validated_bservice_id
self.bservice_info = bservice_info
self.group_id,self.group_info = self.group_find(
bs_id=validated_bservice_id,
bs_info=bservice_info,
bs_info=self.bservice_info,
group_id=arg_amodule.params['id'],
group_name=arg_amodule.params['name'],
)
self.acc_id = self.bservice_info['accountId']
self.rg_id = self.bservice_info['rgId']
self.acc_id = self.bservice_info['account_id']
self.rg_id = self.bservice_info['rg_id']
if self.group_id:
self.group_should_exist = True
@@ -88,17 +92,19 @@ class decort_group(DecortController):
warning=True,
)
self.group_id=self.group_provision(
bs_id=self.bservice_id,
arg_name=self.amodule.params['name'],
arg_count=self.amodule.params['count'],
arg_cpu=self.amodule.params['cpu'],
arg_ram=self.amodule.params['ram'],
arg_boot_disk=self.amodule.params['boot_disk'],
arg_image_id=self.amodule.params['image_id'],
arg_role=self.amodule.params['role'],
arg_network=self.amodule.params['networks'],
arg_timeout=self.amodule.params['timeoutStart'],
aparam_networks = self.amodule.params['networks'] or []
self.group_id = self.sdk_checkmode(self.api.cloudapi.bservice.group_add)(
bservice_id=self.bservice_id,
name=self.amodule.params['name'],
vm_count=self.amodule.params['count'],
cpu_count=self.amodule.params['cpu'],
ram_size_mb=self.amodule.params['ram'],
boot_disk_size_gb=self.amodule.params['boot_disk'],
image_id=self.amodule.params['image_id'],
role=self.amodule.params['role'],
vins_ids=[n['id'] for n in aparam_networks if n['type'] == 'VINS'],
extnet_ids=[n['id'] for n in aparam_networks if n['type'] == 'EXTNET'],
start_timeout=self.amodule.params['timeoutStart'],
chipset=chipset,
storage_policy_id=self.aparams['storage_policy_id'],
)
@@ -146,14 +152,15 @@ class decort_group(DecortController):
aparam_value = self.aparams[aparam_name]
group_info_value = self.group_info[info_key]
if aparam_value != None and aparam_value != group_info_value:
self.group_update(
bs_id=self.bservice_id,
gr_dict=self.group_info,
arg_cpu=self.aparams['cpu'],
arg_disk=self.aparams['boot_disk'],
arg_name=self.aparams['name'],
arg_role=self.aparams['role'],
arg_ram=self.aparams['ram'],
self.sdk_checkmode(self.api.cloudapi.bservice.group_update)(
bservice_id=self.bservice_id,
bsgroup_id=self.group_info['id'],
force=True,
cpu_count=self.aparams['cpu'],
boot_disk_size_gb=self.aparams['boot_disk'],
name=self.aparams['name'],
ram_size_mb=self.aparams['ram'],
role=self.aparams['role'],
)
break
@@ -166,9 +173,9 @@ class decort_group(DecortController):
def destroy(self):
self.group_delete(
self.bservice_id,
self.group_id
self.sdk_checkmode(self.api.cloudapi.bservice.group_remove)(
bservice_id=self.bservice_id,
bsgroup_id=self.group_id,
)
self.group_should_exist = False