Skip to content

Commit 096c986

Browse files
Move CharmSpecific class to abstract_charm.py
1 parent 91bf4d7 commit 096c986

File tree

2 files changed

+28
-26
lines changed

2 files changed

+28
-26
lines changed

src/abstract_charm.py

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,33 @@
2323
logger = logging.getLogger(__name__)
2424

2525

26+
class RouterRefresh(charm_refresh.CharmSpecific):
27+
"""MySQL Router refresh callbacks & configuration"""
28+
29+
@staticmethod
30+
def run_pre_refresh_checks_after_1_unit_refreshed() -> None:
31+
pass
32+
33+
@classmethod
34+
def is_compatible(
35+
cls,
36+
*,
37+
old_charm_version: charm_refresh.CharmVersion,
38+
new_charm_version: charm_refresh.CharmVersion,
39+
old_workload_version: str,
40+
new_workload_version: str,
41+
) -> bool:
42+
if not super().is_compatible(
43+
old_charm_version=old_charm_version,
44+
new_charm_version=new_charm_version,
45+
old_workload_version=old_workload_version,
46+
new_workload_version=new_workload_version,
47+
):
48+
return False
49+
# TODO: check workload version—prevent downgrade?
50+
return True
51+
52+
2653
class MySQLRouterCharm(ops.CharmBase, abc.ABC):
2754
"""MySQL Router charm"""
2855

src/charm.py

Lines changed: 1 addition & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -52,31 +52,6 @@ class _ServiceType(enum.Enum):
5252
LOAD_BALANCER = "LoadBalancer"
5353

5454

55-
class _RouterRefresh(charm_refresh.CharmSpecific):
56-
@staticmethod
57-
def run_pre_refresh_checks_after_1_unit_refreshed() -> None:
58-
pass
59-
60-
@classmethod
61-
def is_compatible(
62-
cls,
63-
*,
64-
old_charm_version: charm_refresh.CharmVersion,
65-
new_charm_version: charm_refresh.CharmVersion,
66-
old_workload_version: str,
67-
new_workload_version: str,
68-
) -> bool:
69-
if not super().is_compatible(
70-
old_charm_version=old_charm_version,
71-
new_charm_version=new_charm_version,
72-
old_workload_version=old_workload_version,
73-
new_workload_version=new_workload_version,
74-
):
75-
return False
76-
# TODO: check workload version—prevent downgrade?
77-
return True
78-
79-
8055
@trace_charm(
8156
tracing_endpoint="tracing_endpoint",
8257
extra_types=(
@@ -114,7 +89,7 @@ def __init__(self, *args) -> None:
11489
)
11590
try:
11691
self.refresh = charm_refresh.Refresh(
117-
_RouterRefresh(
92+
abstract_charm.RouterRefresh(
11893
cloud=charm_refresh.Cloud.KUBERNETES,
11994
workload_name="Router",
12095
refresh_user_docs_url="https://charmhub.io/mysql-router-k8s/docs/h-upgrade",

0 commit comments

Comments
 (0)