From 473cdc48766dea1a152b2c430069014cc4064804 Mon Sep 17 00:00:00 2001 From: Yan Wei Date: Wed, 3 Feb 2021 23:12:13 +0800 Subject: [PATCH 1/3] Update kubectl-ko Support commands:ovs-dpctl,ovs-ofctl and ovs-appctl of openvswitch --- dist/images/kubectl-ko | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/dist/images/kubectl-ko b/dist/images/kubectl-ko index 68d6426c7ac..29b319b22ff 100644 --- a/dist/images/kubectl-ko +++ b/dist/images/kubectl-ko @@ -11,6 +11,9 @@ showHelp(){ echo " nbctl [ovn-nbctl options ...] invoke ovn-nbctl" echo " sbctl [ovn-sbctl options ...] invoke ovn-sbctl" echo " vsctl {nodeName} [ovs-vsctl options ...] invoke ovs-vsctl on selected node" + echo " ofctl {nodeName} [ovs-ofctl options ...] invoke ovs-ofctl on selected node" + echo " dpctl {nodeName} [ovs-dpctl options ...] invoke ovs-dpctl on selected node" + echo " appctl {nodeName} [ovs-appctl options ...] invoke ovs-appctl on selected node" echo " tcpdump {namespace/podname} [tcpdump options ...] capture pod traffic" echo " trace {namespace/podname} {target ip address} {icmp|tcp|udp} [target tcp or udp port] trace ovn microflow of specific packet" echo " diagnose {all|node} [nodename] diagnose connectivity of all nodes or a specific node" @@ -140,7 +143,8 @@ trace(){ esac } -vsctl(){ +xxctl(){ + subcommand="$1"; shift nodeName="$1"; shift kubectl get no "$nodeName" > /dev/null ovsPod=$(kubectl get pod -n $KUBE_OVN_NS -o wide | grep " $nodeName " | grep ovs-ovn | awk '{print $1}') @@ -148,7 +152,7 @@ vsctl(){ echo "ovs pod doesn't exist on node $nodeName" exit 1 fi - kubectl exec "$ovsPod" -n $KUBE_OVN_NS -- ovs-vsctl "$@" + kubectl exec "$ovsPod" -n $KUBE_OVN_NS -- ovs-$subcommand "$@" } diagnose(){ @@ -287,8 +291,8 @@ case $subcommand in sbctl) kubectl exec "$OVN_SB_POD" -n $KUBE_OVN_NS -c ovn-central -- ovn-sbctl "$@" ;; - vsctl) - vsctl "$@" + vsctl|ofctl|dpctl|appctl) + xxctl "$subcommand" "$@" ;; tcpdump) tcpdump "$@" From 4b6f0eedbed57a64c8b025f06a220f0a9670161a Mon Sep 17 00:00:00 2001 From: Yan Wei Date: Thu, 4 Feb 2021 20:36:15 +0800 Subject: [PATCH 2/3] Update install.sh Support commands:ovs-dpctl,ovs-ofctl and ovs-appctl of openvswitch --- dist/images/install.sh | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/dist/images/install.sh b/dist/images/install.sh index 23ad722a99f..3b21327f85a 100755 --- a/dist/images/install.sh +++ b/dist/images/install.sh @@ -1882,6 +1882,9 @@ showHelp(){ echo " nbctl [ovn-nbctl options ...] invoke ovn-nbctl" echo " sbctl [ovn-sbctl options ...] invoke ovn-sbctl" echo " vsctl {nodeName} [ovs-vsctl options ...] invoke ovs-vsctl on selected node" + echo " ofctl {nodeName} [ovs-ofctl options ...] invoke ovs-ofctl on selected node" + echo " dpctl {nodeName} [ovs-dpctl options ...] invoke ovs-dpctl on selected node" + echo " appctl {nodeName} [ovs-appctl options ...] invoke ovs-appctl on selected node" echo " tcpdump {namespace/podname} [tcpdump options ...] capture pod traffic" echo " trace {namespace/podname} {target ip address} {icmp|tcp|udp} [target tcp or udp port] trace ovn microflow of specific packet" echo " diagnose {all|node} [nodename] diagnose connectivity of all nodes or a specific node" @@ -2011,7 +2014,8 @@ trace(){ esac } -vsctl(){ +xxctl(){ + subcommand="$1"; shift nodeName="$1"; shift kubectl get no "$nodeName" > /dev/null ovsPod=$(kubectl get pod -n $KUBE_OVN_NS -o wide | grep " $nodeName " | grep ovs-ovn | awk '{print $1}') @@ -2019,7 +2023,7 @@ vsctl(){ echo "ovs pod doesn't exist on node $nodeName" exit 1 fi - kubectl exec "$ovsPod" -n $KUBE_OVN_NS -- ovs-vsctl "$@" + kubectl exec "$ovsPod" -n $KUBE_OVN_NS -- ovs-$subcommand "$@" } diagnose(){ @@ -2159,8 +2163,8 @@ case $subcommand in sbctl) kubectl exec "$OVN_SB_POD" -n $KUBE_OVN_NS -c ovn-central -- ovn-sbctl "$@" ;; - vsctl) - vsctl "$@" + vsctl|ofctl|dpctl|appctl) + xxctl "$subcommand" "$@" ;; tcpdump) tcpdump "$@" From 8b833ee52ec0139dcd75b55556b8fe9ce51703a0 Mon Sep 17 00:00:00 2001 From: Yan Wei Date: Thu, 4 Feb 2021 20:40:17 +0800 Subject: [PATCH 3/3] Update install-pre-1.16.sh Support the other OVS commands --- dist/images/install-pre-1.16.sh | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/dist/images/install-pre-1.16.sh b/dist/images/install-pre-1.16.sh index 28d53057014..5c827f9f014 100644 --- a/dist/images/install-pre-1.16.sh +++ b/dist/images/install-pre-1.16.sh @@ -1844,6 +1844,9 @@ showHelp(){ echo " nbctl [ovn-nbctl options ...] invoke ovn-nbctl" echo " sbctl [ovn-sbctl options ...] invoke ovn-sbctl" echo " vsctl {nodeName} [ovs-vsctl options ...] invoke ovs-vsctl on selected node" + echo " ofctl {nodeName} [ovs-ofctl options ...] invoke ovs-ofctl on selected node" + echo " dpctl {nodeName} [ovs-dpctl options ...] invoke ovs-dpctl on selected node" + echo " appctl {nodeName} [ovs-appctl options ...] invoke ovs-appctl on selected node" echo " tcpdump {namespace/podname} [tcpdump options ...] capture pod traffic" echo " trace {namespace/podname} {target ip address} {icmp|tcp|udp} [target tcp or udp port] trace ovn microflow of specific packet" echo " diagnose {all|node} [nodename] diagnose connectivity of all nodes or a specific node" @@ -1973,7 +1976,8 @@ trace(){ esac } -vsctl(){ +xxctl(){ + subcommand="$1"; shift nodeName="$1"; shift kubectl get no "$nodeName" > /dev/null ovsPod=$(kubectl get pod -n $KUBE_OVN_NS -o wide | grep " $nodeName " | grep ovs-ovn | awk '{print $1}') @@ -1981,7 +1985,7 @@ vsctl(){ echo "ovs pod doesn't exist on node $nodeName" exit 1 fi - kubectl exec "$ovsPod" -n $KUBE_OVN_NS -- ovs-vsctl "$@" + kubectl exec "$ovsPod" -n $KUBE_OVN_NS -- ovs-$subcommand "$@" } diagnose(){ @@ -2121,8 +2125,8 @@ case $subcommand in sbctl) kubectl exec "$OVN_SB_POD" -n $KUBE_OVN_NS -c ovn-central -- ovn-sbctl "$@" ;; - vsctl) - vsctl "$@" + vsctl|ofctl|dpctl|appctl) + xxctl "$subcommand" "$@" ;; tcpdump) tcpdump "$@"