11 Commits
main ... 3.5

Author SHA256 Message Date
e51cca16c3 Merge pull request '[3.5.0] - test upgrade controller rc1' (#358)
Reviewed-on: #358
2026-01-15 13:59:29 +01:00
8db13413e7 metallb-chart: override frr-k8s kube-rbac-proxy tag
The version we're building is 0.19.1 but the nested chart specifies
an older version

(cherry picked from commit eab4d9bbe3)
2026-01-14 14:59:49 +01:00
1333cc401c Backport '[3.5.0] - update to new longhorn version' (#359)
Reviewed-on: #359
Reviewed-by: Nicolas Belouin <nbelouin@noreply.src.opensuse.org>
Reviewed-by: Kristian Zhelyazkov <kzhelyazkov@noreply.src.opensuse.org>
2026-01-14 12:18:47 +01:00
25eaabb8d0 release-manifest: update cert-manager version
All checks were successful
Check Release Manifest Local Charts Versions / Check Release Manifest Local Charts Versions (pull_request) Successful in 9s
Build PR in OBS / Build PR in OBS (pull_request_target) Successful in 35s
According to https://cert-manager.io/docs/releases/ we need 1.19 for 1.34 support

(cherry picked from commit 1cd255c949)
2026-01-12 10:06:47 +00:00
e339e83e5e rancher-turtles-providers: Add upstream version suffix
All checks were successful
Check Release Manifest Local Charts Versions / Check Release Manifest Local Charts Versions (pull_request) Successful in 10s
Synchronize Project Config / Update prjconf in OBS (push) Successful in 26s
Build PR in OBS / Build PR in OBS (pull_request_target) Successful in 29s
Synchronize Project Metadata / sync-prj-meta (push) Successful in -10s
Aligns with https://github.com/rancher/prime-charts/tree/dev-v2.13/charts/rancher-turtles-providers/108.0.1%2Bup0.25.1

(cherry picked from commit 184c9f74fa)
2026-01-09 16:10:19 +00:00
de11400ba4 release-manifest: allow build on arm
Although the upgrade controller flow isn't fully tested on ARM yet
it's useful to have the release manifest image available, for example
to enable developer automation which consumes the release manifest image.

(cherry picked from commit c0c01e7638)
2026-01-09 16:10:03 +00:00
01db79b971 rancher-turtles: Remove rancher-turtles chart
The rancher-turtles and rancher-turtles-airgap-resources charts
have been replaced by the rancher-integrated turtles in 2.13 and
the edge rancher-turtles-providers chart

(cherry picked from commit a6a3d2ac69)
2026-01-09 16:09:43 +00:00
01d21108fc rancher-turtles-providers: tolerate existing namespaces
On upgrade these namespaces may already exist as they are created by the
current rancher-turtles edge chart, so in this case skip namespace creation.

(cherry picked from commit 896f79e0f2)
2026-01-09 16:09:19 +00:00
5dbf69e7d2 Adds operator-webhook-load-renewed-certs.patch to sriov-network-operator srpm
(cherry picked from commit a164be3522)
2025-12-24 01:33:32 +01:00
8833455709 Adds injector-webhook-load-renewed-certs.patch to network-resources-injector srpm
(cherry picked from commit 417601ec1d)
2025-12-24 01:32:46 +01:00
5ca554f039 [3.5.0] - cutoff branch for 3.5 release
All checks were successful
Synchronize Project Metadata / sync-prj-meta (push) Successful in 1m28s
2025-12-23 14:28:47 +02:00
11 changed files with 80 additions and 105 deletions

View File

@@ -1,3 +1,3 @@
PROJECT = "isv:SUSE:Edge:Factory"
PROJECT = "isv:SUSE:Edge:3.5"
REPOSITORY = "https://src.opensuse.org/suse-edge/Factory"
BRANCH = "main"
BRANCH = "3.5"

View File

@@ -6,7 +6,6 @@ import sys
from collections import Counter
def get_buildstatus(project: str) -> ET.Element:
for _ in range(5):
try:
@@ -18,17 +17,8 @@ def get_buildstatus(project: str) -> ET.Element:
continue
print("Failed to get buildstatus from OBS")
def do_wait(project: str, commit: str) -> ET.Element:
def do_wait(project:str, commit:str) -> ET.Element:
last_state = None
waiting_states = (
"blocked",
"scheduled",
"dispatching",
"building",
"signing",
"finished",
)
while True:
time.sleep(5)
status = get_buildstatus(project)
@@ -43,25 +33,17 @@ def do_wait(project: str, commit: str) -> ET.Element:
else:
last_state = status.get("state")
scminfo = {e.text for e in status.findall(".//scminfo")}
scminfo = { e.text for e in status.findall(".//scminfo") }
if len(scminfo) != 1 or scminfo.pop() != commit:
print("Waiting for OBS to sync with SCM")
continue
if not all(
[
e.get("state") == "published" # Only consider if all packages are published
and e.get("dirty") is None # Exclude states needing recalculation
and e.get("code") not in waiting_states # Exclude transient/waiting states
for e in status.findall("./result")
] + [ e.get("code") not in waiting_states for e in status.findall("./status") ]
):
if not all([ e.get('state') == "published" and e.get('dirty') is None for e in status.findall("./result")]):
print("Waiting for OBS to finish building")
continue
return status
def print_results(status: ET.Element) -> bool:
results = {}
failed = []
@@ -69,15 +51,15 @@ def print_results(status: ET.Element) -> bool:
repo = results.get(e.get("repository"), {})
repo[e.get("arch")] = e
results[e.get("repository")] = repo
for repo in results.keys():
print(f"{repo}:")
depth = 1
depth=1
for arch in results[repo].keys():
counts = Counter()
if repo != "charts":
print(f"\t{arch}:")
depth = 2
depth=2
for package in results[repo][arch].findall("./status"):
if package.get("code") in ["excluded", "disabled"]:
continue
@@ -88,9 +70,9 @@ def print_results(status: ET.Element) -> bool:
else:
failed.append(f"{package.get('package')} ({arch})")
counts[package.get("code")] += 1
for code, count in counts.items():
print("\t" * depth, f"{code}: {count}")
for (code, count) in counts.items():
print("\t"*depth, f"{code}: {count}")
failed.sort()
if failed:
print("\nPackages failing: ")
@@ -98,7 +80,6 @@ def print_results(status: ET.Element) -> bool:
print("\t", fail)
return len(failed)
def main():
project = os.environ.get("OBS_PROJECT")
sha = os.environ.get("GIT_SHA")
@@ -106,6 +87,5 @@ def main():
status = do_wait(project, sha)
sys.exit(print_results(status))
if __name__ == "__main__":
main()

View File

@@ -1,5 +1,5 @@
#!BuildTag: %%IMG_PREFIX%%edge-image-builder:1.3.2
#!BuildTag: %%IMG_PREFIX%%edge-image-builder:1.3.2-%RELEASE%
#!BuildTag: %%IMG_PREFIX%%edge-image-builder:1.3.1
#!BuildTag: %%IMG_PREFIX%%edge-image-builder:1.3.1-%RELEASE%
ARG SLE_VERSION
FROM registry.suse.com/bci/bci-base:$SLE_VERSION
MAINTAINER SUSE LLC (https://www.suse.com/)
@@ -14,11 +14,11 @@ RUN zypper --non-interactive install --no-recommends edge-image-builder qemu-x86
LABEL org.opencontainers.image.authors="SUSE LLC (https://www.suse.com/)"
LABEL org.opencontainers.image.title="SLE edge-image-builder Container Image"
LABEL org.opencontainers.image.description="edge-image-builder based on the SLE Base Container Image."
LABEL org.opencontainers.image.version="1.3.2"
LABEL org.opencontainers.image.version="1.3.1"
LABEL org.opencontainers.image.url="https://www.suse.com/products/server/"
LABEL org.opencontainers.image.created="%BUILDTIME%"
LABEL org.opencontainers.image.vendor="SUSE LLC"
LABEL org.opensuse.reference="%%IMG_REPO%%/%%IMG_PREFIX%%edge-image-builder:1.3.2-%RELEASE%"
LABEL org.opensuse.reference="%%IMG_REPO%%/%%IMG_PREFIX%%edge-image-builder:1.3.1-%RELEASE%"
LABEL org.openbuildservice.disturl="%DISTURL%"
LABEL com.suse.supportlevel="%%SUPPORT_LEVEL%%"
LABEL com.suse.eula="SUSE Combined EULA February 2024"

View File

@@ -3,17 +3,13 @@
<param name="url">https://github.com/suse-edge/edge-image-builder.git</param>
<param name="scm">git</param>
<param name="exclude">.git</param>
<param name="revision">v1.3.2</param>
<param name="revision">v1.3.1</param>
<!-- Uncomment and set this For Pre-Release Version -->
<!-- <param name="version">1.3.2~rc0</param> -->
<!-- End Here -->
<!-- <param name="version">1.3.1</param> -->
<!-- Uncomment and this for regular version -->
<param name="versionformat">@PARENT_TAG@</param>
<param name="versionrewrite-pattern">v(\d+).(\d+).(\d+)</param>
<param name="versionrewrite-replacement">\1.\2.\3</param>
<!-- End Here -->
<param name="changesgenerate">enable</param>
</service>
<service mode="buildtime" name="tar">

View File

@@ -17,7 +17,7 @@
Name: edge-image-builder
Version: 1.3.2
Version: 1.3.1
Release: 0
Summary: Edge Image Builder
License: Apache-2.0

View File

@@ -1,68 +1,66 @@
images:
- name: %%IMG_REPO%%/%%IMG_PREFIX%%akri-agent:v0.12.20
- name: %%IMG_REPO%%/%%IMG_PREFIX%%akri-controller:v0.12.20
- name: %%IMG_REPO%%/%%IMG_PREFIX%%akri-webhook-configuration:v0.12.20
- name: quay.io/jetstack/cert-manager-cainjector:v1.18.2
- name: quay.io/jetstack/cert-manager-cainjector:v1.18.2
- name: quay.io/jetstack/cert-manager-controller:v1.18.2
- name: quay.io/jetstack/cert-manager-webhook:v1.18.2
- name: registry.k8s.io/e2e-test-images/agnhost:2.39
- name: %%IMG_REPO%%/%%IMG_PREFIX%%baremetal-operator:0.11.2.0
- name: %%IMG_REPO%%/%%IMG_PREFIX%%endpoint-copier-operator:0.3.0
- name: %%IMG_REPO%%/%%IMG_PREFIX%%ib-sriov-cni:v1.3.0
- name: %%IMG_REPO%%/%%IMG_PREFIX%%ironic-ipa-downloader:3.0.10
- name: %%IMG_REPO%%/%%IMG_PREFIX%%ironic:32.0.0.1
- name: %%IMG_REPO%%/%%IMG_PREFIX%%metallb-controller:v0.15.2
- name: %%IMG_REPO%%/%%IMG_PREFIX%%metallb-speaker:v0.15.2
- name: %%IMG_REPO%%/%%IMG_PREFIX%%upgrade-controller:0.1.1
- name: %%IMG_REPO%%/%%IMG_PREFIX%%sriov-network-manager:v1.6.0
- name: %%IMG_REPO%%/%%IMG_PREFIX%%sriov-network-config-daemon:v1.6.0
- name: %%IMG_REPO%%/%%IMG_PREFIX%%sriov-network-webhook:v1.6.0
- name: %%IMG_REPO%%/%%IMG_PREFIX%%sriov-cni:v2.10.0
- name: %%IMG_REPO%%/%%IMG_PREFIX%%ib-sriov-cni:v1.3.0
- name: %%IMG_REPO%%/%%IMG_PREFIX%%sriov-network-device-plugin:v3.10.0
- name: %%IMG_REPO%%/%%IMG_PREFIX%%network-resources-injector:v1.8.0
- name: %%IMG_REPO%%/%%IMG_PREFIX%%node-feature-discovery:v0.18.2
- name: %%IMG_REPO%%/%%IMG_PREFIX%%sriov-cni:v2.10.0
- name: %%IMG_REPO%%/%%IMG_PREFIX%%sriov-network-config-daemon:v1.6.0
- name: %%IMG_REPO%%/%%IMG_PREFIX%%sriov-network-device-plugin:v3.10.0
- name: %%IMG_REPO%%/%%IMG_PREFIX%%sriov-network-manager:v1.6.0
- name: %%IMG_REPO%%/%%IMG_PREFIX%%sriov-network-webhook:v1.6.0
- name: %%IMG_REPO%%/%%IMG_PREFIX%%upgrade-controller:0.1.2
- name: dp.apps.rancher.io/containers/kubernetes-csi-external-attacher:4.10.0-8.8
- name: dp.apps.rancher.io/containers/kubernetes-csi-external-provisioner:5.3.0-8.8
- name: dp.apps.rancher.io/containers/kubernetes-csi-external-resizer:1.14.0-8.8
- name: dp.apps.rancher.io/containers/kubernetes-csi-external-snapshotter:8.4.0-8.9
- name: dp.apps.rancher.io/containers/kubernetes-csi-livenessprobe:2.17.0-8.8
- name: dp.apps.rancher.io/containers/kubernetes-csi-node-driver-registrar:2.15.0-8.8
- name: dp.apps.rancher.io/containers/longhorn-engine:1.10.1-1.16
- name: dp.apps.rancher.io/containers/longhorn-instance-manager:1.10.1-1.17
- name: dp.apps.rancher.io/containers/longhorn-manager:1.10.1-1.9
- name: dp.apps.rancher.io/containers/longhorn-share-manager:1.10.1-1.8
- name: dp.apps.rancher.io/containers/longhorn-ui:1.10.1-1.8
- name: quay.io/jetstack/cert-manager-cainjector:v1.19.2
- name: quay.io/jetstack/cert-manager-controller:v1.19.2
- name: quay.io/jetstack/cert-manager-webhook:v1.19.2
- name: registry.k8s.io/e2e-test-images/agnhost:2.39
- name: registry.rancher.com/rancher/cluster-api-controller:v1.10.6
- name: registry.rancher.com/rancher/fleet-agent:v0.14.1
- name: registry.rancher.com/rancher/fleet:v0.14.1
- name: registry.rancher.com/rancher/hardened-cluster-autoscaler:v1.10.2-build20251015
- name: registry.rancher.com/rancher/hardened-cni-plugins:v1.8.0-build20251014
- name: registry.rancher.com/rancher/hardened-coredns:v1.13.1-build20251015
- name: registry.rancher.com/rancher/hardened-etcd:v3.6.5-k3s1-build20251017
- name: registry.rancher.com/rancher/hardened-k8s-metrics-server:v0.8.0-build20251015
- name: registry.rancher.com/rancher/hardened-kubernetes:v1.34.2-rke2r1-build20251112
- name: registry.rancher.com/rancher/hardened-multus-cni:v4.2.3-build20251031
- name: registry.rancher.com/rancher/ip-address-manager:v1.10.4
- name: registry.rancher.com/rancher/klipper-helm:v0.9.10-build20251111
- name: registry.rancher.com/rancher/mirrored-cilium-cilium:v1.18.3
- name: registry.rancher.com/rancher/mirrored-cilium-operator-generic:v1.18.3
- name: registry.rancher.com/rancher/fleet-agent:v0.13.1
- name: registry.rancher.com/rancher/fleet:v0.13.1
- name: registry.rancher.com/rancher/hardened-cluster-autoscaler:v1.10.2-build20250611
- name: registry.rancher.com/rancher/hardened-cni-plugins:v1.7.1-build20250611
- name: registry.rancher.com/rancher/hardened-coredns:v1.12.2-build20250611
- name: registry.rancher.com/rancher/hardened-etcd:v3.5.21-k3s1-build20250612
- name: registry.rancher.com/rancher/hardened-k8s-metrics-server:v0.8.0-build20250704
- name: registry.rancher.com/rancher/hardened-kubernetes:v1.33.3-rke2r1-build20250716
- name: registry.rancher.com/rancher/hardened-multus-cni:v4.2.1-build20250627
- name: registry.rancher.com/rancher/hardened-node-feature-discovery:v0.15.7-build20250425
- name: registry.rancher.com/rancher/klipper-helm:v0.9.8-build20250709
- name: registry.rancher.com/rancher/mirrored-cilium-cilium:v1.17.6
- name: registry.rancher.com/rancher/mirrored-cilium-operator-generic:v1.17.6
- name: registry.rancher.com/rancher/mirrored-longhornio-csi-attacher:v4.9.0-20250709
- name: registry.rancher.com/rancher/mirrored-longhornio-csi-node-driver-registrar:v2.14.0-20250709
- name: registry.rancher.com/rancher/mirrored-longhornio-csi-provisioner:v5.3.0-20250709
- name: registry.rancher.com/rancher/mirrored-longhornio-csi-resizer:v1.14.0-20250709
- name: registry.rancher.com/rancher/mirrored-longhornio-csi-snapshotter:v8.3.0-20250709
- name: registry.rancher.com/rancher/mirrored-longhornio-livenessprobe:v2.16.0-20250709
- name: registry.rancher.com/rancher/mirrored-longhornio-longhorn-engine:v1.9.2
- name: registry.rancher.com/rancher/mirrored-longhornio-longhorn-instance-manager:v1.9.2
- name: registry.rancher.com/rancher/mirrored-longhornio-longhorn-manager:v1.9.2
- name: registry.rancher.com/rancher/mirrored-longhornio-longhorn-share-manager:v1.9.2
- name: registry.rancher.com/rancher/mirrored-longhornio-longhorn-ui:v1.9.2
- name: registry.rancher.com/rancher/mirrored-sig-storage-snapshot-controller:v8.2.0
- name: registry.rancher.com/rancher/neuvector-compliance-config:1.0.9
- name: registry.rancher.com/rancher/neuvector-controller:5.4.8
- name: registry.rancher.com/rancher/neuvector-enforcer:5.4.8
- name: registry.rancher.com/rancher/nginx-ingress-controller:v1.13.4-hardened1
- name: registry.rancher.com/rancher/rancher-webhook:v0.9.1
- name: registry.rancher.com/rancher/nginx-ingress-controller:v1.12.4-hardened2
- name: registry.rancher.com/rancher/rancher-webhook:v0.8.1
- name: registry.rancher.com/rancher/rancher/turtles:v0.25.1
- name: registry.rancher.com/rancher/rancher:v2.13.1
- name: registry.rancher.com/rancher/rke2-cloud-provider:v1.34.2-0.20251010190833-cf0d35a732d1-build20251017
- name: registry.rancher.com/rancher/scc-operator:v0.3.1
- name: registry.rancher.com/rancher/shell:v0.6.1
- name: registry.rancher.com/rancher/system-upgrade-controller:v0.17.0
- name: registry.rancher.com/rancher/turtles:v0.25.1
- name: registry.rancher.com/rancher/rke2-cloud-provider:v1.33.1-0.20250516163953-99d91538b132-build20250612
- name: registry.rancher.com/rancher/scc-operator:v0.1.1
- name: registry.rancher.com/rancher/system-upgrade-controller:v0.16.0
- name: registry.suse.com/rancher/cluster-api-addon-provider-fleet:v0.12.0
- name: registry.suse.com/rancher/cluster-api-controller:v1.10.6
- name: registry.suse.com/rancher/cluster-api-provider-metal3:v1.10.4
- name: registry.suse.com/rancher/cluster-api-provider-rke2-bootstrap:v0.21.1
- name: registry.suse.com/rancher/cluster-api-provider-rke2-controlplane:v0.21.1
- name: registry.suse.com/rancher/elemental-operator:1.8.0
- name: registry.suse.com/rancher/elemental-operator:1.7.3
- name: registry.suse.com/rancher/ip-address-manager:v1.10.4
- name: registry.suse.com/suse/sles/15.7/cdi-apiserver:1.62.0-150700.9.3.1
- name: registry.suse.com/suse/sles/15.7/cdi-controller:1.62.0-150700.9.3.1
- name: registry.suse.com/suse/sles/15.7/cdi-operator:1.62.0-150700.9.3.1

View File

@@ -92,8 +92,9 @@ spec:
enabled: false
- prettyName: Longhorn
releaseName: longhorn
chart: 'oci://dp.apps.rancher.io/charts/suse-storage'
chart: suse-storage
version: 1.10.1
repository: oci://dp.apps.rancher.io/charts
- prettyName: MetalLB
releaseName: metallb
chart: '%%CHART_REPO%%/%%CHART_PREFIX%%metallb'
@@ -132,11 +133,11 @@ spec:
- prettyName: Elemental
releaseName: elemental-operator
chart: oci://registry.suse.com/rancher/elemental-operator-chart
version: 1.8.0
version: 1.7.3
dependencyCharts:
- releaseName: elemental-operator-crds
chart: oci://registry.suse.com/rancher/elemental-operator-crds-chart
version: 1.8.0
version: 1.7.3
addonCharts:
- releaseName: elemental
chart: elemental

View File

@@ -1,13 +1,13 @@
#!BuildTag: %%CHART_PREFIX%%upgrade-controller:%%CHART_MAJOR%%.0.3_up0.1.3
#!BuildTag: %%CHART_PREFIX%%upgrade-controller:%%CHART_MAJOR%%.0.3_up0.1.3-%RELEASE%
#!BuildTag: %%CHART_PREFIX%%upgrade-controller:%%CHART_MAJOR%%.0.2_up0.1.2
#!BuildTag: %%CHART_PREFIX%%upgrade-controller:%%CHART_MAJOR%%.0.2_up0.1.2-%RELEASE%
apiVersion: v2
appVersion: 0.1.3
appVersion: 0.1.2
dependencies:
- condition: crds.enabled
name: lifecycle-crds
repository: file://./charts/lifecycle-crds
version: 0.1.3
version: 0.1.2
description: A Helm chart for Upgrade Controller
name: upgrade-controller
type: application
version: "%%CHART_MAJOR%%.0.3+up0.1.3"
version: "%%CHART_MAJOR%%.0.2+up0.1.2"

View File

@@ -1,6 +1,6 @@
# SPDX-License-Identifier: Apache-2.0
#!BuildTag: %%IMG_PREFIX%%upgrade-controller:0.1.3
#!BuildTag: %%IMG_PREFIX%%upgrade-controller:0.1.3-%RELEASE%
#!BuildTag: %%IMG_PREFIX%%upgrade-controller:0.1.2
#!BuildTag: %%IMG_PREFIX%%upgrade-controller:0.1.2-%RELEASE%
ARG SLE_VERSION
FROM registry.suse.com/bci/bci-micro:$SLE_VERSION AS micro
@@ -15,11 +15,11 @@ FROM micro AS final
LABEL org.opencontainers.image.authors="SUSE LLC (https://www.suse.com/)"
LABEL org.opencontainers.image.title="SLE Edge Upgrade Controller Container Image"
LABEL org.opencontainers.image.description="Edge Update Controller Image based on the SLE Base Container Image."
LABEL org.opencontainers.image.version="0.1.3"
LABEL org.opencontainers.image.version="0.1.2"
LABEL org.opencontainers.image.url="https://www.suse.com/solutions/edge-computing/"
LABEL org.opencontainers.image.created="%BUILDTIME%"
LABEL org.opencontainers.image.vendor="SUSE LLC"
LABEL org.opensuse.reference="%%IMG_REPO%%/%%IMG_PREFIX%%upgrade-controller:0.1.3-%RELEASE%"
LABEL org.opensuse.reference="%%IMG_REPO%%/%%IMG_PREFIX%%upgrade-controller:0.1.2-%RELEASE%"
LABEL org.openbuildservice.disturl="%DISTURL%"
LABEL com.suse.supportlevel="%%SUPPORT_LEVEL%%"
LABEL com.suse.eula="SUSE Combined EULA February 2024"

View File

@@ -5,9 +5,9 @@
<param name="versionformat">@PARENT_TAG@</param>
<param name="scm">git</param>
<param name="exclude">.git</param>
<param name="revision">v0.1.3</param>
<param name="revision">v0.1.2</param>
<!-- Uncomment and set this For Pre-Release Version -->
<!-- <param name="version">0.1.3~rc2</param> -->
<!-- <param name="version">0.1.2~rc1</param> -->
<param name="versionrewrite-pattern">v(\d+).(\d+).(\d+)</param>
<param name="versionrewrite-replacement">\1.\2.\3</param>
<param name="changesgenerate">enable</param>

View File

@@ -17,7 +17,7 @@
Name: upgrade-controller
Version: 0.1.3
Version: 0.1.2
Release: 0
Summary: Upgrade Controller
License: Apache-2.0