239 lines
6.2 KiB
YAML
239 lines
6.2 KiB
YAML
---
|
|
- 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|success
|
|
- lb_net|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
|
|
- name: verify setup instance in lb
|
|
assert:
|
|
that:
|
|
- instance|success
|
|
- instance|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 instance in lb
|
|
assert:
|
|
that:
|
|
- ip_address|success
|
|
|
|
- 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|success
|
|
|
|
- name: test rule requires params
|
|
cs_loadbalancer_rule:
|
|
ignore_errors: true
|
|
register: lb
|
|
- name: verify test rule requires params
|
|
assert:
|
|
that:
|
|
- lb|failed
|
|
- "lb.msg.startswith('missing required arguments: ')"
|
|
|
|
- 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|success
|
|
- lb|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|success
|
|
- not lb|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|success
|
|
- lb|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|success
|
|
- not lb|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|failed
|
|
- "lb.msg.startswith('missing required arguments: ')"
|
|
|
|
- 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|success
|
|
- lb|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|success
|
|
- not lb|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|success
|
|
- lb|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|success
|
|
- not lb|changed
|
|
|
|
- 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|success
|
|
- lb|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|success
|
|
- not lb|changed
|