Disable graceful termination for udp

pull/564/head
Laurent Bernaille 2019-05-01 18:36:59 +02:00
parent 801f4e7003
commit a7a3c7d912
No known key found for this signature in database
GPG Key ID: 382970648224EF01
1 changed files with 5 additions and 5 deletions

View File

@ -17,10 +17,10 @@ limitations under the License.
package ipvs package ipvs
import ( import (
"fmt"
"sync" "sync"
"time" "time"
"fmt"
"k8s.io/apimachinery/pkg/util/wait" "k8s.io/apimachinery/pkg/util/wait"
"k8s.io/klog" "k8s.io/klog"
utilipvs "k8s.io/kubernetes/pkg/util/ipvs" utilipvs "k8s.io/kubernetes/pkg/util/ipvs"
@ -164,10 +164,10 @@ func (m *GracefulTerminationManager) deleteRsFunc(rsToDelete *listItem) (bool, e
} }
for _, rs := range rss { for _, rs := range rss {
if rsToDelete.RealServer.Equal(rs) { if rsToDelete.RealServer.Equal(rs) {
// Delete RS with no connections // For UDP traffic, no graceful termination, we immediately delete the RS
// For UDP, ActiveConn is always 0 // (existing connections will be deleted on the next packet because sysctlExpireNoDestConn=1)
// For TCP, InactiveConn are connections not in ESTABLISHED state // For other protocols, don't delete until all connections have expired)
if rs.ActiveConn+rs.InactiveConn != 0 { if rsToDelete.VirtualServer.Protocol != "udp" && rs.ActiveConn+rs.InactiveConn != 0 {
klog.Infof("Not deleting, RS %v: %v ActiveConn, %v InactiveConn", rsToDelete.String(), rs.ActiveConn, rs.InactiveConn) klog.Infof("Not deleting, RS %v: %v ActiveConn, %v InactiveConn", rsToDelete.String(), rs.ActiveConn, rs.InactiveConn)
return false, nil return false, nil
} }