mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
Add test_rax_network role
This commit is contained in:
parent
e54c45ee6d
commit
f01ae9f509
4 changed files with 182 additions and 1 deletions
|
@ -102,6 +102,18 @@ def delete_rax_keypair(args):
|
||||||
args.assumeyes)
|
args.assumeyes)
|
||||||
|
|
||||||
|
|
||||||
|
def delete_rax_network(args):
|
||||||
|
"""Function for deleting Cloud Networks"""
|
||||||
|
print ("--- Cleaning Cloud Networks matching '%s'" % args.match_re)
|
||||||
|
for region in pyrax.identity.services.network.regions:
|
||||||
|
cnw = pyrax.connect_to_cloud_networks(region=region)
|
||||||
|
for network in cnw.list():
|
||||||
|
if re.search(args.match_re, network.name):
|
||||||
|
prompt_and_delete(network,
|
||||||
|
'Delete matching %s? [y/n]: ' % network,
|
||||||
|
args.assumeyes)
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
if not HAS_PYRAX:
|
if not HAS_PYRAX:
|
||||||
raise SystemExit('The pyrax python module is required for this script')
|
raise SystemExit('The pyrax python module is required for this script')
|
||||||
|
@ -111,6 +123,11 @@ def main():
|
||||||
delete_rax(args)
|
delete_rax(args)
|
||||||
delete_rax_clb(args)
|
delete_rax_clb(args)
|
||||||
delete_rax_keypair(args)
|
delete_rax_keypair(args)
|
||||||
|
delete_rax_network(args)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
try:
|
||||||
main()
|
main()
|
||||||
|
except KeyboardInterrupt:
|
||||||
|
print ('\nExiting...')
|
||||||
|
|
|
@ -27,3 +27,6 @@
|
||||||
|
|
||||||
- role: test_rax_clb_nodes
|
- role: test_rax_clb_nodes
|
||||||
tags: test_rax_clb_nodes
|
tags: test_rax_clb_nodes
|
||||||
|
|
||||||
|
- role: test_rax_network
|
||||||
|
tags: test_rax_network
|
||||||
|
|
3
test/integration/roles/test_rax_network/meta/main.yml
Normal file
3
test/integration/roles/test_rax_network/meta/main.yml
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
dependencies:
|
||||||
|
- prepare_tests
|
||||||
|
- prepare_rax_tests
|
158
test/integration/roles/test_rax_network/tasks/main.yml
Normal file
158
test/integration/roles/test_rax_network/tasks/main.yml
Normal file
|
@ -0,0 +1,158 @@
|
||||||
|
# ============================================================
|
||||||
|
- name: Test rax_network with no args
|
||||||
|
rax_network:
|
||||||
|
ignore_errors: true
|
||||||
|
register: rax_network
|
||||||
|
|
||||||
|
- name: Validate results of rax_network with no args
|
||||||
|
assert:
|
||||||
|
that:
|
||||||
|
- rax_network|failed
|
||||||
|
- rax_network.msg == 'missing required arguments: label'
|
||||||
|
# ============================================================
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# ============================================================
|
||||||
|
- name: Test rax_network with label
|
||||||
|
rax_network:
|
||||||
|
label: fail
|
||||||
|
ignore_errors: true
|
||||||
|
register: rax_network
|
||||||
|
|
||||||
|
- name: Validate results of rax_network with no args
|
||||||
|
assert:
|
||||||
|
that:
|
||||||
|
- rax_network|failed
|
||||||
|
- rax_network.msg == 'No credentials supplied!'
|
||||||
|
# ============================================================
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# ============================================================
|
||||||
|
- name: Test rax_network with creds
|
||||||
|
rax_network:
|
||||||
|
username: "{{ rackspace_username }}"
|
||||||
|
api_key: "{{ rackspace_api_key }}"
|
||||||
|
label: fail
|
||||||
|
ignore_errors: true
|
||||||
|
register: rax_network
|
||||||
|
|
||||||
|
- name: Validate results of rax_network with creds
|
||||||
|
assert:
|
||||||
|
that:
|
||||||
|
- rax_network|failed
|
||||||
|
- rax_network.msg.startswith('None is not a valid region')
|
||||||
|
# ============================================================
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# ============================================================
|
||||||
|
- name: Test rax_network with creds and region
|
||||||
|
rax_network:
|
||||||
|
username: "{{ rackspace_username }}"
|
||||||
|
api_key: "{{ rackspace_api_key }}"
|
||||||
|
region: "{{ rackspace_region }}"
|
||||||
|
label: fail
|
||||||
|
ignore_errors: true
|
||||||
|
register: rax_network
|
||||||
|
|
||||||
|
- name: Validate results of rax_network with creds and region
|
||||||
|
assert:
|
||||||
|
that:
|
||||||
|
- rax_network|failed
|
||||||
|
- rax_network.msg == 'missing required arguments: cidr'
|
||||||
|
# ============================================================
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# ============================================================
|
||||||
|
- name: Test rax_network with creds, region and cidr
|
||||||
|
rax_network:
|
||||||
|
username: "{{ rackspace_username }}"
|
||||||
|
api_key: "{{ rackspace_api_key }}"
|
||||||
|
region: "{{ rackspace_region }}"
|
||||||
|
cidr: "172.17.141.0/24"
|
||||||
|
label: "{{ resource_prefix }}-1"
|
||||||
|
register: rax_network
|
||||||
|
|
||||||
|
- name: Validate results of rax_network with creds, region and cidr
|
||||||
|
assert:
|
||||||
|
that:
|
||||||
|
- rax_network|success
|
||||||
|
- rax_network|changed
|
||||||
|
- rax_network.networks.0.cidr == "172.17.141.0/24"
|
||||||
|
- rax_network.networks.0.label == "{{ resource_prefix }}-1"
|
||||||
|
|
||||||
|
- name: Delete Integration 1
|
||||||
|
rax_network:
|
||||||
|
username: "{{ rackspace_username }}"
|
||||||
|
api_key: "{{ rackspace_api_key }}"
|
||||||
|
region: "{{ rackspace_region }}"
|
||||||
|
label: "{{ resource_prefix }}-1"
|
||||||
|
state: absent
|
||||||
|
register: rax_network
|
||||||
|
|
||||||
|
- name: Validate delete integration 1
|
||||||
|
assert:
|
||||||
|
that:
|
||||||
|
- rax_network|changed
|
||||||
|
- rax_network|success
|
||||||
|
- rax_network.networks.0.label == "{{ resource_prefix }}-1"
|
||||||
|
- rax_network.networks.0.cidr == "172.17.141.0/24"
|
||||||
|
# ============================================================
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# ============================================================
|
||||||
|
- name: Test rax_network idempotency 1
|
||||||
|
rax_network:
|
||||||
|
username: "{{ rackspace_username }}"
|
||||||
|
api_key: "{{ rackspace_api_key }}"
|
||||||
|
region: "{{ rackspace_region }}"
|
||||||
|
cidr: "172.17.142.0/24"
|
||||||
|
label: "{{ resource_prefix }}-2"
|
||||||
|
register: rax_network
|
||||||
|
|
||||||
|
- name: Validate rax_network idempotency 1
|
||||||
|
assert:
|
||||||
|
that:
|
||||||
|
- rax_network|success
|
||||||
|
- rax_network|changed
|
||||||
|
- rax_network.networks.0.cidr == "172.17.142.0/24"
|
||||||
|
- rax_network.networks.0.label == "{{ resource_prefix }}-2"
|
||||||
|
|
||||||
|
- name: Test rax_network idempotency 2
|
||||||
|
rax_network:
|
||||||
|
username: "{{ rackspace_username }}"
|
||||||
|
api_key: "{{ rackspace_api_key }}"
|
||||||
|
region: "{{ rackspace_region }}"
|
||||||
|
cidr: "172.17.142.0/24"
|
||||||
|
label: "{{ resource_prefix }}-2"
|
||||||
|
register: rax_network
|
||||||
|
|
||||||
|
- name: Validate rax_network idempotency 2
|
||||||
|
assert:
|
||||||
|
that:
|
||||||
|
- rax_network|success
|
||||||
|
- not rax_network|changed
|
||||||
|
- rax_network.networks.0.cidr == "172.17.142.0/24"
|
||||||
|
- rax_network.networks.0.label == "{{ resource_prefix }}-2"
|
||||||
|
|
||||||
|
- name: Delete Integration 2
|
||||||
|
rax_network:
|
||||||
|
username: "{{ rackspace_username }}"
|
||||||
|
api_key: "{{ rackspace_api_key }}"
|
||||||
|
region: "{{ rackspace_region }}"
|
||||||
|
label: "{{ resource_prefix }}-2"
|
||||||
|
state: absent
|
||||||
|
register: rax_network
|
||||||
|
|
||||||
|
- name: Validate delete integration 2
|
||||||
|
assert:
|
||||||
|
that:
|
||||||
|
- rax_network|changed
|
||||||
|
- rax_network|success
|
||||||
|
- rax_network.networks.0.label == "{{ resource_prefix }}-2"
|
||||||
|
- rax_network.networks.0.cidr == "172.17.142.0/24"
|
||||||
|
# ============================================================
|
Loading…
Reference in a new issue