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

Improve acceptance test to cover more controller and CRD compatibility matrix #560

Open
mumoshu opened this issue May 21, 2021 · 0 comments
Labels

Comments

@mumoshu
Copy link
Collaborator

mumoshu commented May 21, 2021

Currently, I assume there are three states of a actions-runner-controller deployment:

  1. New CRDS + new controller
  2. New CRDs + old controller
  3. Old CRDs + new controller

1 and 2 are normal. 1 is the "most" normal as that's the state you get after a successful upgrade. 2 is also normal as we intent do upgrade CRDs before upgrading the controller.

Currently, we only cover the case 1 in our acceptance test suite, so I'd like to add 2 and 3.

The addition of 3 is especially important, as we don't test 3 at all today and I believe that's why we ended up seeing issues like #427, #467, #468, and so on that happened when one tried to upgrade the controller without upgrading CRDs first.

The idea for 3 is that we want to make the controller not to break badly when CRDs are outdated. If CRDs are outdated it should just print errors and keep running without e.g. breaking the entire K8s cluster or the controller deployment, until CRDs are finally upgraded.

There maybe a potential enhancement to the controller to print some useful or kind error messages that helps the user to notice that they missed upgrading CRDs. But that may be difficult to implement and it's another story, at least.

@mumoshu mumoshu added the chore label May 21, 2021
@mumoshu mumoshu changed the title Improve acceptance test to cover more controller and CRD compatibility Improve acceptance test to cover more controller and CRD compatibility matrix May 21, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant