Improve logs in xtrabackup
Proposal
I accidentally added the wrong S3 AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY and got a very unclear error when I tried to create a backup:
2025-04-17T06:57:29Z DEBUG sidecar Checking if backup exists {"namespace": "ksemele", "name": "backup-0", "namespace": "ksemele", "name": "backup-0", "namespace": "ksemele", "name": "backup-0", "namespace": "ksemele", "name": "backup-0", "namespace": "ksemele", "name": "backup-0"}
2025-04-17T06:57:29Z ERROR sidecar failed to check if backup exists {"namespace": "ksemele", "name": "backup-0", "namespace": "ksemele", "name": "backup-0", "namespace": "ksemele", "name": "backup-0", "namespace": "ksemele", "name": "backup-0", "namespace": "ksemele", "name": "backup-0", "error": "new storage: failed to check if bucket exists: 400 Bad Request", "errorVerbose": "400 Bad Request\nfailed to check if bucket exists\ngithub.com/percona/percona-server-mysql-operator/pkg/xtrabackup/storage.NewS3\n\t/go/src/github.com/percona/percona-server-mysql-operator/pkg/xtrabackup/storage/storage.go:106\ngithub.com/percona/percona-server-mysql-operator/pkg/xtrabackup/storage.NewClient\n\t/go/src/github.com/percona/percona-server-mysql-operator/pkg/xtrabackup/storage/storage.go:42\nmain.backupExists\n\t/go/src/github.com/percona/percona-server-mysql-operator/cmd/sidecar/main.go:246\nmain.createBackupHandler\n\t/go/src/github.com/percona/percona-server-mysql-operator/cmd/sidecar/main.go:335\nmain.backupHandler\n\t/go/src/github.com/percona/percona-server-mysql-operator/cmd/sidecar/main.go:134\nnet/http.HandlerFunc.ServeHTTP\n\t/usr/local/go/src/net/http/server.go:2220\nnet/http.(*ServeMux).ServeHTTP\n\t/usr/local/go/src/net/http/server.go:2747\nnet/http.serverHandler.ServeHTTP\n\t/usr/local/go/src/net/http/server.go:3210\nnet/http.(*conn).serve\n\t/usr/local/go/src/net/http/server.go:2092\nruntime.goexit\n\t/usr/local/go/src/runtime/asm_amd64.s:1700\nnew storage\nmain.backupExists\n\t/go/src/github.com/percona/percona-server-mysql-operator/cmd/sidecar/main.go:248\nmain.createBackupHandler\n\t/go/src/github.com/percona/percona-server-mysql-operator/cmd/sidecar/main.go:335\nmain.backupHandler\n\t/go/src/github.com/percona/percona-server-mysql-operator/cmd/sidecar/main.go:134\nnet/http.HandlerFunc.ServeHTTP\n\t/usr/local/go/src/net/http/server.go:2220\nnet/http.(*ServeMux).ServeHTTP\n\t/usr/local/go/src/net/http/server.go:2747\nnet/http.serverHandler.ServeHTTP\n\t/usr/local/go/src/net/http/server.go:3210\nnet/http.(*conn).serve\n\t/usr/local/go/src/net/http/server.go:2092\nruntime.goexit\n\t/usr/local/go/src/runtime/asm_amd64.s:1700"}
main.createBackupHandler
/go/src/github.com/percona/percona-server-mysql-operator/cmd/sidecar/main.go:337
main.backupHandler
/go/src/github.com/percona/percona-server-mysql-operator/cmd/sidecar/main.go:134
net/http.HandlerFunc.ServeHTTP
/usr/local/go/src/net/http/server.go:2220
net/http.(*ServeMux).ServeHTTP
/usr/local/go/src/net/http/server.go:2747
net/http.serverHandler.ServeHTTP
/usr/local/go/src/net/http/server.go:3210
net/http.(*conn).serve
/usr/local/go/src/net/http/server.go:2092
Please made an auth error more clear if possible. Something like 'Unauthorized access to s3' or 'Invalid creds'
Use-Case
Better debug is better
Is this a feature you are interested in implementing yourself?
No
Anything else?
No response
@ksemele-public it will be improved under https://perconadev.atlassian.net/browse/K8SPS-469
@ksemele-public I’m happy to inform you that the MySQL Kubernetes Operator v1.0.0 was released today. This is the GA release, and you can start using it for production workloads. I also want to say a big thank you for using our operator and helping us improve it by providing feedback.