Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
283 commits
Select commit Hold shift + click to select a range
54bc895
dist: Use the project golang container image
ormergi Dec 28, 2025
47cecd9
dist, fedora: Use the right package manager
ormergi Dec 28, 2025
d1c55f1
fix(localnet, ipamless): Prevent LSP deletion on sync
qinqon Dec 23, 2025
2d4a479
egressip: Skip bridge configuration for secondary network IPs
pliurh Dec 10, 2025
61cc216
add nodePort etp=local e2e test for UDN and default network when adve…
zhaozhanqi Dec 30, 2025
d88fb5a
Merge pull request #5826 from ormergi/fix-fedora-build
tssurya Dec 31, 2025
b65f94d
Merge pull request #2910 from openshift/d/s-merge-12-19-2025
openshift-merge-bot[bot] Jan 3, 2026
0a9976c
Merge remote-tracking branch 'upstream/master' into d/s-merge-01-03-2026
Jan 3, 2026
2ea53bd
node: fix DeleteEndpointSlice namespace deletion race condition
pliurh Dec 31, 2025
904d66a
Merge pull request #2912 from openshift-bot/art-consistency-openshift…
openshift-merge-bot[bot] Jan 6, 2026
3604a7f
Merge pull request #5669 from pliurh/endpoint_slice_deletion
tssurya Jan 6, 2026
3c0e3d2
Updating ose-ovn-kubernetes-base-container image to be consistent wit…
Jan 6, 2026
66cf063
support pod with multiple same secondary UDN
cathy-zhou Oct 29, 2025
1597b78
add additional pod-if-name external-id for Pod OVS interface
cathy-zhou Dec 9, 2025
d012030
support ipamClaim for multiple same UDN on the pod
cathy-zhou Nov 10, 2025
76d27a2
add ECMP pod route for multiple same secondary UDN interfaces
cathy-zhou Dec 16, 2025
36ddd00
e2e: add e2e test case for Pod with multiple same secondary UDN
cathy-zhou Nov 13, 2025
3b44daf
Merge pull request #5796 from npinaeva/inf-retry
trozet Jan 7, 2026
05527d3
Merge pull request #5714 from cathy-zhou/upstream-VMAAS-654
trozet Jan 7, 2026
e200f2d
docs/multi-homing: support of multiple interfaces in the same network
cathy-zhou Jan 7, 2026
4e343bc
always set arp sysctl configuration for multiple same network interfaces
cathy-zhou Jan 7, 2026
0c3604e
Use interface index for IPv6 zone when sending unsolicited neighbor a…
kyrtapz Jan 7, 2026
67f9fbf
bump up frr-k8s and frr image versions
jechen0648 Jan 8, 2026
3c1c396
add eip e2e case on namespace/pod labels update
huiran0826 Nov 13, 2025
c6a4fc0
Merge pull request #5834 from cathy-zhou/VMAAS-654-doc
trozet Jan 8, 2026
3cafd56
Merge pull request #5833 from kyrtapz/fix_una_zone
trozet Jan 8, 2026
9d31999
Merge pull request #5835 from cathy-zhou/VMAAS-654-more
trozet Jan 8, 2026
ac29faf
Adding kubelet-density-cni performance workload
jtaleric Jan 7, 2026
560aee2
Attempt to capture and store pprof data
jtaleric Jan 8, 2026
35dfdea
Merge pull request #5721 from huiran0826/e2e-eip-ns-update
tssurya Jan 9, 2026
10c9c2a
Addressing trozet feedback
jtaleric Jan 9, 2026
d0b56f5
Merge pull request #5803 from jtaleric/perf-test
trozet Jan 9, 2026
1938041
Merge pull request #2913 from openshift-bot/art-consistency-openshift…
openshift-merge-bot[bot] Jan 10, 2026
e60b1cd
iprulemanager: remove string operations from areNetlinkRulesEqual
marty-power Dec 16, 2025
106ea80
iprulemanager: add mark check when comparing netlink rule equality
marty-power Dec 22, 2025
5ffc1be
Bug fix: Skip BridgeEIPAddrManager in DPU-host mode
tsorya Jan 9, 2026
06486fa
Cleanup codegen files before regenerating
tssurya Jan 5, 2026
953bb6a
Rename noOverlayOptions to noOverlay
tssurya Dec 23, 2025
2c3ab32
Re-generate CUDN YAML
tssurya Dec 23, 2025
00f1291
Update API reference docs
tssurya Dec 23, 2025
ecb3b72
Update tests for noOverlay field
tssurya Dec 23, 2025
00ed285
Add EVPN fields to CUDN
tssurya Dec 4, 2025
fc37829
Generate CUDN Yaml
tssurya Dec 4, 2025
155779f
Update CUDN API reference docs
tssurya Dec 17, 2025
6641c7c
Add VTEP CRD
tssurya Dec 4, 2025
9c30fc2
Generate VTEP Yaml
tssurya Dec 4, 2025
69647db
Add VTEP API reference docs
tssurya Dec 17, 2025
a1fe31d
Add E2E test for CUDN-EVPN validation
tssurya Dec 4, 2025
1341521
Add E2E test for VTEP API Validations
tssurya Dec 4, 2025
6b33ee6
Add NetConf fields for EVPN
tssurya Dec 4, 2025
d650181
Expose EVPN fields via NetInfo utils
tssurya Dec 4, 2025
81b9cca
Merge pull request #5806 from marty-power/udn-reconcile-perf
trozet Jan 13, 2026
0dc9059
Use labels to skip tests
tssurya Jan 13, 2026
2c3671c
for LGW with ETP=Local have different error code for l3 and l2
zhaozhanqi Dec 30, 2025
75e3862
test: unskip Services fallback to local terminating endpoints test
zhaozhanqi Jan 14, 2026
cdb9e9a
fix golang builder image registry path in docker workflow
Soli0222 Jan 15, 2026
6235c7b
Merge pull request #5387 from zhaozhanqi/nodeport-e2e
tssurya Jan 15, 2026
a9ba3d4
Merge pull request #5809 from cgoncalves/egressip-iface-not-found
kyrtapz Jan 15, 2026
0de1e88
Merge pull request #5849 from Soli0222/fix/docker-workflow-builder-image
tssurya Jan 15, 2026
1b665e9
Add factory and clientset settings for ovnkube-controller
tssurya Dec 8, 2025
34337f0
Add RBAC for CNCs access from ovnkube-node pod
tssurya Dec 8, 2025
40cf2ff
<ds-only> Add o/test-exts
martinkennelly Mar 4, 2025
9770e11
<ds-only> infraprovider: Add openshift provider
martinkennelly Sep 9, 2025
d196391
Bump k8s.io to v1.34.1
pperiyasamy Jan 14, 2026
cb301f7
skip ClusterNetworkConnect: API validations tests
jluhrsen Dec 10, 2025
118948b
Skip net-seg overlapping CIDRs tests
pperiyasamy Dec 15, 2025
80db3f2
OpenShift E2E: Add deployment config timeout support
pperiyasamy Dec 9, 2025
622a3f2
Skip Node Shutdown and OVN node pod restart sync tests
pperiyasamy Jan 9, 2026
c366678
Add network connect controller plumbing
tssurya Dec 5, 2025
56db7ae
STEP1: Create Connect Router for CNC
tssurya Dec 7, 2025
4291607
Add COPP protection for connect router
tssurya Dec 19, 2025
8f60a8b
Add static subnet and tunnel key generator helpers for CNC
tssurya Dec 15, 2025
e371fc5
Add GetNetworkByID util to network manager
tssurya Jan 7, 2026
7dc6780
STEP2: Create patch ports to connect routers together
tssurya Dec 15, 2025
64279f6
Add GetNetworkScopedSwitchToRouterPortName util
tssurya Dec 8, 2025
17f77b3
STEP3: Add routing policies to connected network routers
tssurya Dec 8, 2025
db5e941
STEP4: Add LRSRs to connect router
tssurya Dec 8, 2025
b101a3d
Add controller integration tests
tssurya Dec 16, 2025
5a69fb5
making the e2e utils global for reusability
tssurya Dec 13, 2025
c17da56
e2e: add ClusterNetworkConnect OVN controller connectivity tests
tssurya Dec 13, 2025
2dc8038
e2e: support multiple CNCs with different connect subnets
tssurya Dec 15, 2025
9ca888f
ci: increase network-segmentation lane timeout to 190 minutes
tssurya Dec 15, 2025
19f191f
Move common helpers into util/network-connect
tssurya Jan 6, 2026
e32fdcd
Merge pull request #5840 from tsorya/igal/dpu_host_mode
npinaeva Jan 16, 2026
765fbd9
codegen: fix script when GOPATH is not in PATH
booxter Jan 16, 2026
ec0323b
Merge pull request #5541 from tssurya/connecting-udns-l3
npinaeva Jan 19, 2026
9dd6dc8
add Internet Initiative Japan Inc. to ADOPTERS
Soli0222 Jan 20, 2026
b0198aa
Merge pull request #2461 from martinkennelly/init-ocp-extensions-net-seg
openshift-merge-bot[bot] Jan 21, 2026
b0b3bfa
Merge pull request #5790 from qinqon/kubevirt-e2e-localnet-ipamless-w…
npinaeva Jan 21, 2026
2f2f909
Merge pull request #5864 from Soli0222/docs/add-iij-to-adopters
tssurya Jan 21, 2026
b671043
Merge pull request #5852 from booxter/codegen-gobin
npinaeva Jan 21, 2026
bd2dd56
Merge pull request #5510 from killianmuldoon/pr-drop-crds-upstream
npinaeva Jan 21, 2026
7d408c1
Remove IC zone migration HACK code
Jan 21, 2026
4b85ee3
test: fix race condition in waitForRollout
pliurh Jan 15, 2026
4740069
Add EVPN feature flag
jcaamano Jan 22, 2026
f8ea77e
Merge pull request #5870 from jcaamano/evpn-feature-flag
tssurya Jan 22, 2026
ea1d89f
Exposes new dynamic allocation config knobs
trozet Sep 15, 2025
db4ca91
Move WatchFactory interface to API
trozet Sep 30, 2025
48de82d
Adds pod tracker controller
trozet Sep 30, 2025
6e6201f
Adds EgressIPTracker
trozet Sep 30, 2025
58a969c
Integrate the trackers into controller managers and nad controller
trozet Sep 30, 2025
f841691
Fix UDN controller test framework
trozet Sep 19, 2025
950aba7
Enable NAD on Node tracking in UDN controllers
trozet Sep 30, 2025
7abc582
Enable dynamic UDN allocation with kind/helm
trozet Oct 1, 2025
3440f2a
Enable Dynamic UDN in CI for one lane
trozet Oct 1, 2025
8725a93
Fixes remote node removal with UDN
trozet Oct 6, 2025
08248fc
Skip service tests to "other node"
trozet Oct 6, 2025
f1ff2e7
Add unit test for UDN deletion grace period
trozet Oct 6, 2025
70f4f13
Change pod handling to not rely on active network
trozet Oct 7, 2025
a96d67b
Add status update for UDNs with dynamic allocation
trozet Oct 7, 2025
57d9cad
Add Dynamic UDN metrics
trozet Oct 7, 2025
4e11aa4
Updates unit test nodes with new transit topo anno
trozet Dec 10, 2025
a797c8c
Optimize performance for tracker primary nad lookups
trozet Dec 11, 2025
fda7f71
Refactor OnNetworkRefChange
trozet Dec 11, 2025
c09fcf0
Only reconcile remote nodes on start up once
trozet Jan 9, 2026
c0add60
Move the trackers and dynamic filtering to the nad_controller.
npinaeva Dec 12, 2025
09f8efb
Move Dynamic UDN status/metrics to nad controller
trozet Jan 9, 2026
f953148
Add unit test for Dynamic UDN status update
trozet Jan 9, 2026
20411a9
Add .gocache to gitignore
trozet Jan 9, 2026
4dae25a
Convert pod/egress ip trackers to register with nad controller
trozet Jan 10, 2026
a6b34b3
Critical Dynamic UDN NAD controller fixes
trozet Jan 10, 2026
3e16073
Add better debug logging for NAD controller
trozet Jan 12, 2026
998e916
Fix DoWithLock crash
trozet Jan 12, 2026
1dcd01f
Move D-UDN status/metrics to NCC
trozet Jan 13, 2026
87a20d7
Refactor remote D-UDN handling (again)
trozet Jan 14, 2026
ea687aa
Simplify ref counting with NCC and D-UDN
trozet Jan 14, 2026
7daff06
Fixes releasing network IDs for filtered NADs
trozet Jan 15, 2026
8d7a89b
simplify NAD controller dynamic logic
trozet Jan 15, 2026
6e8dee9
NodeHasNAD -> NodeHasNetwork Refactor
trozet Jan 15, 2026
56202d0
Fix syncNAD
trozet Jan 16, 2026
64d6bc2
Adds support for CNC with Dynamic UDN
trozet Jan 21, 2026
7f0a4df
Fixes shouldFilter with Dynamic UDN
trozet Jan 21, 2026
604c668
Merge pull request #2917 from openshift/d/s-merge-01-03-2026
openshift-merge-bot[bot] Jan 23, 2026
acf38f9
Merge pull request #5848 from pliurh/ci
npinaeva Jan 23, 2026
c01ff2f
Integrate Network Manager resolver everywhere
trozet Jan 22, 2026
d5f19be
Merge pull request #5623 from trozet/udn_dynamic_allocation_impl3
trozet Jan 23, 2026
cbba98e
change from periodic interval to request-based metrics collection
Nov 17, 2025
c9a29b5
Use promhttp handler for emitting metrics
Jan 6, 2026
5ba2cc1
package: podresourceAPI client
Tal-or May 22, 2025
23fdd5f
ovspinning: pass context
Tal-or May 22, 2025
e660617
ovspinning: detect nonpinned cpus using podresourceAPI
Tal-or May 22, 2025
da87ab8
ovspinning: detect reservedSystemCPUs
Tal-or Aug 21, 2025
31ea00c
unit-test: adjust to new logic
Tal-or May 28, 2025
9dccb75
vendor: go mod tidy && go mod vendor
Tal-or Aug 21, 2025
1e68f90
createFileWatcherFor: rename argument
Tal-or Jan 11, 2026
aaf3f75
docs: add OVS Dynamic CPU Affinity feature documentation
Tal-or Jan 19, 2026
32fd9e6
Merge pull request #5270 from Tal-or/ovspinning_for_sched_ctl_plane
tssurya Jan 27, 2026
9725cc6
Merge pull request #5634 from l8huang/metrics-server
npinaeva Jan 27, 2026
3e6b2a3
parallelize multi-platform Docker image builds
Soli0222 Jan 15, 2026
9e1889e
use native arm64 runners instead of QEMU emulation
Soli0222 Jan 19, 2026
2c9f051
enable fail-fast to prevent partial releases
Soli0222 Jan 19, 2026
d3b87ad
Add PodSecurity compliance to util.go
jechen0648 Jan 20, 2026
bc30332
Merge remote-tracking branch 'upstream/master' into d/s-merge-01-27-2026
Jan 27, 2026
245941b
sync openshift/go.mod with upstream dependencies
Jan 27, 2026
7dd0e55
skip new NetSeg Localnet test
jluhrsen Jan 27, 2026
ee8c0b9
Merge pull request #5862 from jechen0648/add-pod-security
tssurya Jan 28, 2026
50a6412
Merge pull request #5865 from ricky-rav/OCPBUGS-70130
tssurya Jan 28, 2026
acb088c
Fix IC cluster cleanup tests zone configuration
Jan 28, 2026
9156a82
Merge pull request #5889 from ricky-rav/testICUpgradeRemoval
kyrtapz Jan 28, 2026
3466e1d
Merge pull request #2907 from openshift-bot/art-consistency-openshift…
openshift-merge-bot[bot] Jan 28, 2026
6379332
Clear stale conntrack UDP entries for nodePorts
pliurh Aug 27, 2025
ea55b70
Add a e2e test for NodePort service
pliurh Sep 8, 2025
e86ea08
Add missing BGP support to kind-helm.sh
trozet Jan 26, 2026
1191db6
Fix kind-helm.sh image
trozet Jan 26, 2026
4330306
Add shell extension to kind-common
trozet Jan 26, 2026
13bcba2
Enable bgp helm lane
trozet Jan 26, 2026
d30130a
Add frr install to helm as well
trozet Jan 27, 2026
aaea191
Consolidate BGP related params into kind-common.sh
trozet Jan 27, 2026
80d5ce4
Consolidate variables between kind-helm.sh and kind.sh
trozet Jan 27, 2026
ed019b6
Remove stale methods from kind-helm.sh
trozet Jan 27, 2026
c26b190
conslidate delete function to kind-common.sh
trozet Jan 27, 2026
701ff43
Add missing Get permissions for RA controller
trozet Jan 27, 2026
4746472
Unify kind create cluster
trozet Jan 27, 2026
1ae9371
E2E skip mulihoming ipv6 and dualstack for ipv4
trozet Jan 27, 2026
364317d
Unify checking depenencies between kind and kind-helm
trozet Jan 27, 2026
10827ae
Align HA labeling and removing taints
trozet Jan 28, 2026
060c0fd
UDN controller: Add EVPN configuration translation to NAD
mattedallo Dec 10, 2025
86c7132
UDN controller: Add cluster-wide VID allocation for EVPN
mattedallo Dec 15, 2025
7c70ab2
UDN controller: Add VTEP validation for EVPN CUDNs
mattedallo Jan 19, 2026
e94bb52
UDN controller: Add EVPN feature flag gating
mattedallo Jan 27, 2026
296f803
Merge pull request #5801 from mattedallo/evpn-udn-controller
kyrtapz Jan 30, 2026
ed1be24
Fix race condition in GetNadNamespaces
kyrtapz Jan 29, 2026
67b1418
Merge pull request #5891 from kyrtapz/concurrent_map_access_fix
trozet Jan 30, 2026
74032ba
Add EVPN support to RouteAdvertisements controller
kyrtapz Dec 17, 2025
197f297
RA controller: require EVPN feature flag for EVPN networks
kyrtapz Jan 30, 2026
af632a9
Merge pull request #5807 from kyrtapz/ra_ctrl_evpn
kyrtapz Feb 2, 2026
b7b7770
fix: panic in runKubeletRestartTracker when reading from closed dbus …
booxter Feb 2, 2026
b35671c
move mtu caculation out of loop
cathy-zhou Jan 7, 2026
0d2e63c
no OVS bridges on dpu-host
cathy-zhou Jan 7, 2026
2b1e7ef
Set always_learn_from_arp_request to false for cluster router
cathy-zhou Jan 8, 2026
e83c0c7
cleanup gateway manager only for primary network
cathy-zhou Jan 8, 2026
5dccd36
update node switch external-ids
cathy-zhou Jan 8, 2026
3ac3513
misc fixes
cathy-zhou Jan 8, 2026
a9e4505
Fixes race with cluster manager UDN test
trozet Feb 2, 2026
721f893
Merge pull request #5837 from cathy-zhou/syncDownstream
trozet Feb 3, 2026
d46df94
Merge pull request #5905 from trozet/fix-issue-5899
trozet Feb 3, 2026
468d472
Remove limit on ovs-node
jtaleric Feb 2, 2026
df4be4e
Merge pull request #5902 from booxter/coredump-issue-5878-dbus
trozet Feb 3, 2026
9a13328
Merge pull request #5904 from jtaleric/remove-limit
trozet Feb 3, 2026
5e66667
Prevent restoration of k8s.ovn.org/egressip-mark annotation
arghosh93 Jan 22, 2026
9fb7e85
Add ValidatingAdmissionPolicy for EgressIP
arghosh93 Nov 18, 2025
ddb32d4
egressip: fix duplicate IP assignment on control-plane restart
cgoncalves Nov 27, 2025
71499fb
Merge pull request #5726 from arghosh93/egressip_validating_admission…
tssurya Feb 4, 2026
3cbf397
Merge pull request #2963 from jluhrsen/fix-new-ote-failure
openshift-merge-bot[bot] Feb 4, 2026
1c3a7ce
Merge pull request #5760 from cgoncalves/duplicate-eip
tssurya Feb 4, 2026
f23cf1a
Merge pull request #5850 from Soli0222/enhance/docker-matrix-builds
tssurya Feb 4, 2026
0bf7176
e2e: Collect binaries for collected coredumps
booxter Feb 2, 2026
b8e644b
no-overlay: Add no-overlay and managed BGP configuration options
pliurh Oct 23, 2025
4eee03c
no-overlay: Kind support for deploying no-overlay enabled clusters
pliurh Oct 24, 2025
0c76a90
no-overlay: Helm support for no-overlay enabeld clusters
pliurh Jan 23, 2026
67d3348
no-overlay: Set transport defaults and add validation
pliurh Oct 24, 2025
8312c0e
no-overlay: Implement no-overlay for the default network
pliurh Jan 23, 2026
546328c
no-overlay: add toReceive routes for pod subnets to FrrConfiguration
pliurh Dec 23, 2025
5db3201
no-overlay: add CI test lanes
pliurh Nov 18, 2025
ff07990
test: mark test IP as deprecated to prevent gateway IP selection
pliurh Dec 1, 2025
322e391
ANP: Skip redundant status updates to reduce API server load
tssurya Feb 4, 2026
60b5d7e
Merge pull request #5780 from pliurh/no-overlay-default
trozet Feb 5, 2026
b23de6b
Merge pull request #5912 from tssurya/fix-anp-cpu-spike
tssurya Feb 5, 2026
d0dcc08
Exclude NetSeg tests for SingleReplica topology
jluhrsen Feb 6, 2026
9f52f29
Merge pull request #5901 from booxter/coredump-binaries-collect
trozet Feb 6, 2026
bc93b2c
Organize and add CUDN/UDN workloads
jtaleric Jan 28, 2026
1d5ee82
EgressFirewall: Use exponential backoff to refresh IP addresses for D…
arkadeepsen Jan 21, 2026
749bedb
Merge pull request #5856 from jtaleric/more-workloads
trozet Feb 9, 2026
9d608cc
Add gateway options for dpu in IC mode
crnithya Dec 11, 2025
bf64ee0
Enable DPUs to watch on a separate DPU Host cluster
crnithya Dec 11, 2025
8043a21
Enable interconnect and networksegmentation in DPU-Hosts podspec
crnithya Dec 11, 2025
d0e79e9
Helm chart changes for supporing DPU in IC mode
crnithya Dec 12, 2025
6882878
Daemonset changes for supporting DPU in IC mode
crnithya Jan 12, 2026
3d71dbc
Documentation for launching DPU and DPU Host clusters
crnithya Jan 14, 2026
2dc1f0f
Add ENABLE_NO_OVERLAY in dpu and dpu host helm charts
crnithya Feb 6, 2026
c44cbbf
nodeallocator: fix subnet leak when hybrid overlay is enabled
Dec 11, 2025
4aed37d
Merge pull request #5867 from arkadeepsen/efw-default-ttl
npinaeva Feb 10, 2026
c7ac8ff
Merge pull request #5839 from crnithya/dpu_ic_changes
trozet Feb 10, 2026
3b14133
Move from chassis hostname -> chassis ID
trozet Feb 4, 2026
396f4a9
Merge pull request #5911 from trozet/fix_chassis_id
trozet Feb 10, 2026
95c0a26
Fix asynchronous race with nad controller UT
trozet Feb 9, 2026
515d4c7
Fixes e2e sflow test
trozet Feb 10, 2026
b2621f1
Merge pull request #5954 from trozet/issue-4221
npinaeva Feb 12, 2026
2a9cd18
Merge pull request #2962 from openshift/d/s-merge-01-27-2026
openshift-merge-bot[bot] Feb 12, 2026
73b6d48
Merge remote-tracking branch 'upstream/master' into d/s-merge-02-12-2026
Feb 12, 2026
afe27f9
OTE: Exclude new BGP and EVPN tests
pperiyasamy Feb 17, 2026
c698004
Merge pull request #2973 from jluhrsen/exclude-singlereplica-4-netseg
openshift-merge-bot[bot] Feb 19, 2026
14b7309
Minimize ACLs by combining ipBlocks into single ACL
pperiyasamy Feb 11, 2026
5171947
Merge pull request #2982 from pperiyasamy/disable-bgp-evpn-tests
openshift-merge-bot[bot] Feb 23, 2026
c79a460
make new tests informing by default
jluhrsen Feb 25, 2026
d2f771d
Merge pull request #2980 from openshift/d/s-merge-02-12-2026
openshift-merge-bot[bot] Feb 26, 2026
e69a726
Merge pull request #3006 from jluhrsen/informing-by-default
openshift-merge-bot[bot] Feb 27, 2026
eedfcd0
Merge pull request #2978 from pperiyasamy/bump-ovsdb-client-connect-t…
openshift-merge-bot[bot] Mar 5, 2026
67e84c8
Merge commit 'eedfcd073' from release-4.22 into release-4.21 (03-23-2…
jluhrsen Mar 23, 2026
4e1a7ac
sync test annotations with upstream changes
jluhrsen Mar 23, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .ci-operator.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
build_root_image:
name: release
namespace: openshift
tag: rhel-9-release-golang-1.24-openshift-4.21
tag: rhel-9-release-golang-1.24-openshift-4.22
228 changes: 208 additions & 20 deletions .github/workflows/docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: ovn-docker-images

on:
push:
branches: [ master,release-1.0,release-1.1 ]
branches: [ master,release-1.0,release-1.1,release-1.2 ]

permissions:
contents: read
Expand All @@ -14,12 +14,26 @@ env:
REPOSITORY: ovn-kubernetes
FEDORA_IMAGE_NAME: ovn-kube-fedora
UBUNTU_IMAGE_NAME: ovn-kube-ubuntu
BUILDER_IMAGE: quay.io/lib/golang:1.24
BUILDER_IMAGE: quay.io/projectquay/golang:1.24
jobs:
build:
name: Build Images
runs-on: ubuntu-latest
# Build Fedora image for each platform
build-fedora:
name: Build Fedora (${{ matrix.platform }})
runs-on: ${{ matrix.runner }}
strategy:
fail-fast: true
matrix:
include:
- platform: linux/amd64
runner: ubuntu-latest
- platform: linux/arm64
runner: ubuntu-24.04-arm
steps:
- name: Prepare
run: |
platform=${{ matrix.platform }}
echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV

- name: Check out code into the Go module directory
uses: actions/checkout@v4

Expand All @@ -39,8 +53,8 @@ jobs:
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Set up environment
run: |
export GOPATH=$(go env GOPATH)
Expand All @@ -64,23 +78,19 @@ jobs:
pushd dist/images
echo "ref: ${BRANCH} commit: ${COMMIT}" > git_info
popd

- name: Set up QEMU
uses: docker/setup-qemu-action@v3
with:
platforms: all

- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3

- name: Extract metadata (tags, labels) for fedora ovn-k image
id: meta-fedora
id: meta
uses: docker/metadata-action@v5
with:
images: ${{ env.REGISTRY }}/${{ env.OWNER }}/${{ env.REPOSITORY }}/${{ env.FEDORA_IMAGE_NAME }}

- name: Build and push Fedora based Docker image
id: build
uses: docker/build-push-action@v5
with:
builder: ${{ steps.buildx.outputs.name }}
Expand All @@ -89,23 +99,201 @@ jobs:
push: true
build-args: |
BUILDER_IMAGE=${{ env.BUILDER_IMAGE }}
platforms: linux/amd64,linux/arm64
tags: ${{ steps.meta-fedora.outputs.tags }}
labels: ${{ steps.meta-fedora.outputs.labels }}
platforms: ${{ matrix.platform }}
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=gha,scope=fedora-${{ env.PLATFORM_PAIR }}
cache-to: type=gha,mode=max,scope=fedora-${{ env.PLATFORM_PAIR }}
outputs: type=image,name=${{ env.REGISTRY }}/${{ env.OWNER }}/${{ env.REPOSITORY }}/${{ env.FEDORA_IMAGE_NAME }},push-by-digest=true,name-canonical=true,push=true

- name: Export digest
run: |
mkdir -p /tmp/digests
digest="${{ steps.build.outputs.digest }}"
touch "/tmp/digests/${digest#sha256:}"

- name: Upload digest
uses: actions/upload-artifact@v4
with:
name: digests-fedora-${{ env.PLATFORM_PAIR }}
path: /tmp/digests/*
if-no-files-found: error
retention-days: 1

# Merge Fedora multi-platform images
merge-fedora:
name: Merge Fedora
runs-on: ubuntu-latest
needs: build-fedora
steps:
- name: Download digests
uses: actions/download-artifact@v4
with:
path: /tmp/digests
pattern: digests-fedora-*
merge-multiple: true

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Log in to the GH Container registry
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Extract metadata (tags, labels) for fedora ovn-k image
id: meta
uses: docker/metadata-action@v5
with:
images: ${{ env.REGISTRY }}/${{ env.OWNER }}/${{ env.REPOSITORY }}/${{ env.FEDORA_IMAGE_NAME }}

- name: Create manifest list and push
working-directory: /tmp/digests
run: |
docker buildx imagetools create $(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") \
$(printf '${{ env.REGISTRY }}/${{ env.OWNER }}/${{ env.REPOSITORY }}/${{ env.FEDORA_IMAGE_NAME }}@sha256:%s ' *)

- name: Inspect image
run: |
docker buildx imagetools inspect ${{ env.REGISTRY }}/${{ env.OWNER }}/${{ env.REPOSITORY }}/${{ env.FEDORA_IMAGE_NAME }}:${{ steps.meta.outputs.version }}

# Build Ubuntu image for each platform
build-ubuntu:
name: Build Ubuntu (${{ matrix.platform }})
runs-on: ${{ matrix.runner }}
strategy:
fail-fast: true
matrix:
include:
- platform: linux/amd64
runner: ubuntu-latest
- platform: linux/arm64
runner: ubuntu-24.04-arm
steps:
- name: Prepare
run: |
platform=${{ matrix.platform }}
echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV

- name: Check out code into the Go module directory
uses: actions/checkout@v4

- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: 'go-controller/go.mod'
# Disabling cache to avoid warnings until these two issues are fixed
# https://github.com/actions/setup-go/issues/424
# https://github.com/actions/setup-go/issues/403
# cache-dependency-path: "**/*.sum"
cache: false
id: go

- name: Log in to the GH Container registry
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Set up environment
run: |
export GOPATH=$(go env GOPATH)
echo "GOPATH=$GOPATH" >> $GITHUB_ENV
echo "$GOPATH/bin" >> $GITHUB_PATH

- name: Build ovnkube-binaries copy to context
run: |
pushd go-controller
make
popd

pushd dist/images
cp -r ../../go-controller/_output/go/bin/* .
popd

- name: Generate git-info to write to image
run: |
BRANCH=$(git rev-parse --short "$GITHUB_SHA")
COMMIT=$(git rev-parse HEAD)
pushd dist/images
echo "ref: ${BRANCH} commit: ${COMMIT}" > git_info
popd

- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3

- name: Extract metadata (tags, labels) for ubuntu ovn-k image
id: meta-ubuntu
id: meta
uses: docker/metadata-action@v5
with:
images: ${{ env.REGISTRY }}/${{ env.OWNER }}/${{ env.REPOSITORY }}/${{ env.UBUNTU_IMAGE_NAME }}

- name: Build and push Ubuntu based Docker image
id: build
uses: docker/build-push-action@v5
with:
builder: ${{ steps.buildx.outputs.name }}
context: ./dist/images
file: ./dist/images/Dockerfile.ubuntu
push: true
platforms: linux/amd64,linux/arm64
tags: ${{ steps.meta-ubuntu.outputs.tags }}
labels: ${{ steps.meta-ubuntu.outputs.labels }}
platforms: ${{ matrix.platform }}
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=gha,scope=ubuntu-${{ env.PLATFORM_PAIR }}
cache-to: type=gha,mode=max,scope=ubuntu-${{ env.PLATFORM_PAIR }}
outputs: type=image,name=${{ env.REGISTRY }}/${{ env.OWNER }}/${{ env.REPOSITORY }}/${{ env.UBUNTU_IMAGE_NAME }},push-by-digest=true,name-canonical=true,push=true

- name: Export digest
run: |
mkdir -p /tmp/digests
digest="${{ steps.build.outputs.digest }}"
touch "/tmp/digests/${digest#sha256:}"

- name: Upload digest
uses: actions/upload-artifact@v4
with:
name: digests-ubuntu-${{ env.PLATFORM_PAIR }}
path: /tmp/digests/*
if-no-files-found: error
retention-days: 1

# Merge Ubuntu multi-platform images
merge-ubuntu:
name: Merge Ubuntu
runs-on: ubuntu-latest
needs: build-ubuntu
steps:
- name: Download digests
uses: actions/download-artifact@v4
with:
path: /tmp/digests
pattern: digests-ubuntu-*
merge-multiple: true

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Log in to the GH Container registry
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Extract metadata (tags, labels) for ubuntu ovn-k image
id: meta
uses: docker/metadata-action@v5
with:
images: ${{ env.REGISTRY }}/${{ env.OWNER }}/${{ env.REPOSITORY }}/${{ env.UBUNTU_IMAGE_NAME }}

- name: Create manifest list and push
working-directory: /tmp/digests
run: |
docker buildx imagetools create $(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") \
$(printf '${{ env.REGISTRY }}/${{ env.OWNER }}/${{ env.REPOSITORY }}/${{ env.UBUNTU_IMAGE_NAME }}@sha256:%s ' *)

- name: Inspect image
run: |
docker buildx imagetools inspect ${{ env.REGISTRY }}/${{ env.OWNER }}/${{ env.REPOSITORY }}/${{ env.UBUNTU_IMAGE_NAME }}:${{ steps.meta.outputs.version }}
Loading