canonical / bundle-kubeflow

Charmed Kubeflow
Apache License 2.0
103 stars 49 forks source link

katib-manager-operator AttributeError: 'MySQLClient' object has no attribute 'root_password' #291

Closed Windfarer closed 3 years ago

Windfarer commented 3 years ago

deploying kubeflow to microk8s cluster, and it reports an error

version:

microk8s: 1.20.1
juju: 2.8.7

the logging of microk8s.kubectl logs -n kubeflow --tail 200 -l juju-operator=katib-manager command. I searched through issues, and found this error is similar to https://github.com/juju-solutions/bundle-kubeflow/issues/187 Any solution to deal with this error?

2021-01-18 03:57:48 INFO juju-log mysql:14: status-set: maintenance: configuring container
2021-01-18 03:57:48 DEBUG jujuc server.go:211 running hook tool "status-set" for katib-manager/0-mysql-relation-changed-2459997087474707765
2021-01-18 03:57:48 DEBUG jujuc server.go:211 running hook tool "juju-log" for katib-manager/0-mysql-relation-changed-2459997087474707765
2021-01-18 03:57:48 ERROR juju-log mysql:14: Hook error:
Traceback (most recent call last):
  File "lib/charms/reactive/__init__.py", line 74, in main
    bus.dispatch(restricted=restricted_mode)
  File "lib/charms/reactive/bus.py", line 390, in dispatch
    _invoke(other_handlers)
  File "lib/charms/reactive/bus.py", line 359, in _invoke
    handler.invoke()
  File "lib/charms/reactive/bus.py", line 181, in invoke
    self._action(*args)
  File "/var/lib/juju/agents/unit-katib-manager-0/charm/reactive/katib_manager.py", line 52, in start_charm
    'DB_PASSWORD': mysql.root_password(),
AttributeError: 'MySQLClient' object has no attribute 'root_password'

2021-01-18 03:57:48 WARNING mysql-relation-changed Traceback (most recent call last):
2021-01-18 03:57:48 WARNING mysql-relation-changed   File "/var/lib/juju/agents/unit-katib-manager-0/charm/hooks/mysql-relation-changed", line 19, in <module>
2021-01-18 03:57:48 WARNING mysql-relation-changed     main()
2021-01-18 03:57:48 WARNING mysql-relation-changed   File "lib/charms/reactive/__init__.py", line 74, in main
2021-01-18 03:57:48 WARNING mysql-relation-changed     bus.dispatch(restricted=restricted_mode)
2021-01-18 03:57:48 WARNING mysql-relation-changed   File "lib/charms/reactive/bus.py", line 390, in dispatch
2021-01-18 03:57:48 WARNING mysql-relation-changed     _invoke(other_handlers)
2021-01-18 03:57:48 WARNING mysql-relation-changed   File "lib/charms/reactive/bus.py", line 359, in _invoke
2021-01-18 03:57:48 WARNING mysql-relation-changed     handler.invoke()
2021-01-18 03:57:48 WARNING mysql-relation-changed   File "lib/charms/reactive/bus.py", line 181, in invoke
2021-01-18 03:57:48 WARNING mysql-relation-changed     self._action(*args)
2021-01-18 03:57:48 WARNING mysql-relation-changed   File "/var/lib/juju/agents/unit-katib-manager-0/charm/reactive/katib_manager.py", line 52, in start_charm
2021-01-18 03:57:48 WARNING mysql-relation-changed     'DB_PASSWORD': mysql.root_password(),
2021-01-18 03:57:48 WARNING mysql-relation-changed AttributeError: 'MySQLClient' object has no attribute 'root_password'
2021-01-18 03:57:49 ERROR juju.worker.caasoperator.uniter.operation runhook.go:136 hook "mysql-relation-changed" (via explicit, bespoke hook script) failed: exit status 1
2021-01-18 03:57:49 DEBUG juju.machinelock machinelock.go:186 machine lock released for katib-manager/0 uniter (run relation-changed (14; unit: katib-db/0) hook)
2021-01-18 03:57:49 DEBUG juju.worker.caasoperator.uniter.operation executor.go:115 lock released for katib-manager/0
2021-01-18 03:57:49 INFO juju.worker.caasoperator.uniter resolver.go:143 awaiting error resolution for "relation-changed" hook
2021-01-18 03:57:49 DEBUG juju.worker.caasoperator.uniter agent.go:20 [AGENT-STATUS] error: hook failed: "mysql-relation-changed"
2021-01-18 03:58:04 DEBUG juju.worker.caasoperator.uniter.remotestate watcher.go:636 update status timer triggered for katib-manager/0
2021-01-18 03:58:04 INFO juju.worker.caasoperator.uniter resolver.go:143 awaiting error resolution for "relation-changed" hook
knkski commented 3 years ago

@Windfarer: If you're building the charms locally instead of deploying them from the charm store, you'll need to include a particular mysql interface. See here for how to get a local copy:

https://github.com/juju-solutions/bundle-kubeflow/blob/9e47779/.github/workflows/test-microk8s.yaml#L39-L40