unit-mysql-router-k8s-0: 19:24:28 DEBUG unit.mysql-router-k8s/0.juju-log backend-database:4: Operator Framework 2.2.0 up and running.
unit-mysql-router-k8s-0: 19:24:28 DEBUG unit.mysql-router-k8s/0.juju-log backend-database:4: Emitting Juju event backend_database_relation_changed.
unit-mysql-router-k8s-0: 19:24:28 INFO unit.mysql-router-k8s/0.juju-log backend-database:4: database created at 2023-05-18 19:24:28.351091
unit-mysql-router-k8s-0: 19:24:28 DEBUG unit.mysql-router-k8s/0.juju-log backend-database:4: Emitting custom event <DatabaseCreatedEvent via MySQLRouterOperatorCharm/DatabaseRequires[backend-database]/on/database_created[48]>.
unit-mysql-router-k8s-0: 19:24:28 DEBUG unit.mysql-router-k8s/0.juju-log backend-database:4: State of reconcile self.unit.is_leader()=True, isinstance(self.workload, workload.AuthenticatedWorkload)=True, self.database_requires.relation and self.database_requires.relation.is_breaking(event)=False, self.workload.container_ready=True, isinstance(event, ops.UpgradeCharmEvent)=False
unit-mysql-router-k8s-0: 19:24:28 DEBUG unit.mysql-router-k8s/0.juju-log backend-database:4: Reconciling users event=<DatabaseCreatedEvent via MySQLRouterOperatorCharm/DatabaseRequires[backend-database]/on/database_created[48]>, router_endpoint='mysql-router-k8s.foo46.svc.cluster.local'
unit-mysql-router-k8s-0: 19:24:28 DEBUG unit.mysql-router-k8s/0.juju-log backend-database:4: State of reconcile users requested_users=[], created_users=[]
unit-mysql-router-k8s-0: 19:24:28 DEBUG unit.mysql-router-k8s/0.juju-log backend-database:4: Reconciled users event=<DatabaseCreatedEvent via MySQLRouterOperatorCharm/DatabaseRequires[backend-database]/on/database_created[48]>, router_endpoint='mysql-router-k8s.foo46.svc.cluster.local'
unit-mysql-router-k8s-0: 19:24:28 DEBUG unit.mysql-router-k8s/0.juju-log backend-database:4: Enabling MySQL Router service
unit-mysql-router-k8s-0: 19:24:28 DEBUG unit.mysql-router-k8s/0.juju-log backend-database:4: Bootstrapping router tls=False, self._database_requires_relation.host='mysql-2nd-k8s-primary.foo46.svc.cluster.local', self._database_requires_relation.port='3306'
unit-mysql-router-k8s-0: 19:24:28 ERROR unit.mysql-router-k8s/0.juju-log backend-database:4: Failed to bootstrap router
stderr:
Error: The given Router instance is already configured for a cluster named 'cluster_3e97a9b353fcfb511f0181d85ae3dd44'.
If you'd like to replace it, please use the --force configuration option.
Traceback (most recent call last):
File "/var/lib/juju/agents/unit-mysql-router-k8s-0/charm/src/workload.py", line 175, in _bootstrap_router
process.wait_output()
File "/var/lib/juju/agents/unit-mysql-router-k8s-0/charm/venv/ops/pebble.py", line 1252, in wait_output
raise ExecError(self._command, exit_code, out_value, err_value)
ops.pebble.ExecError: non-zero exit code 1 executing ['mysqlrouter', '--bootstrap', 'relation-4:ZJfWC6Jq12uldwx8Px0HcBMz@mysql-2nd-k8s-primary.foo46.svc.cluster.local:3306', '--strict', '--user', 'mysql', '--conf-set-option', 'http_server.bind_address=127.0.0.1', '--conf-use-gr-notifications'], stdout='', stderr="Error: The given Router instance is already configured for a cluster named 'cluster_3e97a9b353fcfb511f0181d85ae3dd44'.\nIf you'd like to replace it, please use the --force configuration option.\n"
unit-mysql-router-k8s-0: 19:24:28 ERROR unit.mysql-router-k8s/0.juju-log backend-database:4: Uncaught exception while in charm code:
Traceback (most recent call last):
File "/var/lib/juju/agents/unit-mysql-router-k8s-0/charm/./src/charm.py", line 250, in <module>
ops.main.main(MySQLRouterOperatorCharm)
File "/var/lib/juju/agents/unit-mysql-router-k8s-0/charm/venv/ops/main.py", line 441, in main
_emit_charm_event(charm, dispatcher.event_name)
File "/var/lib/juju/agents/unit-mysql-router-k8s-0/charm/venv/ops/main.py", line 149, in _emit_charm_event
event_to_emit.emit(*args, **kwargs)
File "/var/lib/juju/agents/unit-mysql-router-k8s-0/charm/venv/ops/framework.py", line 354, in emit
framework._emit(event)
File "/var/lib/juju/agents/unit-mysql-router-k8s-0/charm/venv/ops/framework.py", line 830, in _emit
self._reemit(event_path)
File "/var/lib/juju/agents/unit-mysql-router-k8s-0/charm/venv/ops/framework.py", line 919, in _reemit
custom_handler(event)
File "/var/lib/juju/agents/unit-mysql-router-k8s-0/charm/lib/charms/data_platform_libs/v0/data_interfaces.py", line 946, in _on_relation_changed_event
self.on.database_created.emit(event.relation, app=event.app, unit=event.unit)
File "/var/lib/juju/agents/unit-mysql-router-k8s-0/charm/venv/ops/framework.py", line 354, in emit
framework._emit(event)
File "/var/lib/juju/agents/unit-mysql-router-k8s-0/charm/venv/ops/framework.py", line 830, in _emit
self._reemit(event_path)
File "/var/lib/juju/agents/unit-mysql-router-k8s-0/charm/venv/ops/framework.py", line 919, in _reemit
custom_handler(event)
File "/var/lib/juju/agents/unit-mysql-router-k8s-0/charm/./src/charm.py", line 224, in reconcile_database_relations
self.workload.enable(tls=self.tls.certificate_saved, unit_name=self.unit.name)
File "/var/lib/juju/agents/unit-mysql-router-k8s-0/charm/src/workload.py", line 208, in enable
self._bootstrap_router(tls=tls)
File "/var/lib/juju/agents/unit-mysql-router-k8s-0/charm/src/workload.py", line 175, in _bootstrap_router
process.wait_output()
File "/var/lib/juju/agents/unit-mysql-router-k8s-0/charm/venv/ops/pebble.py", line 1252, in wait_output
raise ExecError(self._command, exit_code, out_value, err_value)
ops.pebble.ExecError: non-zero exit code 1 executing ['mysqlrouter', '--bootstrap', 'relation-4:ZJfWC6Jq12uldwx8Px0HcBMz@mysql-2nd-k8s-primary.foo46.svc.cluster.local:3306', '--strict', '--user', 'mysql', '--conf-set-option', 'http_server.bind_address=127.0.0.1', '--conf-use-gr-notifications'], stdout='', stderr="Error: The given Router instance is already configured for a cluster named 'cluster_3e97a9b353fcfb511f0181d85ae3dd44'.\nIf you'd like to replace it, please use the --force configuration option.\n"
unit-mysql-router-k8s-0: 19:24:28 ERROR juju.worker.uniter.operation hook "backend-database-relation-changed" (via hook dispatching script: dispatch) failed: exit status 1
Steps to reproduce
juju deploy mysql-k8s --channel 8.0/edge --trust
juju deploy mysql-router-k8s --channel 8.0/edge
juju relate mysql-k8s mysql-router-k8s
juju remove-relation mysql-k8s mysql-router-k8s
juju deploy mysql-k8s mysql-2nd-k8s --channel 8.0/edge --trust
juju relate mysql-2nd-k8s mysql-router-k8s
Expected behavior
Active/idle on mysql-k8s and blocked/idle on mysql-router-k8s
Actual behavior
mysql-router-k8s error
hook failed: "backend-database-relation-changed" for mysql-2nd-k8s:database
Versions
Operating system: Ubuntu 22.04.2 LTS
Juju CLI: 2.9.43-ubuntu-amd64
Juju agent: 2.9.43 (installed following these instructions: https://chat.canonical.com/canonical/pl/g6swyah9zty15kx1w81e31u3jy)
mysql-k8s charm revision: 80 mysql-router-k8s charm revision: 31
microk8s: MicroK8s v1.26.4 revision 5219
Log output
Additional context