@@ -373,6 +373,15 @@ def reconcile(
373
373
"`key`, `certificate`, and `certificate_authority` arguments required when tls=True"
374
374
)
375
375
376
+ # If the host or port changes, MySQL Router will receive topology change
377
+ # notifications from MySQL.
378
+ # Therefore, if the host or port changes, we do not need to restart MySQL Router.
379
+ is_charm_exposed = self ._charm .is_externally_accessible (event = event )
380
+ socket_file_exists = self ._container .path ("/run/mysqlrouter/mysql.sock" ).exists ()
381
+ require_rebootstrap = is_charm_exposed == socket_file_exists
382
+ if require_rebootstrap :
383
+ self ._disable_router ()
384
+
376
385
# `self._custom_certificate` will change after we enable/disable TLS
377
386
custom_certificate = self ._custom_certificate
378
387
if tls :
@@ -386,15 +395,6 @@ def reconcile(
386
395
if custom_certificate and self ._container .mysql_router_service_enabled :
387
396
self ._restart (event = event , tls = tls )
388
397
389
- # If the host or port changes, MySQL Router will receive topology change
390
- # notifications from MySQL.
391
- # Therefore, if the host or port changes, we do not need to restart MySQL Router.
392
- is_charm_exposed = self ._charm .is_externally_accessible (event = event )
393
- socket_file_exists = self ._container .path ("/run/mysqlrouter/mysql.sock" ).exists ()
394
- require_rebootstrap = is_charm_exposed == socket_file_exists
395
- if require_rebootstrap :
396
- self ._disable_router ()
397
-
398
398
if not self ._container .mysql_router_service_enabled :
399
399
self ._enable_router (event = event , tls = tls , unit_name = unit_name )
400
400
0 commit comments