diff options
Diffstat (limited to 'ansible/roles')
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 }}" |