canonical / opensearch-operator

OpenSearch operator
Apache License 2.0
10 stars 6 forks source link

Single unit removal fails with ERROR when trying to get the lock at `remove-application` #360

Open phvalguima opened 2 weeks ago

phvalguima commented 2 weeks ago

Trying to remove a single unit renders:

Traceback (most recent call last):
  File "/var/lib/juju/agents/unit-opensearch-0/charm/./src/charm.py", line 213, in <module>
    main(OpenSearchOperatorCharm)
  File "/var/lib/juju/agents/unit-opensearch-0/charm/venv/ops/main.py", line 548, in main
    manager.run()
  File "/var/lib/juju/agents/unit-opensearch-0/charm/venv/ops/main.py", line 527, in run
    self._emit()
  File "/var/lib/juju/agents/unit-opensearch-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-opensearch-0/charm/venv/ops/main.py", line 147, in _emit_charm_event
    event_to_emit.emit(*args, **kwargs)
  File "/var/lib/juju/agents/unit-opensearch-0/charm/venv/ops/framework.py", line 348, in emit
    framework._emit(event)
  File "/var/lib/juju/agents/unit-opensearch-0/charm/venv/ops/framework.py", line 860, in _emit
    self._reemit(event_path)
  File "/var/lib/juju/agents/unit-opensearch-0/charm/venv/ops/framework.py", line 950, in _reemit
    custom_handler(event)
  File "/var/lib/juju/agents/unit-opensearch-0/charm/lib/charms/opensearch/v0/opensearch_base_charm.py", line 481, in _on_opensearch_data_storage_detaching
    if not self.node_lock.acquired:
  File "/var/lib/juju/agents/unit-opensearch-0/charm/lib/charms/opensearch/v0/opensearch_locking.py", line 248, in acquired
    alt_hosts = self._charm.alt_hosts
  File "/var/lib/juju/agents/unit-opensearch-0/charm/lib/charms/opensearch/v0/opensearch_base_charm.py", line 1654, in alt_hosts
    all_units_ips = units_ips(self, PeerRelationName)
  File "/var/lib/juju/agents/unit-opensearch-0/charm/lib/charms/opensearch/v0/helper_networking.py", line 75, in units_ips
    for unit in charm.model.get_relation(peer_relation_name).units:
AttributeError: 'NoneType' object has no attribute 'units'

If we have a single unit present.

github-actions[bot] commented 2 weeks ago

https://warthogs.atlassian.net/browse/DPE-4860