mirror of
https://opendev.org/openstack/ansible-collections-openstack.git
synced 2026-03-26 21:43:02 +00:00
Adds a module to manage Neutron network segments where the segmentation plugin is enabled. Segments are relatively simple and do not support modification beyond the name/description, so most attributes are used for initial segment creation, or filtering results in order to perform updates. Depends-On: https://review.opendev.org/c/openstack/ansible-collections-openstack/+/955752 Change-Id: I4647fd96aaa15460d82765365f98a18ddf2693db
208 lines
5.0 KiB
YAML
208 lines
5.0 KiB
YAML
---
|
|
- name: Delete subnet {{ subnet_name }} before test
|
|
openstack.cloud.subnet:
|
|
cloud: "{{ cloud }}"
|
|
name: "{{ subnet_name }}"
|
|
state: absent
|
|
|
|
- name: Delete network {{ network_name }} before test
|
|
openstack.cloud.network:
|
|
cloud: "{{ cloud }}"
|
|
name: "{{ network_name }}"
|
|
state: absent
|
|
|
|
- name: Create network {{ network_name }}
|
|
openstack.cloud.network:
|
|
cloud: "{{ cloud }}"
|
|
name: "{{ network_name }}"
|
|
state: present
|
|
|
|
- name: Create network segment {{ segment_name }}
|
|
openstack.cloud.network_segment:
|
|
cloud: "{{ cloud }}"
|
|
name: "{{ segment_name }}"
|
|
network: "{{ network_name }}"
|
|
network_type: "vxlan"
|
|
segmentation_id: 1000
|
|
state: present
|
|
|
|
- name: Create subnet {{ subnet_name }} on network {{ network_name }}
|
|
openstack.cloud.subnet:
|
|
cloud: "{{ cloud }}"
|
|
network_name: "{{ network_name }}"
|
|
network_segment: "{{ segment_name }}"
|
|
name: "{{ subnet_name }}"
|
|
state: present
|
|
enable_dhcp: "{{ enable_subnet_dhcp }}"
|
|
dns_nameservers:
|
|
- 8.8.8.7
|
|
- 8.8.8.8
|
|
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.254
|
|
register: subnet
|
|
|
|
- name: Assert changed
|
|
assert:
|
|
that: subnet is changed
|
|
|
|
- name: assert subnet fields
|
|
assert:
|
|
that: item in subnet.subnet
|
|
loop: "{{ expected_fields }}"
|
|
|
|
- name: Create subnet {{ subnet_name }} on network {{ network_name }} again
|
|
openstack.cloud.subnet:
|
|
cloud: "{{ cloud }}"
|
|
network_name: "{{ network_name }}"
|
|
name: "{{ subnet_name }}"
|
|
state: present
|
|
enable_dhcp: "{{ enable_subnet_dhcp }}"
|
|
dns_nameservers:
|
|
- 8.8.8.7
|
|
- 8.8.8.8
|
|
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.254
|
|
register: subnet
|
|
|
|
- name: Assert not changed
|
|
assert:
|
|
that: subnet is not changed
|
|
|
|
- name: Get Subnet Info with name
|
|
openstack.cloud.subnets_info:
|
|
cloud: "{{ cloud }}"
|
|
name: "{{ subnet_name }}"
|
|
register: subnet
|
|
|
|
- name: assert subnet fields
|
|
assert:
|
|
that: item in subnet.subnets[0]
|
|
loop: "{{ expected_fields }}"
|
|
|
|
- name: Get Subnet Info with filters
|
|
openstack.cloud.subnets_info:
|
|
cloud: "{{ cloud }}"
|
|
filters:
|
|
enable_dhcp: "{{ enable_subnet_dhcp }}"
|
|
gateway_ip: 192.168.0.1
|
|
cidr: 192.168.0.0/24
|
|
register: subnet
|
|
|
|
- name: Verify Subnet info result
|
|
assert:
|
|
that:
|
|
- subnet is not changed
|
|
- subnet.subnets is defined
|
|
- subnet.subnets | length > 0
|
|
|
|
- name: Get Subnet Info with name and improper filter values
|
|
openstack.cloud.subnets_info:
|
|
cloud: "{{ cloud }}"
|
|
name: "{{ subnet_name }}"
|
|
filters:
|
|
gateway_ip: 192.168.16.1
|
|
cidr: 192.168.16.0/24
|
|
register: subnet
|
|
|
|
- name: Verify Subnet info result
|
|
assert:
|
|
that:
|
|
- subnet is not changed
|
|
- subnet.subnets is defined
|
|
- subnet.subnets | length == 0
|
|
|
|
- name: Update subnet
|
|
openstack.cloud.subnet:
|
|
cloud: "{{ cloud }}"
|
|
network_name: "{{ network_name }}"
|
|
name: "{{ subnet_name }}"
|
|
state: present
|
|
dns_nameservers:
|
|
- 8.8.8.7
|
|
cidr: 192.168.0.0/24
|
|
register: subnet
|
|
|
|
- name: Assert changed
|
|
assert:
|
|
that: subnet is changed
|
|
|
|
- name: Delete subnet {{ subnet_name }}
|
|
openstack.cloud.subnet:
|
|
cloud: "{{ cloud }}"
|
|
name: "{{ subnet_name }}"
|
|
state: absent
|
|
register: subnet
|
|
|
|
- name: Assert changed
|
|
assert:
|
|
that: subnet is changed
|
|
|
|
- name: Delete subnet {{ subnet_name }} again
|
|
openstack.cloud.subnet:
|
|
cloud: "{{ cloud }}"
|
|
name: "{{ subnet_name }}"
|
|
state: absent
|
|
register: subnet
|
|
|
|
- name: Assert not changed
|
|
assert:
|
|
that: subnet is not changed
|
|
|
|
- name: Create subnet {{ subnet_name }} on network {{ network_name }} without gateway IP
|
|
openstack.cloud.subnet:
|
|
cloud: "{{ cloud }}"
|
|
network_name: "{{ network_name }}"
|
|
name: "{{ subnet_name }}"
|
|
state: present
|
|
cidr: 192.168.0.0/24
|
|
disable_gateway_ip: true
|
|
register: subnet
|
|
|
|
- name: Assert changed
|
|
assert:
|
|
that: subnet is changed
|
|
|
|
- name: Create subnet {{ subnet_name }} on network {{ network_name }} without gateway IP
|
|
openstack.cloud.subnet:
|
|
cloud: "{{ cloud }}"
|
|
network_name: "{{ network_name }}"
|
|
name: "{{ subnet_name }}"
|
|
state: present
|
|
cidr: 192.168.0.0/24
|
|
disable_gateway_ip: true
|
|
register: subnet
|
|
|
|
- name: Assert not changed
|
|
assert:
|
|
that: subnet is not changed
|
|
|
|
- name: Delete subnet {{ subnet_name }} again
|
|
openstack.cloud.subnet:
|
|
cloud: "{{ cloud }}"
|
|
name: "{{ subnet_name }}"
|
|
state: absent
|
|
register: subnet
|
|
|
|
- name: Delete network segment {{ segment_name }}
|
|
openstack.cloud.network_segment:
|
|
cloud: "{{ cloud }}"
|
|
name: "{{ segment_name }}"
|
|
network: "{{ network_name }}"
|
|
state: absent
|
|
|
|
- name: Delete network {{ network_name }}
|
|
openstack.cloud.network:
|
|
cloud: "{{ cloud }}"
|
|
name: "{{ network_name }}"
|
|
state: absent
|
|
|
|
- name: Subnet Allocation
|
|
include_tasks: subnet-allocation.yml
|
|
|
|
- name: Subnet Allocations from Subnet Pool
|
|
include_tasks: subnet-pool.yaml
|