summaryrefslogtreecommitdiff
path: root/ansible/roles
diff options
context:
space:
mode:
Diffstat (limited to 'ansible/roles')
-rw-r--r--ansible/roles/dc01/tasks/main.yaml3
-rw-r--r--ansible/roles/dc01/tasks/setup_defender_gpo.yaml7
-rw-r--r--ansible/roles/mssql01/tasks/set_hostname.yaml2
-rw-r--r--ansible/roles/mssql02/tasks/cleanup.yaml (renamed from ansible/roles/mssql01/tasks/cleanup.yaml)0
-rw-r--r--ansible/roles/mssql02/tasks/init.yaml (renamed from ansible/roles/mssql01/tasks/init.yaml)0
-rw-r--r--ansible/roles/mssql02/tasks/install_software.yaml (renamed from ansible/roles/mssql01/tasks/install_software.yaml)0
-rw-r--r--ansible/roles/mssql02/tasks/join_domain.yaml (renamed from ansible/roles/mssql01/tasks/join_domain.yaml)0
-rw-r--r--ansible/roles/mssql02/tasks/main.yaml40
-rw-r--r--ansible/roles/mssql02/tasks/reboot.yaml (renamed from ansible/roles/mssql01/tasks/reboot.yaml)0
-rw-r--r--ansible/roles/mssql02/tasks/set_hostname.yaml2
-rw-r--r--ansible/roles/mssql02/tasks/setup_mssql.yaml (renamed from ansible/roles/mssql01/tasks/setup_mssql.yaml)4
-rw-r--r--ansible/roles/mssql02/tasks/setup_mssql_link.yaml5
-rw-r--r--ansible/roles/proxmox_vm/tasks/set_network.yaml19
-rw-r--r--ansible/roles/websql01/tasks/cleanup.yaml3
-rw-r--r--ansible/roles/websql01/tasks/init.yaml9
-rw-r--r--ansible/roles/websql01/tasks/install_software.yaml3
-rw-r--r--ansible/roles/websql01/tasks/join_domain.yaml13
-rw-r--r--ansible/roles/websql01/tasks/main.yaml (renamed from ansible/roles/mssql01/tasks/main.yaml)4
-rw-r--r--ansible/roles/websql01/tasks/reboot.yaml3
-rw-r--r--ansible/roles/websql01/tasks/set_hostname.yaml2
-rw-r--r--ansible/roles/websql01/tasks/setup_websql.yaml7
21 files changed, 111 insertions, 15 deletions
diff --git a/ansible/roles/dc01/tasks/main.yaml b/ansible/roles/dc01/tasks/main.yaml
index d9b0b40..472c191 100644
--- a/ansible/roles/dc01/tasks/main.yaml
+++ b/ansible/roles/dc01/tasks/main.yaml
@@ -29,6 +29,9 @@
- name: execute setup-gpo.ps1 as domain admin
import_tasks: setup_gpo.yaml
+- name: execute setup-defender-gpo.ps1 as domain admin
+ import_tasks: setup_defender_gpo.yaml
+
- name: reboot after gpo setup
import_tasks: reboot.yaml
diff --git a/ansible/roles/dc01/tasks/setup_defender_gpo.yaml b/ansible/roles/dc01/tasks/setup_defender_gpo.yaml
new file mode 100644
index 0000000..56e7809
--- /dev/null
+++ b/ansible/roles/dc01/tasks/setup_defender_gpo.yaml
@@ -0,0 +1,7 @@
+- name: execute setup-defender-gpo.ps1 as domain admin
+ ansible.windows.win_command: powershell.exe -ExecutionPolicy Bypass -File C:\scripts\setup-defender-gpo.ps1 -DomainName "{{ main_domain_name }}"
+ become: yes
+ become_method: runas
+ become_user: "{{ main_domain_name }}\\Administrator"
+ vars:
+ ansible_become_password: "{{ default_win_password }}"
diff --git a/ansible/roles/mssql01/tasks/set_hostname.yaml b/ansible/roles/mssql01/tasks/set_hostname.yaml
deleted file mode 100644
index de974a4..0000000
--- a/ansible/roles/mssql01/tasks/set_hostname.yaml
+++ /dev/null
@@ -1,2 +0,0 @@
-- name: set hostname
- win_shell: Rename-Computer -NewName "{{ main_mssql01_hostname }}" -Force
diff --git a/ansible/roles/mssql01/tasks/cleanup.yaml b/ansible/roles/mssql02/tasks/cleanup.yaml
index 0e59407..0e59407 100644
--- a/ansible/roles/mssql01/tasks/cleanup.yaml
+++ b/ansible/roles/mssql02/tasks/cleanup.yaml
diff --git a/ansible/roles/mssql01/tasks/init.yaml b/ansible/roles/mssql02/tasks/init.yaml
index a75d6cc..a75d6cc 100644
--- a/ansible/roles/mssql01/tasks/init.yaml
+++ b/ansible/roles/mssql02/tasks/init.yaml
diff --git a/ansible/roles/mssql01/tasks/install_software.yaml b/ansible/roles/mssql02/tasks/install_software.yaml
index a5018a8..a5018a8 100644
--- a/ansible/roles/mssql01/tasks/install_software.yaml
+++ b/ansible/roles/mssql02/tasks/install_software.yaml
diff --git a/ansible/roles/mssql01/tasks/join_domain.yaml b/ansible/roles/mssql02/tasks/join_domain.yaml
index 6736ba2..6736ba2 100644
--- a/ansible/roles/mssql01/tasks/join_domain.yaml
+++ b/ansible/roles/mssql02/tasks/join_domain.yaml
diff --git a/ansible/roles/mssql02/tasks/main.yaml b/ansible/roles/mssql02/tasks/main.yaml
new file mode 100644
index 0000000..64c2469
--- /dev/null
+++ b/ansible/roles/mssql02/tasks/main.yaml
@@ -0,0 +1,40 @@
+- name: wait for winrm to be available
+ ansible.builtin.wait_for:
+ host: "{{ ansible_host }}"
+ port: "{{ ansible_port }}"
+ timeout: 300
+ delegate_to: localhost
+
+- name: execute init.ps1
+ import_tasks: init.yaml
+
+- name: set hostname
+ import_tasks: set_hostname.yaml
+
+- name: reboot after hostname change
+ import_tasks: reboot.yaml
+
+- name: join domain and reboot
+ import_tasks: join_domain.yaml
+
+- name: execute setup-mssql.ps1
+ import_tasks: setup_mssql.yaml
+
+- name: reboot after mssql setup
+ import_tasks: reboot.yaml
+
+- name: pause 5 minutes for mssql setup to complete
+ pause:
+ minutes: 5
+
+- name: execute setup-mssql-link.ps1
+ import_tasks: setup_mssql_link.yaml
+
+- name: reboot after mssql link setup
+ import_tasks: reboot.yaml
+
+- name: execute install-software.ps1
+ import_tasks: install_software.yaml
+
+- name: execute cleanup.ps1
+ import_tasks: cleanup.yaml
diff --git a/ansible/roles/mssql01/tasks/reboot.yaml b/ansible/roles/mssql02/tasks/reboot.yaml
index a7266d0..a7266d0 100644
--- a/ansible/roles/mssql01/tasks/reboot.yaml
+++ b/ansible/roles/mssql02/tasks/reboot.yaml
diff --git a/ansible/roles/mssql02/tasks/set_hostname.yaml b/ansible/roles/mssql02/tasks/set_hostname.yaml
new file mode 100644
index 0000000..7c53a16
--- /dev/null
+++ b/ansible/roles/mssql02/tasks/set_hostname.yaml
@@ -0,0 +1,2 @@
+- name: set hostname
+ win_shell: Rename-Computer -NewName "{{ main_websql01_hostname }}" -Force
diff --git a/ansible/roles/mssql01/tasks/setup_mssql.yaml b/ansible/roles/mssql02/tasks/setup_mssql.yaml
index 4602242..a219c82 100644
--- a/ansible/roles/mssql01/tasks/setup_mssql.yaml
+++ b/ansible/roles/mssql02/tasks/setup_mssql.yaml
@@ -1,7 +1,7 @@
-- name: setup mssql
+- name: execute setup-mssql.ps1
ansible.windows.win_powershell:
script: C:\scripts\setup-mssql.ps1
parameters:
DomainName: "{{ main_domain_name }}"
- SvcUsername: svc_mssql01
+ SvcUsername: svc_mssql02
SvcPassword: "{{ default_win_svc_password }}"
diff --git a/ansible/roles/mssql02/tasks/setup_mssql_link.yaml b/ansible/roles/mssql02/tasks/setup_mssql_link.yaml
new file mode 100644
index 0000000..0e22754
--- /dev/null
+++ b/ansible/roles/mssql02/tasks/setup_mssql_link.yaml
@@ -0,0 +1,5 @@
+- name: execute setup-mssql-link.ps1
+ ansible.windows.win_powershell:
+ script: C:\scripts\setup-mssql-link.ps1
+ parameters:
+ LinkServer: websql01
diff --git a/ansible/roles/proxmox_vm/tasks/set_network.yaml b/ansible/roles/proxmox_vm/tasks/set_network.yaml
index c75aa0f..5420fc2 100644
--- a/ansible/roles/proxmox_vm/tasks/set_network.yaml
+++ b/ansible/roles/proxmox_vm/tasks/set_network.yaml
@@ -1,6 +1,7 @@
-- name: "{{ fqdn }} : set up static ip address on windows"
+- name: "{{ fqdn }} : (windows) set up static ip address on"
win_shell: |
- Start-Transcript -Path C:\set_domain_network_log.txt -Append
+ New-Item -Path C:\Logs -ItemType Directory -Force
+ Start-Transcript -Path C:\Logs\set_domain_network_log.txt -Append
Get-NetIpAddress -InterfaceAlias 'Ethernet' | Remove-NetIPAddress -Confirm:$false
New-NetIPAddress -InterfaceAlias 'Ethernet' -IPAddress "{{ ip }}" -PrefixLength 24 -DefaultGateway "{{ gateway }}"
Set-DnsClientServerAddress -InterfaceAlias 'Ethernet' -ServerAddresses "{{ dns }}"
@@ -18,36 +19,36 @@
ansible_winrm_transport: basic
ansible_winrm_server_cert_validation: ignore
-- name: "{{ fqdn }} : configure network for linux"
+- name: "{{ fqdn }} : (linux) configure network"
block:
- - name: "{{ fqdn }} : get default interface"
+ - name: "{{ fqdn }} : (linux) get default interface"
ansible.builtin.shell: ip route get 8.8.8.8 | sed -n 's/.*dev \([^\ ]*\).*/\1/p'
register: interface_result
- - name: "{{ fqdn }} : set default interface variable"
+ - name: "{{ fqdn }} : (linux) set default interface variable"
ansible.builtin.set_fact:
linux_interface_name: "{{ interface_result.stdout }}"
netplan_ip_address: "{{ ip }}"
- - name: "{{ fqdn }} : find netplan configs in /etc/netplan"
+ - name: "{{ fqdn }} : (linux) find netplan configs in /etc/netplan"
ansible.builtin.find:
paths: /etc/netplan
recurse: yes
register: yaml_configs
- - name: "{{ fqdn }} : remove all netplan configs in /etc/netplan"
+ - name: "{{ fqdn }} : (linux) remove all netplan configs in /etc/netplan"
ansible.builtin.file:
path: "{{ item.path }}"
state: absent
loop: "{{ yaml_configs.files }}"
- - name: "{{ fqdn }} : set netplan static ip address"
+ - name: "{{ fqdn }} : (linux) set netplan static ip address"
ansible.builtin.template:
src: static_ip_netplan.yaml.j2
dest: /etc/netplan/01-netcfg.yaml
mode: '0644'
- - name: "{{ fqdn }} : apply netplan configuration"
+ - name: "{{ fqdn }} : (linux) apply netplan configuration"
ansible.builtin.command: netplan apply
async: 15
poll: 0
diff --git a/ansible/roles/websql01/tasks/cleanup.yaml b/ansible/roles/websql01/tasks/cleanup.yaml
new file mode 100644
index 0000000..0e59407
--- /dev/null
+++ b/ansible/roles/websql01/tasks/cleanup.yaml
@@ -0,0 +1,3 @@
+- name: execute cleanup.ps1
+ ansible.windows.win_powershell:
+ script: C:\scripts\cleanup.ps1
diff --git a/ansible/roles/websql01/tasks/init.yaml b/ansible/roles/websql01/tasks/init.yaml
new file mode 100644
index 0000000..a75d6cc
--- /dev/null
+++ b/ansible/roles/websql01/tasks/init.yaml
@@ -0,0 +1,9 @@
+- name: execute init.ps1
+ ansible.windows.win_powershell:
+ script: C:\scripts\init.ps1
+
+- name: copy mssql installer
+ ansible.builtin.copy:
+ src: files/SQL2019-SSEI-Expr.exe
+ dest: C:\setup\SQL2019-SSEI-Expr.exe
+
diff --git a/ansible/roles/websql01/tasks/install_software.yaml b/ansible/roles/websql01/tasks/install_software.yaml
new file mode 100644
index 0000000..a5018a8
--- /dev/null
+++ b/ansible/roles/websql01/tasks/install_software.yaml
@@ -0,0 +1,3 @@
+- name: execute install-software.ps1
+ ansible.windows.win_powershell:
+ script: C:\scripts\install-software.ps1
diff --git a/ansible/roles/websql01/tasks/join_domain.yaml b/ansible/roles/websql01/tasks/join_domain.yaml
new file mode 100644
index 0000000..6736ba2
--- /dev/null
+++ b/ansible/roles/websql01/tasks/join_domain.yaml
@@ -0,0 +1,13 @@
+- name: join domain
+ ansible.windows.win_domain_membership:
+ dns_domain_name: "{{ main_domain_name }}"
+ domain_admin_user: "{{ main_domain_name }}\\Administrator"
+ domain_admin_password: "{{ default_win_password }}"
+ state: domain
+ register: domain_state
+
+- name: reboot
+ win_reboot:
+ reboot_timeout: 3600
+ when: domain_state.reboot_required
+
diff --git a/ansible/roles/mssql01/tasks/main.yaml b/ansible/roles/websql01/tasks/main.yaml
index 3822369..f176701 100644
--- a/ansible/roles/mssql01/tasks/main.yaml
+++ b/ansible/roles/websql01/tasks/main.yaml
@@ -17,8 +17,8 @@
- name: join domain and reboot
import_tasks: join_domain.yaml
-- name: execute setup-mssql.ps1
- import_tasks: setup_mssql.yaml
+- name: execute setup-websql.ps1
+ import_tasks: setup_websql.yaml
- name: reboot after mssql setup
import_tasks: reboot.yaml
diff --git a/ansible/roles/websql01/tasks/reboot.yaml b/ansible/roles/websql01/tasks/reboot.yaml
new file mode 100644
index 0000000..a7266d0
--- /dev/null
+++ b/ansible/roles/websql01/tasks/reboot.yaml
@@ -0,0 +1,3 @@
+- name: reboot
+ win_reboot:
+ reboot_timeout: 3600
diff --git a/ansible/roles/websql01/tasks/set_hostname.yaml b/ansible/roles/websql01/tasks/set_hostname.yaml
new file mode 100644
index 0000000..7c53a16
--- /dev/null
+++ b/ansible/roles/websql01/tasks/set_hostname.yaml
@@ -0,0 +1,2 @@
+- name: set hostname
+ win_shell: Rename-Computer -NewName "{{ main_websql01_hostname }}" -Force
diff --git a/ansible/roles/websql01/tasks/setup_websql.yaml b/ansible/roles/websql01/tasks/setup_websql.yaml
new file mode 100644
index 0000000..d82831d
--- /dev/null
+++ b/ansible/roles/websql01/tasks/setup_websql.yaml
@@ -0,0 +1,7 @@
+- name: setup websql
+ ansible.windows.win_powershell:
+ script: C:\scripts\setup-websql.ps1
+ parameters:
+ DomainName: "{{ main_domain_name }}"
+ SvcUsername: svc_websql01
+ SvcPassword: "{{ default_win_svc_password }}"