mirror of
https://opendev.org/openstack/ansible-collections-openstack.git
synced 2026-03-26 21:43:02 +00:00
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
151 lines
4.7 KiB
YAML
151 lines
4.7 KiB
YAML
---
|
|
- name: Create network {{ network_name }}
|
|
openstack.cloud.network:
|
|
cloud: "{{ cloud }}"
|
|
name: "{{ network_name }}"
|
|
state: present
|
|
|
|
- name: Create subnet {{ subnet_name }} on network {{ network_name }}
|
|
openstack.cloud.subnet:
|
|
cloud: "{{ cloud }}"
|
|
network_name: "{{ network_name }}"
|
|
enable_dhcp: "{{ enable_subnet_dhcp }}"
|
|
name: "{{ subnet_name }}"
|
|
state: present
|
|
cidr: 192.168.0.0/24
|
|
gateway_ip: 192.168.0.1
|
|
allocation_pool_start: 192.168.0.2
|
|
allocation_pool_end: 192.168.0.4
|
|
|
|
- name: Create subnet {{ subnet_name }} on network {{ network_name }} again
|
|
openstack.cloud.subnet:
|
|
cloud: "{{ cloud }}"
|
|
network_name: "{{ network_name }}"
|
|
enable_dhcp: "{{ enable_subnet_dhcp }}"
|
|
name: "{{ subnet_name }}"
|
|
state: present
|
|
cidr: 192.168.0.0/24
|
|
gateway_ip: 192.168.0.1
|
|
allocation_pool_start: 192.168.0.2
|
|
allocation_pool_end: 192.168.0.4
|
|
register: idem1
|
|
|
|
- name: Update subnet {{ subnet_name }} allocation pools
|
|
openstack.cloud.subnet:
|
|
cloud: "{{ cloud }}"
|
|
network_name: "{{ network_name }}"
|
|
name: "{{ subnet_name }}"
|
|
state: present
|
|
cidr: 192.168.0.0/24
|
|
gateway_ip: 192.168.0.1
|
|
allocation_pool_start: 192.168.0.2
|
|
allocation_pool_end: 192.168.0.8
|
|
|
|
- name: Get Subnet Info
|
|
openstack.cloud.subnets_info:
|
|
cloud: "{{ cloud }}"
|
|
name: "{{ subnet_name }}"
|
|
register: subnet_result
|
|
|
|
- name: Verify Subnet Allocation Pools Exist
|
|
assert:
|
|
that:
|
|
- idem1 is not changed
|
|
- subnet_result.subnets is defined
|
|
- subnet_result.subnets | length == 1
|
|
- subnet_result.subnets[0].allocation_pools is defined
|
|
- subnet_result.subnets[0].allocation_pools | length == 1
|
|
|
|
- name: Verify Subnet Allocation Pools
|
|
assert:
|
|
that:
|
|
- subnet_result.subnets[0].allocation_pools.0.start == '192.168.0.2'
|
|
- subnet_result.subnets[0].allocation_pools.0.end == '192.168.0.8'
|
|
|
|
- name: Delete subnet {{ subnet_name }}
|
|
openstack.cloud.subnet:
|
|
cloud: "{{ cloud }}"
|
|
name: "{{ subnet_name }}"
|
|
state: absent
|
|
|
|
- name: Create subnet {{ subnet_name }} with multiple allocation pools on network {{ network_name }}
|
|
openstack.cloud.subnet:
|
|
cloud: "{{ cloud }}"
|
|
network_name: "{{ network_name }}"
|
|
enable_dhcp: "{{ enable_subnet_dhcp }}"
|
|
name: "{{ subnet_name }}"
|
|
state: present
|
|
cidr: 192.168.0.0/24
|
|
gateway_ip: 192.168.0.1
|
|
allocation_pools:
|
|
- start: 192.168.0.2
|
|
end: 192.168.0.4
|
|
- start: 192.168.0.10
|
|
end: 192.168.0.12
|
|
|
|
- name: Create subnet {{ subnet_name }} on network {{ network_name }} again
|
|
openstack.cloud.subnet:
|
|
cloud: "{{ cloud }}"
|
|
network_name: "{{ network_name }}"
|
|
enable_dhcp: "{{ enable_subnet_dhcp }}"
|
|
name: "{{ subnet_name }}"
|
|
state: present
|
|
cidr: 192.168.0.0/24
|
|
gateway_ip: 192.168.0.1
|
|
allocation_pools:
|
|
- start: 192.168.0.2
|
|
end: 192.168.0.4
|
|
- start: 192.168.0.10
|
|
end: 192.168.0.12
|
|
register: idem2
|
|
|
|
- name: Update subnet {{ subnet_name }} allocation pools
|
|
openstack.cloud.subnet:
|
|
cloud: "{{ cloud }}"
|
|
network_name: "{{ network_name }}"
|
|
name: "{{ subnet_name }}"
|
|
state: present
|
|
cidr: 192.168.0.0/24
|
|
gateway_ip: 192.168.0.1
|
|
allocation_pools:
|
|
- start: 192.168.0.2
|
|
end: 192.168.0.8
|
|
- start: 192.168.0.10
|
|
end: 192.168.0.16
|
|
|
|
- name: Get Subnet Info
|
|
openstack.cloud.subnets_info:
|
|
cloud: "{{ cloud }}"
|
|
name: "{{ subnet_name }}"
|
|
register: subnet_result
|
|
|
|
# TODO(sshnaidm): Uncomment this section when the issue with allocation_pools is fixed
|
|
# - name: Verify Subnet Allocation Pools Exist
|
|
# assert:
|
|
# that:
|
|
# - idem2 is not changed
|
|
# - subnet_result.subnets is defined
|
|
# - subnet_result.subnets | length == 1
|
|
# - subnet_result.subnets[0].allocation_pools is defined
|
|
# - subnet_result.subnets[0].allocation_pools | length == 2
|
|
|
|
# - name: Verify Subnet Allocation Pools
|
|
# assert:
|
|
# that:
|
|
# - (subnet_result.subnets[0].allocation_pools.0.start == '192.168.0.2' and subnet_result.subnets[0].allocation_pools.0.end == '192.168.0.8') or
|
|
# (subnet_result.subnets[0].allocation_pools.0.start == '192.168.0.10' and subnet_result.subnets[0].allocation_pools.0.end == '192.168.0.16')
|
|
# - (subnet_result.subnets[0].allocation_pools.1.start == '192.168.0.2' and subnet_result.subnets[0].allocation_pools.1.end == '192.168.0.8') or
|
|
# (subnet_result.subnets[0].allocation_pools.1.start == '192.168.0.10' and subnet_result.subnets[0].allocation_pools.1.end == '192.168.0.16')
|
|
|
|
- name: Delete subnet {{ subnet_name }}
|
|
openstack.cloud.subnet:
|
|
cloud: "{{ cloud }}"
|
|
name: "{{ subnet_name }}"
|
|
state: absent
|
|
|
|
- name: Delete network {{ network_name }}
|
|
openstack.cloud.network:
|
|
cloud: "{{ cloud }}"
|
|
name: "{{ network_name }}"
|
|
state: absent
|