mirror of
https://opendev.org/openstack/ansible-collections-openstack.git
synced 2026-05-07 13:53:15 +00:00
Merge "Add support for managing network segments"
This commit is contained in:
17
ci/roles/network_segment/defaults/main.yml
Normal file
17
ci/roles/network_segment/defaults/main.yml
Normal file
@@ -0,0 +1,17 @@
|
||||
---
|
||||
expected_fields:
|
||||
- description
|
||||
- id
|
||||
- name
|
||||
- network_id
|
||||
- network_type
|
||||
- physical_network
|
||||
- segmentation_id
|
||||
|
||||
network_name: segment_network
|
||||
segment_name: example_segment
|
||||
network_type: vlan
|
||||
segmentation_id: 999
|
||||
physical_network: public
|
||||
initial_description: "example segment description"
|
||||
updated_description: "updated segment description"
|
||||
72
ci/roles/network_segment/tasks/main.yml
Normal file
72
ci/roles/network_segment/tasks/main.yml
Normal file
@@ -0,0 +1,72 @@
|
||||
---
|
||||
- name: Create network {{ network_name }}
|
||||
openstack.cloud.network:
|
||||
cloud: "{{ cloud }}"
|
||||
name: "{{ network_name }}"
|
||||
state: present
|
||||
|
||||
- name: Create segment {{ segment_name }}
|
||||
openstack.cloud.network_segment:
|
||||
cloud: "{{ cloud }}"
|
||||
name: "{{ segment_name }}"
|
||||
description: "{{ initial_description }}"
|
||||
network: "{{ network_name }}"
|
||||
network_type: "{{ network_type }}"
|
||||
segmentation_id: "{{ segmentation_id }}"
|
||||
physical_network: "{{ physical_network }}"
|
||||
state: present
|
||||
register: segment
|
||||
|
||||
- name: Assert changed
|
||||
assert:
|
||||
that: segment is changed
|
||||
|
||||
- name: Assert segment fields
|
||||
assert:
|
||||
that: item in segment.network_segment
|
||||
loop: "{{ expected_fields }}"
|
||||
|
||||
- name: Update segment {{ segment_name }} by name - no changes
|
||||
openstack.cloud.network_segment:
|
||||
cloud: "{{ cloud }}"
|
||||
name: "{{ segment_name }}"
|
||||
description: "{{ initial_description }}"
|
||||
state: present
|
||||
register: segment
|
||||
|
||||
- name: Assert not changed
|
||||
assert:
|
||||
that: segment is not changed
|
||||
|
||||
- name: Update segment {{ segment_name }} by all fields - changes
|
||||
openstack.cloud.network_segment:
|
||||
cloud: "{{ cloud }}"
|
||||
name: "{{ segment_name }}"
|
||||
description: "{{ updated_description }}"
|
||||
network: "{{ network_name }}"
|
||||
network_type: "{{ network_type }}"
|
||||
segmentation_id: "{{ segmentation_id }}"
|
||||
physical_network: "{{ physical_network }}"
|
||||
state: present
|
||||
register: segment
|
||||
|
||||
- name: Assert changed
|
||||
assert:
|
||||
that: segment is changed
|
||||
|
||||
- name: Delete segment {{ segment_name }}
|
||||
openstack.cloud.network_segment:
|
||||
cloud: "{{ cloud }}"
|
||||
name: "{{ segment_name }}"
|
||||
state: absent
|
||||
register: segment
|
||||
|
||||
- name: Assert changed
|
||||
assert:
|
||||
that: segment is changed
|
||||
|
||||
- name: Delete network {{ network_name }}
|
||||
openstack.cloud.network:
|
||||
cloud: "{{ cloud }}"
|
||||
name: "{{ network_name }}"
|
||||
state: absent
|
||||
@@ -25,3 +25,4 @@ expected_fields:
|
||||
- updated_at
|
||||
- use_default_subnet_pool
|
||||
subnet_name: shade_subnet
|
||||
segment_name: example_segment
|
||||
|
||||
@@ -17,10 +17,20 @@
|
||||
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 }}"
|
||||
@@ -177,6 +187,13 @@
|
||||
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 }}"
|
||||
|
||||
@@ -32,6 +32,7 @@
|
||||
- { role: loadbalancer, tags: loadbalancer }
|
||||
- { role: logging, tags: logging }
|
||||
- { role: network, tags: network }
|
||||
- { role: network_segment, tags: network_segment }
|
||||
- { role: neutron_rbac_policy, tags: neutron_rbac_policy }
|
||||
- { role: object, tags: object }
|
||||
- { role: object_container, tags: object_container }
|
||||
|
||||
Reference in New Issue
Block a user