From 3d9917b8a78b10f32fcdd89bbad5a4670ec60858 Mon Sep 17 00:00:00 2001 From: Alex_geth Date: Thu, 27 Jan 2022 13:17:14 +0300 Subject: [PATCH] api update, arch update --- library/decort_kvmvm.py | 12 ++++++------ module_utils/decort_utils.py | 14 +++++++------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/library/decort_kvmvm.py b/library/decort_kvmvm.py index 4b1d630..3b38b07 100644 --- a/library/decort_kvmvm.py +++ b/library/decort_kvmvm.py @@ -77,8 +77,8 @@ options: - Architecture of the KVM VM. DECORT supports KVM hosts based on Intel x86 and IBM PowerPC hardware. - This parameter is used when new KVM VM is created and ignored for all other operations. - Module may fail if your DECORT installation does not have physical nodes of specified architecture. - default: KVM_X86 - choices: [ KVM_X86, KVM_PPC ] + default: X86_64 + choices: [ X86_64, PPC64_LE ] required: yes authenticator: description: @@ -439,8 +439,8 @@ class decort_kvmvm(DecortController): check_state=False) if self.comp_id: - if self.comp_info['status'] != 'DESTROYED' and self.comp_info['arch'] not in ["KVM_X86", "KVM_PPC"]: - # If we found a Compute in a non-DESTROYED state and it is not of type KVM_*, abort the module + if self.comp_info['status'] != 'DESTROYED' and self.comp_info['arch'] not in ["X86_64", "PPC64_LE"]: + # If we found a Compute in a non-DESTROYED state and it is not of type valid arch, abort the module self.result['failed'] = True self.result['msg'] = ("Compute ID {} architecture '{}' is not supported by " "decort_kvmvm module.").format(self.comp_id, @@ -500,7 +500,7 @@ class decort_kvmvm(DecortController): self.check_amodule_argument('cpu') self.check_amodule_argument('ram') - if self.amodule.params['arch'] not in ["KVM_X86", "KVM_PPC"]: + if self.amodule.params['arch'] not in ["X86_64", "PPC64_LE"]: self.result['failed'] = True self.result['msg'] = ("Unsupported architecture '{}' is specified for " "KVM VM create.").format(self.amodule.params['arch']) @@ -743,7 +743,7 @@ class decort_kvmvm(DecortController): required=False, fallback=(env_fallback, ['DECORT_APP_SECRET']), no_log=True), - arch=dict(type='str', choices=['KVM_X86', 'KVM_PPC'], default='KVM_X86'), + arch=dict(type='str', choices=['X86_64', 'PPC64_LE'], default='X86_64'), authenticator=dict(type='str', required=True, choices=['legacy', 'oauth2', 'jwt']), diff --git a/module_utils/decort_utils.py b/module_utils/decort_utils.py index 0e9e6a2..c50ab96 100644 --- a/module_utils/decort_utils.py +++ b/module_utils/decort_utils.py @@ -769,8 +769,8 @@ class DecortController(object): @param (int) rg_id: ID of the RG where the VM will be provisioned. @param (string) comp_name: that specifies the name of the VM. - @param (string) arch: hardware architecture of KVM VM. Supported values are: "KVM_X86" for Intel x86 - and "KVM_PPC" for IBM PowerPC. + @param (string) arch: hardware architecture of KVM VM. Supported values are: "X86_64" for Intel x86 + and "PPC64_LE" for IBM PowerPC. @param (int) cpu: how many virtual CPUs to allocate. @param (int) ram: volume of RAM in MB to allocate (i.e. pass 4096 to allocate 4GB RAM). @param (int) boot_disk: boot disk size in GB. @@ -792,9 +792,9 @@ class DecortController(object): return 0 api_url="" - if arch == "KVM_X86": + if arch == "X86_64": api_url = "/restmachine/cloudapi/kvmx86/create" - elif arch == "KVM_PPC": + elif arch == "PPC64_LE": api_url = "/restmachine/cloudapi/kvmppc/create" else: self.result['failed'] = True @@ -1380,12 +1380,12 @@ class DecortController(object): self.amodule.fail_json(**self.result) # try to locate RG by name - start with getting all RGs IDs within the specified account api_params['accountId'] = arg_account_id - api_resp = self.decort_api_call(requests.post, "/restmachine/cloudapi/account/get", api_params) + api_resp = self.decort_api_call(requests.post, "/restmachine/cloudapi/account/listRG", api_params) if api_resp.status_code == 200: account_specs = json.loads(api_resp.content.decode('utf8')) api_params.pop('accountId') - for rg_id in account_specs['rgs']: - got_id, got_specs = self._rg_get_by_id(rg_id) + for rg_item in account_specs: + got_id, got_specs = self._rg_get_by_id(rg_item['id']) if got_id and got_specs['name'] == arg_rg_name: # name matches if not arg_check_state or got_specs['status'] not in RG_INVALID_STATES: