Skip to content

Commit 4228405

Browse files
committed
Update version to 1.0.3, enhance changelog, and improve indexserver checks for RedHat
1 parent 080f81e commit 4228405

5 files changed

Lines changed: 67 additions & 44 deletions

File tree

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.0.2
1+
1.0.3

docs/CHANGELOG.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
All notable changes to this project will be documented in this file.
44

5-
## 1.1.0
6-
Release Date: 03-30-2026
5+
## 1.0.3
6+
Release Date: 04-25-2026
77
1. Add support for scale-out HANA System Replication (HSR) topology in HA functional tests
88
- Support for SAPHanaSR-ScaleOut provider alongside SAPHanaSR and SAPHanaSR-angi.
99
- Updated all HA DB test scenarios (resource migration, node crash/kill, echo-b, crash-index, block-network, fs-freeze, sbd-fencing) with scale-out HSR support.

requirements.txt

Lines changed: 36 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -2,36 +2,36 @@
22
# This file is autogenerated by pip-compile with Python 3.12
33
# by the following command:
44
#
5-
# pip-compile --output-file=./requirements.txt ./requirements.in
5+
# pip-compile requirements.in
66
#
77
annotated-doc==0.0.4
88
# via fastapi
99
annotated-types==0.7.0
1010
# via pydantic
11-
ansible-compat==25.12.1
11+
ansible-compat==26.3.0
1212
# via ansible-lint
13-
ansible-core==2.17.14
13+
ansible-core==2.20.4
1414
# via
1515
# -r requirements.in
1616
# ansible-compat
1717
# ansible-lint
18-
ansible-lint==26.2.0
18+
ansible-lint==26.4.0
1919
# via -r requirements.in
20-
ansible-runner==2.4.2
20+
ansible-runner==2.4.3
2121
# via -r requirements.in
22-
anyio==4.12.1
22+
anyio==4.13.0
2323
# via
2424
# httpx
2525
# starlette
2626
apscheduler==3.11.2
2727
# via -r requirements.in
2828
astroid==4.0.4
2929
# via pylint
30-
attrs==25.4.0
30+
attrs==26.1.0
3131
# via
3232
# jsonschema
3333
# referencing
34-
azure-core==1.38.2
34+
azure-core==1.39.0
3535
# via
3636
# azure-identity
3737
# azure-keyvault-secrets
@@ -40,17 +40,17 @@ azure-core==1.38.2
4040
# azure-storage-blob
4141
# azure-storage-queue
4242
# msrest
43-
azure-identity==1.25.2
43+
azure-identity==1.25.3
4444
# via
4545
# -r requirements.in
4646
# azure-kusto-data
47-
azure-keyvault-secrets==4.10.0
47+
azure-keyvault-secrets==4.11.0
4848
# via -r requirements.in
49-
azure-kusto-data==6.0.2
49+
azure-kusto-data==6.0.3
5050
# via
5151
# -r requirements.in
5252
# azure-kusto-ingest
53-
azure-kusto-ingest==6.0.2
53+
azure-kusto-ingest==6.0.3
5454
# via -r requirements.in
5555
azure-mgmt-compute==37.2.0
5656
# via -r requirements.in
@@ -74,7 +74,7 @@ azure-storage-queue==12.13.0
7474
# via
7575
# -r requirements.in
7676
# azure-kusto-ingest
77-
black==26.1.0
77+
black==26.3.1
7878
# via
7979
# -r requirements.in
8080
# ansible-lint
@@ -90,18 +90,18 @@ cffi==2.0.0
9090
# via
9191
# ansible-lint
9292
# cryptography
93-
charset-normalizer==3.4.4
93+
charset-normalizer==3.4.7
9494
# via requests
95-
click==8.3.1
95+
click==8.3.2
9696
# via
9797
# -r requirements.in
9898
# black
9999
# uvicorn
100-
coverage[toml]==7.13.4
100+
coverage[toml]==7.13.5
101101
# via
102102
# -r requirements.in
103103
# pytest-cov
104-
cryptography==46.0.5
104+
cryptography==46.0.7
105105
# via
106106
# ansible-core
107107
# ansible-lint
@@ -114,9 +114,9 @@ dill==0.4.1
114114
# via pylint
115115
distro==1.9.0
116116
# via ansible-lint
117-
fastapi==0.135.1
117+
fastapi==0.136.0
118118
# via -r requirements.in
119-
filelock==3.25.0
119+
filelock==3.28.0
120120
# via ansible-lint
121121
h11==0.16.0
122122
# via
@@ -168,7 +168,7 @@ mccabe==0.7.0
168168
# via pylint
169169
mdurl==0.1.2
170170
# via markdown-it-py
171-
msal==1.35.0
171+
msal==1.36.0
172172
# via
173173
# azure-identity
174174
# azure-kusto-data
@@ -179,21 +179,21 @@ msrest==0.7.1
179179
# via azure-mgmt-recoveryservicesbackup
180180
mypy-extensions==1.1.0
181181
# via black
182-
numpy==2.2.6
182+
numpy==2.4.4
183183
# via
184184
# -r requirements.in
185185
# pandas
186186
oauthlib==3.3.1
187187
# via requests-oauthlib
188-
packaging==26.0
188+
packaging==26.1
189189
# via
190190
# ansible-compat
191191
# ansible-core
192192
# ansible-lint
193193
# ansible-runner
194194
# black
195195
# pytest
196-
pandas==2.3.3
196+
pandas==3.0.2
197197
# via -r requirements.in
198198
pathspec==1.0.4
199199
# via
@@ -202,7 +202,7 @@ pathspec==1.0.4
202202
# yamllint
203203
pexpect==4.9.0
204204
# via ansible-runner
205-
platformdirs==4.9.2
205+
platformdirs==4.9.6
206206
# via
207207
# black
208208
# pylint
@@ -214,31 +214,31 @@ ptyprocess==0.7.0
214214
# via pexpect
215215
pycparser==3.0
216216
# via cffi
217-
pydantic==2.12.5
217+
pydantic==2.13.1
218218
# via
219219
# -r requirements.in
220220
# fastapi
221-
pydantic-core==2.41.5
221+
pydantic-core==2.46.1
222222
# via pydantic
223-
pygments==2.19.2
223+
pygments==2.20.0
224224
# via
225225
# pytest
226226
# rich
227-
pyjwt[crypto]==2.11.0
227+
pyjwt[crypto]==2.12.1
228228
# via
229229
# msal
230230
# pyjwt
231231
pylint==4.0.5
232232
# via -r requirements.in
233-
pytest==9.0.2
233+
pytest==9.0.3
234234
# via
235235
# -r requirements.in
236236
# pytest-asyncio
237237
# pytest-cov
238238
# pytest-mock
239239
pytest-asyncio==1.3.0
240240
# via -r requirements.in
241-
pytest-cov==7.0.0
241+
pytest-cov==7.1.0
242242
# via -r requirements.in
243243
pytest-mock==3.15.1
244244
# via -r requirements.in
@@ -248,12 +248,10 @@ python-dateutil==2.9.0.post0
248248
# via
249249
# azure-kusto-data
250250
# pandas
251-
python-multipart==0.0.22
251+
python-multipart==0.0.26
252252
# via -r requirements.in
253253
pytokens==0.4.1
254254
# via black
255-
pytz==2025.2
256-
# via pandas
257255
pyyaml==6.0.3
258256
# via
259257
# -r requirements.in
@@ -267,7 +265,7 @@ referencing==0.37.0
267265
# ansible-lint
268266
# jsonschema
269267
# jsonschema-specifications
270-
requests==2.32.5
268+
requests==2.33.1
271269
# via
272270
# -r requirements.in
273271
# azure-core
@@ -277,9 +275,9 @@ requests==2.32.5
277275
# requests-oauthlib
278276
requests-oauthlib==2.0.0
279277
# via msrest
280-
resolvelib==1.0.1
278+
resolvelib==1.2.1
281279
# via ansible-core
282-
rich==14.3.3
280+
rich==15.0.0
283281
# via -r requirements.in
284282
rpds-py==0.30.0
285283
# via
@@ -291,7 +289,7 @@ ruamel-yaml-clib==0.2.15
291289
# via ansible-lint
292290
six==1.17.0
293291
# via python-dateutil
294-
starlette==0.52.1
292+
starlette==1.0.0
295293
# via fastapi
296294
subprocess-tee==0.4.2
297295
# via
@@ -324,13 +322,11 @@ typing-inspection==0.4.2
324322
# via
325323
# fastapi
326324
# pydantic
327-
tzdata==2025.3
328-
# via pandas
329325
tzlocal==5.3.1
330326
# via apscheduler
331327
urllib3==2.6.3
332328
# via requests
333-
uvicorn==0.41.0
329+
uvicorn==0.44.0
334330
# via -r requirements.in
335331
wcmatch==10.1
336332
# via ansible-lint

src/modules/check_indexserver.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
notes:
3636
- This module requires access to the global.ini file in the SAP HANA installation path
3737
- The checks are specific to each operating system distribution
38-
- For RedHat, it checks for ChkSrv provider configuration
38+
- For RedHat, it checks for ChkSrv and susChkSrv provider configurations
3939
- For SUSE, it checks for susChkSrv provider configuration
4040
"""
4141

tests/modules/check_indexserver_test.py

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,33 @@ def test_suse_indexserver_scaleout_success(self, monkeypatch):
131131
assert result["details"]["provider"] == "susChkSrv"
132132
assert result["details"]["path"] == "/usr/share/SAPHanaSR-ScaleOut"
133133

134+
def test_redhat_indexserver_suschksrv_success(self, monkeypatch):
135+
"""
136+
Simulate a global.ini with susChkSrv provider on RedHat (scale-out).
137+
138+
:param monkeypatch: Monkeypatch fixture.
139+
:type monkeypatch: pytest.MonkeyPatch
140+
"""
141+
file_lines = [
142+
"[ha_dr_provider_suschksrv]",
143+
"provider=susChkSrv",
144+
"path=/usr/share/SAPHanaSR-ScaleOut",
145+
"execution_order=3",
146+
]
147+
with monkeypatch.context() as monkey_patch:
148+
monkey_patch.setattr("builtins.open", fake_open_factory(file_lines))
149+
checker = IndexServerCheck(
150+
database_sid="TEST", os_distribution=OperatingSystemFamily.REDHAT
151+
)
152+
checker.check_indexserver()
153+
result = checker.get_result()
154+
155+
assert result["status"] == TestStatus.SUCCESS.value
156+
assert result["message"] == "Indexserver is configured."
157+
assert result["indexserver_enabled"] == "yes"
158+
assert result["details"]["provider"] == "susChkSrv"
159+
assert result["details"]["path"] == "/usr/share/SAPHanaSR-ScaleOut"
160+
134161
def test_unsupported_os(self):
135162
"""
136163
Test unsupported OS distribution.

0 commit comments

Comments
 (0)