summaryrefslogtreecommitdiff
path: root/test/integration/targets/cs_loadbalancer_rule/tasks/main.yml
diff options
context:
space:
mode:
Diffstat (limited to 'test/integration/targets/cs_loadbalancer_rule/tasks/main.yml')
-rw-r--r--test/integration/targets/cs_loadbalancer_rule/tasks/main.yml239
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