Skip to content

Commit 52cfb89

Browse files
Updated logic for HA DB/SCS cluster configuration validation (#114)
1 parent d76cf8e commit 52cfb89

File tree

15 files changed

+1776
-755
lines changed

15 files changed

+1776
-755
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -409,3 +409,6 @@ VMWPASSWORD
409409
.coverage.*
410410
*.ini
411411
.ansible/
412+
413+
# GitHub Copilot configuration files
414+
copilot-instructions.md

requirements.txt

Lines changed: 23 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@
44
#
55
# pip-compile requirements.in
66
#
7-
ansible-compat==25.6.0
7+
ansible-compat==25.8.1
88
# via ansible-lint
9-
ansible-core==2.17.13
9+
ansible-core==2.17.14
1010
# via
1111
# -r requirements.in
1212
# ansible-compat
1313
# ansible-lint
14-
ansible-lint==25.6.1
14+
ansible-lint==25.8.2
1515
# via -r requirements.in
1616
ansible-runner==2.4.1
1717
# via -r requirements.in
@@ -30,7 +30,7 @@ azure-core==1.35.0
3030
# azure-mgmt-core
3131
# azure-storage-blob
3232
# azure-storage-queue
33-
azure-identity==1.23.1
33+
azure-identity==1.24.0
3434
# via
3535
# -r requirements.in
3636
# azure-kusto-data
@@ -58,21 +58,21 @@ black==25.1.0
5858
# ansible-lint
5959
bracex==2.6
6060
# via wcmatch
61-
certifi==2025.7.14
61+
certifi==2025.8.3
6262
# via requests
63-
cffi==1.17.1
63+
cffi==2.0.0
6464
# via cryptography
65-
charset-normalizer==3.4.2
65+
charset-normalizer==3.4.3
6666
# via requests
6767
click==8.2.1
6868
# via
6969
# -r requirements.in
7070
# black
71-
coverage[toml]==7.10.0
71+
coverage[toml]==7.10.6
7272
# via
7373
# -r requirements.in
7474
# pytest-cov
75-
cryptography==45.0.5
75+
cryptography==45.0.7
7676
# via
7777
# ansible-core
7878
# azure-identity
@@ -84,7 +84,7 @@ dill==0.4.0
8484
# via pylint
8585
exceptiongroup==1.3.0
8686
# via pytest
87-
filelock==3.18.0
87+
filelock==3.19.1
8888
# via ansible-lint
8989
idna==3.10
9090
# via requests
@@ -107,15 +107,15 @@ jinja2==3.1.6
107107
# ansible-core
108108
jmespath==1.0.1
109109
# via -r requirements.in
110-
jsonschema==4.25.0
110+
jsonschema==4.25.1
111111
# via
112112
# ansible-compat
113113
# ansible-lint
114-
jsonschema-specifications==2025.4.1
114+
jsonschema-specifications==2025.9.1
115115
# via jsonschema
116116
lockfile==0.12.2
117117
# via python-daemon
118-
markdown-it-py==3.0.0
118+
markdown-it-py==4.0.0
119119
# via rich
120120
markupsafe==3.0.2
121121
# via jinja2
@@ -153,7 +153,7 @@ pathspec==0.12.1
153153
# yamllint
154154
pexpect==4.9.0
155155
# via ansible-runner
156-
platformdirs==4.3.8
156+
platformdirs==4.4.0
157157
# via
158158
# black
159159
# pylint
@@ -163,7 +163,7 @@ pluggy==1.6.0
163163
# pytest-cov
164164
ptyprocess==0.7.0
165165
# via pexpect
166-
pycparser==2.22
166+
pycparser==2.23
167167
# via cffi
168168
pygments==2.19.2
169169
# via
@@ -173,16 +173,16 @@ pyjwt[crypto]==2.10.1
173173
# via
174174
# msal
175175
# pyjwt
176-
pylint==3.3.7
176+
pylint==3.3.8
177177
# via -r requirements.in
178-
pytest==8.4.1
178+
pytest==8.4.2
179179
# via
180180
# -r requirements.in
181181
# pytest-cov
182182
# pytest-mock
183-
pytest-cov==6.2.1
183+
pytest-cov==7.0.0
184184
# via -r requirements.in
185-
pytest-mock==3.14.1
185+
pytest-mock==3.15.0
186186
# via -r requirements.in
187187
python-daemon==3.1.2
188188
# via ansible-runner
@@ -213,13 +213,13 @@ requests==2.32.5
213213
# msal
214214
resolvelib==1.0.1
215215
# via ansible-core
216-
rich==14.0.0
216+
rich==14.1.0
217217
# via -r requirements.in
218-
rpds-py==0.26.0
218+
rpds-py==0.27.1
219219
# via
220220
# jsonschema
221221
# referencing
222-
ruamel-yaml==0.18.14
222+
ruamel-yaml==0.18.15
223223
# via ansible-lint
224224
ruamel-yaml-clib==0.2.12
225225
# via ruamel-yaml
@@ -241,7 +241,7 @@ tomli==2.2.1
241241
# pytest
242242
tomlkit==0.13.3
243243
# via pylint
244-
typing-extensions==4.14.1
244+
typing-extensions==4.15.0
245245
# via
246246
# astroid
247247
# azure-core
@@ -252,7 +252,6 @@ typing-extensions==4.14.1
252252
# black
253253
# exceptiongroup
254254
# referencing
255-
# rich
256255
tzdata==2025.2
257256
# via pandas
258257
urllib3==2.5.0

scripts/setup.sh

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,21 @@ set_output_context
1313
# Ensure we're in the project root directory
1414
cd "$(dirname "$script_dir")"
1515

16-
packages=("python3-pip" "ansible" "sshpass" "python3-venv")
16+
packages=("python3-pip" "sshpass" "python3-venv")
1717
install_packages "${packages[@]}"
1818

19+
# Install az cli if not present
20+
if ! command_exists az; then
21+
log "INFO" "Azure CLI not found. Installing Azure CLI..."
22+
curl -L https://aka.ms/InstallAzureCli | bash
23+
if command_exists az; then
24+
log "INFO" "Azure CLI installed successfully."
25+
else
26+
log "ERROR" "Failed to install Azure CLI. Please install it manually."
27+
exit 1
28+
fi
29+
fi
30+
1931
# Verify Python3 is available
2032
if ! command_exists python3; then
2133
log "ERROR" "Python3 is not available after installation. Please install Python3 manually."
@@ -47,7 +59,7 @@ log "INFO" "Installing Python packages..."
4759
if ! pip install --upgrade pip; then
4860
log "ERROR" "Failed to upgrade pip."
4961
fi
50-
if pip install pyyaml requests azure-identity azure-kusto-data azure-kusto-ingest azure-mgmt-network azure-storage-blob azure-storage-queue; then
62+
if pip install -r requirements.in; then
5163
log "INFO" "Python packages installed successfully."
5264
else
5365
log "ERROR" "Failed to install Python packages."

src/ansible.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ display_skipped_hosts = False
99
conditional_bare_variables = False
1010
interpreter_python = auto_silent
1111
callbacks_enabled = profile_tasks
12-
stdout_callback = yaml
12+
stdout_callback = default
1313
bin_ansible_callbacks = True
1414
host_key_checking = False
1515
error_on_undefined_vars = True

0 commit comments

Comments
 (0)