Skip to content

Commit 99c2acc

Browse files
Update charm_refresh
1 parent 096c986 commit 99c2acc

File tree

3 files changed

+13
-6
lines changed

3 files changed

+13
-6
lines changed

poetry.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/abstract_charm.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
"""MySQL Router charm"""
55

66
import abc
7+
import dataclasses
78
import logging
89
import typing
910

@@ -23,7 +24,8 @@
2324
logger = logging.getLogger(__name__)
2425

2526

26-
class RouterRefresh(charm_refresh.CharmSpecific):
27+
@dataclasses.dataclass(eq=False)
28+
class RouterRefresh(charm_refresh.CharmSpecificCommon, abc.ABC):
2729
"""MySQL Router refresh callbacks & configuration"""
2830

2931
@staticmethod
@@ -58,7 +60,7 @@ class MySQLRouterCharm(ops.CharmBase, abc.ABC):
5860
_READ_WRITE_X_PORT = 6448
5961
_READ_ONLY_X_PORT = 6449
6062

61-
refresh: charm_refresh.Refresh
63+
refresh: charm_refresh.Common
6264

6365
def __init__(self, *args) -> None:
6466
super().__init__(*args)

src/charm.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
if is_wrong_architecture() and __name__ == "__main__":
1414
ops.main.main(WrongArchitectureWarningCharm)
1515

16+
import dataclasses
1617
import enum
1718
import functools
1819
import json
@@ -52,6 +53,11 @@ class _ServiceType(enum.Enum):
5253
LOAD_BALANCER = "LoadBalancer"
5354

5455

56+
@dataclasses.dataclass(eq=False)
57+
class KubernetesRouterRefresh(abstract_charm.RouterRefresh, charm_refresh.CharmSpecificKubernetes):
58+
"""MySQL Router Kubernetes refresh callbacks & configuration"""
59+
60+
5561
@trace_charm(
5662
tracing_endpoint="tracing_endpoint",
5763
extra_types=(
@@ -88,9 +94,8 @@ def __init__(self, *args) -> None:
8894
self.on[rock.CONTAINER_NAME].pebble_ready, self._on_workload_container_pebble_ready
8995
)
9096
try:
91-
self.refresh = charm_refresh.Refresh(
92-
abstract_charm.RouterRefresh(
93-
cloud=charm_refresh.Cloud.KUBERNETES,
97+
self.refresh = charm_refresh.Kubernetes(
98+
KubernetesRouterRefresh(
9499
workload_name="Router",
95100
refresh_user_docs_url="https://charmhub.io/mysql-router-k8s/docs/h-upgrade",
96101
oci_resource_name="mysql-router-image",

0 commit comments

Comments
 (0)