# Test code for the vmware_host_firewall_manager module. # Copyright: (c) 2018, Abhijeet Kasurde # GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) - name: store the vcenter container ip set_fact: vcsim: "{{ lookup('env', 'vcenter_host') }}" - debug: var=vcsim - name: Wait for Flask controller to come up online wait_for: host: "{{ vcsim }}" port: 5000 state: started - name: kill vcsim uri: url: http://{{ vcsim }}:5000/killall - name: start vcsim uri: url: http://{{ vcsim }}:5000/spawn?cluster=2 register: vcsim_instance - debug: var: vcsim_instance - name: Wait for vcsim server to come up online wait_for: host: "{{ vcsim }}" port: 443 state: started - name: get a list of Cluster from vcsim uri: url: http://{{ vcsim }}:5000/govc_find?filter=CCR register: clusters - name: get a cluster set_fact: ccr1: "{{ clusters.json[0] | basename }}" - name: get a list of hosts from vcsim uri: url: http://{{ vcsim }}:5000/govc_find?filter=H register: hosts - name: get a cluster set_fact: host1: "{{ hosts.json[0] | basename }}" - debug: var=ccr1 - debug: var=host1 - name: Enable vvold rule set on all hosts of {{ ccr1 }} vmware_host_firewall_manager: hostname: "{{ vcsim }}" username: "{{ vcsim_instance.json.username }}" password: "{{ vcsim_instance.json.password }}" validate_certs: no cluster_name: "{{ ccr1 }}" rules: - name: vvold enabled: True register: all_hosts_result - debug: msg="{{ all_hosts_result }}" - name: ensure everything is changed for all hosts of {{ ccr1 }} assert: that: - all_hosts_result.changed - all_hosts_result.rule_set_state is defined - name: ensure facts are gathered for all hosts of {{ ccr1 }} assert: that: - all_hosts_result.rule_set_state[item]['vvold']['current_state'] == True - all_hosts_result.rule_set_state[item]['vvold']['desired_state'] == True - all_hosts_result.rule_set_state[item]['vvold']['previous_state'] == False with_items: - DC0_C0_H0 - DC0_C0_H1 - DC0_C0_H2 - name: Disable vvold for {{ host1 }} vmware_host_firewall_manager: hostname: "{{ vcsim }}" username: "{{ vcsim_instance.json.username }}" password: "{{ vcsim_instance.json.password }}" validate_certs: no esxi_hostname: "{{ host1 }}" rules: - name: vvold enabled: False register: host_result - debug: msg="{{ host_result }}" - name: ensure vvold is disabled for {{ host1 }} assert: that: - host_result.changed - host_result.rule_set_state is defined - name: ensure facts are gathered for {{ host1 }} assert: that: - host_result.rule_set_state[item]['vvold']['current_state'] == False - host_result.rule_set_state[item]['vvold']['desired_state'] == False - host_result.rule_set_state[item]['vvold']['previous_state'] == True with_items: - "{{ host1 }}" - name: Enable vvold rule set on all hosts of {{ ccr1 }} in check mode vmware_host_firewall_manager: hostname: "{{ vcsim }}" username: "{{ vcsim_instance.json.username }}" password: "{{ vcsim_instance.json.password }}" validate_certs: no cluster_name: "{{ ccr1 }}" rules: - name: vvold enabled: True register: all_hosts_result_check_mode check_mode: yes - debug: msg="{{ all_hosts_result_check_mode }}" - name: ensure everything is changed for all hosts of {{ ccr1 }} assert: that: - all_hosts_result_check_mode.changed - all_hosts_result_check_mode.rule_set_state is defined - name: ensure facts are gathered for all hosts of {{ ccr1 }} assert: that: - all_hosts_result_check_mode.rule_set_state[item]['vvold']['current_state'] == True - all_hosts_result_check_mode.rule_set_state[item]['vvold']['desired_state'] == True - all_hosts_result_check_mode.rule_set_state[item]['vvold']['previous_state'] == False with_items: - DC0_C0_H0 - DC0_C0_H1 - DC0_C0_H2 - name: Disable vvold for {{ host1 }} in check mode vmware_host_firewall_manager: hostname: "{{ vcsim }}" username: "{{ vcsim_instance.json.username }}" password: "{{ vcsim_instance.json.password }}" validate_certs: no esxi_hostname: "{{ host1 }}" rules: - name: vvold enabled: False register: host_result_check_mode check_mode: yes - debug: msg="{{ host_result_check_mode }}" - name: ensure vvold is disabled for {{ host1 }} assert: that: - host_result_check_mode.changed == False - host_result_check_mode.rule_set_state is defined - name: ensure facts are gathered for {{ host1 }} assert: that: - host_result_check_mode.rule_set_state[item]['vvold']['current_state'] == False - host_result_check_mode.rule_set_state[item]['vvold']['desired_state'] == False - host_result_check_mode.rule_set_state[item]['vvold']['previous_state'] == False with_items: - "{{ host1 }}"