Fix issue with multiple records in recordset
Story: #2010527 Task: #47136 Sort records in recordset so it can be compared to existing ones and not to trigger update in case of a different order. Change-Id: Ib5d2af56616532174c29ec2be86827ccd0a17940
This commit is contained in:
parent
01e1742acf
commit
edd4e1b2e9
@ -1,7 +1,7 @@
|
|||||||
dns_zone_name: test.dns.zone.
|
dns_zone_name: test.dns.zone.
|
||||||
recordset_name: testrecordset.test.dns.zone.
|
recordset_name: testrecordset.test.dns.zone.
|
||||||
records: ['10.0.0.0']
|
records: ['10.0.0.0', '10.0.0.2']
|
||||||
updated_records: ['10.1.1.1']
|
updated_records: ['10.1.1.1', '10.0.0.2']
|
||||||
|
|
||||||
recordset_fields:
|
recordset_fields:
|
||||||
- action
|
- action
|
||||||
|
@ -29,7 +29,7 @@
|
|||||||
- recordset is changed
|
- recordset is changed
|
||||||
- recordset["recordset"].name == recordset_name
|
- recordset["recordset"].name == recordset_name
|
||||||
- recordset["recordset"].zone_name == dns_zone.zone.name
|
- recordset["recordset"].zone_name == dns_zone.zone.name
|
||||||
- recordset["recordset"].records == records
|
- recordset["recordset"].records | list | sort == records | list | sort
|
||||||
|
|
||||||
- name: Assert recordset fields
|
- name: Assert recordset fields
|
||||||
assert:
|
assert:
|
||||||
@ -71,7 +71,7 @@
|
|||||||
- recordset is changed
|
- recordset is changed
|
||||||
- recordset["recordset"].zone_name == dns_zone.zone.name
|
- recordset["recordset"].zone_name == dns_zone.zone.name
|
||||||
- recordset["recordset"].name == recordset_name
|
- recordset["recordset"].name == recordset_name
|
||||||
- recordset["recordset"].records == updated_records
|
- recordset["recordset"].records | list | sort == updated_records | list | sort
|
||||||
|
|
||||||
- name: Assert recordset fields
|
- name: Assert recordset fields
|
||||||
assert:
|
assert:
|
||||||
|
@ -181,6 +181,10 @@ class DnsRecordsetModule(OpenStackModule):
|
|||||||
module_min_sdk_version = '0.28.0'
|
module_min_sdk_version = '0.28.0'
|
||||||
|
|
||||||
def _needs_update(self, params, recordset):
|
def _needs_update(self, params, recordset):
|
||||||
|
if params['records'] is not None:
|
||||||
|
params['records'] = sorted(params['records'])
|
||||||
|
if recordset['records'] is not None:
|
||||||
|
recordset['records'] = sorted(recordset['records'])
|
||||||
for k in ('description', 'records', 'ttl', 'type'):
|
for k in ('description', 'records', 'ttl', 'type'):
|
||||||
if k not in params:
|
if k not in params:
|
||||||
continue
|
continue
|
||||||
|
Loading…
x
Reference in New Issue
Block a user