-
-
Notifications
You must be signed in to change notification settings - Fork 3
feat: Versioning for airflow-operator #725
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
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
note: We put the generated CRD in the top-level extra directory: extra/crds.yaml because Helm is no longer responsible for rolling out the CRD, the operator is.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
With this change does make regenerate-charts still work as before?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can change Makefile, but this will be overwritten by the next templating update. But neither does it make sense to do this globally until all product operators are versioned. I think this is best done as a chore once we reach that stage.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, this needs to be changed in the Makefile. We did the same thing for the secret-operator, see https://github.com/stackabletech/secret-operator/blob/0dd01ec27c9e53c20af526dbecf7bf034edddbf0/Makefile#L121-L123.
Additionally, the Tiltfile needs to be adjusted to not filter the manifests anymore.
These changes will eventually move into operator-templating, for now any rollouts need to be observed and manually adjusted that these changes are not overridden.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See 3e9f0f8
| {{- if .Values.maintenance.customResourceDefinitions.maintain }} | ||
| webhook.stackable.tech/conversion: enabled | ||
| {{- end }} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
note: The Deployment itself technically doesn't need this label, only the Pod running the operator (and therefor the conversion webhook).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done: 2a47b20
| {{- if .Values.maintenance.customResourceDefinitions.maintain }} | ||
| - create | ||
| {{- end }} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
note: This is only needed when the operator wants/needs to deploy default custom resources, in this case an AirflowCluster. Is this the case here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, there are no default custom resources - I'll remove this. Thanks.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done: 2a47b20
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
question: This explicitly uses v1alpha2 to test the SSH access compared to the new test case "versioning", which tests that conversions works as expected, right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, that's correct - the versioning test uses v1alpha1 intentionally and is the (only) one that explicitly tests that an expected conversion takes place. smoke uses v1alpha2. All the rest are left using v1alpha1, which I guess should be updated as well?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(although no other tests use gitsync, which is the only thing affected by the version change)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The testing strategy we used for secret-operator looks like this: Leave everything as is, so v1alpha1 which basically tests conversion works across the board "for free".
Here, it might make sense to use the following approach:
- Keep everything on
v1alpha1to get conversion testing "for free" across the board. - Introduce a dedicated SSH access test, which needs to use
v1alpha2+ because the conversion is currently not loss-less. This will hopefully change once the required code is added in the#[versioned]macro.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's pretty much what we have: the gitsync test has two modes (https and ssh) and both use v1alpha2. Everthing else is left with v1alpha1.
Description
Warning
WIP: need to re-set to operator-rs version rather than PR branch.
Related to #382.
Tested with stackabletech/operator-rs#1121.
Tip
To test:
stackablectl op in airflow=0.0.0-pr725./scripts/run-tests --skip-operator airflow --test versioningTests 🟢 https://testing.stackable.tech/view/02%20Operator%20Tests%20(custom)/job/airflow-operator-it-custom/70/ (Openshift OKD 4.20)
Definition of Done Checklist
Author
Reviewer
Acceptance
type/deprecationlabel & add to the deprecation scheduletype/experimentallabel & add to the experimental features tracker