canonical / mysql-k8s-operator

A Charmed Operator for running MySQL on Kubernetes
https://charmhub.io/mysql-k8s
Apache License 2.0
8 stars 15 forks source link

Empty password string cause error while deploying #20

Closed Abuelodelanada closed 3 years ago

Abuelodelanada commented 3 years ago

In config.yaml we have:

  admin-password:
    type: string
    default: ''
    descriptions: Password used by root user to setup cluster

And wen trying to deploy, the following happens

juju status:

Cada 1,0s: juju status --color                                                                                                                                                                              miguelito: Wed Jan  6 17:47:39 2021

Model  Controller  Cloud/Region        Version  SLA          Timestamp
mysql  mk8s        microk8s/localhost  2.9-rc3  unsupported  17:47:39-03:00

App    Version       Status   Scale  Charm  Store  Rev  OS          Address         Message
mysql  mysql:8.0.22  waiting      1  mysql  local    0  kubernetes  10.152.183.185

Unit      Workload  Agent  Address     Ports     Message
mysql/0*  error     idle   10.1.51.60  3306/TCP  crash loop backoff: back-off 1m20s restarting failed container=mysql pod=mysql-0_mysql(a074c6ce-e183-474e-a49b-a3d073c0ee1d)

The last lines of juju debug-log:

application-mysql: 17:46:15 DEBUG juju.worker.caasoperator trigger running status for caas unit mysql/0
application-mysql: 17:46:15 DEBUG juju.worker.caasoperator.uniter.remotestate got running status change for mysql/0
application-mysql: 17:46:15 DEBUG juju.worker.caasoperator request running status for "unit-mysql-0" mysql-0
application-mysql: 17:46:15 DEBUG juju.worker.caasoperator.uniter no operations in progress; waiting for changes
application-mysql: 17:46:16 DEBUG juju.worker.caasoperator.remotestate got application change
controller-0: 17:46:27 DEBUG juju.worker.caasunitprovisioner units changed: true
controller-0: 17:46:27 DEBUG juju.worker.caasunitprovisioner service for mysql(workload): &{Id:ea96155c-2ee8-4696-8720-9af0f71f3978 Addresses:[local-cloud:10.152.183.185] Scale:0xc002119e08 Generation:0xc002119e10 Status:{Status:waiting Message: Data:map[] Since:<nil>}}
controller-0: 17:47:47 DEBUG juju.worker.caasunitprovisioner units changed: true
controller-0: 17:47:47 DEBUG juju.worker.caasunitprovisioner service for mysql(workload): &{Id:ea96155c-2ee8-4696-8720-9af0f71f3978 Addresses:[local-cloud:10.152.183.185] Scale:0xc0020efeb8 Generation:0xc0020efec0 Status:{Status:waiting Message: Data:map[] Since:<nil>}}
controller-0: 17:47:58 DEBUG juju.worker.caasunitprovisioner units changed: true
controller-0: 17:47:58 DEBUG juju.worker.caasunitprovisioner service for mysql(workload): &{Id:ea96155c-2ee8-4696-8720-9af0f71f3978 Addresses:[local-cloud:10.152.183.185] Scale:0xc0035e5bc8 Generation:0xc0035e5bd0 Status:{Status:waiting Message: Data:map[] Since:<nil>}}
application-mysql: 17:49:45 DEBUG juju.worker.caasoperator.uniter.remotestate update status timer triggered for mysql/0
application-mysql: 17:49:45 DEBUG juju.worker.caasoperator.uniter no operations in progress; waiting for changes
application-mysql: 17:49:45 DEBUG juju.worker.caasoperator.uniter.operation running operation run update-status hook for mysql/0
application-mysql: 17:49:45 DEBUG juju.machinelock acquire machine lock for mysql/0 uniter (run update-status hook)
application-mysql: 17:49:45 DEBUG juju.machinelock machine lock acquired for mysql/0 uniter (run update-status hook)
application-mysql: 17:49:45 DEBUG juju.worker.caasoperator.uniter.operation preparing operation "run update-status hook" for mysql/0
application-mysql: 17:49:45 DEBUG juju.worker.caasoperator.uniter.operation executing operation "run update-status hook" for mysql/0
application-mysql: 17:49:45 DEBUG juju.worker.uniter.runner starting jujuc server  {unix @/var/lib/juju/agents/unit-mysql-0/agent.socket <nil>}
application-mysql: 17:49:45 DEBUG jujuc running hook tool "juju-log" for mysql/0-update-status-6211329067676462134
application-mysql: 17:49:45 DEBUG unit.mysql/0.juju-log Operator Framework 1.1.0 up and running.
application-mysql: 17:49:45 DEBUG jujuc running hook tool "juju-log" for mysql/0-update-status-6211329067676462134
application-mysql: 17:49:45 DEBUG unit.mysql/0.juju-log Legacy hooks/update-status does not exist.
application-mysql: 17:49:45 DEBUG jujuc running hook tool "juju-log" for mysql/0-update-status-6211329067676462134
application-mysql: 17:49:45 DEBUG unit.mysql/0.juju-log Using controller storage: JUJU_VERSION=2.9-rc3
application-mysql: 17:49:45 DEBUG jujuc running hook tool "state-get" for mysql/0-update-status-6211329067676462134
application-mysql: 17:49:45 DEBUG jujuc running hook tool "state-get" for mysql/0-update-status-6211329067676462134
application-mysql: 17:49:45 DEBUG jujuc running hook tool "state-get" for mysql/0-update-status-6211329067676462134
application-mysql: 17:49:45 DEBUG jujuc running hook tool "juju-log" for mysql/0-update-status-6211329067676462134
application-mysql: 17:49:45 DEBUG unit.mysql/0.juju-log Re-emitting <StartEvent via MySQLCharm/on/start[13]>.
application-mysql: 17:49:45 DEBUG jujuc running hook tool "is-leader" for mysql/0-update-status-6211329067676462134
application-mysql: 17:49:45 DEBUG jujuc running hook tool "relation-ids" for mysql/0-update-status-6211329067676462134
application-mysql: 17:49:45 DEBUG jujuc running hook tool "relation-list" for mysql/0-update-status-6211329067676462134
application-mysql: 17:49:45 DEBUG jujuc running hook tool "config-get" for mysql/0-update-status-6211329067676462134
application-mysql: 17:49:45 DEBUG jujuc running hook tool "juju-log" for mysql/0-update-status-6211329067676462134
application-mysql: 17:49:45 WARNING unit.mysql/0.juju-log MySQL service is not ready for mysql-0.mysql-endpoints.
application-mysql: 17:49:45 DEBUG jujuc running hook tool "status-set" for mysql/0-update-status-6211329067676462134
application-mysql: 17:49:46 DEBUG jujuc running hook tool "juju-log" for mysql/0-update-status-6211329067676462134
application-mysql: 17:49:46 INFO unit.mysql/0.juju-log Waiting for MySQL Service
application-mysql: 17:49:46 DEBUG jujuc running hook tool "juju-log" for mysql/0-update-status-6211329067676462134
application-mysql: 17:49:46 DEBUG unit.mysql/0.juju-log Deferring <StartEvent via MySQLCharm/on/start[13]>.
application-mysql: 17:49:46 DEBUG jujuc running hook tool "juju-log" for mysql/0-update-status-6211329067676462134
application-mysql: 17:49:46 DEBUG unit.mysql/0.juju-log Emitting Juju event update_status.
application-mysql: 17:49:46 DEBUG jujuc running hook tool "state-set" for mysql/0-update-status-6211329067676462134
application-mysql: 17:49:46 DEBUG jujuc running hook tool "state-set" for mysql/0-update-status-6211329067676462134
application-mysql: 17:49:46 INFO juju.worker.caasoperator.uniter.operation ran "update-status" hook (via hook dispatching script: dispatch)
application-mysql: 17:49:46 DEBUG juju.worker.caasoperator.uniter.operation committing operation "run update-status hook" for mysql/0
application-mysql: 17:49:46 DEBUG juju.machinelock machine lock released for mysql/0 uniter (run update-status hook)
application-mysql: 17:49:46 DEBUG juju.worker.caasoperator.uniter.operation lock released for mysql/0
application-mysql: 17:49:46 DEBUG juju.worker.caasoperator.uniter no operations in progress; waiting for changes
controller-0: 17:50:35 DEBUG juju.worker.caasunitprovisioner units changed: true
controller-0: 17:50:35 DEBUG juju.worker.caasunitprovisioner service for mysql(workload): &{Id:ea96155c-2ee8-4696-8720-9af0f71f3978 Addresses:[local-cloud:10.152.183.185] Scale:0xc0037a98a8 Generation:0xc0037a98b0 Status:{Status:waiting Message: Data:map[] Since:<nil>}}

But if in config.yaml we set up the following:

  admin-password:
    type: string
    default: 'Password'
    descriptions: Password used by root user to setup cluster

MySQL units are deployed

Abuelodelanada commented 3 years ago

This issue can be avoided running:

$ juju deploy ./mysql.charm --config admin-password=Password