diff options
Diffstat (limited to 'ansible/roles')
-rw-r--r-- | ansible/roles/dc01/tasks/set_hostname.yaml | 2 | ||||
-rw-r--r-- | ansible/roles/proxmox_vm/tasks/set_network.yaml | 16 | ||||
-rw-r--r-- | ansible/roles/websql01/tasks/cleanup.yaml | 3 | ||||
-rw-r--r-- | ansible/roles/websql01/tasks/init.yaml | 9 | ||||
-rw-r--r-- | ansible/roles/websql01/tasks/install_software.yaml | 3 | ||||
-rw-r--r-- | ansible/roles/websql01/tasks/join_domain.yaml | 13 | ||||
-rw-r--r-- | ansible/roles/websql01/tasks/main.yaml | 34 | ||||
-rw-r--r-- | ansible/roles/websql01/tasks/reboot.yaml | 3 | ||||
-rw-r--r-- | ansible/roles/websql01/tasks/set_hostname.yaml | 2 | ||||
-rw-r--r-- | ansible/roles/websql01/tasks/setup_websql.yaml | 7 |
10 files changed, 83 insertions, 9 deletions
diff --git a/ansible/roles/dc01/tasks/set_hostname.yaml b/ansible/roles/dc01/tasks/set_hostname.yaml index 5ad01b2..282d0cd 100644 --- a/ansible/roles/dc01/tasks/set_hostname.yaml +++ b/ansible/roles/dc01/tasks/set_hostname.yaml @@ -1,2 +1,2 @@ - name: set hostname - ansible.windows.win_shell: Rename-Computer -NewName "{{ main_dc01_hostname }}" -Force + win_shell: Rename-Computer -NewName "{{ main_dc01_hostname }}" -Force diff --git a/ansible/roles/proxmox_vm/tasks/set_network.yaml b/ansible/roles/proxmox_vm/tasks/set_network.yaml index c75aa0f..da809d5 100644 --- a/ansible/roles/proxmox_vm/tasks/set_network.yaml +++ b/ansible/roles/proxmox_vm/tasks/set_network.yaml @@ -1,4 +1,4 @@ -- 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 Get-NetIpAddress -InterfaceAlias 'Ethernet' | Remove-NetIPAddress -Confirm:$false @@ -18,36 +18,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/websql01/tasks/main.yaml b/ansible/roles/websql01/tasks/main.yaml new file mode 100644 index 0000000..f176701 --- /dev/null +++ b/ansible/roles/websql01/tasks/main.yaml @@ -0,0 +1,34 @@ +- 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-websql.ps1 + import_tasks: setup_websql.yaml + +- name: reboot after mssql setup + import_tasks: reboot.yaml + +- name: pause 5 minutes for mssql setup to complete + pause: + minutes: 5 + +- name: execute install-software.ps1 + import_tasks: install_software.yaml + +- name: execute cleanup.ps1 + import_tasks: cleanup.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..ea527b6 --- /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_mssql02 + SvcPassword: "{{ default_win_svc_password }}" |