diff options
Diffstat (limited to 'test/integration/targets/cs_loadbalancer_rule/tasks/main.yml')
-rw-r--r-- | test/integration/targets/cs_loadbalancer_rule/tasks/main.yml | 239 |
1 files changed, 239 insertions, 0 deletions
diff --git a/test/integration/targets/cs_loadbalancer_rule/tasks/main.yml b/test/integration/targets/cs_loadbalancer_rule/tasks/main.yml new file mode 100644 index 0000000000..9ae186c109 --- /dev/null +++ b/test/integration/targets/cs_loadbalancer_rule/tasks/main.yml @@ -0,0 +1,239 @@ +--- +- 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 + - "'ip_address,name' in lb.msg" + +- 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 + - "'vms,name' in lb.msg" + +- 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 |