Browse code

sdn: don't error deleting QoS if kubelet tears down networking a second time

If pod teardown fails for some reason, but the network teardown was successful,
kubelet may tear down the pod networking a second time. In this case, we
don't want to fail looking up the QoS information (since the veth is already
gone) and return an error to kubelet.

Dan Williams authored on 2016/10/22 06:07:49
Showing 1 changed files
... ...
@@ -113,8 +113,8 @@ del_ovs_flows() {
113 113
     ovs-ofctl -O OpenFlow13 del-flows br0 "arp,nw_dst=${ipaddr}"
114 114
     ovs-ofctl -O OpenFlow13 del-flows br0 "arp,nw_src=${ipaddr}"
115 115
 
116
-    qos=$(ovs-vsctl get port ${veth_host} qos)
117
-    if [ "$qos" != "[]" ]; then
116
+    qos=$(ovs-vsctl get port ${veth_host} qos || true)
117
+    if [ -n "${qos}" -a "${qos}" != "[]" ]; then
118 118
         ovs-vsctl clear port ${veth_host} qos
119 119
         ovs-vsctl --if-exists destroy qos ${qos}
120 120
     fi