mirror of https://github.com/ansible/ansible.git
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
190 lines
6.3 KiB
YAML
190 lines
6.3 KiB
YAML
5 years ago
|
---
|
||
|
|
||
|
- name: add a simple host with address
|
||
|
win_hosts:
|
||
|
state: present
|
||
|
ip_address: "{{ test_win_hosts_ip }}"
|
||
|
canonical_name: "{{ test_win_hosts_cname }}"
|
||
|
register: add_ip
|
||
|
|
||
|
- assert:
|
||
|
that:
|
||
|
- "add_ip.changed == true"
|
||
|
|
||
|
- name: get actual dns result
|
||
|
win_shell: "try{ [array]$t = [Net.DNS]::GetHostEntry('{{ test_win_hosts_cname }}') } catch { return 'false' } if ($t[0].HostName -eq '{{ test_win_hosts_cname }}' -and $t[0].AddressList[0].toString() -eq '{{ test_win_hosts_ip }}'){ return 'true' } else { return 'false' }"
|
||
|
register: add_ip_actual
|
||
|
|
||
|
- assert:
|
||
|
that:
|
||
|
- "add_ip_actual.stdout_lines[0]|lower == 'true'"
|
||
|
|
||
|
- name: add a simple host with ipv4 address (idempotent)
|
||
|
win_hosts:
|
||
|
state: present
|
||
|
ip_address: "{{ test_win_hosts_ip }}"
|
||
|
canonical_name: "{{ test_win_hosts_cname }}"
|
||
|
register: add_ip
|
||
|
|
||
|
- assert:
|
||
|
that:
|
||
|
- "add_ip.changed == false"
|
||
|
|
||
|
- name: remove simple host
|
||
|
win_hosts:
|
||
|
state: absent
|
||
|
ip_address: "{{ test_win_hosts_ip }}"
|
||
|
canonical_name: "{{ test_win_hosts_cname }}"
|
||
|
register: remove_ip
|
||
|
|
||
|
- assert:
|
||
|
that:
|
||
|
- "remove_ip.changed == true"
|
||
|
|
||
|
- name: get actual dns result
|
||
|
win_shell: "try{ [array]$t = [Net.DNS]::GetHostEntry('{{ test_win_hosts_cname}}') } catch { return 'false' } if ($t[0].HostName -eq '{{ test_win_hosts_cname }}' -and $t[0].AddressList[0].toString() -eq '{{ test_win_hosts_ip }}'){ return 'true' } else { return 'false' }"
|
||
|
register: remove_ip_actual
|
||
|
failed_when: "remove_ip_actual.rc == 0"
|
||
|
|
||
|
- assert:
|
||
|
that:
|
||
|
- "remove_ip_actual.stdout_lines[0]|lower == 'false'"
|
||
|
|
||
|
- name: remove simple host (idempotent)
|
||
|
win_hosts:
|
||
|
state: absent
|
||
|
ip_address: "{{ test_win_hosts_ip }}"
|
||
|
canonical_name: "{{ test_win_hosts_cname }}"
|
||
|
register: remove_ip
|
||
|
|
||
|
- assert:
|
||
|
that:
|
||
|
- "remove_ip.changed == false"
|
||
|
|
||
|
- name: add host and set aliases
|
||
|
win_hosts:
|
||
|
state: present
|
||
|
ip_address: "{{ test_win_hosts_ip }}"
|
||
|
canonical_name: "{{ test_win_hosts_cname }}"
|
||
|
aliases: "{{ test_win_hosts_aliases_set | union(test_win_hosts_aliases_remove) }}"
|
||
|
action: set
|
||
|
register: set_aliases
|
||
|
|
||
|
- assert:
|
||
|
that:
|
||
|
- "set_aliases.changed == true"
|
||
|
|
||
|
- name: get actual dns result for host
|
||
|
win_shell: "try{ [array]$t = [Net.DNS]::GetHostEntry('{{ test_win_hosts_cname }}') } catch { return 'false' } if ($t[0].HostName -eq '{{ test_win_hosts_cname }}' -and $t[0].AddressList[0].toString() -eq '{{ test_win_hosts_ip }}'){ return 'true' } else { return 'false' }"
|
||
|
register: set_aliases_actual_host
|
||
|
|
||
|
- assert:
|
||
|
that:
|
||
|
- "set_aliases_actual_host.stdout_lines[0]|lower == 'true'"
|
||
|
|
||
|
- name: get actual dns results for aliases
|
||
|
win_shell: "try{ [array]$t = [Net.DNS]::GetHostEntry('{{ item }}') } catch { return 'false' } if ($t[0].HostName -eq '{{ test_win_hosts_cname }}' -and $t[0].AddressList[0].toString() -eq '{{ test_win_hosts_ip }}'){ return 'true' } else { return 'false' }"
|
||
|
register: set_aliases_actual
|
||
|
with_items: "{{ test_win_hosts_aliases_set | union(test_win_hosts_aliases_remove) }}"
|
||
|
|
||
|
- assert:
|
||
|
that:
|
||
|
- "item.stdout_lines[0]|lower == 'true'"
|
||
|
with_items: "{{ set_aliases_actual.results }}"
|
||
|
|
||
|
- name: add host and set aliases (idempotent)
|
||
|
win_hosts:
|
||
|
state: present
|
||
|
ip_address: "{{ test_win_hosts_ip }}"
|
||
|
canonical_name: "{{ test_win_hosts_cname }}"
|
||
|
aliases: "{{ test_win_hosts_aliases_set | union(test_win_hosts_aliases_remove) }}"
|
||
|
action: set
|
||
|
register: set_aliases
|
||
|
|
||
|
- assert:
|
||
|
that:
|
||
|
- "set_aliases.changed == false"
|
||
|
|
||
|
- name: remove aliases from the list
|
||
|
win_hosts:
|
||
|
state: present
|
||
|
ip_address: "{{ test_win_hosts_ip }}"
|
||
|
canonical_name: "{{ test_win_hosts_cname }}"
|
||
|
aliases: "{{ test_win_hosts_aliases_remove }}"
|
||
|
action: remove
|
||
|
register: remove_aliases
|
||
|
|
||
|
- assert:
|
||
|
that:
|
||
|
- "remove_aliases.changed == true"
|
||
|
|
||
|
- name: get actual dns result for removed aliases
|
||
|
win_shell: "try{ [array]$t = [Net.DNS]::GetHostEntry('{{ item }}') } catch { return 'false' } if ($t[0].HostName -eq '{{ test_win_hosts_cname }}' -and $t[0].AddressList[0].toString() -eq '{{ test_win_hosts_ip }}'){ return 'true' } else { return 'false' }"
|
||
|
register: remove_aliases_removed_actual
|
||
|
failed_when: "remove_aliases_removed_actual.rc == 0"
|
||
|
with_items: "{{ test_win_hosts_aliases_remove }}"
|
||
|
|
||
|
- assert:
|
||
|
that:
|
||
|
- "item.stdout_lines[0]|lower == 'false'"
|
||
|
with_items: "{{ remove_aliases_removed_actual.results }}"
|
||
|
|
||
|
- name: get actual dns result for remaining aliases
|
||
|
win_shell: "try{ [array]$t = [Net.DNS]::GetHostEntry('{{ item }}') } catch { return 'false' } if ($t[0].HostName -eq '{{ test_win_hosts_cname }}' -and $t[0].AddressList[0].toString() -eq '{{ test_win_hosts_ip }}'){ return 'true' } else { return 'false' }"
|
||
|
register: remove_aliases_remain_actual
|
||
|
with_items: "{{ test_win_hosts_aliases_set | difference(test_win_hosts_aliases_remove) }}"
|
||
|
|
||
|
- assert:
|
||
|
that:
|
||
|
- "item.stdout_lines[0]|lower == 'true'"
|
||
|
with_items: "{{ remove_aliases_remain_actual.results }}"
|
||
|
|
||
|
- name: remove aliases from the list (idempotent)
|
||
|
win_hosts:
|
||
|
state: present
|
||
|
ip_address: "{{ test_win_hosts_ip }}"
|
||
|
canonical_name: "{{ test_win_hosts_cname }}"
|
||
|
aliases: "{{ test_win_hosts_aliases_remove }}"
|
||
|
action: remove
|
||
|
register: remove_aliases
|
||
|
|
||
|
- assert:
|
||
|
that:
|
||
|
- "remove_aliases.changed == false"
|
||
|
|
||
|
- name: add aliases back
|
||
|
win_hosts:
|
||
|
state: present
|
||
|
ip_address: "{{ test_win_hosts_ip }}"
|
||
|
canonical_name: "{{ test_win_hosts_cname }}"
|
||
|
aliases: "{{ test_win_hosts_aliases_remove }}"
|
||
|
action: add
|
||
|
register: add_aliases
|
||
|
|
||
|
- assert:
|
||
|
that:
|
||
|
- "add_aliases.changed == true"
|
||
|
|
||
|
- name: get actual dns results for aliases
|
||
|
win_shell: "try{ [array]$t = [Net.DNS]::GetHostEntry('{{ item }}') } catch { return 'false' } if ($t[0].HostName -eq '{{ test_win_hosts_cname }}' -and $t[0].AddressList[0].toString() -eq '{{ test_win_hosts_ip }}'){ return 'true' } else { return 'false' }"
|
||
|
register: add_aliases_actual
|
||
|
with_items: "{{ test_win_hosts_aliases_set | union(test_win_hosts_aliases_remove) }}"
|
||
|
|
||
|
- assert:
|
||
|
that:
|
||
|
- "item.stdout_lines[0]|lower == 'true'"
|
||
|
with_items: "{{ add_aliases_actual.results }}"
|
||
|
|
||
|
- name: add aliases back (idempotent)
|
||
|
win_hosts:
|
||
|
state: present
|
||
|
ip_address: "{{ test_win_hosts_ip }}"
|
||
|
canonical_name: "{{ test_win_hosts_cname }}"
|
||
|
aliases: "{{ test_win_hosts_aliases_remove }}"
|
||
|
action: add
|
||
|
register: add_aliases
|
||
|
|
||
|
- assert:
|
||
|
that:
|
||
|
- "add_aliases.changed == false"
|