Skip to content

[DNM] OVS cpu part2 saga revert set1 #2558

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 18 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
5 changes: 4 additions & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -489,6 +489,7 @@ jobs:
OVN_DISABLE_FORWARDING: "${{ matrix.forwarding == 'disable-forwarding' }}"
USE_HELM: "${{ matrix.target == 'control-plane-helm' || matrix.target == 'multi-homing-helm' }}"
OVN_ENABLE_DNSNAMERESOLVER: "${{ matrix.dns-name-resolver == 'enable-dns-name-resolver' }}"
OVN_NETWORK_QOS_ENABLE: "${{ matrix.target == 'control-plane' || matrix.target == 'control-plane-helm' }}"
TRAFFIC_FLOW_TESTS: "${{ matrix.traffic-flow-tests }}"
ENABLE_ROUTE_ADVERTISEMENTS: "${{ matrix.routeadvertisements != '' }}"
ADVERTISE_DEFAULT_NETWORK: "${{ matrix.routeadvertisements == 'advertise-default' }}"
Expand Down Expand Up @@ -629,7 +630,9 @@ jobs:
make -C test control-plane WHAT="Kubevirt Virtual Machines"
elif [ "${{ matrix.target }}" == "control-plane-helm" ]; then
make -C test control-plane
make -C test conformance
if [ "${{ matrix.ipfamily }}" != "ipv6" ]; then
make -C test conformance
fi
elif [ "${{ matrix.target }}" == "network-segmentation" ]; then
make -C test control-plane WHAT="Network Segmentation"
elif [ "${{ matrix.target }}" == "bgp" ]; then
Expand Down
7 changes: 7 additions & 0 deletions contrib/kind-helm.sh
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ set_default_params() {
export KIND_REMOVE_TAINT=${KIND_REMOVE_TAINT:-true}
export ENABLE_MULTI_NET=${ENABLE_MULTI_NET:-false}
export ENABLE_NETWORK_SEGMENTATION=${ENABLE_NETWORK_SEGMENTATION:-false}
export OVN_NETWORK_QOS_ENABLE=${OVN_NETWORK_QOS_ENABLE:-false}
export KIND_NUM_WORKER=${KIND_NUM_WORKER:-2}
export KIND_CLUSTER_NAME=${KIND_CLUSTER_NAME:-ovn}
export OVN_IMAGE=${OVN_IMAGE:-'ghcr.io/ovn-kubernetes/ovn-kubernetes/ovn-kube-ubuntu:helm'}
Expand Down Expand Up @@ -98,6 +99,7 @@ usage() {
echo " [ -ikv | --install-kubevirt ]"
echo " [ -mne | --multi-network-enable ]"
echo " [ -nse | --network-segmentation-enable ]"
echo " [ -nqe | --network-qos-enable ]"
echo " [ -wk | --num-workers <num> ]"
echo " [ -ic | --enable-interconnect]"
echo " [ -npz | --node-per-zone ]"
Expand All @@ -119,6 +121,7 @@ usage() {
echo "-ikv | --install-kubevirt Install kubevirt"
echo "-mne | --multi-network-enable Enable multi networks. DEFAULT: Disabled"
echo "-nse | --network-segmentation-enable Enable network segmentation. DEFAULT: Disabled"
echo "-nqe | --network-qos-enable Enable network QoS. DEFAULT: Disabled"
echo "-ha | --ha-enabled Enable high availability. DEFAULT: HA Disabled"
echo "-wk | --num-workers Number of worker nodes. DEFAULT: 2 workers"
echo "-cn | --cluster-name Configure the kind cluster's name"
Expand Down Expand Up @@ -165,6 +168,8 @@ parse_args() {
;;
-nse | --network-segmentation-enable) ENABLE_NETWORK_SEGMENTATION=true
;;
-nqe | --network-qos-enable ) OVN_NETWORK_QOS_ENABLE=true
;;
-ha | --ha-enabled ) OVN_HA=true
KIND_NUM_MASTER=3
;;
Expand Down Expand Up @@ -218,6 +223,7 @@ print_params() {
echo "KIND_REMOVE_TAINT = $KIND_REMOVE_TAINT"
echo "ENABLE_MULTI_NET = $ENABLE_MULTI_NET"
echo "ENABLE_NETWORK_SEGMENTATION = $ENABLE_NETWORK_SEGMENTATION"
echo "OVN_NETWORK_QOS_ENABLE = $OVN_NETWORK_QOS_ENABLE"
echo "OVN_IMAGE = $OVN_IMAGE"
echo "KIND_NUM_MASTER = $KIND_NUM_MASTER"
echo "KIND_NUM_WORKER = $KIND_NUM_WORKER"
Expand Down Expand Up @@ -414,6 +420,7 @@ helm install ovn-kubernetes . -f "${value_file}" \
--set global.enableObservability=$(if [ "${OVN_OBSERV_ENABLE}" == "true" ]; then echo "true"; else echo "false"; fi) \
--set global.emptyLbEvents=$(if [ "${OVN_EMPTY_LB_EVENTS}" == "true" ]; then echo "true"; else echo "false"; fi) \
--set global.enableDNSNameResolver=$(if [ "${OVN_ENABLE_DNSNAMERESOLVER}" == "true" ]; then echo "true"; else echo "false"; fi) \
--set global.enableNetworkQos=$(if [ "${OVN_NETWORK_QOS_ENABLE}" == "true" ]; then echo "true"; else echo "false"; fi) \
${ovnkube_db_options}
EOF
)
Expand Down
8 changes: 8 additions & 0 deletions contrib/kind.sh
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,7 @@ usage() {
echo " [-ic | --enable-interconnect]"
echo " [-rae | --enable-route-advertisements]"
echo " [-adv | --advertise-default-network]"
echo " [-nqe | --network-qos-enable]"
echo " [--isolated]"
echo " [-dns | --enable-dnsnameresolver]"
echo " [-obs | --observability]"
Expand Down Expand Up @@ -141,6 +142,7 @@ usage() {
echo "-sm | --scale-metrics Enable scale metrics"
echo "-cm | --compact-mode Enable compact mode, ovnkube master and node run in the same process."
echo "-ic | --enable-interconnect Enable interconnect with each node as a zone (only valid if OVN_HA is false)"
echo "-nqe | --network-qos-enable Enable network QoS. DEFAULT: Disabled."
echo "--disable-ovnkube-identity Disable per-node cert and ovnkube-identity webhook"
echo "-npz | --nodes-per-zone If interconnect is enabled, number of nodes per zone (Default 1). If this value > 1, then (total k8s nodes (workers + 1) / num of nodes per zone) should be zero."
echo "-mtu Define the overlay mtu"
Expand Down Expand Up @@ -346,6 +348,8 @@ parse_args() {
-mtu ) shift
OVN_MTU=$1
;;
-nqe | --network-qos-enable ) OVN_NETWORK_QOS_ENABLE=true
;;
--delete ) delete
exit
;;
Expand Down Expand Up @@ -439,6 +443,7 @@ print_params() {
fi
fi
echo "OVN_ENABLE_OVNKUBE_IDENTITY = $OVN_ENABLE_OVNKUBE_IDENTITY"
echo "OVN_NETWORK_QOS_ENABLE = $OVN_NETWORK_QOS_ENABLE"
echo "KIND_NUM_WORKER = $KIND_NUM_WORKER"
echo "OVN_MTU= $OVN_MTU"
echo "OVN_ENABLE_DNSNAMERESOLVER= $OVN_ENABLE_DNSNAMERESOLVER"
Expand Down Expand Up @@ -603,6 +608,7 @@ set_default_params() {
KIND_NUM_MASTER=1
OVN_ENABLE_INTERCONNECT=${OVN_ENABLE_INTERCONNECT:-false}
OVN_ENABLE_OVNKUBE_IDENTITY=${OVN_ENABLE_OVNKUBE_IDENTITY:-true}
OVN_NETWORK_QOS_ENABLE=${OVN_NETWORK_QOS_ENABLE:-false}


if [ "$OVN_COMPACT_MODE" == true ] && [ "$OVN_ENABLE_INTERCONNECT" != false ]; then
Expand Down Expand Up @@ -901,6 +907,7 @@ create_ovn_kube_manifests() {
--enable-multi-external-gateway=true \
--enable-ovnkube-identity="${OVN_ENABLE_OVNKUBE_IDENTITY}" \
--enable-persistent-ips=true \
--network-qos-enable="${OVN_NETWORK_QOS_ENABLE}" \
--mtu="${OVN_MTU}" \
--enable-dnsnameresolver="${OVN_ENABLE_DNSNAMERESOLVER}" \
--mtu="${OVN_MTU}" \
Expand Down Expand Up @@ -985,6 +992,7 @@ install_ovn() {
run_kubectl apply -f k8s.ovn.org_egressqoses.yaml
run_kubectl apply -f k8s.ovn.org_egressservices.yaml
run_kubectl apply -f k8s.ovn.org_adminpolicybasedexternalroutes.yaml
run_kubectl apply -f k8s.ovn.org_networkqoses.yaml
run_kubectl apply -f k8s.ovn.org_userdefinednetworks.yaml
run_kubectl apply -f k8s.ovn.org_clusteruserdefinednetworks.yaml
run_kubectl apply -f k8s.ovn.org_routeadvertisements.yaml
Expand Down
15 changes: 15 additions & 0 deletions dist/images/daemonset.sh
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,7 @@ OVN_ENABLE_INTERCONNECT=
OVN_ENABLE_OVNKUBE_IDENTITY="true"
OVN_ENABLE_PERSISTENT_IPS=
OVN_ENABLE_SVC_TEMPLATE_SUPPORT="true"
OVN_NETWORK_QOS_ENABLE=
OVN_ENABLE_DNSNAMERESOLVER="false"
OVN_NOHOSTSUBNET_LABEL=""
OVN_DISABLE_REQUESTEDCHASSIS="false"
Expand Down Expand Up @@ -362,6 +363,9 @@ while [ "$1" != "" ]; do
--enable-svc-template-support)
OVN_ENABLE_SVC_TEMPLATE_SUPPORT=$VALUE
;;
--network-qos-enable)
OVN_NETWORK_QOS_ENABLE=$VALUE
;;
--enable-dnsnameresolver)
OVN_ENABLE_DNSNAMERESOLVER=$VALUE
;;
Expand Down Expand Up @@ -565,6 +569,9 @@ echo "ovn_enable_persistent_ips: ${ovn_enable_persistent_ips}"
ovn_enable_svc_template_support=${OVN_ENABLE_SVC_TEMPLATE_SUPPORT}
echo "ovn_enable_svc_template_support: ${ovn_enable_svc_template_support}"

ovn_network_qos_enable=${OVN_NETWORK_QOS_ENABLE}
echo "ovn_network_qos_enable: ${ovn_network_qos_enable}"

ovn_enable_dnsnameresolver=${OVN_ENABLE_DNSNAMERESOLVER}
echo "ovn_enable_dnsnameresolver: ${ovn_enable_dnsnameresolver}"

Expand Down Expand Up @@ -627,6 +634,7 @@ ovn_image=${ovnkube_image} \
ovn_enable_multi_external_gateway=${ovn_enable_multi_external_gateway} \
ovn_enable_ovnkube_identity=${ovn_enable_ovnkube_identity} \
ovn_observ_enable=${ovn_observ_enable} \
ovn_network_qos_enable=${ovn_network_qos_enable} \
ovnkube_app_name=ovnkube-node \
jinjanate ../templates/ovnkube-node.yaml.j2 -o ${output_dir}/ovnkube-node.yaml

Expand Down Expand Up @@ -680,6 +688,7 @@ ovn_image=${ovnkube_image} \
ovn_enable_multi_external_gateway=${ovn_enable_multi_external_gateway} \
ovn_enable_ovnkube_identity=${ovn_enable_ovnkube_identity} \
ovn_observ_enable=${ovn_observ_enable} \
ovn_network_qos_enable=${ovn_network_qos_enable} \
ovnkube_app_name=ovnkube-node-dpu \
jinjanate ../templates/ovnkube-node.yaml.j2 -o ${output_dir}/ovnkube-node-dpu.yaml

Expand Down Expand Up @@ -722,6 +731,7 @@ ovn_image=${image} \
ovn_ex_gw_networking_interface=${ovn_ex_gw_networking_interface} \
ovnkube_node_mgmt_port_netdev=${ovnkube_node_mgmt_port_netdev} \
ovn_enable_ovnkube_identity=${ovn_enable_ovnkube_identity} \
ovn_network_qos_enable=${ovn_network_qos_enable} \
ovnkube_app_name=ovnkube-node-dpu-host \
jinjanate ../templates/ovnkube-node.yaml.j2 -o ${output_dir}/ovnkube-node-dpu-host.yaml

Expand Down Expand Up @@ -768,6 +778,7 @@ ovn_image=${ovnkube_image} \
ovn_unprivileged_mode=${ovn_unprivileged_mode} \
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_enable_persistent_ips=${ovn_enable_persistent_ips} \
ovn_enable_svc_template_support=${ovn_enable_svc_template_support} \
ovn_enable_dnsnameresolver=${ovn_enable_dnsnameresolver} \
Expand Down Expand Up @@ -812,6 +823,7 @@ ovn_image=${ovnkube_image} \
ovn_enable_interconnect=${ovn_enable_interconnect} \
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_enable_persistent_ips=${ovn_enable_persistent_ips} \
Expand Down Expand Up @@ -909,6 +921,7 @@ ovn_image=${ovnkube_image} \
ovn_enable_interconnect=${ovn_enable_interconnect} \
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_northd_backoff_interval=${ovn_northd_backoff_interval} \
ovn_enable_persistent_ips=${ovn_enable_persistent_ips} \
ovn_enable_svc_template_support=${ovn_enable_svc_template_support} \
Expand Down Expand Up @@ -974,6 +987,7 @@ ovn_image=${ovnkube_image} \
ovn_enable_interconnect=${ovn_enable_interconnect} \
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_northd_backoff_interval=${ovn_enable_backoff_interval} \
ovn_enable_persistent_ips=${ovn_enable_persistent_ips} \
ovn_enable_svc_template_support=${ovn_enable_svc_template_support} \
Expand Down Expand Up @@ -1060,6 +1074,7 @@ cp ../templates/k8s.ovn.org_egressips.yaml.j2 ${output_dir}/k8s.ovn.org_egressip
cp ../templates/k8s.ovn.org_egressqoses.yaml.j2 ${output_dir}/k8s.ovn.org_egressqoses.yaml
cp ../templates/k8s.ovn.org_egressservices.yaml.j2 ${output_dir}/k8s.ovn.org_egressservices.yaml
cp ../templates/k8s.ovn.org_adminpolicybasedexternalroutes.yaml.j2 ${output_dir}/k8s.ovn.org_adminpolicybasedexternalroutes.yaml
cp ../templates/k8s.ovn.org_networkqoses.yaml.j2 ${output_dir}/k8s.ovn.org_networkqoses.yaml
cp ../templates/k8s.ovn.org_userdefinednetworks.yaml.j2 ${output_dir}/k8s.ovn.org_userdefinednetworks.yaml
cp ../templates/k8s.ovn.org_clusteruserdefinednetworks.yaml.j2 ${output_dir}/k8s.ovn.org_clusteruserdefinednetworks.yaml
cp ../templates/k8s.ovn.org_routeadvertisements.yaml.j2 ${output_dir}/k8s.ovn.org_routeadvertisements.yaml
Expand Down
38 changes: 38 additions & 0 deletions dist/images/ovnkube.sh
Original file line number Diff line number Diff line change
Expand Up @@ -311,6 +311,9 @@ ovnkube_compact_mode_enable=${OVNKUBE_COMPACT_MODE_ENABLE:-false}
ovn_northd_backoff_interval=${OVN_NORTHD_BACKOFF_INTERVAL:-"300"}
# OVN_ENABLE_SVC_TEMPLATE_SUPPORT - enable svc template support
ovn_enable_svc_template_support=${OVN_ENABLE_SVC_TEMPLATE_SUPPORT:-true}

#OVN_NETWORK_QOS_ENABLE - enable network QoS for ovn-kubernetes
ovn_network_qos_enable=${OVN_NETWORK_QOS_ENABLE:-false}
# OVN_ENABLE_DNSNAMERESOLVER - enable dns name resolver support
ovn_enable_dnsnameresolver=${OVN_ENABLE_DNSNAMERESOLVER:-false}
# OVN_OBSERV_ENABLE - enable observability for ovnkube
Expand Down Expand Up @@ -1292,6 +1295,12 @@ ovn-master() {
fi
echo "ovn_disable_requestedchassis_flag=${ovn_disable_requestedchassis_flag}"

network_qos_enabled_flag=
if [[ ${ovn_network_qos_enable} == "true" ]]; then
network_qos_enabled_flag="--enable-network-qos"
fi
echo "network_qos_enabled_flag=${network_qos_enabled_flag}"

init_node_flags=
if [[ ${ovnkube_compact_mode_enable} == "true" ]]; then
init_node_flags="--init-node ${K8S_NODE} --nodeport"
Expand Down Expand Up @@ -1344,6 +1353,7 @@ ovn-master() {
${ovn_v6_join_subnet_opt} \
${ovn_v6_masquerade_subnet_opt} \
${persistent_ips_enabled_flag} \
${network_qos_enabled_flag} \
${ovn_enable_dnsnameresolver_flag} \
${nohostsubnet_label_option} \
${ovn_disable_requestedchassis_flag} \
Expand Down Expand Up @@ -1598,6 +1608,12 @@ ovnkube-controller() {
fi
echo "ovn_enable_svc_template_support_flag=${ovn_enable_svc_template_support_flag}"

network_qos_enabled_flag=
if [[ ${ovn_network_qos_enable} == "true" ]]; then
network_qos_enabled_flag="--enable-network-qos"
fi
echo "network_qos_enabled_flag=${network_qos_enabled_flag}"

ovn_enable_dnsnameresolver_flag=
if [[ ${ovn_enable_dnsnameresolver} == "true" ]]; then
ovn_enable_dnsnameresolver_flag="--enable-dns-name-resolver"
Expand Down Expand Up @@ -1642,6 +1658,7 @@ ovnkube-controller() {
${ovn_v4_masquerade_subnet_opt} \
${ovn_v6_join_subnet_opt} \
${ovn_v6_masquerade_subnet_opt} \
${network_qos_enabled_flag} \
${ovn_enable_dnsnameresolver_flag} \
--cluster-subnets ${net_cidr} --k8s-service-cidr=${svc_cidr} \
--gateway-mode=${ovn_gateway_mode} \
Expand Down Expand Up @@ -2019,6 +2036,12 @@ ovnkube-controller-with-node() {
fi
echo "ovn_enable_svc_template_support_flag=${ovn_enable_svc_template_support_flag}"

network_qos_enabled_flag=
if [[ ${ovn_network_qos_enable} == "true" ]]; then
network_qos_enabled_flag="--enable-network-qos"
fi
echo "network_qos_enabled_flag=${network_qos_enabled_flag}"

ovn_enable_dnsnameresolver_flag=
if [[ ${ovn_enable_dnsnameresolver} == "true" ]]; then
ovn_enable_dnsnameresolver_flag="--enable-dns-name-resolver"
Expand Down Expand Up @@ -2081,6 +2104,7 @@ ovnkube-controller-with-node() {
${routable_mtu_flag} \
${sflow_targets} \
${ssl_opts} \
${network_qos_enabled_flag} \
${ovn_enable_dnsnameresolver_flag} \
--cluster-subnets ${net_cidr} --k8s-service-cidr=${svc_cidr} \
--export-ovs-metrics \
Expand Down Expand Up @@ -2264,6 +2288,12 @@ ovn-cluster-manager() {
fi
echo "empty_lb_events_flag=${empty_lb_events_flag}"

network_qos_enabled_flag=
if [[ ${ovn_network_qos_enable} == "true" ]]; then
network_qos_enabled_flag="--enable-network-qos"
fi
echo "network_qos_enabled_flag=${network_qos_enabled_flag}"

ovn_enable_dnsnameresolver_flag=
if [[ ${ovn_enable_dnsnameresolver} == "true" ]]; then
ovn_enable_dnsnameresolver_flag="--enable-dns-name-resolver"
Expand Down Expand Up @@ -2295,6 +2325,7 @@ ovn-cluster-manager() {
${ovn_v6_masquerade_subnet_opt} \
${ovn_v4_transit_switch_subnet_opt} \
${ovn_v6_transit_switch_subnet_opt} \
${network_qos_enabled_flag} \
${ovn_enable_dnsnameresolver_flag} \
--cluster-subnets ${net_cidr} --k8s-service-cidr=${svc_cidr} \
--host-network-namespace ${ovn_host_network_namespace} \
Expand Down Expand Up @@ -2655,6 +2686,12 @@ ovn-node() {
fi
echo "ovn_conntrack_zone_flag=${ovn_conntrack_zone_flag}"

network_qos_enabled_flag=
if [[ ${ovn_network_qos_enable} == "true" ]]; then
network_qos_enabled_flag="--enable-network-qos"
fi
echo "network_qos_enabled_flag=${network_qos_enabled_flag}"

ovn_v4_masquerade_subnet_opt=
if [[ -n ${ovn_v4_masquerade_subnet} ]]; then
ovn_v4_masquerade_subnet_opt="--gateway-v4-masquerade-subnet=${ovn_v4_masquerade_subnet}"
Expand Down Expand Up @@ -2705,6 +2742,7 @@ ovn-node() {
${ovn_unprivileged_flag} \
${routable_mtu_flag} \
${sflow_targets} \
${network_qos_enabled_flag} \
--cluster-subnets ${net_cidr} --k8s-service-cidr=${svc_cidr} \
--export-ovs-metrics \
--gateway-mode=${ovn_gateway_mode} ${ovn_gateway_opts} \
Expand Down
Loading