From b0a2ab83c9657a54df3bda26d9e59cbeb7b189cb Mon Sep 17 00:00:00 2001 From: Gianluca Mardente Date: Wed, 18 Feb 2026 19:27:08 +0100 Subject: [PATCH] Advance sveltos-agent This picks this sveltos-agent optmization: Both sveltos-agent and the agents running in the control cluster (classifier, event-manager and healthcheck-manager) update status for ClassifierReport, EventReport and HealthCheckReport. Sveltos-agent updates it to indicate there is a new report to be processed. The agents in the control cluster to indicate the latest report has been processed. This PR optimizes the status update logic for the EventReport, HealthCheckReport, and ClassifierReport controllers. Previously, concurrent updates by multiple managers or controllers some time resulted in 409 Conflict errors. This forced the classifier/eventSource/healthCheck to be re-evaluated again. The code now attempts an immediate status update with the existing resourceVersion. It only performs a Get() request if a conflict is actually detected, saving one API call in ~90% of cases. --- Makefile | 2 +- config/default/manager_auth_proxy_patch.yaml | 2 +- config/default/manager_image_patch.yaml | 2 +- manifest/deployment-agentless.yaml | 4 ++-- manifest/deployment-shard.yaml | 4 ++-- manifest/manifest.yaml | 4 ++-- pkg/agent/sveltos-agent-in-mgmt-cluster.go | 4 ++-- pkg/agent/sveltos-agent-in-mgmt-cluster.yaml | 4 ++-- pkg/agent/sveltos-agent.go | 4 ++-- pkg/agent/sveltos-agent.yaml | 4 ++-- pkg/agent/sveltos-applier.go | 2 +- pkg/agent/sveltos-applier.yaml | 2 +- test/pullmode-sveltosapplier.yaml | 4 ++-- 13 files changed, 21 insertions(+), 21 deletions(-) diff --git a/Makefile b/Makefile index d0ac5a4..573e989 100644 --- a/Makefile +++ b/Makefile @@ -45,7 +45,7 @@ ARCH ?= $(shell go env GOARCH) OS ?= $(shell uname -s | tr A-Z a-z) K8S_LATEST_VER ?= $(shell curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt) export CONTROLLER_IMG ?= $(REGISTRY)/$(IMAGE_NAME) -TAG ?= v1.5.0 +TAG ?= main ## Tool Binaries CONTROLLER_GEN := $(TOOLS_BIN_DIR)/controller-gen diff --git a/config/default/manager_auth_proxy_patch.yaml b/config/default/manager_auth_proxy_patch.yaml index 535ffc3..52364c9 100644 --- a/config/default/manager_auth_proxy_patch.yaml +++ b/config/default/manager_auth_proxy_patch.yaml @@ -16,6 +16,6 @@ spec: - "--shard-key=" - --capi-onboard-annotation= - "--v=5" - - "--version=v1.5.0" + - "--version=main" - "--registry=" - "--agent-in-mgmt-cluster=false" diff --git a/config/default/manager_image_patch.yaml b/config/default/manager_image_patch.yaml index 085a8e4..e82c105 100644 --- a/config/default/manager_image_patch.yaml +++ b/config/default/manager_image_patch.yaml @@ -8,5 +8,5 @@ spec: spec: containers: # Change the value of image field below to your controller image URL - - image: docker.io/projectsveltos/classifier:v1.5.0 + - image: docker.io/projectsveltos/classifier:main name: manager diff --git a/manifest/deployment-agentless.yaml b/manifest/deployment-agentless.yaml index 70f7b39..b26c4e5 100644 --- a/manifest/deployment-agentless.yaml +++ b/manifest/deployment-agentless.yaml @@ -24,12 +24,12 @@ spec: - --shard-key= - --capi-onboard-annotation= - --v=5 - - --version=v1.5.0 + - --version=main - --registry= - --agent-in-mgmt-cluster=true command: - /manager - image: docker.io/projectsveltos/classifier:v1.5.0 + image: docker.io/projectsveltos/classifier:main livenessProbe: failureThreshold: 3 httpGet: diff --git a/manifest/deployment-shard.yaml b/manifest/deployment-shard.yaml index b388d19..982b6af 100644 --- a/manifest/deployment-shard.yaml +++ b/manifest/deployment-shard.yaml @@ -24,12 +24,12 @@ spec: - --shard-key={{.SHARD}} - --capi-onboard-annotation= - --v=5 - - --version=v1.5.0 + - --version=main - --registry= - --agent-in-mgmt-cluster=false command: - /manager - image: docker.io/projectsveltos/classifier:v1.5.0 + image: docker.io/projectsveltos/classifier:main livenessProbe: failureThreshold: 3 httpGet: diff --git a/manifest/manifest.yaml b/manifest/manifest.yaml index d30413c..0c39337 100644 --- a/manifest/manifest.yaml +++ b/manifest/manifest.yaml @@ -168,12 +168,12 @@ spec: - --shard-key= - --capi-onboard-annotation= - --v=5 - - --version=v1.5.0 + - --version=main - --registry= - --agent-in-mgmt-cluster=false command: - /manager - image: docker.io/projectsveltos/classifier:v1.5.0 + image: docker.io/projectsveltos/classifier:main livenessProbe: failureThreshold: 3 httpGet: diff --git a/pkg/agent/sveltos-agent-in-mgmt-cluster.go b/pkg/agent/sveltos-agent-in-mgmt-cluster.go index 781e140..d401fd5 100644 --- a/pkg/agent/sveltos-agent-in-mgmt-cluster.go +++ b/pkg/agent/sveltos-agent-in-mgmt-cluster.go @@ -42,7 +42,7 @@ spec: - --cluster-namespace= - --cluster-name= - --cluster-type= - - --version=v1.5.0 + - --version=main - --current-cluster=management-cluster - --run-mode=do-not-send-reports - --discard-managed-fields=true @@ -57,7 +57,7 @@ spec: valueFrom: resourceFieldRef: resource: limits.cpu - image: docker.io/projectsveltos/sveltos-agent@sha256:5789484c29dd153653fbd7d822e458348502d3a6d710d5661e26b17f7050d698 + image: docker.io/projectsveltos/sveltos-agent@sha256:f888233af1cf1737687668c03d1b683d47bbc7b728180ebf22b8485b6683b27e livenessProbe: failureThreshold: 3 httpGet: diff --git a/pkg/agent/sveltos-agent-in-mgmt-cluster.yaml b/pkg/agent/sveltos-agent-in-mgmt-cluster.yaml index 6549cc5..fe796af 100644 --- a/pkg/agent/sveltos-agent-in-mgmt-cluster.yaml +++ b/pkg/agent/sveltos-agent-in-mgmt-cluster.yaml @@ -24,7 +24,7 @@ spec: - --cluster-namespace= - --cluster-name= - --cluster-type= - - --version=v1.5.0 + - --version=main - --current-cluster=management-cluster - --run-mode=do-not-send-reports - --discard-managed-fields=true @@ -39,7 +39,7 @@ spec: valueFrom: resourceFieldRef: resource: limits.cpu - image: docker.io/projectsveltos/sveltos-agent@sha256:5789484c29dd153653fbd7d822e458348502d3a6d710d5661e26b17f7050d698 + image: docker.io/projectsveltos/sveltos-agent@sha256:f888233af1cf1737687668c03d1b683d47bbc7b728180ebf22b8485b6683b27e livenessProbe: failureThreshold: 3 httpGet: diff --git a/pkg/agent/sveltos-agent.go b/pkg/agent/sveltos-agent.go index cddb222..7de6d15 100644 --- a/pkg/agent/sveltos-agent.go +++ b/pkg/agent/sveltos-agent.go @@ -201,7 +201,7 @@ spec: - --cluster-namespace= - --cluster-name= - --cluster-type= - - --version=v1.5.0 + - --version=main - --current-cluster=managed-cluster - --run-mode=do-not-send-reports - --discard-managed-fields=true @@ -216,7 +216,7 @@ spec: valueFrom: resourceFieldRef: resource: limits.cpu - image: docker.io/projectsveltos/sveltos-agent@sha256:5789484c29dd153653fbd7d822e458348502d3a6d710d5661e26b17f7050d698 + image: docker.io/projectsveltos/sveltos-agent@sha256:f888233af1cf1737687668c03d1b683d47bbc7b728180ebf22b8485b6683b27e livenessProbe: failureThreshold: 3 httpGet: diff --git a/pkg/agent/sveltos-agent.yaml b/pkg/agent/sveltos-agent.yaml index b4c022d..173ecc7 100644 --- a/pkg/agent/sveltos-agent.yaml +++ b/pkg/agent/sveltos-agent.yaml @@ -183,7 +183,7 @@ spec: - --cluster-namespace= - --cluster-name= - --cluster-type= - - --version=v1.5.0 + - --version=main - --current-cluster=managed-cluster - --run-mode=do-not-send-reports - --discard-managed-fields=true @@ -198,7 +198,7 @@ spec: valueFrom: resourceFieldRef: resource: limits.cpu - image: docker.io/projectsveltos/sveltos-agent@sha256:5789484c29dd153653fbd7d822e458348502d3a6d710d5661e26b17f7050d698 + image: docker.io/projectsveltos/sveltos-agent@sha256:f888233af1cf1737687668c03d1b683d47bbc7b728180ebf22b8485b6683b27e livenessProbe: failureThreshold: 3 httpGet: diff --git a/pkg/agent/sveltos-applier.go b/pkg/agent/sveltos-applier.go index 377e209..8a7a17e 100644 --- a/pkg/agent/sveltos-applier.go +++ b/pkg/agent/sveltos-applier.go @@ -117,7 +117,7 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - image: docker.io/projectsveltos/sveltos-applier@sha256:2fa56ecc207989f12d2801ac5b1fb04aba9855979b4315bb86e02a8d53ba2625 + image: docker.io/projectsveltos/sveltos-applier:v1.5.0 livenessProbe: failureThreshold: 3 httpGet: diff --git a/pkg/agent/sveltos-applier.yaml b/pkg/agent/sveltos-applier.yaml index 5fede86..ef1df68 100644 --- a/pkg/agent/sveltos-applier.yaml +++ b/pkg/agent/sveltos-applier.yaml @@ -99,7 +99,7 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - image: docker.io/projectsveltos/sveltos-applier@sha256:2fa56ecc207989f12d2801ac5b1fb04aba9855979b4315bb86e02a8d53ba2625 + image: docker.io/projectsveltos/sveltos-applier:v1.5.0 livenessProbe: failureThreshold: 3 httpGet: diff --git a/test/pullmode-sveltosapplier.yaml b/test/pullmode-sveltosapplier.yaml index 1fda19b..c50ceea 100644 --- a/test/pullmode-sveltosapplier.yaml +++ b/test/pullmode-sveltosapplier.yaml @@ -83,7 +83,7 @@ spec: - --cluster-type=sveltos - --secret-with-kubeconfig=clusterapi-workload-sveltos-kubeconfig - --v=5 - - --version=main + - --version=v1.5.0 command: - /manager env: @@ -99,7 +99,7 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - image: docker.io/projectsveltos/sveltos-applier@sha256:2fa56ecc207989f12d2801ac5b1fb04aba9855979b4315bb86e02a8d53ba2625 + image: docker.io/projectsveltos/sveltos-applier:v1.5.0 livenessProbe: failureThreshold: 3 httpGet: