mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 19:56:01 +00:00
Add error messages to IPVS module
Signed-off-by: Carlos de Paula <me@carlosedp.com>
This commit is contained in:
parent
c158001bbc
commit
b3d84fac52
@ -40,6 +40,7 @@ go_library(
|
|||||||
] + select({
|
] + select({
|
||||||
"@io_bazel_rules_go//go/platform:android": [
|
"@io_bazel_rules_go//go/platform:android": [
|
||||||
"//vendor/github.com/moby/ipvs:go_default_library",
|
"//vendor/github.com/moby/ipvs:go_default_library",
|
||||||
|
"//vendor/github.com/pkg/errors:go_default_library",
|
||||||
"//vendor/k8s.io/klog:go_default_library",
|
"//vendor/k8s.io/klog:go_default_library",
|
||||||
"//vendor/k8s.io/utils/exec:go_default_library",
|
"//vendor/k8s.io/utils/exec:go_default_library",
|
||||||
],
|
],
|
||||||
@ -57,6 +58,7 @@ go_library(
|
|||||||
],
|
],
|
||||||
"@io_bazel_rules_go//go/platform:linux": [
|
"@io_bazel_rules_go//go/platform:linux": [
|
||||||
"//vendor/github.com/moby/ipvs:go_default_library",
|
"//vendor/github.com/moby/ipvs:go_default_library",
|
||||||
|
"//vendor/github.com/pkg/errors:go_default_library",
|
||||||
"//vendor/k8s.io/klog:go_default_library",
|
"//vendor/k8s.io/klog:go_default_library",
|
||||||
"//vendor/k8s.io/utils/exec:go_default_library",
|
"//vendor/k8s.io/utils/exec:go_default_library",
|
||||||
],
|
],
|
||||||
|
@ -19,7 +19,6 @@ limitations under the License.
|
|||||||
package ipvs
|
package ipvs
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"errors"
|
|
||||||
"fmt"
|
"fmt"
|
||||||
"net"
|
"net"
|
||||||
"strings"
|
"strings"
|
||||||
@ -28,6 +27,8 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
libipvs "github.com/moby/ipvs"
|
libipvs "github.com/moby/ipvs"
|
||||||
|
"github.com/pkg/errors"
|
||||||
|
|
||||||
"k8s.io/klog"
|
"k8s.io/klog"
|
||||||
utilexec "k8s.io/utils/exec"
|
utilexec "k8s.io/utils/exec"
|
||||||
)
|
)
|
||||||
@ -59,7 +60,7 @@ func New(exec utilexec.Interface) Interface {
|
|||||||
func (runner *runner) AddVirtualServer(vs *VirtualServer) error {
|
func (runner *runner) AddVirtualServer(vs *VirtualServer) error {
|
||||||
svc, err := toIPVSService(vs)
|
svc, err := toIPVSService(vs)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return errors.Wrap(err, "could not convert local virtual server to IPVS service")
|
||||||
}
|
}
|
||||||
runner.mu.Lock()
|
runner.mu.Lock()
|
||||||
defer runner.mu.Unlock()
|
defer runner.mu.Unlock()
|
||||||
@ -70,7 +71,7 @@ func (runner *runner) AddVirtualServer(vs *VirtualServer) error {
|
|||||||
func (runner *runner) UpdateVirtualServer(vs *VirtualServer) error {
|
func (runner *runner) UpdateVirtualServer(vs *VirtualServer) error {
|
||||||
svc, err := toIPVSService(vs)
|
svc, err := toIPVSService(vs)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return errors.Wrap(err, "could not convert local virtual server to IPVS service")
|
||||||
}
|
}
|
||||||
runner.mu.Lock()
|
runner.mu.Lock()
|
||||||
defer runner.mu.Unlock()
|
defer runner.mu.Unlock()
|
||||||
@ -81,7 +82,7 @@ func (runner *runner) UpdateVirtualServer(vs *VirtualServer) error {
|
|||||||
func (runner *runner) DeleteVirtualServer(vs *VirtualServer) error {
|
func (runner *runner) DeleteVirtualServer(vs *VirtualServer) error {
|
||||||
svc, err := toIPVSService(vs)
|
svc, err := toIPVSService(vs)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return errors.Wrap(err, "could not convert local virtual server to IPVS service")
|
||||||
}
|
}
|
||||||
runner.mu.Lock()
|
runner.mu.Lock()
|
||||||
defer runner.mu.Unlock()
|
defer runner.mu.Unlock()
|
||||||
@ -92,18 +93,18 @@ func (runner *runner) DeleteVirtualServer(vs *VirtualServer) error {
|
|||||||
func (runner *runner) GetVirtualServer(vs *VirtualServer) (*VirtualServer, error) {
|
func (runner *runner) GetVirtualServer(vs *VirtualServer) (*VirtualServer, error) {
|
||||||
svc, err := toIPVSService(vs)
|
svc, err := toIPVSService(vs)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, errors.Wrap(err, "could not convert local virtual server to IPVS service")
|
||||||
}
|
}
|
||||||
runner.mu.Lock()
|
runner.mu.Lock()
|
||||||
ipvsSvc, err := runner.ipvsHandle.GetService(svc)
|
ipvsSvc, err := runner.ipvsHandle.GetService(svc)
|
||||||
runner.mu.Unlock()
|
runner.mu.Unlock()
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, errors.Wrap(err, "could not get IPVS service")
|
||||||
}
|
}
|
||||||
vServ, err := toVirtualServer(ipvsSvc)
|
vServ, err := toVirtualServer(ipvsSvc)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, errors.Wrap(err, "could not convert IPVS service to local virtual server")
|
||||||
}
|
}
|
||||||
return vServ, nil
|
return vServ, nil
|
||||||
}
|
}
|
||||||
@ -114,13 +115,13 @@ func (runner *runner) GetVirtualServers() ([]*VirtualServer, error) {
|
|||||||
ipvsSvcs, err := runner.ipvsHandle.GetServices()
|
ipvsSvcs, err := runner.ipvsHandle.GetServices()
|
||||||
runner.mu.Unlock()
|
runner.mu.Unlock()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, errors.Wrap(err, "could not get IPVS services")
|
||||||
}
|
}
|
||||||
vss := make([]*VirtualServer, 0)
|
vss := make([]*VirtualServer, 0)
|
||||||
for _, ipvsSvc := range ipvsSvcs {
|
for _, ipvsSvc := range ipvsSvcs {
|
||||||
vs, err := toVirtualServer(ipvsSvc)
|
vs, err := toVirtualServer(ipvsSvc)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, errors.Wrap(err, "could not convert IPVS service to local virtual server")
|
||||||
}
|
}
|
||||||
vss = append(vss, vs)
|
vss = append(vss, vs)
|
||||||
}
|
}
|
||||||
@ -138,11 +139,11 @@ func (runner *runner) Flush() error {
|
|||||||
func (runner *runner) AddRealServer(vs *VirtualServer, rs *RealServer) error {
|
func (runner *runner) AddRealServer(vs *VirtualServer, rs *RealServer) error {
|
||||||
svc, err := toIPVSService(vs)
|
svc, err := toIPVSService(vs)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return errors.Wrap(err, "could not convert local virtual server to IPVS service")
|
||||||
}
|
}
|
||||||
dst, err := toIPVSDestination(rs)
|
dst, err := toIPVSDestination(rs)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return errors.Wrap(err, "could not convert local real server to IPVS destination")
|
||||||
}
|
}
|
||||||
runner.mu.Lock()
|
runner.mu.Lock()
|
||||||
defer runner.mu.Unlock()
|
defer runner.mu.Unlock()
|
||||||
@ -153,11 +154,11 @@ func (runner *runner) AddRealServer(vs *VirtualServer, rs *RealServer) error {
|
|||||||
func (runner *runner) DeleteRealServer(vs *VirtualServer, rs *RealServer) error {
|
func (runner *runner) DeleteRealServer(vs *VirtualServer, rs *RealServer) error {
|
||||||
svc, err := toIPVSService(vs)
|
svc, err := toIPVSService(vs)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return errors.Wrap(err, "could not convert local virtual server to IPVS service")
|
||||||
}
|
}
|
||||||
dst, err := toIPVSDestination(rs)
|
dst, err := toIPVSDestination(rs)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return errors.Wrap(err, "could not convert local real server to IPVS destination")
|
||||||
}
|
}
|
||||||
runner.mu.Lock()
|
runner.mu.Lock()
|
||||||
defer runner.mu.Unlock()
|
defer runner.mu.Unlock()
|
||||||
@ -167,11 +168,11 @@ func (runner *runner) DeleteRealServer(vs *VirtualServer, rs *RealServer) error
|
|||||||
func (runner *runner) UpdateRealServer(vs *VirtualServer, rs *RealServer) error {
|
func (runner *runner) UpdateRealServer(vs *VirtualServer, rs *RealServer) error {
|
||||||
svc, err := toIPVSService(vs)
|
svc, err := toIPVSService(vs)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return errors.Wrap(err, "could not convert local virtual server to IPVS service")
|
||||||
}
|
}
|
||||||
dst, err := toIPVSDestination(rs)
|
dst, err := toIPVSDestination(rs)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return errors.Wrap(err, "could not convert local real server to IPVS destination")
|
||||||
}
|
}
|
||||||
runner.mu.Lock()
|
runner.mu.Lock()
|
||||||
defer runner.mu.Unlock()
|
defer runner.mu.Unlock()
|
||||||
@ -182,20 +183,20 @@ func (runner *runner) UpdateRealServer(vs *VirtualServer, rs *RealServer) error
|
|||||||
func (runner *runner) GetRealServers(vs *VirtualServer) ([]*RealServer, error) {
|
func (runner *runner) GetRealServers(vs *VirtualServer) ([]*RealServer, error) {
|
||||||
svc, err := toIPVSService(vs)
|
svc, err := toIPVSService(vs)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, errors.Wrap(err, "could not convert local virtual server to IPVS service")
|
||||||
}
|
}
|
||||||
runner.mu.Lock()
|
runner.mu.Lock()
|
||||||
dsts, err := runner.ipvsHandle.GetDestinations(svc)
|
dsts, err := runner.ipvsHandle.GetDestinations(svc)
|
||||||
runner.mu.Unlock()
|
runner.mu.Unlock()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, errors.Wrap(err, "could not get IPVS destination for service")
|
||||||
}
|
}
|
||||||
rss := make([]*RealServer, 0)
|
rss := make([]*RealServer, 0)
|
||||||
for _, dst := range dsts {
|
for _, dst := range dsts {
|
||||||
dst, err := toRealServer(dst)
|
dst, err := toRealServer(dst)
|
||||||
// TODO: aggregate errors?
|
// TODO: aggregate errors?
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, errors.Wrap(err, "could not convert IPVS destination to local real server")
|
||||||
}
|
}
|
||||||
rss = append(rss, dst)
|
rss = append(rss, dst)
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user