ansible/test/integration/targets/win_rds/tasks/main.yml
2019-02-07 10:51:11 +10:00

73 lines
2.2 KiB
YAML

---
# Cannot use win_feature to install RDS on Server 2008
- name: check if feature is availble
win_shell: if (Get-Command -Name Add-WindowsFeature -ErrorAction SilentlyContinue) { $true } else { $false }
changed_when: False
register: module_available
- name: install Remote Desktop Gateway features
when: module_available.stdout | trim | bool
block:
- name: ensure Remote Desktop Gateway services are installed
win_feature:
name:
- RDS-Gateway
- RDS-Licensing
- RDS-RD-Server
state: present
register: rds_install
- name: reboot server if needed
win_reboot:
when: rds_install.reboot_required
# After a reboot Windows is still configuring the feature, this is a hack to wait until that is finished
- name: wait for component servicing to be finished
win_shell: |
$start = Get-Date
$path = "HKLM:\SYSTEM\CurrentControlSet\Control\Winlogon\Notifications\Components\TrustedInstaller"
$tries = 0
while ((Get-ItemProperty -Path $path -Name Events).Events.Contains("CreateSession")) {
$tries += 1
Start-Sleep -Seconds 5
if (((Get-Date) - $start).TotalSeconds -gt 180) {
break
}
}
$tries
changed_when: False
- name: run win_rds_cap integration tests
include_tasks: win_rds_cap.yml
- name: run win_rds_rap integration tests
include_tasks: win_rds_rap.yml
- name: run win_rds_settings integration tests
include_tasks: win_rds_settings.yml
always:
# Server 2008 R2 requires us to remove this first before the other features
- name: remove the RDS-Gateway feature
win_feature:
name: RDS-Gateway
state: absent
register: rds_uninstall
- name: reboot after removing RDS-Gateway feature
win_reboot:
when: rds_uninstall.reboot_required
# Now remove the remaining features
- name: remove installed RDS feature
win_feature:
name:
- RDS-Licensing
- RDS-RD-Server
- Web-Server # not part of the initial feature install but RDS-Gateway requires this and it breaks httptester
state: absent
register: rds_uninstall2
- name: reboot after feature removal
win_reboot:
when: rds_uninstall2.reboot_required