mirror of
https://github.com/ansible-collections/community.general.git
synced 2026-05-07 05:42:50 +00:00
Add a new CloudStack module - cs_traffic_type (#54451)
* Add get_physical_network to AnsibleCloudStack * Add new module cs_traffic_type
This commit is contained in:
committed by
René Moser
parent
601d20117d
commit
43514e9d93
2
test/integration/targets/cs_traffic_type/aliases
Normal file
2
test/integration/targets/cs_traffic_type/aliases
Normal file
@@ -0,0 +1,2 @@
|
||||
cloud/cs
|
||||
shippable/cs/group1
|
||||
3
test/integration/targets/cs_traffic_type/meta/main.yml
Normal file
3
test/integration/targets/cs_traffic_type/meta/main.yml
Normal file
@@ -0,0 +1,3 @@
|
||||
---
|
||||
dependencies:
|
||||
- cs_common
|
||||
173
test/integration/targets/cs_traffic_type/tasks/main.yml
Normal file
173
test/integration/targets/cs_traffic_type/tasks/main.yml
Normal file
@@ -0,0 +1,173 @@
|
||||
---
|
||||
# Create a new zone - the default one is enabled
|
||||
- name: assure zone for tests
|
||||
cs_zone:
|
||||
name: cs-test-zone
|
||||
state: present
|
||||
dns1: 8.8.8.8
|
||||
network_type: advanced
|
||||
register: cszone
|
||||
|
||||
- name: ensure the zone is disabled
|
||||
cs_zone:
|
||||
name: "{{ cszone.name }}"
|
||||
state: disabled
|
||||
register: cszone
|
||||
|
||||
- name: setup a network
|
||||
cs_physical_network:
|
||||
name: net01
|
||||
zone: "{{ cszone.name }}"
|
||||
isolation_method: VLAN
|
||||
broadcast_domain_range: ZONE
|
||||
ignore_errors: true
|
||||
register: pn
|
||||
|
||||
|
||||
- name: fail on missing params
|
||||
cs_traffic_type:
|
||||
ignore_errors: true
|
||||
register: tt
|
||||
- name: validate fail on missing params
|
||||
assert:
|
||||
that:
|
||||
- tt is failed
|
||||
- 'tt.msg == "missing required arguments: physical_network, traffic_type"'
|
||||
|
||||
- name: add a traffic type in check mode
|
||||
cs_traffic_type:
|
||||
physical_network: "{{ pn.name }}"
|
||||
traffic_type: Guest
|
||||
zone: "{{ pn.zone }}"
|
||||
register: tt
|
||||
check_mode: yes
|
||||
- name: validate add a traffic type in check mode
|
||||
assert:
|
||||
that:
|
||||
- tt is changed
|
||||
- tt.zone == pn.zone
|
||||
|
||||
- name: add a traffic type
|
||||
cs_traffic_type:
|
||||
physical_network: "{{ pn.name }}"
|
||||
traffic_type: Guest
|
||||
zone: "{{ pn.zone }}"
|
||||
register: tt
|
||||
- name: validate add a traffic type
|
||||
assert:
|
||||
that:
|
||||
- tt is changed
|
||||
- tt.physical_network == pn.id
|
||||
- tt.traffic_type == 'Guest'
|
||||
- tt.zone == pn.zone
|
||||
|
||||
- name: add a traffic type idempotence
|
||||
cs_traffic_type:
|
||||
physical_network: "{{ pn.name }}"
|
||||
traffic_type: Guest
|
||||
zone: "{{ pn.zone }}"
|
||||
register: tt
|
||||
- name: validate add a traffic type idempotence
|
||||
assert:
|
||||
that:
|
||||
- tt is not changed
|
||||
- tt.physical_network == pn.id
|
||||
- tt.traffic_type == 'Guest'
|
||||
- tt.zone == pn.zone
|
||||
|
||||
- name: update traffic type
|
||||
cs_traffic_type:
|
||||
physical_network: "{{ pn.name }}"
|
||||
traffic_type: Guest
|
||||
kvm_networklabel: cloudbr0
|
||||
zone: "{{ pn.zone }}"
|
||||
register: tt
|
||||
- name: validate update traffic type
|
||||
assert:
|
||||
that:
|
||||
- tt is changed
|
||||
- tt.physical_network == pn.id
|
||||
- tt.traffic_type == 'Guest'
|
||||
- tt.zone == pn.zone
|
||||
- tt.kvm_networklabel == 'cloudbr0'
|
||||
|
||||
- name: update traffic type idempotence
|
||||
cs_traffic_type:
|
||||
physical_network: "{{ pn.name }}"
|
||||
traffic_type: Guest
|
||||
kvm_networklabel: cloudbr0
|
||||
zone: "{{ pn.zone }}"
|
||||
register: tt
|
||||
- name: validate update traffic type idempotence
|
||||
assert:
|
||||
that:
|
||||
- tt is not changed
|
||||
- tt.physical_network == pn.id
|
||||
- tt.traffic_type == 'Guest'
|
||||
- tt.zone == pn.zone
|
||||
- tt.kvm_networklabel == 'cloudbr0'
|
||||
|
||||
- name: add a removable traffic type
|
||||
cs_traffic_type:
|
||||
physical_network: "{{ pn.name }}"
|
||||
traffic_type: Public
|
||||
kvm_networklabel: cloudbr1
|
||||
zone: "{{ pn.zone }}"
|
||||
register: tt
|
||||
- name: validate add a removable traffic type
|
||||
assert:
|
||||
that:
|
||||
- tt is changed
|
||||
- tt.physical_network == pn.id
|
||||
- tt.traffic_type == 'Public'
|
||||
- tt.zone == pn.zone
|
||||
- tt.kvm_networklabel == 'cloudbr1'
|
||||
|
||||
- name: remove traffic type in check mode
|
||||
cs_traffic_type:
|
||||
physical_network: "{{ pn.name }}"
|
||||
traffic_type: Public
|
||||
state: absent
|
||||
zone: "{{ pn.zone }}"
|
||||
check_mode: yes
|
||||
register: tt
|
||||
- name: validate remove traffic type in check mode
|
||||
assert:
|
||||
that:
|
||||
- tt is changed
|
||||
|
||||
- name: remove traffic type
|
||||
cs_traffic_type:
|
||||
physical_network: "{{ pn.name }}"
|
||||
traffic_type: Public
|
||||
state: absent
|
||||
zone: "{{ pn.zone }}"
|
||||
register: tt
|
||||
- name: validate remove traffic type
|
||||
assert:
|
||||
that:
|
||||
- tt is changed
|
||||
- tt.zone == pn.zone
|
||||
|
||||
- name: remove traffic type idempotence
|
||||
cs_traffic_type:
|
||||
physical_network: "{{ pn.name }}"
|
||||
traffic_type: Public
|
||||
state: absent
|
||||
zone: "{{ pn.zone }}"
|
||||
register: tt
|
||||
- name: validate
|
||||
assert:
|
||||
that:
|
||||
- tt is not changed
|
||||
- tt.zone == pn.zone
|
||||
|
||||
- name: cleanup
|
||||
block:
|
||||
- cs_physical_network:
|
||||
name: "{{ pn.name }}"
|
||||
zone: "{{ cszone.name }}"
|
||||
state: absent
|
||||
- cs_zone:
|
||||
name: "{{ cszone.name }}"
|
||||
state: absent
|
||||
Reference in New Issue
Block a user