File tree Expand file tree Collapse file tree 2 files changed +29
-9
lines changed Expand file tree Collapse file tree 2 files changed +29
-9
lines changed Original file line number Diff line number Diff line change 5858 CharmEvents ,
5959 Container ,
6060 HookEvent ,
61+ JujuVersion ,
6162 LeaderElectedEvent ,
6263 MaintenanceStatus ,
6364 ModelError ,
@@ -1450,6 +1451,12 @@ def promote_primary_unit(self, event: ActionEvent) -> None:
14501451 event .fail ("Switchover failed or timed out, check the logs for details" )
14511452
14521453 def _on_secret_remove (self , event : SecretRemoveEvent ) -> None :
1454+ if self .model .juju_version < JujuVersion ("3.6.11" ):
1455+ logger .warning (
1456+ "Skipping secret revision removal due to https://github.com/juju/juju/issues/20782"
1457+ )
1458+ return
1459+
14531460 # A secret removal (entire removal, not just a revision removal) causes
14541461 # https://github.com/juju/juju/issues/20794. This check is to avoid the
14551462 # errors that would happen if we tried to remove the revision in that case
Original file line number Diff line number Diff line change 1010import pytest
1111from lightkube import ApiError
1212from lightkube .resources .core_v1 import Endpoints , Pod , Service
13+ from ops import JujuVersion
1314from ops .model import (
1415 ActiveStatus ,
1516 BlockedStatus ,
@@ -1694,12 +1695,24 @@ def test_get_ldap_parameters(harness):
16941695
16951696
16961697def test_on_secret_remove (harness ):
1697- event = Mock ()
1698- harness .charm ._on_secret_remove (event )
1699- event .remove_revision .assert_called_once_with ()
1700- event .reset_mock ()
1701-
1702- # No secret
1703- event .secret .label = None
1704- harness .charm ._on_secret_remove (event )
1705- assert not event .remove_revision .called
1698+ with (
1699+ patch ("ops.model.Model.juju_version" , new_callable = PropertyMock ) as _juju_version ,
1700+ ):
1701+ event = Mock ()
1702+
1703+ # New juju
1704+ _juju_version .return_value = JujuVersion ("3.6.11" )
1705+ harness .charm ._on_secret_remove (event )
1706+ event .remove_revision .assert_called_once_with ()
1707+ event .reset_mock ()
1708+
1709+ # Old juju
1710+ _juju_version .return_value = JujuVersion ("3.6.9" )
1711+ harness .charm ._on_secret_remove (event )
1712+ assert not event .remove_revision .called
1713+ event .reset_mock ()
1714+
1715+ # No secret
1716+ event .secret .label = None
1717+ harness .charm ._on_secret_remove (event )
1718+ assert not event .remove_revision .called
You can’t perform that action at this time.
0 commit comments