-
Notifications
You must be signed in to change notification settings - Fork 10
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
Add possibility to trigger / suspend a Shoot reconciliation by KIM #605
Comments
first PR prepared: #606 |
Taken over from parallel created issue by @Disper : Description When the cluster reaches the failed state, it will not become ready, unless we manually, either:
which might be problematic for PROD where customers might want us to mess around with their shoot specification or administrators list. It should be possible to force reconciliation e.g. by adding an annotation to the Runtime CR that would trigger the reconciliation (but only once!). Attachments "status": {
"conditions": [
{
"lastTransitionTime": "2025-01-08T12:10:08Z",
"message": "ERR_INFRA_QUOTA_EXCEEDED",
"reason": "ProcessingErr",
"status": "False",
"type": "Provisioned"
},
{
"lastTransitionTime": "2025-01-07T05:11:14Z",
"message": "Gardener Cluster CR is ready.",
"reason": "GardenerClusterCRReady",
"status": "True",
"type": "KubeconfigReady"
},
{
"lastTransitionTime": "2025-01-07T05:11:15Z",
"message": "OIDC configuration completed",
"reason": "OidcConfigured",
"status": "True",
"type": "OidcConfigured"
},
{
"lastTransitionTime": "2025-01-07T05:11:20Z",
"message": "Cluster admin configuration complete",
"reason": "AdministratorsConfigured",
"status": "True",
"type": "Configured"
}
],
"state": "Failed" Example logs from the reconciliation that exists as there is nothing to patch: {"level":"info","ts":"2025-01-13T12:30:41Z","msg":"kcp-system/e2...994"}
{"level":"info","ts":"2025-01-13T12:30:41Z","msg":"Reconciling Runtime","runtimeID":"e2...994","shootName":"c-...","requestID":1041,"Name":"e2...94","Namespace":"kcp-system"}
{"level":"info","ts":"2025-01-13T12:30:41Z","msg":"Take snapshot state","runtimeID":"e2...4","shootName":"c-...","requestID":1041}
{"level":"info","ts":"2025-01-13T12:30:41Z","msg":"switching state from github.com/kyma-project/infrastructure-manager/internal/controller/runtime/fsm.sFnTakeSnapshot to github.com/kyma-project/infrastructure-manager/internal/controller/runtime/fsm.sFnInitialize","runtimeID":"e2...94","shootName":"c-...","requestID":1041,"result":null,"err":null,"mFnIsNill":false}
{"level":"info","ts":"2025-01-13T12:30:41Z","msg":"Gardener shoot exists, processing","runtimeID":"e2...994","shootName":"c-...","requestID":1041}
{"level":"info","ts":"2025-01-13T12:30:41Z","msg":"switching state from github.com/kyma-project/infrastructure-manager/internal/controller/runtime/fsm.sFnInitialize to github.com/kyma-project/infrastructure-manager/internal/controller/runtime/fsm.sFnSelectShootProcessing","runtimeID":"e2...4","shootName":"c-...","requestID":1041,"result":null,"err":null,"mFnIsNill":false}
{"level":"info","ts":"2025-01-13T12:30:41Z","msg":"Select shoot processing state","runtimeID":"e2...94","shootName":"c-...","requestID":1041}
{"level":"info","ts":"2025-01-13T12:30:41Z","msg":"Stopping processing reconcile, exiting with no retry","runtimeID":"e2...4","shootName":"c-...","requestID":1041,"RuntimeCR":"e2...94","shoot":"c-...","function":"sFnSelectShootProcessing"}
{"level":"info","ts":"2025-01-13T12:30:41Z","msg":"switching state from github.com/kyma-project/infrastructure-manager/internal/controller/runtime/fsm.sFnSelectShootProcessing to ","runtimeID":"e2...4","shootName":"c-...","requestID":1041,"result":null,"err":null,"mFnIsNill":true}
{"level":"info","ts":"2025-01-13T12:30:41Z","msg":"reconciliation done","runtimeID":"e2...94","shootName":"c-...","requestID":1041,"error" |
Description
We saw cases where a cluster reconciliation was required, but KIM is currently not supporting to trigger or suspend an reconciliation from outside.
We agreed to add this possibility by adding an annotation to a RuntimeCR. KIM has to consider this annotation and reconcile the cluster. KIM has to consider the annotation only for existing clusters - cluster which have to be created/deleted don't have to consider this annotation.
Use-Case for triggering a cluster reconciliation:
operator.kyma-project.io/force-shoot-reconciliation: true
)Use-Case for suspending a cluster reconciliation:
operator.kyma-project.io/suspend-shoot-reconciliation: true
)AC:
operator.kyma-project.io/force-shoot-reconciliation: true
) and reconciles a Shoot specoperator.kyma-project.io/suspend-shoot-reconciliation: true
) and will not reconcile a Shoot specThe text was updated successfully, but these errors were encountered: