d5b04aa1f1
* cloudstack: test: cs_network_acl: add check_mode tests * cloudstack: test: cs_pod: add check_mode tests * cloudstack: test: cs_user: add check_mode tests * cloudstack: test: cs_sshkeypair: add check_mode tests * cloudstack: test: cs_project: add check_mode tests * cloudstack: test: cs_vpc: add check_mode tests * cloudstack: test: cs_vpn_gateway: add check_mode tests * cloudstack: test: cs_volume: add check_mode tests * cloudstack: test: cs_vmsnapshot: add check_mode tests * cloudstack: test: cs_account: add check_mode tests * cloudstack: test: cs_affinitygroup: add check_mode tests * cloudstack: test: cs_cluster: add check_mode tests * cloudstack: test: cs_domain: add check_mode tests * cloudstack: test: cs_instancegroup: add check_mode tests * cloudstack: test: cs_iso: add check_mode tests * cloudstack: test: cs_loadbalancer_rule: add check_mode tests * cloudstack: test: cs_portforward: add check_mode tests * cloudstack: test: cs_resourcelimit: add check_mode tests * cloudstack: test: cs_securitygroup: add check_mode tests * cloudstack: test: cs_securitygroup_rule: add check_mode tests * cloudstack: test: cs_configuration: add check_mode tests * cloudstack: test: cs_firewall: add check_mode tests * cloudstack: test: cs_instance: add check_mode tests * cloudstack: query current tags from API Fixes unexpected tags returned in check mode.
330 lines
8.7 KiB
YAML
330 lines
8.7 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 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|success
|
|
- lb|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|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 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|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 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 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|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 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 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|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 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 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|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
|
|
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
|