From d9b8bd26a617bb267a004cb6c60ac125959ca27f Mon Sep 17 00:00:00 2001 From: Tony Meyer Date: Tue, 17 Sep 2024 15:46:48 +1200 Subject: [PATCH 1/2] Emit deprecation warnings for collect-metrics, pre-series-upgrade, and post-series-upgrade events. --- ops/charm.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/ops/charm.py b/ops/charm.py index c626d11da..472afa20d 100644 --- a/ops/charm.py +++ b/ops/charm.py @@ -18,6 +18,7 @@ import enum import logging import pathlib +import warnings from typing import ( TYPE_CHECKING, Any, @@ -359,6 +360,14 @@ class PreSeriesUpgradeEvent(HookEvent): .. jujuremoved:: 4.0 """ + def __init__(self, handle: 'Handle'): + warnings.warn( + 'pre-series-upgrade events will not be emitted from Juju 4.0 onwards', + DeprecationWarning, + stacklevel=2, + ) + super().__init__(handle) + class PostSeriesUpgradeEvent(HookEvent): """Event triggered after a series upgrade. @@ -375,6 +384,14 @@ class PostSeriesUpgradeEvent(HookEvent): .. jujuremoved:: 4.0 """ + def __init__(self, handle: 'Handle'): + warnings.warn( + 'post-series-upgrade events will not be emitted from Juju 4.0 onwards', + DeprecationWarning, + stacklevel=2, + ) + super().__init__(handle) + class LeaderElectedEvent(HookEvent): """Event triggered when a new leader has been elected. @@ -412,6 +429,15 @@ class CollectMetricsEvent(HookEvent): .. jujuremoved:: 4.0 """ + def __init__(self, handle: 'Handle'): + warnings.warn( + 'collect-metrics events will not be emitted from Juju 4.0 onwards - ' + 'consider using the Canonical Observability Stack', + DeprecationWarning, + stacklevel=2, + ) + super().__init__(handle) + def add_metrics( self, metrics: Mapping[str, Union[int, float]], labels: Optional[Mapping[str, str]] = None ): From 9840d91c989a8dbaade2838a1c58cff8029e48a9 Mon Sep 17 00:00:00 2001 From: Tony Meyer Date: Tue, 17 Sep 2024 17:07:49 +1200 Subject: [PATCH 2/2] Bump up the stack level. --- ops/charm.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ops/charm.py b/ops/charm.py index 472afa20d..edef8db32 100644 --- a/ops/charm.py +++ b/ops/charm.py @@ -364,7 +364,7 @@ def __init__(self, handle: 'Handle'): warnings.warn( 'pre-series-upgrade events will not be emitted from Juju 4.0 onwards', DeprecationWarning, - stacklevel=2, + stacklevel=3, ) super().__init__(handle) @@ -388,7 +388,7 @@ def __init__(self, handle: 'Handle'): warnings.warn( 'post-series-upgrade events will not be emitted from Juju 4.0 onwards', DeprecationWarning, - stacklevel=2, + stacklevel=3, ) super().__init__(handle) @@ -434,7 +434,7 @@ def __init__(self, handle: 'Handle'): 'collect-metrics events will not be emitted from Juju 4.0 onwards - ' 'consider using the Canonical Observability Stack', DeprecationWarning, - stacklevel=2, + stacklevel=3, ) super().__init__(handle)