noa-ramon opened a new pull request, #1253: URL: https://github.com/apache/flink-kubernetes-operator/pull/1253
## What is the purpose of the change Blue/Green child `FlinkDeployment`s were created with only the `blue-green-deployment-type` label; none of the parent `FlinkBlueGreenDeployment`'s labels reached them. With `kubernetes.operator.label.selector` set, the operator reconciles the parent (which matches the selector) and creates a child that does not match, so `FlinkDeploymentController` never reconciles it. The child gets no status, the parent waits for `abort.grace-period` and goes `FAILING`. Blue/Green cannot work on a selector-scoped operator without labelling the children by hand. This change makes children inherit the parent's labels, with the Blue/Green type marker set on top. See [FLINK-41403](https://issues.apache.org/jira/browse/FLINK-41403). ## Brief change log - `BlueGreenUtils`: the child's labels are built from the parent's labels plus `blue-green-deployment-type`. - `flink.apache.org/canary` is deliberately not inherited: a child carrying it is skipped by `FlinkDeploymentController`, which would reproduce the same silent hang whenever the parent itself is a canary resource. ## Verifying this change This change added tests and can be verified as follows: - `FlinkBlueGreenDeploymentControllerTest#verifyChildInheritsParentLabelsWithoutTheCanaryMarker`: a parent with `team`, `environment` and the canary label produces a child carrying `team`, `environment` and the `BLUE` type marker, and not the canary label. The test fails without the fix (the child has only the type marker). - All Blue/Green test suites pass (`mvn -pl flink-kubernetes-operator test -Dtest='*BlueGreen*'`, 131 tests). - Manually verified on a label-selector-scoped operator: children are created already matching the selector, are reconciled immediately and the transition completes. ## 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 (Blue/Green child creation only) ## Documentation - Does this pull request introduce a new feature? no - If yes, how is the feature documented? not applicable --- ##### Was generative AI tooling used to co-author this PR? - [X] Yes (Claude Code) Generated-by: Claude Code (Fable 5.1) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
