-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathinstall_sql_server.yml
110 lines (97 loc) · 3.55 KB
/
install_sql_server.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
---
# ------------------------------------------------------------------------------
# Install MS-SQL/Server
# Ref: https://docs.microsoft.com/en-us/sql/linux/quickstart-install-connect-red-hat?view=sql-server-ver15
# ------------------------------------------------------------------------------
- hosts:
- sefton1.yaocm.id.au
- sefton2.yaocm.id.au
tasks:
- name: "Restrict Installation to OL7"
assert:
msg: "Restrict Installation to OL7"
that: >
ansible_distribution == "OracleLinux" and
ansible_distribution_major_version == '7'
- name: "Set MS-SQL/Server Configuration"
set_fact:
mssql_tcp_port: 1433
db_password: "MSsqlSA7"
- name: "Add Microsoft yum repositories for SQL Server 2019 on RHEL 7"
get_url:
url: "https://packages.microsoft.com/config/rhel/7/{{ item.url }}"
dest: "/etc/yum.repos.d/{{ item.dest }}"
become: yes
become_user: root
with_items:
- { url: mssql-server-2019.repo, dest: mssql-server.repo }
- { url: prod.repo, dest: msprod.repo }
- name: "Remove Old Packages"
yum:
name:
- unixODBC-utf16
- unixODBC-utf16-devel
state: absent
become: yes
become_user: root
- name: "Install Microsoft SQL Server package"
yum:
name:
- mssql-server
- mssql-tools
- unixODBC-devel
state: present
become: yes
become_user: root
environment:
- ACCEPT_EULA: Y
- name: "Get Current State of MS-SQL/Server Service"
systemd:
name: mssql-server
register: sql_server
- name: "Run SQL Server setup mssql-conf"
command: /opt/mssql/bin/mssql-conf -n setup accept-eula
environment:
- MSSQL_SA_PASSWORD:
"{{ db_password }}"
- MSSQL_PID: "Developer"
- MSSQL_TCP_PORT: "{{ mssql_tcp_port }}"
become: yes
become_user: root
when:
- sql_server.status.SubState is defined
- sql_server.status.SubState == "dead"
- name: "Add firewalld settings"
firewalld:
zone: public
port: "{{ mssql_tcp_port }}/tcp"
permanent: true
state: enabled
become: yes
become_user: root
notify: Reload FireWall Rules
- name: "Ensure the MSSQL service is started"
service:
name: mssql-server
state: started
become: yes
become_user: root
- name: "Add mssql-tools to bash profile"
lineinfile:
path: "{{ item }}"
line: export PATH="$PATH:/opt/mssql-tools/bin"
loop:
- ~/.bash_profile
- ~/.bashrc
# ------------------------------------------------------------------------------
# Handlers
# ------------------------------------------------------------------------------
handlers:
- name: "Reload FireWall Rules"
command:
argv:
- firewall-cmd
- "--reload"
become: yes
become_user: root
...