canonical / observability-libs

A collection of charm libraries curated by the Observability team.
https://charmhub.io/observability-libs
Apache License 2.0
3 stars 8 forks source link

[cert handler] incorrect error message on import failure #58

Closed sed-i closed 11 months ago

sed-i commented 1 year ago

When importing tls_certificates fails, the error suggests fetch-lib:

https://github.com/canonical/observability-libs/blob/54bf73c161dcc6f17f6fc6503f5718f9e0d81d4d/lib/charms/observability_libs/v0/cert_handler.py#L52

This is not accurate, as an import failure can be caused by a different reason:

ERROR juju.worker.uniter.operation hook "install" (via hook dispatching script: dispatch) failed: exit status 1
INFO juju.worker.uniter awaiting error resolution for "install" hook
INFO juju.worker.uniter awaiting error resolution for "install" hook
INFO juju.worker.uniter awaiting error resolution for "install" hook
WARNING unit.grafana-agent/0.install Traceback (most recent call last):
WARNING unit.grafana-agent/0.install   File "/var/lib/juju/agents/unit-grafana-agent-0/charm/lib/charms/observability_libs/v0/cert_handler.py", line 41, in <module>
WARNING unit.grafana-agent/0.install     from charms.tls_certificates_interface.v2.tls_certificates import (  # type: ignore
WARNING unit.grafana-agent/0.install   File "/var/lib/juju/agents/unit-grafana-agent-0/charm/lib/charms/tls_certificates_interface/v2/tls_certificates.py", line 285, in <module>
WARNING unit.grafana-agent/0.install     from cryptography import x509
WARNING unit.grafana-agent/0.install   File "/var/lib/juju/agents/unit-grafana-agent-0/charm/venv/cryptography/x509/__init__.py", line 7, in <module>
WARNING unit.grafana-agent/0.install     from cryptography.x509 import certificate_transparency
WARNING unit.grafana-agent/0.install   File "/var/lib/juju/agents/unit-grafana-agent-0/charm/venv/cryptography/x509/certificate_transparency.py", line 11, in <module>
WARNING unit.grafana-agent/0.install     from cryptography.hazmat.bindings._rust import x509 as rust_x509
WARNING unit.grafana-agent/0.install ImportError: libssl.so.3: cannot open shared object file: No such file or directory
WARNING unit.grafana-agent/0.install 
WARNING unit.grafana-agent/0.install During handling of the above exception, another exception occurred:
WARNING unit.grafana-agent/0.install 
WARNING unit.grafana-agent/0.install Traceback (most recent call last):
WARNING unit.grafana-agent/0.install   File "./src/charm.py", line 20, in <module>
WARNING unit.grafana-agent/0.install     from grafana_agent import CONFIG_PATH, GrafanaAgentCharm
WARNING unit.grafana-agent/0.install   File "/var/lib/juju/agents/unit-grafana-agent-0/charm/src/grafana_agent.py", line 31, in <module>
WARNING unit.grafana-agent/0.install     from charms.observability_libs.v0.cert_handler import CertHandler
WARNING unit.grafana-agent/0.install   File "/var/lib/juju/agents/unit-grafana-agent-0/charm/lib/charms/observability_libs/v0/cert_handler.py", line 51, in <module>
WARNING unit.grafana-agent/0.install     raise ImportError(
WARNING unit.grafana-agent/0.install ImportError: charms.tls_certificates_interface.v2.tls_certificates is missing; please get it through charmcraft fetch-lib
PietroPasotti commented 11 months ago

todo: rephrase to mention failed importing lib ...: see error logs above