Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP: Automate operator release #320

Draft
wants to merge 6 commits into
base: main
Choose a base branch
from
Draft

WIP: Automate operator release #320

wants to merge 6 commits into from

Conversation

pooknull
Copy link
Collaborator

@pooknull pooknull commented Oct 22, 2024

This PR introduces a new binary, operator-tool, which automates the generation of source files for operators.

See README.md for more details.


Still to be done (could be addressed in future PRs):

  • option to update of tests in api-tests directory
  • option to generate *.dep.json files
  • add unit-tests

@JNKPercona
Copy link

Test name Status
api-tests failed

@jvpasinatto
Copy link
Contributor

A few points:

  1. The tool is returning the full list of pmm images(or the diff when providing a file), but we only need the latest. If we gonna put more than one, we need to align with the team.
  2. Currently, we set the status to "recommended" for the latest of each one of major version(ex: for "postgresql" we have 5 recommended db versions), we need to align what should be the proper way, as the tool is setting only the latest major version as "recommended".
  3. I think we should have an error when an object is empty. For ex, if I specify --operator "pg-operator" --version "2.5.1" the operator object is empty because this image does not exist yet, but we have no feedback.
  4. The keys for the PXC images are missing the versions after dash. Ex: 5.7.44 but should be 5.7.44-31.65
  5. It would be nice to have an option to have a "patch release", so the tool does not try to get the latest images of the softwares, but only update the operator images, and needed software tags.

Comment on lines 28 to 34
$ ./bin/operator-tool --operator "psmdb-operator" --version "1.17.0" # outputs source file for psmdb-operator
...
$ ./bin/operator-tool --operator "pg-operator" --version "2.5.0" # outputs source file for pg-operator
...
$ ./bin/operator-tool --operator "ps-operator" --version "0.8.0" # outputs source file for ps-operator
...
$ ./bin/operator-tool --operator "pxc-operator" --version "1.15.1" # outputs source file for pxc-operator
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

since the flag is already --operator maybe we can just use --operator psmdb or --operator pxc, wdyt?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@JNKPercona
Copy link

Test name Status
api-tests failed

@JNKPercona
Copy link

Test name Status
api-tests failed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants