Since long time we knew that it is necessary to explicitly invoke `to_dict` for openstacksdk resources before passing them to Ansible. Here it was missed and in addition to that records are only returned when the recordset becomes active. Change-Id: I49238d2f7add9412bb9100b69f1b84b512f8c34b
124 lines
3.1 KiB
YAML
124 lines
3.1 KiB
YAML
- name: Ensure DNS zone not present before tests
|
|
openstack.cloud.dns_zone:
|
|
cloud: "{{ cloud }}"
|
|
name: "{{ dns_zone_name }}"
|
|
zone_type: "primary"
|
|
email: test@example.net
|
|
state: absent
|
|
|
|
- name: Ensure dns zone
|
|
openstack.cloud.dns_zone:
|
|
cloud: "{{ cloud }}"
|
|
name: "{{ dns_zone_name }}"
|
|
zone_type: "primary"
|
|
email: test@example.net
|
|
register: dns_zone
|
|
|
|
- name: Ensure recordset not present
|
|
openstack.cloud.recordset:
|
|
cloud: "{{ cloud }}"
|
|
zone: "{{ dns_zone.zone.name }}"
|
|
name: "{{ recordset_name }}"
|
|
recordset_type: "a"
|
|
records: "{{ records }}"
|
|
state: absent
|
|
|
|
- name: Create a recordset
|
|
openstack.cloud.recordset:
|
|
cloud: "{{ cloud }}"
|
|
zone: "{{ dns_zone.zone.name }}"
|
|
name: "{{ recordset_name }}"
|
|
recordset_type: "a"
|
|
records: "{{ records }}"
|
|
register: recordset
|
|
until: '"PENDING" not in recordset["recordset"].status'
|
|
retries: 10
|
|
delay: 5
|
|
|
|
- name: Verify recordset info
|
|
assert:
|
|
that:
|
|
- recordset["recordset"].name == recordset_name
|
|
- recordset["recordset"].zone_name == dns_zone.zone.name
|
|
- recordset["recordset"].records | list | sort == records | list | sort
|
|
|
|
- name: Assert recordset fields
|
|
assert:
|
|
that: item in recordset.recordset
|
|
loop: "{{ recordset_fields }}"
|
|
|
|
- name: Create identical recordset
|
|
openstack.cloud.recordset:
|
|
cloud: "{{ cloud }}"
|
|
zone: "{{ dns_zone.zone.name }}"
|
|
name: "{{ recordset_name }}"
|
|
recordset_type: "a"
|
|
records: "{{ records }}"
|
|
register: recordset
|
|
|
|
- name: Assert recordset not changed
|
|
assert:
|
|
that:
|
|
- recordset is not changed
|
|
|
|
- name: Assert recordset fields
|
|
assert:
|
|
that: item in recordset.recordset
|
|
loop: "{{ recordset_fields }}"
|
|
|
|
- name: Update a recordset
|
|
openstack.cloud.recordset:
|
|
cloud: "{{ cloud }}"
|
|
zone: "{{ dns_zone.zone.name }}"
|
|
name: "{{ recordset_name }}"
|
|
recordset_type: "a"
|
|
records: "{{ updated_records }}"
|
|
description: "new test recordset"
|
|
register: recordset
|
|
|
|
- name: Verify recordset info
|
|
assert:
|
|
that:
|
|
- recordset is changed
|
|
- recordset["recordset"].zone_name == dns_zone.zone.name
|
|
- recordset["recordset"].name == recordset_name
|
|
- recordset["recordset"].records | list | sort == updated_records | list | sort
|
|
|
|
- name: Assert recordset fields
|
|
assert:
|
|
that: item in recordset.recordset
|
|
loop: "{{ recordset_fields }}"
|
|
|
|
- name: Delete recordset
|
|
openstack.cloud.recordset:
|
|
cloud: "{{ cloud }}"
|
|
zone: "{{ dns_zone.zone.name }}"
|
|
name: "{{ recordset.recordset.name }}"
|
|
state: absent
|
|
register: deleted_recordset
|
|
|
|
- name: Verify recordset deletion
|
|
assert:
|
|
that:
|
|
- deleted_recordset is successful
|
|
- deleted_recordset is changed
|
|
|
|
- name: Delete unexistent recordset
|
|
openstack.cloud.recordset:
|
|
cloud: "{{ cloud }}"
|
|
zone: "{{ dns_zone.zone.name }}"
|
|
name: "{{ recordset.recordset.name }}"
|
|
state: absent
|
|
register: deleted_recordset
|
|
|
|
- name: Verify recordset deletion
|
|
assert:
|
|
that:
|
|
- deleted_recordset is not changed
|
|
|
|
- name: Delete dns zone
|
|
openstack.cloud.dns_zone:
|
|
cloud: "{{ cloud }}"
|
|
name: "{{ dns_zone.zone.name }}"
|
|
state: absent
|