Skip to content

non-leader unit stuck with hook failed: "certificates-relation-changed" for self-signed-certificates:certificates" #268

Description

@jeffreychang911

Steps to reproduce

  1. SolQA deploys Charmed Kubernetes 1.28 on AWS, and then Mongodb-K8s.
  2. 2 out of 3 mongodb-k8s nodes blocked with "hook failed: "certificates-relation-changed" for self-signed-certificates:certificates", and it won't settle after timeout in 1 hr.

Expected behavior

Actual behavior

Versions

Operating system:

Juju CLI: 3.5.2

Juju agent: 3.5.2

Charm revision: rev 43 on 6/edge

charmed kubernetes 1.28

Log output

Juju debug log:

unit-self-signed-certificates-0: 2024-07-20 02:47:01 INFO juju.worker.uniter.operation ran "certificates-relation-changed" hook (via hook dispatching script: dispatch)
unit-mongodb-k8s-0: 2024-07-20 02:47:02 INFO unit.mongodb-k8s/0.juju-log certificates:1: Restarting mongod with TLS enabled.
unit-mongodb-k8s-0: 2024-07-20 02:47:02 INFO unit.mongodb-k8s/0.juju-log certificates:1: Deleting TLS certificate from workload container
unit-mongodb-k8s-0: 2024-07-20 02:47:02 ERROR unit.mongodb-k8s/0.juju-log certificates:1: Uncaught exception while in charm code:
Traceback (most recent call last):
  File "/var/lib/juju/agents/unit-mongodb-k8s-0/charm/./src/charm.py", line 1245, in <module>
    main(MongoDBCharm)
  File "/var/lib/juju/agents/unit-mongodb-k8s-0/charm/venv/ops/main.py", line 548, in main
    manager.run()
  File "/var/lib/juju/agents/unit-mongodb-k8s-0/charm/venv/ops/main.py", line 527, in run
    self._emit()
  File "/var/lib/juju/agents/unit-mongodb-k8s-0/charm/venv/ops/main.py", line 516, in _emit
    _emit_charm_event(self.charm, self.dispatcher.event_name)
  File "/var/lib/juju/agents/unit-mongodb-k8s-0/charm/venv/ops/main.py", line 147, in _emit_charm_event
    event_to_emit.emit(*args, **kwargs)
  File "/var/lib/juju/agents/unit-mongodb-k8s-0/charm/venv/ops/framework.py", line 348, in emit
    framework._emit(event)
  File "/var/lib/juju/agents/unit-mongodb-k8s-0/charm/venv/ops/framework.py", line 860, in _emit
    self._reemit(event_path)
  File "/var/lib/juju/agents/unit-mongodb-k8s-0/charm/venv/ops/framework.py", line 950, in _reemit
    custom_handler(event)
  File "/var/lib/juju/agents/unit-mongodb-k8s-0/charm/lib/charms/tls_certificates_interface/v3/tls_certificates.py", line 1900, in _on_relation_changed
    self.on.certificate_available.emit(
  File "/var/lib/juju/agents/unit-mongodb-k8s-0/charm/venv/ops/framework.py", line 348, in emit
    framework._emit(event)
  File "/var/lib/juju/agents/unit-mongodb-k8s-0/charm/venv/ops/framework.py", line 860, in _emit
    self._reemit(event_path)
  File "/var/lib/juju/agents/unit-mongodb-k8s-0/charm/venv/ops/framework.py", line 950, in _reemit
    custom_handler(event)
  File "/var/lib/juju/agents/unit-mongodb-k8s-0/charm/lib/charms/mongodb/v0/mongodb_tls.py", line 225, in _on_certificate_available
    self.charm.delete_tls_certificate_from_workload()
  File "/var/lib/juju/agents/unit-mongodb-k8s-0/charm/./src/charm.py", line 1058, in delete_tls_certificate_from_workload
    container.remove_path(f"{Config.CONF_DIR}/{file}")
  File "/var/lib/juju/agents/unit-mongodb-k8s-0/charm/venv/ops/model.py", line 2785, in remove_path
    self._pebble.remove_path(str(path), recursive=recursive)
  File "/var/lib/juju/agents/unit-mongodb-k8s-0/charm/venv/ops/pebble.py", line 2529, in remove_path
    resp = self._request('POST', '/v1/files', None, body)
  File "/var/lib/juju/agents/unit-mongodb-k8s-0/charm/venv/ops/pebble.py", line 1859, in _request
    response = self._request_raw(method, path, query, headers, data)
  File "/var/lib/juju/agents/unit-mongodb-k8s-0/charm/venv/ops/pebble.py", line 1912, in _request_raw
    raise ConnectionError(
ops.pebble.ConnectionError: Could not connect to Pebble: socket not found at '/charm/containers/mongod/pebble.socket' (container restarted?)

Additional context

SolQA testrun - https://solutions.qa.canonical.com/testruns/5cac57f9-8c93-43e5-bc0e-bbbbf1098c82
Juju crashdump - https://oil-jenkins.canonical.com/artifacts/5cac57f9-8c93-43e5-bc0e-bbbbf1098c82/generated/generated/mongodb-k8s/crashdump-2024-07-20-03.49.02.tar.gz

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working as expected

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions