mirror of https://github.com/k3s-io/k3s
Merge pull request #48514 from freehan/iptables-lock
Automatic merge from submit-queue (batch tested with PRs 47234, 48410, 48514, 48529, 48348) expose error lock release failure from iptables util ref: https://github.com/kubernetes/kubernetes/issues/48107pull/6/head
commit
22550b62a6
|
@ -24,6 +24,7 @@ go_library(
|
|||
"//vendor/github.com/godbus/dbus:go_default_library",
|
||||
"//vendor/github.com/golang/glog:go_default_library",
|
||||
"//vendor/golang.org/x/sys/unix:go_default_library",
|
||||
"//vendor/k8s.io/apimachinery/pkg/util/errors:go_default_library",
|
||||
"//vendor/k8s.io/apimachinery/pkg/util/sets:go_default_library",
|
||||
"//vendor/k8s.io/apimachinery/pkg/util/wait:go_default_library",
|
||||
],
|
||||
|
|
|
@ -338,7 +338,7 @@ func (runner *runner) RestoreAll(data []byte, flush FlushFlag, counters RestoreC
|
|||
}
|
||||
|
||||
type iptablesLocker interface {
|
||||
Close()
|
||||
Close() error
|
||||
}
|
||||
|
||||
// restoreInternal is the shared part of Restore/RestoreAll
|
||||
|
@ -361,7 +361,11 @@ func (runner *runner) restoreInternal(args []string, data []byte, flush FlushFla
|
|||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer locker.Close()
|
||||
defer func(locker iptablesLocker) {
|
||||
if err := locker.Close(); err != nil {
|
||||
glog.Errorf("Failed to close iptables locks: %v", err)
|
||||
}
|
||||
}(locker)
|
||||
}
|
||||
|
||||
// run the command and return the output or an error including the output and error
|
||||
|
|
|
@ -25,6 +25,7 @@ import (
|
|||
"time"
|
||||
|
||||
"golang.org/x/sys/unix"
|
||||
utilerrors "k8s.io/apimachinery/pkg/util/errors"
|
||||
"k8s.io/apimachinery/pkg/util/wait"
|
||||
)
|
||||
|
||||
|
@ -33,13 +34,19 @@ type locker struct {
|
|||
lock14 *net.UnixListener
|
||||
}
|
||||
|
||||
func (l *locker) Close() {
|
||||
func (l *locker) Close() error {
|
||||
errList := []error{}
|
||||
if l.lock16 != nil {
|
||||
l.lock16.Close()
|
||||
if err := l.lock16.Close(); err != nil {
|
||||
errList = append(errList, err)
|
||||
}
|
||||
}
|
||||
if l.lock14 != nil {
|
||||
l.lock14.Close()
|
||||
if err := l.lock14.Close(); err != nil {
|
||||
errList = append(errList, err)
|
||||
}
|
||||
}
|
||||
return utilerrors.NewAggregate(errList)
|
||||
}
|
||||
|
||||
func grabIptablesLocks(lockfilePath string) (iptablesLocker, error) {
|
||||
|
|
Loading…
Reference in New Issue