SUSE / susecloud-repocheck

SUSECloud Update Infrastructure Check for Azure, AWS, and GCP
GNU General Public License v3.0
22 stars 10 forks source link

regionServiceClientConfigAzure-2.0.0-150000.3.16.1 saves certs in /usr/lib, not /var/lib #46

Closed cadeavil-msft closed 2 years ago

cadeavil-msft commented 2 years ago

SLES 15 SP4

When running sc-repocheck.py (from GIT), it fails with:

2022-08-12 16:46:50,196 INFO: ~~ sc-repocheck 1.2.9 ~~ 2022-08-12 16:46:50,196 INFO: Check interval is 10 seconds 2022-08-12 16:46:50,196 INFO: CTRL-C to exit 2022-08-12 16:46:50,196 INFO: 2022-08-12 16:46:53,203 INFO: Checking metadata access. 2022-08-12 16:46:53,217 INFO: Metadata OK. 2022-08-12 16:46:53,217 INFO: Checking regionserver access. Traceback (most recent call last): File "./sc-repocheck.py", line 3375, in check_realtime(args) File "./sc-repocheck.py", line 2914, in check_realtime check_region_servers(region) File "./sc-repocheck.py", line 2946, in check_region_servers '/regionInfo?regionHint=' + region, verify=certfile, timeout=5) File "/usr/lib/python3.6/site-packages/requests/api.py", line 76, in get return request('get', url, params=params, kwargs) File "/usr/lib/python3.6/site-packages/requests/api.py", line 61, in request return session.request(method=method, url=url, kwargs) File "/usr/lib/python3.6/site-packages/requests/sessions.py", line 530, in request resp = self.send(prep, send_kwargs) File "/usr/lib/python3.6/site-packages/requests/sessions.py", line 643, in send r = adapter.send(request, kwargs) File "/usr/lib/python3.6/site-packages/requests/adapters.py", line 416, in send self.cert_verify(conn, request.url, verify, cert) File "/usr/lib/python3.6/site-packages/requests/adapters.py", line 228, in cert_verify "invalid path: {}".format(cert_loc)) OSError: Could not find a suitable TLS CA certificate bundle, invalid path: /var/lib/regionService/certs/23.100.36.229.pem

This seems to happen because sc-repocheck sets the certs directory to /var/lib, but regionServiceClientCongiAzure is (at least at this version) saving the certs on /usr/lib:

2934 cert_dir = "/**var**/lib/regionService/certs"

changing this line to refer to /usr/lib is enough to (seemingly) make sc-repocheck work

rfparedes commented 2 years ago

Thanks. Fixing this today.