From 89be01f2a2c2bd7a7bfdb634e1e1640e0326ef4e Mon Sep 17 00:00:00 2001 From: Rene Moser Date: Fri, 7 Jul 2017 13:47:44 +0200 Subject: [PATCH] cloudstack: cs_instance_nic: add integration tests --- .../targets/cs_instance_nic/aliases | 2 + .../targets/cs_instance_nic/meta/main.yml | 3 + .../targets/cs_instance_nic/tasks/main.yml | 306 ++++++++++++++++++ 3 files changed, 311 insertions(+) create mode 100644 test/integration/targets/cs_instance_nic/aliases create mode 100644 test/integration/targets/cs_instance_nic/meta/main.yml create mode 100644 test/integration/targets/cs_instance_nic/tasks/main.yml diff --git a/test/integration/targets/cs_instance_nic/aliases b/test/integration/targets/cs_instance_nic/aliases new file mode 100644 index 00000000000..ba249b99d73 --- /dev/null +++ b/test/integration/targets/cs_instance_nic/aliases @@ -0,0 +1,2 @@ +cloud/cs +posix/ci/cloud/cs diff --git a/test/integration/targets/cs_instance_nic/meta/main.yml b/test/integration/targets/cs_instance_nic/meta/main.yml new file mode 100644 index 00000000000..e9a5b9eeaef --- /dev/null +++ b/test/integration/targets/cs_instance_nic/meta/main.yml @@ -0,0 +1,3 @@ +--- +dependencies: + - cs_common diff --git a/test/integration/targets/cs_instance_nic/tasks/main.yml b/test/integration/targets/cs_instance_nic/tasks/main.yml new file mode 100644 index 00000000000..3a2e541cbe3 --- /dev/null +++ b/test/integration/targets/cs_instance_nic/tasks/main.yml @@ -0,0 +1,306 @@ +--- +- name: setup network + cs_network: + name: "net_nic" + zone: "{{ cs_common_zone_adv }}" + network_offering: DefaultSharedNetworkOffering + network_domain: example.com + vlan: 1234 + start_ip: 10.100.123.11 + end_ip: 10.100.123.250 + gateway: 10.100.123.1 + netmask: 255.255.255.0 + register: net +- name: verify setup network + assert: + that: + - net|success + - net.name == "net_nic" + +- name: setup instance + cs_instance: + name: "instance-nic-vm" + template: "{{ cs_common_template }}" + service_offering: "{{ cs_common_service_offering }}" + zone: "{{ cs_common_zone_adv }}" + network: "net_nic" + state: stopped + register: instance +- name: verify setup instance + assert: + that: + - instance|success + - instance.name == "instance-nic-vm" + - instance.state == "Stopped" + +- name: setup network 2 + cs_network: + name: "net_nic2" + zone: "{{ cs_common_zone_adv }}" + network_offering: DefaultSharedNetworkOffering + network_domain: example.com + vlan: 1235 + start_ip: 10.100.124.11 + end_ip: 10.100.124.250 + gateway: 10.100.124.1 + netmask: 255.255.255.0 + register: net +- name: verify setup network 2 + assert: + that: + - net|success + - net.name == "net_nic2" + +- name: setup absent nic + cs_instance_nic: + vm: "instance-nic-vm" + network: "net_nic2" + zone: "{{ cs_common_zone_adv }}" + state: absent + register: nic +- name: verify setup absent nic + assert: + that: + - nic|success + +- name: test fail missing params + cs_instance_nic: + ignore_errors: true + register: nic +- name: verify test fail missing params + assert: + that: + - nic|failed + - "nic.msg.startswith('missing required arguments: ')" + +- name: test create nic in check mode + cs_instance_nic: + vm: "instance-nic-vm" + network: "net_nic2" + zone: "{{ cs_common_zone_adv }}" + check_mode: yes + register: nic +- name: verify test create nic in check mode + assert: + that: + - nic|success + - nic|changed + - nic.network == "net_nic2" + - nic.vm == "instance-nic-vm" + - nic.zone == "{{ cs_common_zone_adv }}" + +- name: test create nic + cs_instance_nic: + vm: "instance-nic-vm" + network: "net_nic2" + ip_address: 10.100.124.42 + zone: "{{ cs_common_zone_adv }}" + register: nic +- name: verify test create nic + assert: + that: + - nic|success + - nic|changed + - nic.ip_address == "10.100.124.42" + - nic.netmask == "255.255.255.0" + - nic.network == "net_nic2" + - nic.vm == "instance-nic-vm" + - nic.zone == "{{ cs_common_zone_adv }}" + - nic.mac_address is defined + +- name: test create nic idempotence + cs_instance_nic: + vm: "instance-nic-vm" + network: "net_nic2" + ip_address: 10.100.124.42 + zone: "{{ cs_common_zone_adv }}" + register: nic +- name: verify test create nic idempotence + assert: + that: + - nic|success + - not nic|changed + - nic.ip_address == "10.100.124.42" + - nic.netmask == "255.255.255.0" + - nic.network == "net_nic2" + - nic.vm == "instance-nic-vm" + - nic.zone == "{{ cs_common_zone_adv }}" + - nic.mac_address is defined + +- name: test create nic without ip address idempotence + cs_instance_nic: + vm: "instance-nic-vm" + network: "net_nic2" + zone: "{{ cs_common_zone_adv }}" + register: nic +- name: verify test create nic without ip address idempotence + assert: + that: + - nic|success + - not nic|changed + - nic.ip_address == "10.100.124.42" + - nic.netmask == "255.255.255.0" + - nic.network == "net_nic2" + - nic.vm == "instance-nic-vm" + - nic.zone == "{{ cs_common_zone_adv }}" + - nic.mac_address is defined + +- name: test update nic in check mode + cs_instance_nic: + vm: "instance-nic-vm" + network: "net_nic2" + ip_address: 10.100.124.23 + zone: "{{ cs_common_zone_adv }}" + check_mode: yes + register: nic +- name: verify test update nic in check mode + assert: + that: + - nic|success + - nic|changed + - nic.ip_address == "10.100.124.42" + - nic.netmask == "255.255.255.0" + - nic.network == "net_nic2" + - nic.vm == "instance-nic-vm" + - nic.zone == "{{ cs_common_zone_adv }}" + - nic.mac_address is defined + +- name: test update nic + cs_instance_nic: + vm: "instance-nic-vm" + network: "net_nic2" + ip_address: 10.100.124.23 + zone: "{{ cs_common_zone_adv }}" + register: nic +- name: verify test update nic + assert: + that: + - nic|success + - nic|changed + - nic.ip_address == "10.100.124.23" + - nic.netmask == "255.255.255.0" + - nic.network == "net_nic2" + - nic.vm == "instance-nic-vm" + - nic.zone == "{{ cs_common_zone_adv }}" + - nic.mac_address is defined + +- name: test update nic idempotence + cs_instance_nic: + vm: "instance-nic-vm" + network: "net_nic2" + ip_address: 10.100.124.23 + zone: "{{ cs_common_zone_adv }}" + register: nic +- name: verify test update nic idempotence + assert: + that: + - nic|success + - not nic|changed + - nic.ip_address == "10.100.124.23" + - nic.netmask == "255.255.255.0" + - nic.network == "net_nic2" + - nic.vm == "instance-nic-vm" + - nic.zone == "{{ cs_common_zone_adv }}" + - nic.mac_address is defined + +- name: test update nic without ip address idempotence + cs_instance_nic: + vm: "instance-nic-vm" + network: "net_nic2" + zone: "{{ cs_common_zone_adv }}" + register: nic +- name: verify test update nic without ip address idempotence + assert: + that: + - nic|success + - not nic|changed + - nic.ip_address == "10.100.124.23" + - nic.netmask == "255.255.255.0" + - nic.network == "net_nic2" + - nic.vm == "instance-nic-vm" + - nic.zone == "{{ cs_common_zone_adv }}" + - nic.mac_address is defined + +- name: test remove nic in check mode + cs_instance_nic: + vm: "instance-nic-vm" + network: "net_nic2" + zone: "{{ cs_common_zone_adv }}" + state: absent + check_mode: yes + register: nic +- name: verify test remove nic in check mode + assert: + that: + - nic|success + - nic|changed + - nic.ip_address == "10.100.124.23" + - nic.netmask == "255.255.255.0" + - nic.network == "net_nic2" + - nic.vm == "instance-nic-vm" + - nic.zone == "{{ cs_common_zone_adv }}" + - nic.mac_address is defined + +- name: test remove nic + cs_instance_nic: + vm: "instance-nic-vm" + network: "net_nic2" + zone: "{{ cs_common_zone_adv }}" + state: absent + register: nic +- name: verify test remove nic + assert: + that: + - nic|success + - nic|changed + - nic.ip_address == "10.100.124.23" + - nic.netmask == "255.255.255.0" + - nic.network == "net_nic2" + - nic.vm == "instance-nic-vm" + - nic.zone == "{{ cs_common_zone_adv }}" + - nic.mac_address is defined + +- name: test remove nic idempotence + cs_instance_nic: + vm: "instance-nic-vm" + network: "net_nic2" + zone: "{{ cs_common_zone_adv }}" + state: absent + register: nic +- name: verify test remove nic idempotence + assert: + that: + - nic|success + - not nic|changed + +- name: cleanup instance + cs_instance: + name: "instance-nic-vm" + state: expunged + register: instance +- name: verify cleanup instance + assert: + that: + - instance|success + +- name: cleanup network + cs_network: + name: "net_nic" + zone: "{{ cs_common_zone_adv }}" + state: absent + register: net +- name: verify cleanup network + assert: + that: + - net|success + +- name: cleanup network 2 + cs_network: + name: "net_nic2" + zone: "{{ cs_common_zone_adv }}" + state: absent + register: net +- name: verify cleanup network 2 + assert: + that: + - net|success