Uploaded image for project: 'Percona Monitoring and Management'
  1. Percona Monitoring and Management
  2. PMM-8408

DBaaS: Development version of PMM Client was used for monitoring DB Clusters created by DBaaS

Details

    • Bug
    • Status: Done
    • High
    • Resolution: Fixed
    • 2.19.0
    • 2.22.0
    • DBaaS controller
    • None
    • 1
    • Yes
    • Yes
    • Server Integrations

    Description

      After starting 2.19 pmm-server and running PSMDB cluster I noticed that pmm-client uses development image version: perconalab/pmm-client:dev-latest

      When is should be something like percona/pmm-client:2

      User Impact:

      Customers are running development version of pmm-client which could break any moment.

      Steps to Reproduce:

      1. start PSMDB cluster
      2. inspect pods to see pmm-client version

      Actual Result:
       perconalab/pmm-client:dev-latest

      Expected Result:
       percona/pmm-client:2

      Additional information:

      https://github.com/percona-platform/dbaas-controller/blob/main/service/k8sclient/k8sclient.go#L70 

      it is hardcoded in DBaaS code.

       

      How to test
      FB: https://github.com/Percona-Lab/pmm-submodules/pull/1919#issuecomment-910208950

      Important:

      Check for each test case that the correct pmm-client image is used. `kubectl describe perconaxtradbcluster | grep pmm-client`.

      How to replace dbaas-controller in pmm-server:
      1) build the dbaas-controller
      a) install go: https://golang.org/ -> Download, it should present you instructions on installation after archive starts downloading.
      b) `mkdir -p $HOME/go/src/github.com/percona-platform && cd $HOME/go/src/github.com/percona-platform`
      c) `git pull https://github.com/percona-platform/dbaas-controller.git && cd dbaas-controller && git checkout PMM-8408-use-pmm-client-2`
      d) build the dbaas-controller according to test cases instructions below. (`make install` with some env vars)
      2) `docker cp ./bin/dbaas-controller pmm-server:/tmp && docker exec -it pmm-server bash`
      3) `supervisorctl stop dbaas-controller`
      4) `cp /tmp/dbaas-controller /usr/sbin/dbaas-controller` -> yes you want to do it.
      5) `supervisorctl start dbaas-controller`

      Test cases:
      1) By default for FB perconalab/pmm-client:dev-latest should be used.
      2) try to build dbaas-controller using `make install` -> no PMM version set -> perconalab/pmm-client:dev-latest should be used
      3) try to build dbaas-controller with `PMM_RELEASE_VERSION=2.22.0 make release` -> that simulates release -> percona/pmm-client:2 should be used

      Attachments

        Issue Links

          Activity

            People

              jan.prukner Jan Prukner (Inactive)
              denys.kondratenko Denys Kondratenko
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Smart Checklist