summaryrefslogtreecommitdiff
path: root/test/integration/targets/vmware_dvswitch_uplink_pg/tasks/main.yml
blob: f245e25a8641a6fedee8ddffc60bcea9a23e92f5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
# Test code for the vmware_dvswitch_uplink_pg module.
# Copyright: (c) 2018, Christian Kotte <christian.kotte@gmx.de>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)

- 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

- name: Wait for vcsim server to come up online
  wait_for:
    host: "{{ vcsim }}"
    port: 443
    state: started

- name: get a list of Datacenter from vcsim
  uri:
    url: http://{{ vcsim }}:5000/govc_find?filter=DC
  register: datacenters

- debug: var=vcsim_instance
- debug: var=datacenters

# Testcase 0001: Add Distributed vSwitch
- name: add distributed vSwitch
  vmware_dvswitch:
    validate_certs: False
    hostname: "{{ vcsim }}"
    username: "{{ vcsim_instance['json']['username'] }}"
    password: "{{ vcsim_instance['json']['password'] }}"
    datacenter_name: "{{ item | basename }}"
    state: present
    switch_name: dvswitch_0001
    mtu: 9000
    uplink_quantity: 2
    discovery_proto: lldp
    discovery_operation: both
  register: dvs_result_0001
  with_items:
    - "{{ datacenters['json'] }}"

- name: ensure distributed vswitch is present
  assert:
    that:
        - "{{ dvs_result_0001.changed == true }}"

- name: get a list of distributed vswitch from vcsim after adding
  uri:
    url: http://{{ vcsim }}:5000/govc_find?filter=DVS
  register: new_dvs_0001

- debug:
    msg: "{{ item | basename }}"
  with_items: "{{ new_dvs_0001['json'] }}"

- set_fact: new_dvs_name="{% for dvs in new_dvs_0001['json'] %} {{ True if (dvs | basename) == 'dvswitch_0001' else False }}{% endfor %}"

- debug: var=new_dvs_name
- assert:
    that:
      - "{{ 'True' in new_dvs_name }}"

- name: Configure Uplink portgroup in check mode
  vmware_dvswitch_uplink_pg:
    hostname: "{{ vcsim }}"
    username: "{{ vcsim_instance['json']['username'] }}"
    password: "{{ vcsim_instance['json']['password'] }}"
    switch: dvswitch_0001
    name: dvswitch_0001-DVUplinks
    advanced:
      port_config_reset_at_disconnect: False
      block_override: False
      vendor_config_override: False
      vlan_override: False
      netflow_override: False
      traffic_filter_override: False
    vlan_trunk_range: [ 2-3967, 4049-4092 ]
    netflow_enabled: True
    block_all_ports: False
    validate_certs: no
  register: uplink_pg_result_check_mode
  check_mode: yes

- name: ensure uplink portgroup was changed
  assert:
    that:
        - uplink_pg_result_check_mode.changed

- name: Configure Uplink portgroup
  vmware_dvswitch_uplink_pg:
    hostname: "{{ vcsim }}"
    username: "{{ vcsim_instance['json']['username'] }}"
    password: "{{ vcsim_instance['json']['password'] }}"
    switch: dvswitch_0001
    name: dvswitch_0001-DVUplinks
    advanced:
      port_config_reset_at_disconnect: False
      block_override: False
      vendor_config_override: False
      vlan_override: False
      netflow_override: False
      traffic_filter_override: False
    vlan_trunk_range: [ 2-3967, 4049-4092 ]
    netflow_enabled: True
    block_all_ports: False
    validate_certs: no
  register: uplink_pg_result

- name: ensure uplink portgroup was changed
  assert:
    that:
        - uplink_pg_result.changed