From d6cdad2c429920ddd769a08e87f4e3eec444c742 Mon Sep 17 00:00:00 2001 From: Rafael Castillo Date: Tue, 31 May 2022 17:57:43 -0700 Subject: [PATCH] Correctly build params dict in recordset Change If8fda40780050d271c9d869d8959ef569644fd88 unintentionally broke our integration tests. This patch fixes the code and tests to make everything pass again. Change-Id: Ief8d1f9e1eec13a2d435e96a0d70e31a2b4431f2 --- ci/roles/recordset/tasks/main.yml | 12 ++++++------ plugins/modules/recordset.py | 12 ++++++++---- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/ci/roles/recordset/tasks/main.yml b/ci/roles/recordset/tasks/main.yml index da2cb418..f42b2126 100644 --- a/ci/roles/recordset/tasks/main.yml +++ b/ci/roles/recordset/tasks/main.yml @@ -48,7 +48,7 @@ - name: Assert recordset not changed assert: that: - - recordset is changed + - recordset is not changed - name: Assert recordset fields assert: @@ -84,13 +84,13 @@ zone: "{{ dns_zone.zone.name }}" name: "{{ recordset.recordset.name }}" state: absent - register: recordset + register: deleted_recordset - name: Verify recordset deletion assert: that: - - recordset is successful - - recordset is changed + - deleted_recordset is successful + - deleted_recordset is changed - name: Delete unexistent recordset openstack.cloud.recordset: @@ -98,12 +98,12 @@ zone: "{{ dns_zone.zone.name }}" name: "{{ recordset.recordset.name }}" state: absent - register: recordset + register: deleted_recordset - name: Verify recordset deletion assert: that: - - recordset is not changed + - deleted_recordset is not changed - name: Delete dns zone openstack.cloud.dns_zone: diff --git a/plugins/modules/recordset.py b/plugins/modules/recordset.py index cc909419..f36cee33 100644 --- a/plugins/modules/recordset.py +++ b/plugins/modules/recordset.py @@ -184,6 +184,10 @@ class DnsRecordsetModule(OpenStackModule): def _needs_update(self, params, recordset): for k in ('description', 'records', 'ttl', 'type'): + if k not in params: + continue + if k not in recordset: + return True if params[k] is not None and params[k] != recordset[k]: return True return False @@ -204,10 +208,10 @@ class DnsRecordsetModule(OpenStackModule): description = self.params['description'] ttl = self.params['ttl'] params = { - description: description, - records: records, - type: recordset_type.upper(), - ttl: ttl, + 'description': description, + 'records': records, + 'type': recordset_type.upper(), + 'ttl': ttl, } return {k: v for k, v in params.items() if v is not None}