Skip to content

[FLINK-37515] Basic support for Blue/Green deployments #969

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

Draft
wants to merge 6 commits into
base: release-1.11
Choose a base branch
from

Conversation

schongloo
Copy link

What is the purpose of the change

This pull request adds basic support for Blue/Green deployments as outlined by FLIP-503 (https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=337677648).

Brief change log

  • A new FlinkBlueGreenDeploymentController controller, with the capability of managing the lifecycle of these deployments.
  • A new corresponding CRD is introduced
  • The new FlinkBlueGreenDeploymentController will manage this CRD and hide from the user the details of the actual Blue/Green (Active/StandBy) jobs.
  • Delegate the lifecycle of the actual Jobs to the existing FlinkDeployment controller.

Verifying this change

  • Test to verify a single basic deployment
  • Test to verify a proper transition Blue -> Green
  • Test to verify correct behavior when encountering an error before a transition
  • Test to verify correct behavior when encountering an error during a transition

Does this pull request potentially affect one of the following parts:

  • Dependencies (does it add or upgrade a dependency): no
  • The public API, i.e., is any changes to the CustomResourceDescriptors: no
  • Core observer or reconciler logic that is regularly executed: no

Documentation

  • Does this pull request introduce a new feature? yes
  • If yes, how is the feature documented? docs / JavaDocs. UML diagrams for all scenarios added under docs/content/docs

@davidradl
Copy link

I am concerned about the number of TODOs. Things like dealing with errors and timing conditions should be in place in the initial drop of code - unless we can mark this capability as beta or the like. WDYT @gyfora ?

@schongloo schongloo requested a review from davidradl April 11, 2025 17:41
@schongloo
Copy link
Author

@davidradl thanks for your review/comments. I've cleaned up all the outdated/invalid TODOs which pointed me 1 missing unit test, added. At this point the few remaining TODOs do not interfere with the main functionality and are not critical/open for discussion.

… BASIC is supported).Tests to confirm the deployments are deleted accurately after the specified deletion delay.
@schongloo schongloo marked this pull request as draft April 15, 2025 18:06
@hansh0801
Copy link

👍

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.

3 participants