mirror of
https://opendev.org/openstack/ansible-collections-openstack.git
synced 2026-03-26 21:43:02 +00:00
Allow to specify multiple allocation pools when creating a subnet
With this change, multiple allocation pool may be specified when creating
a subnet. Allocation pools are defined as a list of dictionaries.
For example:
openstack.cloud.subnet:
name: sub1
network: network1
cidr: 192.168.0.0/24
ip_version: 4
allocation_pools:
- start: 192.168.0.10
end: 192.168.0.50
- start: 192.168.0.100
end: 192.168.0.150
Change-Id: I77a06990de082466dc6265a14c379b8bbaf789e8
This commit is contained in:
@@ -68,6 +68,80 @@
|
||||
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
|
||||
|
||||
- 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 }}"
|
||||
|
||||
@@ -84,6 +84,70 @@
|
||||
name: "{{ subnet_name }}"
|
||||
state: absent
|
||||
|
||||
- name: Create subnet {{ subnet_name }} with multiple allocation pools on network {{ network_name }} from subnet pool {{ subnet_pool_name }}
|
||||
openstack.cloud.subnet:
|
||||
cloud: "{{ cloud }}"
|
||||
network_name: "{{ network_name }}"
|
||||
enable_dhcp: "{{ enable_subnet_dhcp }}"
|
||||
name: "{{ subnet_name }}"
|
||||
state: present
|
||||
cidr: 192.168.42.0/24 # we want specific cidr from subnet pool
|
||||
ip_version: 4
|
||||
subnet_pool: "{{ subnet_pool_name }}"
|
||||
gateway_ip: 192.168.42.1
|
||||
allocation_pools:
|
||||
- start: 192.168.42.2
|
||||
end: 192.168.42.4
|
||||
- start: 192.168.42.6
|
||||
end: 192.168.42.8
|
||||
|
||||
- name: Create subnet {{ subnet_name }} on network {{ network_name }} from subnet pool {{ subnet_pool_name }} again
|
||||
openstack.cloud.subnet:
|
||||
cloud: "{{ cloud }}"
|
||||
network_name: "{{ network_name }}"
|
||||
enable_dhcp: "{{ enable_subnet_dhcp }}"
|
||||
name: "{{ subnet_name }}"
|
||||
state: present
|
||||
cidr: 192.168.42.0/24
|
||||
ip_version: 4
|
||||
subnet_pool: "{{ subnet_pool_name }}"
|
||||
gateway_ip: 192.168.42.1
|
||||
allocation_pools:
|
||||
- start: 192.168.42.2
|
||||
end: 192.168.42.4
|
||||
- start: 192.168.42.6
|
||||
end: 192.168.42.8
|
||||
register: idem2
|
||||
|
||||
- name: Get Subnet Info
|
||||
openstack.cloud.subnets_info:
|
||||
cloud: "{{ cloud }}"
|
||||
name: "{{ subnet_name }}"
|
||||
register: subnet_result
|
||||
|
||||
- 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.42.2' and subnet_result.subnets[0].allocation_pools.0.end == '192.168.42.4') or
|
||||
(subnet_result.subnets[0].allocation_pools.0.start == '192.168.42.6' and subnet_result.subnets[0].allocation_pools.0.end == '192.168.42.8')
|
||||
- (subnet_result.subnets[0].allocation_pools.1.start == '192.168.42.2' and subnet_result.subnets[0].allocation_pools.1.end == '192.168.42.4') or
|
||||
(subnet_result.subnets[0].allocation_pools.1.start == '192.168.42.6' and subnet_result.subnets[0].allocation_pools.1.end == '192.168.42.8')
|
||||
|
||||
- name: Delete subnet {{ subnet_name }}
|
||||
openstack.cloud.subnet:
|
||||
cloud: "{{ cloud }}"
|
||||
name: "{{ subnet_name }}"
|
||||
state: absent
|
||||
|
||||
- name: Delete created subnet pool
|
||||
openstack.cloud.subnet_pool:
|
||||
cloud: "{{ cloud }}"
|
||||
|
||||
Reference in New Issue
Block a user