Skip to content

Commit d20c1d1

Browse files
fgiorgettic-kruseajssmith
authored
Release 2.1.3 (#2339)
* Updated versions * upgrade go version to 1.24.9 Signed-off-by: Christian Kruse <christian@c-kruse.com> * Fix rendering of system site with LinkAccess specified * Change kube-adaptor Leader Election Loss Error Handling (#2296) * Change kube-adaptor Leader Election Loss Error Handling Updates the kube-adaptor so that when the skupper-site-leader Lease is lost the kube-adaptor will retry instead of exiting. Signed-off-by: Christian Kruse <christian@c-kruse.com> * remove harmful lease owner assignment Signed-off-by: Christian Kruse <christian@c-kruse.com> * fix kube flow controller go routine leak Signed-off-by: Christian Kruse <christian@c-kruse.com> --------- Signed-off-by: Christian Kruse <christian@c-kruse.com> * Prevents constant changes to HA connector (#2297) * Prevents constant changes to HA connector * Not mapped Ordinal causing indefinite sslProfile updates * Ensure HA connector is not considered different by setting cost to 1 * Mapping oldestValidOrdinal as well as it is needed when HA is enabled and disabled multiple times * Updated routeraccess test to match expected connector * Refactor internal/kube/watchers implementation (#2304) * Refactor internal/kube/watchers implementation Replaces the ~20 duplicated watchers.Watcher implementations with a single generic implementation. Also removes the unused watchers.Callback structures. Signed-off-by: Christian Kruse <christian@c-kruse.com> * spell Signed-off-by: Christian Kruse <christian@c-kruse.com> --------- Signed-off-by: Christian Kruse <christian@c-kruse.com> * Adds nginx.command template value to network observer chart (#2308) Adds nginx.command template value to the network observer chart for the network-observer deployment's nginx proxy container. Allows for alternate images and configurations to be used where the command needs to be specified. Signed-off-by: Christian Kruse <christian@c-kruse.com> * Fixes network observer traffic metrics bug (#2310) Previously traffic metrics (skupper_sent_bytes_total) was only updated when skupper_received_bytes_total was also incremented. This is especially visible in asymetric applications when data flows in one direction like iperf. Signed-off-by: Christian Kruse <christian@c-kruse.com> * Fix CI Image Build docker dependency (#2318) Removes superfluous docker install step from build-oci-images CI Job. Installed version was conflicting with containerd running in CircleCI VM image. Signed-off-by: Christian Kruse <christian@c-kruse.com> * Use a valid context for sending first flush (#2330) In case the wait for initial message times out, the initial flush message was sent using an expired context. * System controller properly accepts multicast message (#2332) Fixes #2331 * remove unhelpful logs (#2329) * Error if a Site is created but old configuration is still present (#2324) In case a Site is deleted and recreated quickly (automated), the skupper-router ConfigMap owned by the previous site, may still be present (owned recource not yet deleted). The controller now fails, if it finds a router configuration that is not owned by the currently active site. Fixes #2323. * Fixes the lifecycle of the PodWatcher used by AttachedConnectors (#2321) * Fixes the lifecycle of the PodWatcher used by AttachedConnectors Fixes #2320. * Add unit tests * Stopping watcher when binding is deleted * Unit tests to validate podwatcher stopped when attached connector or binding deleted --------- Signed-off-by: Christian Kruse <christian@c-kruse.com> Co-authored-by: Christian Kruse <christian@c-kruse.com> Co-authored-by: ajssmith <ansmith@redhat.com>
1 parent 966e98d commit d20c1d1

34 files changed

+857
-1555
lines changed

.circleci/config.yml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,13 @@
11
version: 2.1
22
orbs:
3-
docker: circleci/docker@1.0.1
43
kube-orb: circleci/kubernetes@0.11.0
54
go: circleci/go@1.7.1
65
helm: circleci/helm@3.1.0
76

87
executors:
98
go_cimg:
109
docker:
11-
- image: cimg/go:1.24.7
10+
- image: cimg/go:1.24.9
1211
resource_class: large
1312

1413
local_cluster_test_executor:
@@ -422,7 +421,6 @@ jobs:
422421
type: string
423422
default: "quay.io/skupper"
424423
steps:
425-
- docker/install-docker
426424
- skopeo-install
427425
- checkout
428426
- run: docker buildx create --use --name skupper-buildx

Makefile

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@ GOOS ?= linux
88
GOARCH ?= amd64
99

1010
REGISTRY := quay.io/skupper
11-
IMAGE_TAG := 2.1.2
12-
ROUTER_IMAGE_TAG := 3.4.1
11+
IMAGE_TAG := 2.1.3
12+
ROUTER_IMAGE_TAG := 3.4.2
1313
PLATFORMS ?= linux/amd64,linux/arm64
1414
CONTAINERFILES := Dockerfile.cli Dockerfile.kube-adaptor Dockerfile.controller Dockerfile.network-observer Dockerfile.system-controller
15-
GO_IMAGE_BASE_TAG := 1.24.7
15+
GO_IMAGE_BASE_TAG := 1.24.9
1616
SHARED_IMAGE_LABELS = \
1717
--label "org.opencontainers.image.created=$(shell TZ=GMT date --iso-8601=seconds)" \
1818
--label "org.opencontainers.image.url=https://skupper.io/" \

charts/network-observer/Chart.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@ apiVersion: v2
22
name: network-observer
33
description: A Helm chart for the Skupper Network Observer
44
type: application
5-
version: 2.1.2
6-
appVersion: "2.1.2"
5+
version: 2.1.3
6+
appVersion: "2.1.3"

charts/network-observer/templates/_deployment.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,10 @@
2727
{{- define "network-observer.nginxProxySpec" -}}
2828
image: "{{ .Values.nginx.repository }}:{{ .Values.nginx.tag }}"
2929
imagePullPolicy: {{ .Values.nginx.pullPolicy }}
30+
{{- with .Values.nginx.command }}
31+
command:
32+
{{- toYaml . | nindent 2 }}
33+
{{- end }}
3034
{{- with .Values.nginx.securityContext }}
3135
securityContext:
3236
{{- toYaml . | nindent 2 }}

charts/network-observer/values.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,11 @@ prometheus:
2727

2828
# nginx configuration for reverse proxy (excluding openshift auth)
2929
nginx:
30+
# nginx container command
31+
command:
32+
# - nginx
33+
# - "-g"
34+
# - "daemon off;"
3035
repository: "mirror.gcr.io/nginxinc/nginx-unprivileged"
3136
tag: "1.27.3-alpine"
3237
pullPolicy: IfNotPresent

cmd/bootstrap/bootstrap.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
set -Ceu
44

5-
IMAGE="${SKUPPER_CLI_IMAGE:-quay.io/skupper/cli:2.1.2}"
6-
ROUTER_IMAGE="${SKUPPER_ROUTER_IMAGE:-quay.io/skupper/skupper-router:3.4.1}"
5+
IMAGE="${SKUPPER_CLI_IMAGE:-quay.io/skupper/cli:2.1.3}"
6+
ROUTER_IMAGE="${SKUPPER_ROUTER_IMAGE:-quay.io/skupper/skupper-router:3.4.2}"
77
export INPUT_PATH=""
88
export NAMESPACE=""
99
export FORCE_FLAG=""

cmd/network-observer/internal/collector/collector.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -399,8 +399,10 @@ func (c *Collector) discoveryHandler(ctx context.Context) func(eventsource.Info)
399399
defer cancel()
400400
if err := eventsource.FlushOnFirstMessage(ctx, client); err != nil {
401401
if errors.Is(err, ctx.Err()) {
402+
sendCtx, sendCancel := context.WithTimeout(ctx, time.Second*5)
403+
defer sendCancel()
402404
c.logger.Info("timed out waiting for first message. sending flush anyways")
403-
err = client.SendFlush(ctx)
405+
err = client.SendFlush(sendCtx)
404406
}
405407
if err != nil {
406408
c.logger.Error("error sending flush", slog.Any("error", err))

cmd/network-observer/internal/collector/connections.go

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -122,12 +122,14 @@ func (c *connectionManager) handleTransportFlow(record vanflow.TransportBiflowRe
122122
bs, br := dref(record.Octets), dref(record.OctetsReverse)
123123
sentInc := float64(bs - state.BytesSent)
124124
receivedInc := float64(br - state.BytesReceived)
125-
if receivedInc != 0 {
126-
metrics.sent.Add(sentInc)
125+
if receivedInc > 0 {
127126
metrics.received.Add(receivedInc)
128-
state.BytesSent = bs
129127
state.BytesReceived = br
130128
}
129+
if sentInc > 0 {
130+
metrics.sent.Add(sentInc)
131+
state.BytesSent = bs
132+
}
131133
c.transportFlows.Push(record.ID, state)
132134
}
133135

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ module github.com/skupperproject/skupper
22

33
go 1.24.0
44

5-
toolchain go1.24.7
5+
toolchain go1.24.9
66

77
require (
88
github.com/Azure/go-amqp v1.0.5

internal/images/images.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@ package images
22

33
const (
44
DefaultImageRegistry string = "quay.io/skupper"
5-
RouterImageName string = "skupper-router:3.4.1"
6-
ControllerImageName string = "controller:2.1.2"
7-
KubeAdaptorImageName string = "kube-adaptor:2.1.2"
8-
NetworkObserverImageName string = "network-observer:2.1.2"
9-
CliImageName string = "cli:2.1.2"
10-
SystemControllerImageName string = "system-controller:2.1.2"
5+
RouterImageName string = "skupper-router:3.4.2"
6+
ControllerImageName string = "controller:2.1.3"
7+
KubeAdaptorImageName string = "kube-adaptor:2.1.3"
8+
NetworkObserverImageName string = "network-observer:2.1.3"
9+
CliImageName string = "cli:2.1.3"
10+
SystemControllerImageName string = "system-controller:2.1.3"
1111

1212
PrometheusImageRegistry string = "quay.io/prometheus"
1313
PrometheusServerImageName string = "prometheus:v2.42.0"

0 commit comments

Comments
 (0)