You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by GitBox <gi...@apache.org> on 2022/04/20 07:44:00 UTC

[GitHub] [camel-k] astefanutti commented on a diff in pull request #3218: added .status.observedGeneration to camel K CRDs

astefanutti commented on code in PR #3218:
URL: https://github.com/apache/camel-k/pull/3218#discussion_r853822760


##########
pkg/controller/kameletbinding/kamelet_binding_controller.go:
##########
@@ -214,6 +214,8 @@ func (r *ReconcileKameletBinding) Reconcile(ctx context.Context, request reconci
 			break
 		}
 	}
+	// Update the metadata.Generation to avoid conflicts with other clients updating the resource at the same time we are reconciling it.
+	target.Status.ObservedGeneration = instance.Generation

Review Comment:
   This must be added just before line 195.



##########
pkg/controller/kamelet/kamelet_controller.go:
##########
@@ -200,6 +200,9 @@ func (r *reconcileKamelet) Reconcile(ctx context.Context, request reconcile.Requ
 		break
 	}
 
+	// Update the metadata.generation to avoid conflicts with other reconcile operations
+	target.Status.ObservedGeneration = instance.GetGeneration()

Review Comment:
   This must be added just before:
   
   ```
   if err := r.client.Status().Patch(ctx, target, ctrl.MergeFrom(&instance)); err != nil {
   ```
   
   Line 181.



##########
pkg/controller/integrationkit/integrationkit_controller.go:
##########
@@ -303,6 +303,7 @@ func (r *reconcileIntegrationKit) Reconcile(ctx context.Context, request reconci
 
 func (r *reconcileIntegrationKit) update(ctx context.Context, base *v1.IntegrationKit, target *v1.IntegrationKit) (reconcile.Result, error) {
 	dgst, err := digest.ComputeForIntegrationKit(target)
+	target.Status.ObservedGeneration = base.Generation

Review Comment:
   This is better moved after line 311.



##########
pkg/apis/camel/v1/integrationkit_types.go:
##########
@@ -67,6 +67,8 @@ type IntegrationKitSpec struct {
 
 // IntegrationKitStatus defines the observed state of IntegrationKit
 type IntegrationKitStatus struct {
+	// ObservedGeneration is the last generation change we observed. This is used to determine if we need to refresh the status of the integration kit.

Review Comment:
   ```suggestion
   	// ObservedGeneration is the most recent generation observed for this IntegrationKit.
   ```



##########
pkg/controller/integrationplatform/integrationplatform_controller.go:
##########
@@ -173,6 +173,9 @@ func (r *reconcileIntegrationPlatform) Reconcile(ctx context.Context, request re
 	target := instance.DeepCopy()
 	targetLog := rlog.ForIntegrationPlatform(target)
 
+	// Update the metadata.generation to avoid conflicts with other reconcile operations
+	target.Status.ObservedGeneration = instance.Generation

Review Comment:
   I'd recommend to add it just before line 195.



##########
pkg/apis/camel/v1alpha1/kamelet_binding_types.go:
##########
@@ -94,6 +94,8 @@ type EndpointProperties struct {
 
 // KameletBindingStatus specify the status of a binding
 type KameletBindingStatus struct {
+	// ObservedGeneration is the generation observed by the KameletBinding controller.

Review Comment:
   ```suggestion
   	// ObservedGeneration is the most recent generation observed for this KameletBinding.
   ```



##########
pkg/apis/camel/v1/integration_types.go:
##########
@@ -85,6 +85,9 @@ type IntegrationSpec struct {
 
 // IntegrationStatus defines the observed state of Integration
 type IntegrationStatus struct {
+	// ObservedGeneration is the most recent generation observed for this Integration.

Review Comment:
   ```suggestion
   	// ObservedGeneration is the most recent generation observed for this Integration.
   ```



##########
pkg/controller/integration/integration_controller.go:
##########
@@ -338,6 +338,7 @@ func (r *reconcileIntegration) Reconcile(ctx context.Context, request reconcile.
 }
 
 func (r *reconcileIntegration) update(ctx context.Context, base *v1.Integration, target *v1.Integration) (reconcile.Result, error) {
+	target.Status.ObservedGeneration = base.Generation

Review Comment:
   I'd suggest to move it after line 347.



##########
pkg/apis/camel/v1/build_types.go:
##########
@@ -146,6 +146,8 @@ type S2iTask struct {
 
 // BuildStatus defines the observed state of Build
 type BuildStatus struct {
+	//ObservedGeneration is the most recent generation observed for this Build.

Review Comment:
   ```suggestion
   	// ObservedGeneration is the most recent generation observed for this Build.
   ```



##########
pkg/apis/camel/v1/integrationplatform_types.go:
##########
@@ -52,7 +52,8 @@ type IntegrationPlatformResourcesSpec struct {
 // IntegrationPlatformStatus defines the observed state of IntegrationPlatform
 type IntegrationPlatformStatus struct {
 	IntegrationPlatformSpec `json:",inline"`
-
+	// ObservedGeneration is the most recent generation observed by the controller. It corresponds to the controller's `metadata.generation` and is updated on mutation by the API Server.

Review Comment:
   ```suggestion
   	// ObservedGeneration is the most recent generation observed for this IntegrationPlatform.
   ```



-- 
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: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org