canonical / opensearch-operator

OpenSearch operator
Apache License 2.0
10 stars 6 forks source link

Deployment description should not return `None` if only 1x unit deployed at `remove-application` #378

Closed phvalguima closed 1 month ago

phvalguima commented 1 month ago

In a single unit deployment, I see the following error:

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 475, 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 293, in acquired
    payload={"unit-name": self._charm.unit_name},
  File "/var/lib/juju/agents/unit-opensearch-0/charm/lib/charms/opensearch/v0/opensearch_base_charm.py", line 1562, in unit_name
    return format_unit_name(self.unit, app=self.opensearch_peer_cm.deployment_desc().app)
AttributeError: 'NoneType' object has no attribute 'app'

This type of deployments should work without issues. self.opensearch_peer_cm.deployment_desc() must return other value than None in this case.

github-actions[bot] commented 1 month ago

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