Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
cb24e1a
kind,kubevirt: Rm redundent URL call
ormergi Aug 27, 2025
dec64da
kind,kubevirt: Combine CR patches
ormergi Aug 27, 2025
37da384
[gateway] Pass GatewayConfig to functions to simplify function calls.
npinaeva Jul 21, 2025
7a5bb42
[GatewayConfig] Rename gwLRPJoinIPs to gwRouterJoinCIDRs
npinaeva Jul 21, 2025
e14c4ed
[config] Rename TransitSwitchSUbnet to TransitSubnet
npinaeva Sep 4, 2025
38d92e3
[layer2-router] add logic to define current layer2 topology.
npinaeva Aug 20, 2025
a04d9c8
[tunnel-keys] Add tunnel keys allocator to cluster manager.
npinaeva Sep 9, 2025
5657fd0
[layer2-router] Set and parse tunnel-keys for layer2 networks
npinaeva Sep 9, 2025
40d21f0
[layer2-router] Add gateway side
npinaeva Jul 31, 2025
e8cbe68
[layer2-router] Add secondary_layer2_controller side
npinaeva Jul 31, 2025
ee49f8c
[layer2-router] Services: put service routes on the transit router
npinaeva Jul 31, 2025
e48bb67
[layer2-router] add egressIP for new topology.
npinaeva Aug 1, 2025
62c8e99
Upgrade: add cleanup and upgrade topology for local node.
npinaeva Aug 14, 2025
0a2da74
Upgrade: handle remote node upgrades to the new topology type.
npinaeva Aug 20, 2025
7b33cfc
Upgrade: add cleanup when all nodes are upgraded.
npinaeva Aug 14, 2025
0c7459f
[podAnnotation] Use transit router port LLA for pod annotation
npinaeva Aug 18, 2025
c6d3c98
[e2e] BGP test: Layer2 UDN behaviour is not similar to Layer3.
npinaeva Aug 2, 2025
de2b7bf
[layer2-router] Update kubevirt tests to use default GW IP.
npinaeva Aug 22, 2025
810226b
[mockery] Update version to be compatible with go1.24
npinaeva Aug 25, 2025
a761585
[layer2-router] set Layer2UsesTransitRouter to true for unit tests
npinaeva Aug 28, 2025
0f69bd4
[kind] Add ovnkube-identity to the deployed pods list
npinaeva Aug 28, 2025
3e07236
kv: Reconcile transit router as gateway after LM
npinaeva Sep 5, 2025
8e8a046
kv: Add join subnet ipv6 pio with lifetime 0
npinaeva Sep 5, 2025
9ec9340
Add transit subnet conflict handling for Layer2 networks.
npinaeva Sep 16, 2025
6a14fed
Merge pull request #5527 from ormergi/kv-install-cleanup
npinaeva Oct 21, 2025
b59ab1f
Merge pull request #5561 from npinaeva/layer2-router-upgrade
trozet Oct 21, 2025
9f269e7
NetPol: Process update only when spec fields and/or related annotatio…
arkadeepsen Oct 15, 2025
95bfa38
MultiNetPol: Process update only when spec fields and/or related anno…
arkadeepsen Oct 17, 2025
e2cd826
[layer2] Add tunnel key for local port connecting TR with L2 switch.
npinaeva Oct 22, 2025
cd821ab
Ensure UDN mgmt port is removed
trozet Oct 10, 2025
1ceaa4b
Make gateway cleanup more robust
trozet Oct 10, 2025
6e45064
Add management port cleanup at start up
trozet Oct 11, 2025
b55081e
Merge pull request #5646 from trozet/fix_udn_gateway_cleanup
trozet Oct 23, 2025
815c017
Merge pull request #5682 from npinaeva/layer2-router-tnlkey
npinaeva Oct 23, 2025
2f5036d
Properly clean up OVSDB clients in both shutdown and error paths
Oct 23, 2025
b6aafe4
Merge pull request #5686 from l8huang/db-cleanup
npinaeva Oct 24, 2025
c3dc245
UT: set up fake OVS pid file for appctl commands in UDN controller tests
pperiyasamy Oct 17, 2025
6a2d265
Merge pull request #5664 from pperiyasamy/mock-ovs-pid
npinaeva Oct 24, 2025
d2b7cbe
EIP: when checking for stale LRP next hops on startup, restrict to en…
martinkennelly Aug 17, 2025
a46e0e7
EIP: do not skip generating potential valid next hops if LSP not found
martinkennelly Aug 17, 2025
2735d6b
OVN EIP: add UT for syncing next hops for v4/v6
martinkennelly Aug 17, 2025
ab082bd
OVN EIP: fix printing of stale next hops value
martinkennelly Sep 5, 2025
46aec45
Merge remote-tracking branch 'upstream/master' into d/s-merge-10-24-2025
Oct 24, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 11 additions & 7 deletions contrib/kind-common
Original file line number Diff line number Diff line change
Expand Up @@ -413,8 +413,18 @@ install_kubevirt() {
if ! is_nested_virt_enabled; then
kubectl -n kubevirt patch kubevirt kubevirt --type=merge --patch '{"spec":{"configuration":{"developerConfiguration":{"useEmulation":true}}}}'
fi
kubectl -n kubevirt patch kubevirt kubevirt --type=merge --patch '{"spec":{"configuration":{"virtualMachineOptions":{"disableSerialConsoleLog":{}}}}}'
fi

kubectl -n kubevirt patch kubevirt kubevirt --type=json --patch '[
{"op":"add","path":"/spec/configuration/virtualMachineOptions","value":{}},
{"op":"add","path":"/spec/configuration/virtualMachineOptions/disableSerialConsoleLog","value":{}},
{"op":"add","path":"/spec/configuration/developerConfiguration","value":{"featureGates":[]}},
{"op":"add","path":"/spec/configuration/developerConfiguration/featureGates/-","value":"NetworkBindingPlugins"},
{"op":"add","path":"/spec/configuration/developerConfiguration/featureGates/-","value":"DynamicPodInterfaceNaming"},
{"op":"add","path":"/spec/configuration/network","value":{}},
{"op":"add","path":"/spec/configuration/network/binding","value":{"l2bridge":{"domainAttachmentType":"managedTap","migration":{}}}}
]'

if ! kubectl wait -n kubevirt kv kubevirt --for condition=Available --timeout 15m; then
kubectl get pod -n kubevirt -l || true
kubectl describe pod -n kubevirt -l || true
Expand All @@ -423,12 +433,6 @@ install_kubevirt() {
kubectl logs --all-containers=true -n kubevirt $p || true
done
fi

kubectl -n kubevirt patch kubevirt kubevirt --type=json --patch '[{"op":"add","path":"/spec/configuration/developerConfiguration","value":{"featureGates":[]}},{"op":"add","path":"/spec/configuration/developerConfiguration/featureGates/-","value":"NetworkBindingPlugins"},{"op":"add","path":"/spec/configuration/developerConfiguration/featureGates/-","value":"DynamicPodInterfaceNaming"}]'

local kubevirt_stable_release_url=$(get_kubevirt_release_url "stable")
kubectl -n kubevirt patch kubevirt kubevirt --type=json --patch '[{"op":"add","path":"/spec/configuration/network","value":{}},{"op":"add","path":"/spec/configuration/network/binding","value":{"l2bridge":{"domainAttachmentType":"managedTap","migration":{}}}}]'

}

install_cert_manager() {
Expand Down
4 changes: 2 additions & 2 deletions contrib/kind-helm.sh
Original file line number Diff line number Diff line change
Expand Up @@ -52,8 +52,8 @@ set_default_params() {
export SVC_CIDR_IPV6=${SVC_CIDR_IPV6:-fd00:10:96::/112}
export JOIN_SUBNET_IPV4=${JOIN_SUBNET_IPV4:-100.64.0.0/16}
export JOIN_SUBNET_IPV6=${JOIN_SUBNET_IPV6:-fd98::/64}
export TRANSIT_SWITCH_SUBNET_IPV4=${TRANSIT_SWITCH_SUBNET_IPV4:-100.88.0.0/16}
export TRANSIT_SWITCH_SUBNET_IPV6=${TRANSIT_SWITCH_SUBNET_IPV6:-fd97::/64}
export TRANSIT_SUBNET_IPV4=${TRANSIT_SUBNET_IPV4:-100.88.0.0/16}
export TRANSIT_SUBNET_IPV6=${TRANSIT_SUBNET_IPV6:-fd97::/64}
export METALLB_CLIENT_NET_SUBNET_IPV4=${METALLB_CLIENT_NET_SUBNET_IPV4:-172.22.0.0/16}
export METALLB_CLIENT_NET_SUBNET_IPV6=${METALLB_CLIENT_NET_SUBNET_IPV6:-fc00:f853:ccd:e792::/64}

Expand Down
10 changes: 5 additions & 5 deletions contrib/kind.sh
Original file line number Diff line number Diff line change
Expand Up @@ -593,8 +593,8 @@ set_default_params() {
JOIN_SUBNET_IPV6=${JOIN_SUBNET_IPV6:-fd98::/64}
MASQUERADE_SUBNET_IPV4=${MASQUERADE_SUBNET_IPV4:-169.254.0.0/17}
MASQUERADE_SUBNET_IPV6=${MASQUERADE_SUBNET_IPV6:-fd69::/112}
TRANSIT_SWITCH_SUBNET_IPV4=${TRANSIT_SWITCH_SUBNET_IPV4:-100.88.0.0/16}
TRANSIT_SWITCH_SUBNET_IPV6=${TRANSIT_SWITCH_SUBNET_IPV6:-fd97::/64}
TRANSIT_SUBNET_IPV4=${TRANSIT_SUBNET_IPV4:-100.88.0.0/16}
TRANSIT_SUBNET_IPV6=${TRANSIT_SUBNET_IPV6:-fd97::/64}
METALLB_CLIENT_NET_SUBNET_IPV4=${METALLB_CLIENT_NET_SUBNET_IPV4:-172.22.0.0/16}
METALLB_CLIENT_NET_SUBNET_IPV6=${METALLB_CLIENT_NET_SUBNET_IPV6:-fc00:f853:ccd:e792::/64}
BGP_SERVER_NET_SUBNET_IPV4=${BGP_SERVER_NET_SUBNET_IPV4:-172.26.0.0/16}
Expand Down Expand Up @@ -631,7 +631,7 @@ set_default_params() {
OVN_HOST_NETWORK_NAMESPACE=${OVN_HOST_NETWORK_NAMESPACE:-ovn-host-network}
OVN_EGRESSIP_HEALTHCHECK_PORT=${OVN_EGRESSIP_HEALTHCHECK_PORT:-9107}
OCI_BIN=${KIND_EXPERIMENTAL_PROVIDER:-docker}
OVN_DEPLOY_PODS=${OVN_DEPLOY_PODS:-"ovnkube-zone-controller ovnkube-control-plane ovnkube-master ovnkube-node"}
OVN_DEPLOY_PODS=${OVN_DEPLOY_PODS:-"ovnkube-identity ovnkube-zone-controller ovnkube-control-plane ovnkube-master ovnkube-node"}
OVN_METRICS_SCALE_ENABLE=${OVN_METRICS_SCALE_ENABLE:-false}
OVN_ISOLATED=${OVN_ISOLATED:-false}
OVN_GATEWAY_OPTS=${OVN_GATEWAY_OPTS:-""}
Expand Down Expand Up @@ -914,8 +914,8 @@ create_ovn_kube_manifests() {
--v6-join-subnet="${JOIN_SUBNET_IPV6}" \
--v4-masquerade-subnet="${MASQUERADE_SUBNET_IPV4}" \
--v6-masquerade-subnet="${MASQUERADE_SUBNET_IPV6}" \
--v4-transit-switch-subnet="${TRANSIT_SWITCH_SUBNET_IPV4}" \
--v6-transit-switch-subnet="${TRANSIT_SWITCH_SUBNET_IPV6}" \
--v4-transit-subnet="${TRANSIT_SUBNET_IPV4}" \
--v6-transit-subnet="${TRANSIT_SUBNET_IPV6}" \
--ex-gw-network-interface="${OVN_EX_GW_NETWORK_INTERFACE}" \
--multi-network-enable="${ENABLE_MULTI_NET}" \
--network-segmentation-enable="${ENABLE_NETWORK_SEGMENTATION}" \
Expand Down
24 changes: 12 additions & 12 deletions dist/images/daemonset.sh
Original file line number Diff line number Diff line change
Expand Up @@ -79,8 +79,8 @@ OVN_V4_JOIN_SUBNET=""
OVN_V6_JOIN_SUBNET=""
OVN_V4_MASQUERADE_SUBNET=""
OVN_V6_MASQUERADE_SUBNET=""
OVN_V4_TRANSIT_SWITCH_SUBNET=""
OVN_V6_TRANSIT_SWITCH_SUBNET=""
OVN_V4_TRANSIT_SUBNET=""
OVN_V6_TRANSIT_SUBNET=""
OVN_NETFLOW_TARGETS=""
OVN_SFLOW_TARGETS=""
OVN_IPFIX_TARGETS=""
Expand Down Expand Up @@ -302,11 +302,11 @@ while [ "$1" != "" ]; do
--v6-masquerade-subnet)
OVN_V6_MASQUERADE_SUBNET=$VALUE
;;
--v4-transit-switch-subnet)
OVN_V4_TRANSIT_SWITCH_SUBNET=$VALUE
--v4-transit-subnet)
OVN_V4_TRANSIT_SUBNET=$VALUE
;;
--v6-transit-switch-subnet)
OVN_V6_TRANSIT_SWITCH_SUBNET=$VALUE
--v6-transit-subnet)
OVN_V6_TRANSIT_SUBNET=$VALUE
;;
--netflow-targets)
OVN_NETFLOW_TARGETS=$VALUE
Expand Down Expand Up @@ -536,10 +536,10 @@ ovn_v4_masquerade_subnet=${OVN_V4_MASQUERADE_SUBNET}
echo "ovn_v4_masquerade_subnet: ${ovn_v4_masquerade_subnet}"
ovn_v6_masquerade_subnet=${OVN_V6_MASQUERADE_SUBNET}
echo "ovn_v6_masquerade_subnet: ${ovn_v6_masquerade_subnet}"
ovn_v4_transit_switch_subnet=${OVN_V4_TRANSIT_SWITCH_SUBNET}
echo "ovn_v4_transit_switch_subnet: ${ovn_v4_transit_switch_subnet}"
ovn_v6_transit_switch_subnet=${OVN_V6_TRANSIT_SWITCH_SUBNET}
echo "ovn_v6_transit_switch_subnet: ${ovn_v6_transit_switch_subnet}"
ovn_v4_transit_subnet=${OVN_V4_TRANSIT_SUBNET}
echo "ovn_v4_transit_subnet: ${ovn_v4_transit_subnet}"
ovn_v6_transit_subnet=${OVN_V6_TRANSIT_SUBNET}
echo "ovn_v6_transit_subnet: ${ovn_v6_transit_subnet}"
ovn_netflow_targets=${OVN_NETFLOW_TARGETS}
echo "ovn_netflow_targets: ${ovn_netflow_targets}"
ovn_sflow_targets=${OVN_SFLOW_TARGETS}
Expand Down Expand Up @@ -842,8 +842,8 @@ ovn_image=${ovnkube_image} \
ovn_enable_multi_external_gateway=${ovn_enable_multi_external_gateway} \
ovn_enable_ovnkube_identity=${ovn_enable_ovnkube_identity} \
ovn_network_qos_enable=${ovn_network_qos_enable} \
ovn_v4_transit_switch_subnet=${ovn_v4_transit_switch_subnet} \
ovn_v6_transit_switch_subnet=${ovn_v6_transit_switch_subnet} \
ovn_v4_transit_subnet=${ovn_v4_transit_subnet} \
ovn_v6_transit_subnet=${ovn_v6_transit_subnet} \
ovn_enable_persistent_ips=${ovn_enable_persistent_ips} \
ovn_enable_dnsnameresolver=${ovn_enable_dnsnameresolver} \
ovn_observ_enable=${ovn_observ_enable} \
Expand Down
28 changes: 14 additions & 14 deletions dist/images/ovnkube.sh
Original file line number Diff line number Diff line change
Expand Up @@ -238,10 +238,10 @@ ovn_v6_join_subnet=${OVN_V6_JOIN_SUBNET:-}
ovn_v4_masquerade_subnet=${OVN_V4_MASQUERADE_SUBNET:-}
# OVN_V6_MASQUERADE_SUBNET - v6 masquerade subnet
ovn_v6_masquerade_subnet=${OVN_V6_MASQUERADE_SUBNET:-}
# OVN_V4_TRANSIT_SWITCH_SUBNET - v4 Transit switch subnet
ovn_v4_transit_switch_subnet=${OVN_V4_TRANSIT_SWITCH_SUBNET:-}
# OVN_V6_TRANSIT_SWITCH_SUBNET - v6 Transit switch subnet
ovn_v6_transit_switch_subnet=${OVN_V6_TRANSIT_SWITCH_SUBNET:-}
# OVN_V4_TRANSIT_SUBNET - v4 Transit subnet
ovn_v4_transit_subnet=${OVN_V4_TRANSIT_SUBNET:-}
# OVN_V6_TRANSIT_SUBNET - v6 Transit subnet
ovn_v6_transit_subnet=${OVN_V6_TRANSIT_SUBNET:-}
#OVN_REMOTE_PROBE_INTERVAL - ovn remote probe interval in ms (default 100000)
ovn_remote_probe_interval=${OVN_REMOTE_PROBE_INTERVAL:-100000}
#OVN_MONITOR_ALL - ovn-controller monitor all data in SB DB
Expand Down Expand Up @@ -2356,17 +2356,17 @@ ovn-cluster-manager() {
fi
echo "ovn_v6_masquerade_subnet_opt=${ovn_v6_masquerade_subnet_opt}"

ovn_v4_transit_switch_subnet_opt=
if [[ -n ${ovn_v4_transit_switch_subnet} ]]; then
ovn_v4_transit_switch_subnet_opt="--cluster-manager-v4-transit-switch-subnet=${ovn_v4_transit_switch_subnet}"
ovn_v4_transit_subnet_opt=
if [[ -n ${ovn_v4_transit_subnet} ]]; then
ovn_v4_transit_subnet_opt="--cluster-manager-v4-transit-subnet=${ovn_v4_transit_subnet}"
fi
echo "ovn_v4_transit_switch_subnet_opt=${ovn_v4_transit_switch_subnet}"
echo "ovn_v4_transit_subnet_opt=${ovn_v4_transit_subnet}"

ovn_v6_transit_switch_subnet_opt=
if [[ -n ${ovn_v6_transit_switch_subnet} ]]; then
ovn_v6_transit_switch_subnet_opt="--cluster-manager-v6-transit-switch-subnet=${ovn_v6_transit_switch_subnet}"
ovn_v6_transit_subnet_opt=
if [[ -n ${ovn_v6_transit_subnet} ]]; then
ovn_v6_transit_subnet_opt="--cluster-manager-v6-transit-subnet=${ovn_v6_transit_subnet}"
fi
echo "ovn_v6_transit_switch_subnet_opt=${ovn_v6_transit_switch_subnet}"
echo "ovn_v6_transit_subnet_opt=${ovn_v6_transit_subnet}"

multicast_enabled_flag=
if [[ ${ovn_multicast_enable} == "true" ]]; then
Expand Down Expand Up @@ -2476,8 +2476,8 @@ ovn-cluster-manager() {
${ovn_v4_masquerade_subnet_opt} \
${ovn_v6_join_subnet_opt} \
${ovn_v6_masquerade_subnet_opt} \
${ovn_v4_transit_switch_subnet_opt} \
${ovn_v6_transit_switch_subnet_opt} \
${ovn_v4_transit_subnet_opt} \
${ovn_v6_transit_subnet_opt} \
${network_qos_enabled_flag} \
${ovn_enable_dnsnameresolver_flag} \
--gateway-mode=${ovn_gateway_mode} \
Expand Down
8 changes: 4 additions & 4 deletions dist/templates/ovnkube-control-plane.yaml.j2
Original file line number Diff line number Diff line change
Expand Up @@ -179,10 +179,10 @@ spec:
value: "{{ ovn_enable_interconnect }}"
- name: OVN_ENABLE_MULTI_EXTERNAL_GATEWAY
value: "{{ ovn_enable_multi_external_gateway }}"
- name: OVN_V4_TRANSIT_SWITCH_SUBNET
value: "{{ ovn_v4_transit_switch_subnet }}"
- name: OVN_V6_TRANSIT_SWITCH_SUBNET
value: "{{ ovn_v6_transit_switch_subnet }}"
- name: OVN_V4_TRANSIT_SUBNET
value: "{{ ovn_v4_transit_subnet }}"
- name: OVN_V6_TRANSIT_SUBNET
value: "{{ ovn_v6_transit_subnet }}"
- name: OVN_ENABLE_PERSISTENT_IPS
value: "{{ ovn_enable_persistent_ips }}"
- name: OVN_NETWORK_QOS_ENABLE
Expand Down
4 changes: 2 additions & 2 deletions docs/installation/ovnkube.1
Original file line number Diff line number Diff line change
Expand Up @@ -154,10 +154,10 @@ Show help.
\fB\--version\fR, \fB\-v\fR
Print the version.
.TP
\fB\--cluster-manager-v4-transit-switch-subnet\fR string
\fB\--cluster-manager-v4-transit-subnet\fR string
The v4 transit switch subnet to use for assigning transit switch IPv4 addresses\fR.
.TP
\fB\--cluster-manager-v6-transit-switch-subnet\fR string
\fB\--cluster-manager-v6-transit-subnet\fR string
The v6 transit switch subnet to use for assigning transit switch IPv6 addresses\fR.

.SH "SEE ALSO"
Expand Down
5 changes: 2 additions & 3 deletions go-controller/.mockery.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ packages:
github.com/ovn-org/ovn-kubernetes/go-controller/pkg/cni:
interfaces:
CNIPluginLibOps:
NetNS:
config:
dir: pkg/cni/mocks
github.com/ovn-org/ovn-kubernetes/go-controller/pkg/kube:
Expand All @@ -24,9 +23,9 @@ packages:
config:
all: true
dir: pkg/kube/mocks
github.com/ovn-org/ovn-kubernetes/go-controller/pkg/node:
github.com/ovn-org/ovn-kubernetes/go-controller/pkg/node/managementport:
interfaces:
ManagementPort:
Interface:
github.com/ovn-org/ovn-kubernetes/go-controller/pkg/ovn/address_set:
config:
all: true
Expand Down
2 changes: 1 addition & 1 deletion go-controller/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ TOOLS_OUTPUT_DIR = ${CURDIR}/${OUT_DIR}
MOCKERY = ${TOOLS_OUTPUT_DIR}/mockery-${MOCKERY_VERSION}

## Tool Versions
MOCKERY_VERSION ?= v2.43.2
MOCKERY_VERSION ?= v2.53.4

export NOROOT

Expand Down
Loading