mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
393 lines
10 KiB
YAML
393 lines
10 KiB
YAML
|
---
|
||
|
- name: ensure instance is expunged
|
||
|
cs_instance:
|
||
|
name: "{{ cs_resource_prefix }}-vm-lb"
|
||
|
zone: "{{ cs_common_zone_adv }}"
|
||
|
state: expunged
|
||
|
register: instance
|
||
|
- name: verify ensure instance is expunged
|
||
|
assert:
|
||
|
that:
|
||
|
- instance is successful
|
||
|
|
||
|
- name: ensure network is absent
|
||
|
cs_network:
|
||
|
name: "{{ cs_resource_prefix }}_net_lb"
|
||
|
zone: "{{ cs_common_zone_adv }}"
|
||
|
state: absent
|
||
|
register: lb_net
|
||
|
- name: verify ensure network is absent
|
||
|
assert:
|
||
|
that:
|
||
|
- lb_net is successful
|
||
|
|
||
|
- name: test create network for lb
|
||
|
cs_network:
|
||
|
name: "{{ cs_resource_prefix }}_net_lb"
|
||
|
zone: "{{ cs_common_zone_adv }}"
|
||
|
network_offering: Offering for Isolated networks with Source Nat service enabled
|
||
|
register: lb_net
|
||
|
- name: verify test create network for lb
|
||
|
assert:
|
||
|
that:
|
||
|
- lb_net is successful
|
||
|
- lb_net is changed
|
||
|
- lb_net.name == "{{ cs_resource_prefix }}_net_lb"
|
||
|
|
||
|
- name: setup instance in lb
|
||
|
cs_instance:
|
||
|
name: "{{ cs_resource_prefix }}-vm-lb"
|
||
|
template: "{{ cs_common_template }}"
|
||
|
service_offering: "{{ cs_common_service_offering }}"
|
||
|
zone: "{{ cs_common_zone_adv }}"
|
||
|
network: "{{ cs_resource_prefix }}_net_lb"
|
||
|
register: instance
|
||
|
until: instance is success
|
||
|
retries: 20
|
||
|
delay: 5
|
||
|
- name: verify setup instance in lb
|
||
|
assert:
|
||
|
that:
|
||
|
- instance is successful
|
||
|
- instance is changed
|
||
|
- instance.name == "{{ cs_resource_prefix }}-vm-lb"
|
||
|
- instance.state == "Running"
|
||
|
|
||
|
- name: setup get ip address for lb
|
||
|
cs_ip_address:
|
||
|
network: "{{ cs_resource_prefix }}_net_lb"
|
||
|
zone: "{{ cs_common_zone_adv }}"
|
||
|
register: ip_address
|
||
|
- name: verify setup get ip address in lb
|
||
|
assert:
|
||
|
that:
|
||
|
- ip_address is successful
|
||
|
|
||
|
- name: setup lb rule absent
|
||
|
cs_loadbalancer_rule:
|
||
|
name: "{{ cs_resource_prefix }}_lb"
|
||
|
public_ip: "{{ ip_address.ip_address }}"
|
||
|
state: absent
|
||
|
register: lb
|
||
|
- name: verify setup lb rule absent
|
||
|
assert:
|
||
|
that:
|
||
|
- lb is successful
|
||
|
|
||
|
- name: test rule requires params
|
||
|
cs_loadbalancer_rule:
|
||
|
ignore_errors: true
|
||
|
register: lb
|
||
|
- name: verify test rule requires params
|
||
|
assert:
|
||
|
that:
|
||
|
- lb is failed
|
||
|
- "lb.msg.startswith('missing required arguments: ')"
|
||
|
|
||
|
|
||
|
- name: test create rule in check mode
|
||
|
cs_loadbalancer_rule:
|
||
|
name: "{{ cs_resource_prefix }}_lb"
|
||
|
public_ip: "{{ ip_address.ip_address }}"
|
||
|
algorithm: roundrobin
|
||
|
public_port: 80
|
||
|
private_port: 8080
|
||
|
register: lb
|
||
|
check_mode: true
|
||
|
- name: verify test create rule in check mode
|
||
|
assert:
|
||
|
that:
|
||
|
- lb is successful
|
||
|
- lb is changed
|
||
|
|
||
|
- name: test create rule
|
||
|
cs_loadbalancer_rule:
|
||
|
name: "{{ cs_resource_prefix }}_lb"
|
||
|
public_ip: "{{ ip_address.ip_address }}"
|
||
|
algorithm: roundrobin
|
||
|
public_port: 80
|
||
|
private_port: 8080
|
||
|
register: lb
|
||
|
- name: verify test create rule
|
||
|
assert:
|
||
|
that:
|
||
|
- lb is successful
|
||
|
- lb is changed
|
||
|
- lb.name == "{{ cs_resource_prefix }}_lb"
|
||
|
- lb.algorithm == "roundrobin"
|
||
|
- lb.public_ip == "{{ ip_address.ip_address }}"
|
||
|
- lb.public_port == 80
|
||
|
- lb.private_port == 8080
|
||
|
|
||
|
- name: test create rule idempotence
|
||
|
cs_loadbalancer_rule:
|
||
|
name: "{{ cs_resource_prefix }}_lb"
|
||
|
public_ip: "{{ ip_address.ip_address }}"
|
||
|
algorithm: roundrobin
|
||
|
public_port: 80
|
||
|
private_port: 8080
|
||
|
register: lb
|
||
|
- name: verify test create rule idempotence
|
||
|
assert:
|
||
|
that:
|
||
|
- lb is successful
|
||
|
- lb is not changed
|
||
|
- lb.name == "{{ cs_resource_prefix }}_lb"
|
||
|
- lb.algorithm == "roundrobin"
|
||
|
- lb.public_ip == "{{ ip_address.ip_address }}"
|
||
|
- lb.public_port == 80
|
||
|
- lb.private_port == 8080
|
||
|
|
||
|
- name: test update rule in check mode
|
||
|
cs_loadbalancer_rule:
|
||
|
name: "{{ cs_resource_prefix }}_lb"
|
||
|
public_ip: "{{ ip_address.ip_address }}"
|
||
|
algorithm: source
|
||
|
public_port: 80
|
||
|
private_port: 8080
|
||
|
register: lb
|
||
|
check_mode: true
|
||
|
- name: verify test update rule in check mode
|
||
|
assert:
|
||
|
that:
|
||
|
- lb is successful
|
||
|
- lb is changed
|
||
|
- lb.name == "{{ cs_resource_prefix }}_lb"
|
||
|
- lb.algorithm == "roundrobin"
|
||
|
- lb.public_ip == "{{ ip_address.ip_address }}"
|
||
|
- lb.public_port == 80
|
||
|
- lb.private_port == 8080
|
||
|
|
||
|
- name: test update rule
|
||
|
cs_loadbalancer_rule:
|
||
|
name: "{{ cs_resource_prefix }}_lb"
|
||
|
public_ip: "{{ ip_address.ip_address }}"
|
||
|
algorithm: source
|
||
|
public_port: 80
|
||
|
private_port: 8080
|
||
|
register: lb
|
||
|
- name: verify test update rule
|
||
|
assert:
|
||
|
that:
|
||
|
- lb is successful
|
||
|
- lb is changed
|
||
|
- lb.name == "{{ cs_resource_prefix }}_lb"
|
||
|
- lb.algorithm == "source"
|
||
|
- lb.public_ip == "{{ ip_address.ip_address }}"
|
||
|
- lb.public_port == 80
|
||
|
- lb.private_port == 8080
|
||
|
|
||
|
- name: test update rule idempotence
|
||
|
cs_loadbalancer_rule:
|
||
|
name: "{{ cs_resource_prefix }}_lb"
|
||
|
public_ip: "{{ ip_address.ip_address }}"
|
||
|
algorithm: source
|
||
|
public_port: 80
|
||
|
private_port: 8080
|
||
|
register: lb
|
||
|
- name: verify test update rule idempotence
|
||
|
assert:
|
||
|
that:
|
||
|
- lb is successful
|
||
|
- lb is not changed
|
||
|
- lb.name == "{{ cs_resource_prefix }}_lb"
|
||
|
- lb.algorithm == "source"
|
||
|
- lb.public_ip == "{{ ip_address.ip_address }}"
|
||
|
- lb.public_port == 80
|
||
|
- lb.private_port == 8080
|
||
|
|
||
|
- name: test rule member requires params
|
||
|
cs_loadbalancer_rule_member:
|
||
|
ignore_errors: true
|
||
|
register: lb
|
||
|
- name: verify test rule requires params
|
||
|
assert:
|
||
|
that:
|
||
|
- lb is failed
|
||
|
- "lb.msg.startswith('missing required arguments: ')"
|
||
|
|
||
|
- name: test add members to rule in check mode
|
||
|
cs_loadbalancer_rule_member:
|
||
|
name: "{{ cs_resource_prefix }}_lb"
|
||
|
vm: "{{ cs_resource_prefix }}-vm-lb"
|
||
|
register: lb
|
||
|
check_mode: true
|
||
|
- name: verify add members to rule in check mode
|
||
|
assert:
|
||
|
that:
|
||
|
- lb is successful
|
||
|
- lb is changed
|
||
|
- lb.name == "{{ cs_resource_prefix }}_lb"
|
||
|
- lb.algorithm == "source"
|
||
|
- lb.public_ip == "{{ ip_address.ip_address }}"
|
||
|
- lb.public_port == 80
|
||
|
- lb.private_port == 8080
|
||
|
- "'{{ cs_resource_prefix }}-vm-lb' not in lb.vms"
|
||
|
|
||
|
- name: test add members to rule
|
||
|
cs_loadbalancer_rule_member:
|
||
|
name: "{{ cs_resource_prefix }}_lb"
|
||
|
vm: "{{ cs_resource_prefix }}-vm-lb"
|
||
|
register: lb
|
||
|
- name: verify add members to rule
|
||
|
assert:
|
||
|
that:
|
||
|
- lb is successful
|
||
|
- lb is changed
|
||
|
- lb.name == "{{ cs_resource_prefix }}_lb"
|
||
|
- lb.algorithm == "source"
|
||
|
- lb.public_ip == "{{ ip_address.ip_address }}"
|
||
|
- lb.public_port == 80
|
||
|
- lb.private_port == 8080
|
||
|
- "'{{ cs_resource_prefix }}-vm-lb' in lb.vms"
|
||
|
|
||
|
- name: test add members to rule idempotence
|
||
|
cs_loadbalancer_rule_member:
|
||
|
name: "{{ cs_resource_prefix }}_lb"
|
||
|
vm: "{{ cs_resource_prefix }}-vm-lb"
|
||
|
register: lb
|
||
|
- name: verify add members to rule idempotence
|
||
|
assert:
|
||
|
that:
|
||
|
- lb is successful
|
||
|
- lb is not changed
|
||
|
- lb.name == "{{ cs_resource_prefix }}_lb"
|
||
|
- lb.algorithm == "source"
|
||
|
- lb.public_ip == "{{ ip_address.ip_address }}"
|
||
|
- lb.public_port == 80
|
||
|
- lb.private_port == 8080
|
||
|
- "'{{ cs_resource_prefix }}-vm-lb' in lb.vms"
|
||
|
|
||
|
- name: test remove members to rule in check mode
|
||
|
cs_loadbalancer_rule_member:
|
||
|
name: "{{ cs_resource_prefix }}_lb"
|
||
|
vm: "{{ cs_resource_prefix }}-vm-lb"
|
||
|
state: absent
|
||
|
register: lb
|
||
|
check_mode: true
|
||
|
- name: verify remove members to rule in check mode
|
||
|
assert:
|
||
|
that:
|
||
|
- lb is successful
|
||
|
- lb is changed
|
||
|
- lb.name == "{{ cs_resource_prefix }}_lb"
|
||
|
- lb.algorithm == "source"
|
||
|
- lb.public_ip == "{{ ip_address.ip_address }}"
|
||
|
- lb.public_port == 80
|
||
|
- lb.private_port == 8080
|
||
|
- "'{{ cs_resource_prefix }}-vm-lb' in lb.vms"
|
||
|
|
||
|
- name: test remove members to rule
|
||
|
cs_loadbalancer_rule_member:
|
||
|
name: "{{ cs_resource_prefix }}_lb"
|
||
|
vm: "{{ cs_resource_prefix }}-vm-lb"
|
||
|
state: absent
|
||
|
register: lb
|
||
|
- name: verify remove members to rule
|
||
|
assert:
|
||
|
that:
|
||
|
- lb is successful
|
||
|
- lb is changed
|
||
|
- lb.name == "{{ cs_resource_prefix }}_lb"
|
||
|
- lb.algorithm == "source"
|
||
|
- lb.public_ip == "{{ ip_address.ip_address }}"
|
||
|
- lb.public_port == 80
|
||
|
- lb.private_port == 8080
|
||
|
- "'{{ cs_resource_prefix }}-vm-lb' not in lb.vms"
|
||
|
|
||
|
- name: test remove members to rule idempotence
|
||
|
cs_loadbalancer_rule_member:
|
||
|
name: "{{ cs_resource_prefix }}_lb"
|
||
|
vm: "{{ cs_resource_prefix }}-vm-lb"
|
||
|
state: absent
|
||
|
register: lb
|
||
|
- name: verify remove members to rule
|
||
|
assert:
|
||
|
that:
|
||
|
- lb is successful
|
||
|
- lb is not changed
|
||
|
|
||
|
- name: test remove rule in check mode
|
||
|
cs_loadbalancer_rule:
|
||
|
name: "{{ cs_resource_prefix }}_lb"
|
||
|
public_ip: "{{ ip_address.ip_address }}"
|
||
|
state: absent
|
||
|
register: lb
|
||
|
check_mode: true
|
||
|
- name: verify remove rule in check mode
|
||
|
assert:
|
||
|
that:
|
||
|
- lb is successful
|
||
|
- lb is changed
|
||
|
- lb.name == "{{ cs_resource_prefix }}_lb"
|
||
|
- lb.algorithm == "source"
|
||
|
- lb.public_ip == "{{ ip_address.ip_address }}"
|
||
|
- lb.public_port == 80
|
||
|
- lb.private_port == 8080
|
||
|
|
||
|
- name: test remove rule
|
||
|
cs_loadbalancer_rule:
|
||
|
name: "{{ cs_resource_prefix }}_lb"
|
||
|
public_ip: "{{ ip_address.ip_address }}"
|
||
|
state: absent
|
||
|
register: lb
|
||
|
- name: verify remove rule
|
||
|
assert:
|
||
|
that:
|
||
|
- lb is successful
|
||
|
- lb is changed
|
||
|
- lb.name == "{{ cs_resource_prefix }}_lb"
|
||
|
- lb.algorithm == "source"
|
||
|
- lb.public_ip == "{{ ip_address.ip_address }}"
|
||
|
- lb.public_port == 80
|
||
|
- lb.private_port == 8080
|
||
|
|
||
|
- name: test remove rule idempotence
|
||
|
cs_loadbalancer_rule:
|
||
|
name: "{{ cs_resource_prefix }}_lb"
|
||
|
public_ip: "{{ ip_address.ip_address }}"
|
||
|
state: absent
|
||
|
register: lb
|
||
|
- name: verify remove rule idempotence
|
||
|
assert:
|
||
|
that:
|
||
|
- lb is successful
|
||
|
- lb is not changed
|
||
|
|
||
|
- name: cleanup ip address
|
||
|
cs_ip_address:
|
||
|
network: "{{ cs_resource_prefix }}_net_lb"
|
||
|
zone: "{{ cs_common_zone_adv }}"
|
||
|
ip_address: "{{ ip_address.ip_address }}"
|
||
|
state: absent
|
||
|
register: ip_address
|
||
|
- name: verify cleanup ip address
|
||
|
assert:
|
||
|
that:
|
||
|
- ip_address is successful
|
||
|
- instance is changed
|
||
|
|
||
|
- name: cleanup instance
|
||
|
cs_instance:
|
||
|
name: "{{ cs_resource_prefix }}-vm-lb"
|
||
|
zone: "{{ cs_common_zone_adv }}"
|
||
|
state: expunged
|
||
|
register: instance
|
||
|
- name: verify cleanup instance
|
||
|
assert:
|
||
|
that:
|
||
|
- instance is successful
|
||
|
- instance is changed
|
||
|
|
||
|
- name: cleanup network
|
||
|
cs_network:
|
||
|
name: "{{ cs_resource_prefix }}_net_lb"
|
||
|
zone: "{{ cs_common_zone_adv }}"
|
||
|
state: absent
|
||
|
register: lb_net
|
||
|
- name: verify cleanup network
|
||
|
assert:
|
||
|
that:
|
||
|
- lb_net is successful
|
||
|
- lb_net is changed
|