Skip to content

Docs link to broken mysql-operator in k1.27.3 #357

Description

@alex4108

Summary

mattermost-operator/docs has outdated mysql-operator incompatible

Steps to reproduce

  1. Fresh kubernetes cluster on 1.27.3 (or higher). I use home-grown kubeadm cluster.
  2. Follow MM blog or MM Docs to install self-hosted. Note step 5 "Install a Database" links to this repo:
  3. https://raw.githubusercontent.com/mattermost/mattermost-operator/master/docs/mysql-operator/mysql-operator.yaml
  4. Once mysql-operator is applied, check mysql-operator-0 pod logs for error
➜  2-mattermost git:(main) ✗ kubectl logs -n mysql-operator mysql-operator-0
Defaulted container "operator" out of: operator, orchestrator
{"severity":"INFO","timestamp":"2023-06-26T19:47:50.948020743Z","logger":"mysql-operator","message":"Starting mysql-operator..."}
{"severity":"INFO","timestamp":"2023-06-26T19:47:50.991206933Z","logger":"kubebuilder.controller","message":"Starting EventSource","controller":"mysqlbackup-controller","source":"kind source: /, Kind="}
{"severity":"INFO","timestamp":"2023-06-26T19:47:50.991409419Z","logger":"kubebuilder.controller","message":"Starting EventSource","controller":"mysqlbackup-controller","source":"kind source: /, Kind="}
{"severity":"INFO","timestamp":"2023-06-26T19:47:50.991558945Z","logger":"kubebuilder.controller","message":"Starting EventSource","controller":"mysqlbackupcron-controller","source":"kind source: /, Kind="}
{"severity":"INFO","timestamp":"2023-06-26T19:47:50.993247211Z","logger":"kubebuilder.controller","message":"Starting EventSource","controller":"controller.mysqlcluster","source":"kind source: /, Kind="}
{"severity":"INFO","timestamp":"2023-06-26T19:47:50.993287715Z","logger":"kubebuilder.controller","message":"Starting EventSource","controller":"controller.mysqlcluster","source":"kind source: /, Kind="}
{"severity":"INFO","timestamp":"2023-06-26T19:47:50.99425819Z","logger":"kubebuilder.controller","message":"Starting EventSource","controller":"controller.mysqlcluster","source":"kind source: /, Kind="}
{"severity":"INFO","timestamp":"2023-06-26T19:47:50.994400535Z","logger":"kubebuilder.controller","message":"Starting EventSource","controller":"controller.mysqlcluster","source":"kind source: /, Kind="}
{"severity":"INFO","timestamp":"2023-06-26T19:47:50.994547404Z","logger":"kubebuilder.controller","message":"Starting EventSource","controller":"controller.mysqlcluster","source":"kind source: /, Kind="}
{"severity":"ERROR","timestamp":"2023-06-26T19:47:50.994580795Z","logger":"kubebuilder.source","message":"if kind is a CRD, it should be installed before calling Start","kind":"PodDisruptionBudget.policy","error":"no matches for kind \"PodDisruptionBudget\" in version \"policy/v1beta1\"","stacktrace":"github.com/presslabs/mysql-operator/vendor/github.com/go-logr/zapr.(*zapLogger).Error\n\t/go/src/github.com/presslabs/mysql-operator/vendor/github.com/go-logr/zapr/zapr.go:128\ngithub.com/presslabs/mysql-operator/vendor/sigs.k8s.io/controller-runtime/pkg/source.(*Kind).Start\n\t/go/src/github.com/presslabs/mysql-operator/vendor/sigs.k8s.io/controller-runtime/pkg/source/source.go:89\ngithub.com/presslabs/mysql-operator/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Watch\n\t/go/src/github.com/presslabs/mysql-operator/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:122\ngithub.com/presslabs/mysql-operator/pkg/controller/mysqlcluster.add\n\t/go/src/github.com/presslabs/mysql-operator/pkg/controller/mysqlcluster/mysqlcluster_controller.go:107\ngithub.com/presslabs/mysql-operator/pkg/controller/mysqlcluster.Add\n\t/go/src/github.com/presslabs/mysql-operator/pkg/controller/mysqlcluster/mysqlcluster_controller.go:56\ngithub.com/presslabs/mysql-operator/pkg/controller.AddToManager\n\t/go/src/github.com/presslabs/mysql-operator/pkg/controller/controller.go:29\nmain.main\n\t/go/src/github.com/presslabs/mysql-operator/cmd/mysql-operator/main.go:94\nruntime.main\n\t/usr/local/go/src/runtime/proc.go:203"}
{"severity":"ERROR","timestamp":"2023-06-26T19:47:50.99468862Z","logger":"mysql-operator","message":"unable to setup controllers","error":"**no matches for kind \"PodDisruptionBudget\"** in version \"policy/v1beta1\"","stacktrace":"github.com/presslabs/mysql-operator/vendor/github.com/go-logr/zapr.(*zapLogger).Error\n\t/go/src/github.com/presslabs/mysql-operator/vendor/github.com/go-logr/zapr/zapr.go:128\nmain.main\n\t/go/src/github.com/presslabs/mysql-operator/cmd/mysql-operator/main.go:95\nruntime.main\n\t/usr/local/go/src/runtime/proc.go:203"}

Expected behavior

provided mysql-operator manifest should be compatible with latest stable kubernetes

Observed behavior (that appears unintentional)

mysql-operator-0 fails to initialize due to using deprecated kubernetes API resource

Possible fixes

  • update the mysql-operator.yaml
  • remove the blog post

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions