Debian: Traceback in sysinv when running system registry-image-list

Bug #1978320 reported by Andy
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
StarlingX
Fix Released
Medium
Andy

Bug Description

Brief Description
-----------------
Run system registry-image-list appears to fail with traceback in sysinv log.

Severity
--------
Major: registry-image-list doesn't work.

Steps to Reproduce
------------------
- Deploy a Debian based system.
- Run registry-image-list

Expected Behavior
------------------
system registry-image-list command succeeds without error

Actual Behavior
----------------
system registry-image-list command failed with Traceback errors in sysinv.og

Reproducibility
---------------
100% reproducible

System Configuration
--------------------
Any

Branch/Pull Time/Commit
-----------------------
STX master latest.

Last Pass
---------
Unknown

Timestamp/Logs
--------------
Traceback in sysinv.log:

sysinv 2022-06-09 12:37:39.914 74847 INFO sysinv.common.rest_api [-] Response={'pd': {}}
sysinv 2022-06-09 12:38:12.386 74847 ERROR sysinv.conductor.manager [-] Failed to get docker regist ry catalog: OSError: Could not find a suitable TLS CA certificate bundle, invalid path: /etc/ssl/ce rts/ca-bundle.crt
2022-06-09 12:38:12.386 74847 ERROR sysinv.conductor.manager Traceback (most recent call last):
2022-06-09 12:38:12.386 74847 ERROR sysinv.conductor.manager File "/usr/lib/python3/dist-packages /sysinv/conductor/manager.py", line 1741, in docker_registry_image_list
2022-06-09 12:38:12.386 74847 ERROR sysinv.conductor.manager image_list_response = docker_regis try.docker_registry_get("_catalog")
2022-06-09 12:38:12.386 74847 ERROR sysinv.conductor.manager File "/usr/lib/python3/dist-packages /sysinv/conductor/docker_registry.py", line 97, in docker_registry_get
2022-06-09 12:38:12.386 74847 ERROR sysinv.conductor.manager resp = requests.get("%s%s?n=%s" % (registry_url, path, MAX_IMAGES_COUNT),
2022-06-09 12:38:12.386 74847 ERROR sysinv.conductor.manager File "/usr/lib/python3/dist-packages /requests/api.py", line 76, in get
2022-06-09 12:38:12.386 74847 ERROR sysinv.conductor.manager return request('get', url, params= params, **kwargs)
2022-06-09 12:38:12.386 74847 ERROR sysinv.conductor.manager File "/usr/lib/python3/dist-packages /requests/api.py", line 61, in request
2022-06-09 12:38:12.386 74847 ERROR sysinv.conductor.manager return session.request(method=meth od, url=url, **kwargs)
2022-06-09 12:38:12.386 74847 ERROR sysinv.conductor.manager File "/usr/lib/python3/dist-packages /requests/sessions.py", line 542, in request
2022-06-09 12:38:12.386 74847 ERROR sysinv.conductor.manager resp = self.send(prep, **send_kwar gs)
2022-06-09 12:38:12.386 74847 ERROR sysinv.conductor.manager File "/usr/lib/python3/dist-packages /requests/sessions.py", line 655, in send
2022-06-09 12:38:12.386 74847 ERROR sysinv.conductor.manager r = adapter.send(request, **kwargs )
2022-06-09 12:38:12.386 74847 ERROR sysinv.conductor.manager File "/usr/lib/python3/dist-packages /requests/adapters.py", line 416, in send
2022-06-09 12:38:12.386 74847 ERROR sysinv.conductor.manager self.cert_verify(conn, request.url , verify, cert)
2022-06-09 12:38:12.386 74847 ERROR sysinv.conductor.manager File "/usr/lib/python3/dist-packages /requests/adapters.py", line 227, in cert_verify
2022-06-09 12:38:12.386 74847 ERROR sysinv.conductor.manager raise IOError("Could not find a su itable TLS CA certificate bundle, "
2022-06-09 12:38:12.386 74847 ERROR sysinv.conductor.manager OSError: Could not find a suitable TLS CA certificate bundle, invalid path: /etc/ssl/certs/ca-bundle.crt
2022-06-09 12:38:12.386 74847 ERROR sysinv.conductor.manager
sysinv 2022-06-09 12:38:12.394 74847 ERROR sysinv.openstack.common.rpc.amqp [-] Exception during me ssage handling: sysinv.common.exception.DockerRegistryAPIException: Error communicating with the do cker registry

Test Activity
-------------
Regression Testing

Workaround
----------
N/A

Andy (andy.wrs)
Changed in starlingx:
assignee: nobody → Andy (andy.wrs)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to config (master)

Fix proposed to branch: master
Review: https://review.opendev.org/c/starlingx/config/+/845383

Changed in starlingx:
status: New → In Progress
Ghada Khalil (gkhalil)
Changed in starlingx:
importance: Undecided → Medium
tags: added: stx.7.0 stx.config stx.debian
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to config (master)

Reviewed: https://review.opendev.org/c/starlingx/config/+/845383
Committed: https://opendev.org/starlingx/config/commit/cf0161285e6cc55052e4d4865e6e41eb04e260ac
Submitter: "Zuul (22348)"
Branch: master

commit cf0161285e6cc55052e4d4865e6e41eb04e260ac
Author: Andy Ning <email address hidden>
Date: Fri Jun 10 10:22:57 2022 -0400

    Debian: fix system registry image commands

    On Debian system regirstry image commands such as
    system registry-image-list fails with traceback in sysinv log.

    The root cause is that the command is looking for system trusted
    CA bundle in a hardcoded path "/etc/ssl/certs/ca-bundle.crt".
    But on Debian the CA bundle is /etc/ssl/certs/ca-certificates.crt

    Fixed this by adding a generic function to find the CA bundle in
    a list that have the CA bundle path for Debian, CentOS, Suse and
    FreeBSD/OpenBSD.

    Test Plan for Debian and CentOS:
    PASS: package build, image build
    PASS: system bootstrap, controller unlock
    PASS: system registry-image-list succeed without error

    Closes-Bug: 1978320
    Signed-off-by: Andy Ning <email address hidden>
    Change-Id: I9fbf19ea6a78c1e4d93855815f239eb29b6f7551

Changed in starlingx:
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.