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.
| ... | ... |
@@ -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 |