Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
111 commits
Select commit Hold shift + click to select a range
2356819
Add egressip feature enable flag to CM
tssurya Mar 20, 2023
79a9b52
Add egressIP factory to cluster-manager
tssurya Mar 25, 2023
744f097
Add utility DeleteLogicalRouterStaticRoutesWithPredicateOps
tssurya Mar 25, 2023
665b934
Split egressip into global and zone controllers
tssurya Mar 25, 2023
2e9b7b2
Merge pull request #3386 from tssurya/egress-ip-multi-zone
trozet May 24, 2023
b74b3aa
EIP: Move relevant metrics to CM
tssurya May 24, 2023
df58e4f
Add doc changes for IC metrics move
tssurya May 24, 2023
39bdf00
Add Admin Policy Based External Route CRD and related generated code …
jordigilh Apr 8, 2023
91046e8
Summary of changes:
jordigilh Apr 8, 2023
1ac592f
Merge pull request #3462 from jordigilh/sdn_2482_api_enhancement_exte…
trozet May 25, 2023
513482b
Initialize EgressIP stopChan in cluster-manager
kyrtapz May 25, 2023
41fb665
upgrade go and linter versions
jluhrsen May 17, 2023
89f953d
Allow external gateway bridge without uplink port In local gateway mode
pliurh May 6, 2023
e80027a
Use no-uplink gateway bridge in compact-mode e2e test
pliurh May 24, 2023
213398c
Merge pull request #3614 from kyrtapz/eipc_stopch
jcaamano May 26, 2023
5acded9
e2e: improve the error message of the getNetCIDRSubnet func
maiqueb May 5, 2023
8ae10c3
multi-net policies, IPAM less: fail when converting invalid policies
maiqueb May 11, 2023
faa0a7e
multi-net policies, IPAM less: allow ipBlock peers
maiqueb May 18, 2023
dc94736
multi-net policies, IPAM less, e2e: add test for IPAMless flat L2 pol…
maiqueb May 5, 2023
ae94d5b
multi-net policies, IPAM less: only warn for IPAMed networks
maiqueb May 23, 2023
119b745
Merge pull request #3574 from maiqueb/multi-policies-ipamless-ipblock
jcaamano May 26, 2023
e6d28b4
Merge branch 'master' into single_node
jcaamano May 26, 2023
28d8241
docs, multi-homing, policy: document IPAM-less policies restrictions
maiqueb May 26, 2023
2934912
Merge pull request #3577 from pliurh/single_node
trozet May 30, 2023
6af07aa
rename podLister to localPodLister for hybrid overlay
JacobTanenbaum May 22, 2023
5742aa1
code in the AddPod() for hybrid overlay that inits the Node not required
JacobTanenbaum May 22, 2023
bf598a1
Merge pull request #3618 from maiqueb/update-multi-net-policies-readm…
trozet May 30, 2023
a747b14
e2e, kind: parametrize OCI_BIN when creating secondary interfaces
maiqueb May 29, 2023
d4a92b5
multi-homing, e2e tests: extra interface for the kind deployment
maiqueb May 29, 2023
e579396
multi-homing, localnet, tests: configure underlay
maiqueb May 25, 2023
ed147de
multi-net, e2e, kind: remove shift instruction
maiqueb May 30, 2023
77ba451
Extract all namespace pod ips only when creating nsInfo.
npinaeva May 31, 2023
bd28b21
Merge pull request #3621 from maiqueb/configure-underlay-secondary-ne…
jcaamano May 31, 2023
68295ec
Merge pull request #3623 from npinaeva/scale-regression
dcbw May 31, 2023
91e8a3b
Fix cleanupStalePodSNATs if no podIPs are found
tssurya May 31, 2023
0927ea4
Increase unit test timeout to 20m for ovn pkg
jcaamano May 31, 2023
1f9f337
Merge pull request #3626 from jcaamano/ut-timeout
dcbw Jun 1, 2023
11b4be2
Merge pull request #3625 from tssurya/fix-fetch-podIPs-error
trozet Jun 1, 2023
be27a1c
Merge pull request #3608 from JacobTanenbaum/windows-rename
trozet Jun 1, 2023
b889499
Merge pull request #3611 from tssurya/move-EIP-metrics
trozet Jun 1, 2023
a1b8aef
Stop using a waitgroup in route manager
kyrtapz Jun 1, 2023
d9a9dee
Merge pull request #3630 from kyrtapz/route_mgr_fix
jcaamano Jun 2, 2023
1adb7e1
Merge pull request #3603 from jluhrsen/go20-makefile-update-linter-ve…
trozet Jun 2, 2023
7368222
CVE-2022-41723: net/http, golang.org/x/net/http2: avoid quadratic com…
pperiyasamy May 15, 2023
f543d45
apbroute: consolidate some startup code
dcbw Jun 1, 2023
2560332
fedora: Update OVN to 23.06.0-0.
numansiddique Jun 3, 2023
bb6a9dd
Merge pull request #3639 from numansiddique/ovn_22.06_fed_update
dcbw Jun 5, 2023
815884a
Unify egressservice file naming
kyrtapz May 9, 2023
d93a590
Move egressservice allocation to cluster-manager
kyrtapz May 11, 2023
a44dc11
Add multi-zone support for egressservice
kyrtapz May 18, 2023
4a4046e
test: rename libovsdbtest Cleanup -> Context
dcbw Jun 3, 2023
bc487cb
testing: add CreateTestData() method for libovsdb test server
dcbw Jun 3, 2023
e62ff50
test: use new libovsdb test server CreateTestData() in address set tests
dcbw Jun 5, 2023
979c42a
Merge pull request #3619 from kyrtapz/esvc_ic
trozet Jun 5, 2023
f8068d6
Merge pull request #3592 from pperiyasamy/cve-golang-x-net
trozet Jun 5, 2023
25d892c
Fixes invalid error while getting router NATs
trozet Jun 5, 2023
c9dccc4
Remove check for removal of egress GW annotation in namespace during …
jordigilh Jun 6, 2023
8b0d027
Merge pull request #3646 from trozet/fix_get_nat
trozet Jun 6, 2023
257d820
Merge pull request #3628 from dcbw/apbroute-cleanup
trozet Jun 6, 2023
50566be
Merge pull request #3649 from jordigilh/fix/remove_ns_annotation_vali…
trozet Jun 6, 2023
3f96b2f
kind: Add support for interconnect and multiple zones support.
numansiddique May 3, 2023
0742ee4
kind: Enhance interconnect support to deploy multiple nodes in a zone.
numansiddique May 4, 2023
981900c
e2e cp tests: Strip the leading and trailing qoutes from stdout of a …
numansiddique May 1, 2023
f9a7975
CI: Test multizone interconnect.
numansiddique Jul 6, 2022
f49c71c
CI: Add lane for kind-dual-stack-conversion with ovn-ic enabled
flavio-fernandes May 2, 2023
77713d2
Fix EIP control-plane tests when IC=true
tssurya May 31, 2023
fa5c490
Fix CPU Pinning tests in control plane for IC=true
tssurya May 31, 2023
857019f
Add EgressService flag to IC templates
kyrtapz May 19, 2023
fab9129
Merge pull request #3644 from dcbw/libovsdb-test-server-create-data
dcbw Jun 7, 2023
a111f50
multi-homing: fail if NetAttachDef provides ipam key
maiqueb Jun 2, 2023
e7b5dc9
multi-homing: remove redundant check
maiqueb Jun 2, 2023
4c6bc6f
multi-homing, tests: add successful scenario
maiqueb Jun 2, 2023
e881c76
multi-homing, tests: test parsing the default network config
maiqueb Jun 2, 2023
49ae4e3
multi-homing, tests: skip NetConfList network configurations
maiqueb Jun 2, 2023
afc8d86
Merge pull request #3366 from numansiddique/multiple_zone_support
trozet Jun 7, 2023
e2d9ee7
kind: Remove separate cluster manager support.
numansiddique Jun 7, 2023
b736326
Merge pull request #3633 from maiqueb/disallow-ipam-key-on-multi-net-…
trozet Jun 7, 2023
7bd8d5d
fix hybrid overlay test flakes by removing periodic syncflows from
JacobTanenbaum Jun 6, 2023
f42f504
Merge pull request #3654 from numansiddique/cleanup_separate_cm
trozet Jun 8, 2023
3888bea
fix issue running tests in docker
jluhrsen Jun 5, 2023
0a043c3
Merge branch 'master' into safe-dir
jluhrsen Jun 8, 2023
0a2c008
Merge pull request #3643 from jluhrsen/safe-dir
jcaamano Jun 9, 2023
91e29d9
APB External Route fixes for unit test:
jordigilh May 31, 2023
13edc85
Fix golangci-lint issues
trozet Jun 8, 2023
5f0e846
Fixes usages of get pod IPs
trozet Jun 8, 2023
f029b4c
pod annotations, tests: parametrize GetPodIPsOfNetwork networkInfo
maiqueb May 24, 2023
a92deee
pod annotations, tests: GetPodIPsOfNetwork for secondary network
maiqueb May 24, 2023
9434ddc
pod annotations: refactor GetPodIPsOfNetwork
trozet Jun 8, 2023
29ca926
pod annotations: refactor GetPodCIDRsWithFullMask
maiqueb May 25, 2023
afee2e8
Skip APB External Route tests in e2e when IC is enabled
jordigilh Jun 9, 2023
c490fbe
Merge pull request #3651 from JacobTanenbaum/removePeriodicFromTesting
trozet Jun 9, 2023
747d3b4
kind ic: Fix kind deployment failure if cluster name is specified.
numansiddique Jun 9, 2023
b982b8c
Merge pull request #3624 from jordigilh/fix/apbroute_flaky_test
trozet Jun 9, 2023
36a9193
Add NCMWatchFactory
tssurya Jun 12, 2023
e25328e
Merge pull request #3661 from trozet/fix_golangci-lint
trozet Jun 12, 2023
4c16dd9
Merge pull request #3655 from trozet/fix-get-all-pod-ips
trozet Jun 12, 2023
092234d
Validate port before deleting conntrack flow
andreaskaris Jun 9, 2023
67b4c26
Merge pull request #3632 from tssurya/egress-cloud-private-ip-config
trozet Jun 12, 2023
e8fa376
Merge pull request #3660 from andreaskaris/verify-conntrack-service-port
dcbw Jun 13, 2023
908d683
fake address set: don't check for concurrency on destroy
jcaamano Jun 14, 2023
70918fc
Use the old leadership lock name for global zone
jcaamano Jun 13, 2023
474b875
Merge pull request #3662 from numansiddique/ic_cluster_name_kind_fix
dcbw Jun 14, 2023
adcf68b
Merge pull request #3671 from jcaamano/ncm-leader-lock-name
trozet Jun 15, 2023
2c4701d
rebase_1.27: update k8s.io modules and vendor
jluhrsen May 15, 2023
3ce2d31
rebase_1.27: update OnAdd calls from client-go
jluhrsen May 15, 2023
cb5374a
rebase_1.27: update lint to v1.52.2 (latest) and fix lint errors
jluhrsen May 16, 2023
4e8a543
update go version for github jobs
jluhrsen Jun 6, 2023
a985842
Merge pull request #3672 from jcaamano/fake-as-destroy-fix
trozet Jun 17, 2023
b4392c2
Merge pull request #3593 from jluhrsen/SDN-3899
trozet Jun 17, 2023
e101629
Merge remote-tracking branch 'origin/master' into 6-18-2023-merge
trozet Jun 18, 2023
f90d045
CARRY: bump dockerfile to golang 1.20
trozet Jun 18, 2023
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 .github/workflows/docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ permissions:
contents: read

env:
GO_VERSION: 1.18.4
GO_VERSION: 1.19.6
REGISTRY: ghcr.io
OWNER: ovn-org
REPOSITORY: ovn-kubernetes
Expand Down
56 changes: 36 additions & 20 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ permissions:
contents: read

env:
GO_VERSION: "1.18.4"
GO_VERSION: "1.19.6"
K8S_VERSION: v1.24.0
KIND_CLUSTER_NAME: ovn
KIND_INSTALL_INGRESS: true
Expand Down Expand Up @@ -45,7 +45,7 @@ jobs:
- name: Verify
uses: golangci/golangci-lint-action@v3
with:
version: v1.46
version: v1.52
working-directory: go-controller
args: --modules-download-mode=vendor --timeout=15m0s --verbose
skip-go-installation: true
Expand Down Expand Up @@ -360,29 +360,33 @@ jobs:
fail-fast: false
matrix:
# Valid options are:
# target: ["shard-conformance", "control-plane" ]
# target: ["shard-conformance", "control-plane", "multi-homing", "multi-node-zones", "node-ip-migration", "compact-mode"]
# shard-conformance: hybrid-overlay = multicast-enable = emptylb-enable = false
# control-plane: hybrid-overlay = multicast-enable = emptylb-enable = true
# ha: ["HA", "noHA"]
# gateway-mode: ["local", "shared"]
# ipfamily: ["ipv4", "ipv6", "dualstack"]
# disable-snat-multiple-gws: ["noSnatGW", "snatGW"]
# second-bridge: ["2br", "1br"]
# separate-cluster-manager: ["true", "false"]
# ic: ["ic-disabled", "ic-single-node-zones", "ic-multi-node-zones"]
# num-workers : "<integer value>"
# num-nodes-per-zone : "<integer value>"
include:
- {"target": "shard-conformance", "ha": "HA", "gateway-mode": "local", "ipfamily": "ipv6", "disable-snat-multiple-gws": "snatGW", "second-bridge": "1br", "separate-cluster-manager": "false"}
- {"target": "shard-conformance", "ha": "HA", "gateway-mode": "local", "ipfamily": "dualstack", "disable-snat-multiple-gws": "snatGW", "second-bridge": "1br", "separate-cluster-manager": "false"}
- {"target": "shard-conformance", "ha": "HA", "gateway-mode": "shared", "ipfamily": "ipv4", "disable-snat-multiple-gws": "snatGW", "second-bridge": "1br", "separate-cluster-manager": "false"}
- {"target": "shard-conformance", "ha": "HA", "gateway-mode": "shared", "ipfamily": "ipv6", "disable-snat-multiple-gws": "snatGW", "second-bridge": "1br", "separate-cluster-manager": "true"}
- {"target": "shard-conformance", "ha": "noHA", "gateway-mode": "local", "ipfamily": "ipv4", "disable-snat-multiple-gws": "snatGW", "second-bridge": "1br", "separate-cluster-manager": "true"}
- {"target": "control-plane", "ha": "HA", "gateway-mode": "shared", "ipfamily": "ipv4", "disable-snat-multiple-gws": "noSnatGW", "second-bridge": "1br", "separate-cluster-manager": "false"}
- {"target": "control-plane", "ha": "HA", "gateway-mode": "shared", "ipfamily": "ipv4", "disable-snat-multiple-gws": "snatGW", "second-bridge": "1br", "separate-cluster-manager": "true"}
- {"target": "control-plane", "ha": "noHA", "gateway-mode": "local", "ipfamily": "ipv4", "disable-snat-multiple-gws": "noSnatGW", "second-bridge": "2br", "separate-cluster-manager": "false"}
- {"target": "control-plane", "ha": "noHA", "gateway-mode": "local", "ipfamily": "ipv4", "disable-snat-multiple-gws": "noSnatGW", "second-bridge": "1br", "separate-cluster-manager": "true"}
- {"target": "control-plane", "ha": "noHA", "gateway-mode": "shared", "ipfamily": "ipv4", "disable-snat-multiple-gws": "noSnatGW", "second-bridge": "2br", "separate-cluster-manager": "false"}
- {"target": "multi-homing", "ha": "noHA", "gateway-mode": "local", "ipfamily": "ipv4", "disable-snat-multiple-gws": "SnatGW", "second-bridge": "1br", "separate-cluster-manager": "false"}
- {"target": "node-ip-migration", "ha": "noHA", "gateway-mode": "shared", "ipfamily": "ipv6", "disable-snat-multiple-gws": "SnatGW", "second-bridge": "1br", "separate-cluster-manager": "true"}
- {"target": "compact-mode", "ha": "noHA", "gateway-mode": "local", "ipfamily": "ipv4", "disable-snat-multiple-gws": "snatGW", "second-bridge": "1br", "separate-cluster-manager": "false"}
- {"target": "shard-conformance", "ha": "HA", "gateway-mode": "local", "ipfamily": "ipv6", "disable-snat-multiple-gws": "snatGW", "second-bridge": "1br", "ic": "ic-disabled"}
- {"target": "shard-conformance", "ha": "HA", "gateway-mode": "shared", "ipfamily": "ipv4", "disable-snat-multiple-gws": "snatGW", "second-bridge": "1br", "ic": "ic-disabled"}
- {"target": "shard-conformance", "ha": "noHA", "gateway-mode": "local", "ipfamily": "dualstack", "disable-snat-multiple-gws": "snatGW", "second-bridge": "1br", "ic": "ic-single-node-zones"}
- {"target": "shard-conformance", "ha": "noHA", "gateway-mode": "shared", "ipfamily": "ipv6", "disable-snat-multiple-gws": "snatGW", "second-bridge": "1br", "ic": "ic-single-node-zones"}
- {"target": "shard-conformance", "ha": "noHA", "gateway-mode": "shared", "ipfamily": "ipv4", "disable-snat-multiple-gws": "snatGW", "second-bridge": "1br", "ic": "ic-single-node-zones"}
- {"target": "control-plane", "ha": "HA", "gateway-mode": "shared", "ipfamily": "ipv4", "disable-snat-multiple-gws": "noSnatGW", "second-bridge": "1br", "ic": "ic-disabled"}
- {"target": "control-plane", "ha": "HA", "gateway-mode": "shared", "ipfamily": "ipv4", "disable-snat-multiple-gws": "snatGW", "second-bridge": "1br", "ic": "ic-disabled"}
- {"target": "control-plane", "ha": "noHA", "gateway-mode": "local", "ipfamily": "ipv4", "disable-snat-multiple-gws": "noSnatGW", "second-bridge": "2br", "ic": "ic-single-node-zones"}
- {"target": "control-plane", "ha": "noHA", "gateway-mode": "local", "ipfamily": "ipv4", "disable-snat-multiple-gws": "noSnatGW", "second-bridge": "1br", "ic": "ic-single-node-zones"}
- {"target": "control-plane", "ha": "noHA", "gateway-mode": "shared", "ipfamily": "ipv4", "disable-snat-multiple-gws": "noSnatGW", "second-bridge": "2br", "ic": "ic-single-node-zones"}
- {"target": "multi-homing", "ha": "noHA", "gateway-mode": "local", "ipfamily": "ipv4", "disable-snat-multiple-gws": "SnatGW", "second-bridge": "1br", "ic": "ic-disabled"}
- {"target": "node-ip-migration", "ha": "noHA", "gateway-mode": "shared", "ipfamily": "ipv6", "disable-snat-multiple-gws": "SnatGW", "second-bridge": "1br", "ic": "ic-disabled"}
- {"target": "compact-mode", "ha": "noHA", "gateway-mode": "local", "ipfamily": "ipv4", "disable-snat-multiple-gws": "snatGW", "second-bridge": "1br", "ic": "ic-disabled"}
- {"target": "multi-homing", "ha": "noHA", "gateway-mode": "local", "ipfamily": "dualstack", "disable-snat-multiple-gws": "SnatGW", "second-bridge": "1br", "ic": "ic-single-node-zones"}
- {"target": "multi-node-zones", "ha": "noHA", "gateway-mode": "local", "ipfamily": "ipv4", "disable-snat-multiple-gws": "SnatGW", "second-bridge": "1br", "ic": "ic-multi-node-zones", "num-workers": "3", "num-nodes-per-zone": "2"}
needs: [ build-pr ]
env:
JOB_NAME: "${{ matrix.target }}-${{ matrix.ha }}-${{ matrix.gateway-mode }}-${{ matrix.ipfamily }}-${{ matrix.disable-snat-multiple-gws }}-${{ matrix.second-bridge }}"
Expand All @@ -397,9 +401,11 @@ jobs:
KIND_IPV4_SUPPORT: "${{ matrix.ipfamily == 'IPv4' || matrix.ipfamily == 'dualstack' }}"
KIND_IPV6_SUPPORT: "${{ matrix.ipfamily == 'IPv6' || matrix.ipfamily == 'dualstack' }}"
ENABLE_MULTI_NET: "${{ matrix.target == 'multi-homing' }}"
OVN_SEPARATE_CLUSTER_MANAGER: "${{ matrix.separate-cluster-manager == 'true' }}"
OVN_COMPACT_MODE: "${{ matrix.target == 'compact-mode' }}"
OVN_DUMMY_GATEWAY_BRIDGE: "${{ matrix.target == 'compact-mode' }}"
OVN_ENABLE_INTERCONNECT: "${{ matrix.ic == 'ic-single-node-zones' || matrix.ic == 'ic-multi-node-zones'}}"
KIND_NUM_WORKER: "${{ matrix.num-workers }}"
KIND_NUM_NODES_PER_ZONE: "${{ matrix.num-nodes-per-zone }}"
steps:

- name: Free up disk space
Expand Down Expand Up @@ -456,6 +462,8 @@ jobs:
make -C test control-plane WHAT="Node IP address migration"
elif [ "${{ matrix.target }}" == "compact-mode" ]; then
SINGLE_NODE_CLUSTER="true" make -C test shard-network
elif [ "${{ matrix.target }}" == "multi-node-zones" ]; then
make -C test control-plane WHAT="Multi node zones interconnect"
else
make -C test ${{ matrix.target }}
fi
Expand All @@ -480,16 +488,24 @@ jobs:
timeout-minutes: 60
strategy:
fail-fast: false
matrix:
include:
- {"ha": "HA", "interconnect": "interconnect-disabled"}
- {"ha": "noHA", "interconnect": "interconnect-single-node-zones", "num-zones": "3", "num-nodes-per-zone": "1"}
# - {"ha": "noHA", "interconnect": "interconnect-multi-node-zones", "num-zones": "2", "num-nodes-per-zone": "2"}
needs: [ build-pr ]
env:
JOB_NAME: "DualStack-conversion-shared"
OVN_HA: "true"
JOB_NAME: "DualStack-conversion-shared-${{ matrix.ha }}-${{ matrix.interconnect }}"
OVN_HA: "${{ matrix.ha == 'HA' }}"
KIND_IPV4_SUPPORT: "true"
KIND_IPV6_SUPPORT: "false"
OVN_HYBRID_OVERLAY_ENABLE: "false"
OVN_GATEWAY_MODE: "shared"
OVN_MULTICAST_ENABLE: "false"
DUALSTACK_CONVERSION: "true"
OVN_ENABLE_INTERCONNECT: "${{ matrix.interconnect == 'interconnect-single-node-zones' || matrix.interconnect == 'interconnect-multi-node-zones'}}"
KIND_NUM_ZONES: "${{ matrix.num-zones }}"
KIND_NUM_NODES_PER_ZONE: "${{ matrix.num-nodes-per-zone }}"
steps:

- name: Set up Go
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test_periodic.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ permissions:
contents: read

env:
GO_VERSION: "1.18.4"
GO_VERSION: "1.19.6"
K8S_VERSION: v1.24.0
KIND_CLUSTER_NAME: ovn
KIND_INSTALL_INGRESS: true
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
#
# The standard name for this image is ovn-kube

FROM registry.ci.openshift.org/ocp/builder:rhel-9-golang-1.19-openshift-4.14 AS builder
FROM registry.ci.openshift.org/ocp/builder:rhel-9-golang-1.20-openshift-4.14 AS builder

WORKDIR /go/src/github.com/openshift/ovn-kubernetes
COPY . .
Expand Down
5 changes: 2 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,8 @@ kubectl create -f $HOME/work/src/github.com/ovn-org/ovn-kubernetes/dist/yaml/ovn
kubectl create -f $HOME/work/src/github.com/ovn-org/ovn-kubernetes/dist/yaml/k8s.ovn.org_egressips.yaml
# create egressfirewalls.k8s.ovn.org CRD
kubectl create -f $HOME/work/src/github.com/ovn-org/ovn-kubernetes/dist/yaml/k8s.ovn.org_egressfirewalls.yaml
# create adminpolicybasedexternalroute.k8s.ovn.org CRD
kubectl create -f $HOME/work/src/github.com/ovn-org/ovn-kubernetes/dist/yaml/k8s.ovn.org_adminpolicybasedexternalroutes.yaml

# Run ovnkube-db deployment.
kubectl create -f $HOME/work/src/github.com/ovn-org/ovn-kubernetes/dist/yaml/ovnkube-db.yaml
Expand All @@ -77,9 +79,6 @@ kubectl create -f $HOME/work/src/github.com/ovn-org/ovn-kubernetes/dist/yaml/ovn
# To run ovnkube-master deployment with both cluster manager and network controller manager as one container)
kubectl create -f $HOME/work/src/github.com/ovn-org/ovn-kubernetes/dist/yaml/ovnkube-master.yaml

# or to run ovnkube-master deployment with cluster manager and network controller manager as independent containers.
kubectl create -f $HOME/work/src/github.com/ovn-org/ovn-kubernetes/dist/yaml/ovnkube-cm-ncm.yaml

# Run ovnkube daemonset for nodes
kubectl create -f $HOME/work/src/github.com/ovn-org/ovn-kubernetes/dist/yaml/ovnkube-node.yaml
```
Expand Down
18 changes: 15 additions & 3 deletions contrib/kind-dual-stack-conversion.sh
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,14 @@ convert_cni() {
printf '%s' "${FIXED_OVNCONFIG}" | kubectl apply -f -
# restart ovnkube-master
# FIXME: kubectl rollout restart deployment leaves the old pod hanging
# as workaround we delete the master directly
kubectl -n ovn-kubernetes delete pod -l name=ovnkube-master
# as workaround we delete the master directly. When deployed with
# OVN_INTERCONNECT_ENABLE=true, the db and ncm pods need that too.
# Depending on how kind was deployed, the pods have different labels.
kubectl -n ovn-kubernetes delete pod -l name=ovnkube-db ||:
kubectl -n ovn-kubernetes delete pod -l name=ovnkube-zone-controller ||:
kubectl -n ovn-kubernetes delete pod -l name=ovnkube-master ||:
kubectl -n ovn-kubernetes delete pod -l name=ovnkube-control-plane ||:

# restart ovnkube-node
kubectl -n ovn-kubernetes rollout restart daemonset ovnkube-node
kubectl -n ovn-kubernetes rollout status daemonset ovnkube-node
Expand Down Expand Up @@ -103,13 +109,19 @@ SECONDARY_SERVICE_SUBNET=${SECONDARY_SERVICE_SUBNET:-"fd00:10:96::/112"}
SECONDARY_CLUSTER_SUBNET=${SECONDARY_CLUSTER_SUBNET:-"fd00:10:244::/56"}

# NOTE: ovn only
export KUBECONFIG=${HOME}/ovn.conf
export KUBECONFIG=${KUBECONFIG:-${HOME}/ovn.conf}

# KIND nodes
NODES=$(kind get nodes --name ${CLUSTER_NAME})
CONTROL_PLANE_NODES=$(kind get nodes --name ${CLUSTER_NAME} | grep control)
WORKER_NODES=$(kind get nodes --name ${CLUSTER_NAME} | grep worker)

# Warm up images into KIND
for IMG in registry.k8s.io/e2e-test-images/agnhost:2.21 httpd:2.4 ; do \
docker pull $IMG
kind load docker-image $IMG --name ovn
done

# Create a deployment with 2 pods
cat <<EOF | kubectl apply -f -
apiVersion: apps/v1
Expand Down
Loading