Skip to content

Commit d2dcd6c

Browse files
authored
Merge pull request kubernetes#89896 from carlosedp/fix-89597
Add error messages to IPVS module
2 parents 8364e1f + b3d84fa commit d2dcd6c

File tree

2 files changed

+21
-18
lines changed

2 files changed

+21
-18
lines changed

pkg/util/ipvs/BUILD

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ go_library(
4040
] + select({
4141
"@io_bazel_rules_go//go/platform:android": [
4242
"//vendor/github.com/moby/ipvs:go_default_library",
43+
"//vendor/github.com/pkg/errors:go_default_library",
4344
"//vendor/k8s.io/klog:go_default_library",
4445
"//vendor/k8s.io/utils/exec:go_default_library",
4546
],
@@ -57,6 +58,7 @@ go_library(
5758
],
5859
"@io_bazel_rules_go//go/platform:linux": [
5960
"//vendor/github.com/moby/ipvs:go_default_library",
61+
"//vendor/github.com/pkg/errors:go_default_library",
6062
"//vendor/k8s.io/klog:go_default_library",
6163
"//vendor/k8s.io/utils/exec:go_default_library",
6264
],

pkg/util/ipvs/ipvs_linux.go

Lines changed: 19 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ limitations under the License.
1919
package ipvs
2020

2121
import (
22-
"errors"
2322
"fmt"
2423
"net"
2524
"strings"
@@ -28,6 +27,8 @@ import (
2827
"time"
2928

3029
libipvs "github.com/moby/ipvs"
30+
"github.com/pkg/errors"
31+
3132
"k8s.io/klog"
3233
utilexec "k8s.io/utils/exec"
3334
)
@@ -59,7 +60,7 @@ func New(exec utilexec.Interface) Interface {
5960
func (runner *runner) AddVirtualServer(vs *VirtualServer) error {
6061
svc, err := toIPVSService(vs)
6162
if err != nil {
62-
return err
63+
return errors.Wrap(err, "could not convert local virtual server to IPVS service")
6364
}
6465
runner.mu.Lock()
6566
defer runner.mu.Unlock()
@@ -70,7 +71,7 @@ func (runner *runner) AddVirtualServer(vs *VirtualServer) error {
7071
func (runner *runner) UpdateVirtualServer(vs *VirtualServer) error {
7172
svc, err := toIPVSService(vs)
7273
if err != nil {
73-
return err
74+
return errors.Wrap(err, "could not convert local virtual server to IPVS service")
7475
}
7576
runner.mu.Lock()
7677
defer runner.mu.Unlock()
@@ -81,7 +82,7 @@ func (runner *runner) UpdateVirtualServer(vs *VirtualServer) error {
8182
func (runner *runner) DeleteVirtualServer(vs *VirtualServer) error {
8283
svc, err := toIPVSService(vs)
8384
if err != nil {
84-
return err
85+
return errors.Wrap(err, "could not convert local virtual server to IPVS service")
8586
}
8687
runner.mu.Lock()
8788
defer runner.mu.Unlock()
@@ -92,18 +93,18 @@ func (runner *runner) DeleteVirtualServer(vs *VirtualServer) error {
9293
func (runner *runner) GetVirtualServer(vs *VirtualServer) (*VirtualServer, error) {
9394
svc, err := toIPVSService(vs)
9495
if err != nil {
95-
return nil, err
96+
return nil, errors.Wrap(err, "could not convert local virtual server to IPVS service")
9697
}
9798
runner.mu.Lock()
9899
ipvsSvc, err := runner.ipvsHandle.GetService(svc)
99100
runner.mu.Unlock()
100101

101102
if err != nil {
102-
return nil, err
103+
return nil, errors.Wrap(err, "could not get IPVS service")
103104
}
104105
vServ, err := toVirtualServer(ipvsSvc)
105106
if err != nil {
106-
return nil, err
107+
return nil, errors.Wrap(err, "could not convert IPVS service to local virtual server")
107108
}
108109
return vServ, nil
109110
}
@@ -114,13 +115,13 @@ func (runner *runner) GetVirtualServers() ([]*VirtualServer, error) {
114115
ipvsSvcs, err := runner.ipvsHandle.GetServices()
115116
runner.mu.Unlock()
116117
if err != nil {
117-
return nil, err
118+
return nil, errors.Wrap(err, "could not get IPVS services")
118119
}
119120
vss := make([]*VirtualServer, 0)
120121
for _, ipvsSvc := range ipvsSvcs {
121122
vs, err := toVirtualServer(ipvsSvc)
122123
if err != nil {
123-
return nil, err
124+
return nil, errors.Wrap(err, "could not convert IPVS service to local virtual server")
124125
}
125126
vss = append(vss, vs)
126127
}
@@ -138,11 +139,11 @@ func (runner *runner) Flush() error {
138139
func (runner *runner) AddRealServer(vs *VirtualServer, rs *RealServer) error {
139140
svc, err := toIPVSService(vs)
140141
if err != nil {
141-
return err
142+
return errors.Wrap(err, "could not convert local virtual server to IPVS service")
142143
}
143144
dst, err := toIPVSDestination(rs)
144145
if err != nil {
145-
return err
146+
return errors.Wrap(err, "could not convert local real server to IPVS destination")
146147
}
147148
runner.mu.Lock()
148149
defer runner.mu.Unlock()
@@ -153,11 +154,11 @@ func (runner *runner) AddRealServer(vs *VirtualServer, rs *RealServer) error {
153154
func (runner *runner) DeleteRealServer(vs *VirtualServer, rs *RealServer) error {
154155
svc, err := toIPVSService(vs)
155156
if err != nil {
156-
return err
157+
return errors.Wrap(err, "could not convert local virtual server to IPVS service")
157158
}
158159
dst, err := toIPVSDestination(rs)
159160
if err != nil {
160-
return err
161+
return errors.Wrap(err, "could not convert local real server to IPVS destination")
161162
}
162163
runner.mu.Lock()
163164
defer runner.mu.Unlock()
@@ -167,11 +168,11 @@ func (runner *runner) DeleteRealServer(vs *VirtualServer, rs *RealServer) error
167168
func (runner *runner) UpdateRealServer(vs *VirtualServer, rs *RealServer) error {
168169
svc, err := toIPVSService(vs)
169170
if err != nil {
170-
return err
171+
return errors.Wrap(err, "could not convert local virtual server to IPVS service")
171172
}
172173
dst, err := toIPVSDestination(rs)
173174
if err != nil {
174-
return err
175+
return errors.Wrap(err, "could not convert local real server to IPVS destination")
175176
}
176177
runner.mu.Lock()
177178
defer runner.mu.Unlock()
@@ -182,20 +183,20 @@ func (runner *runner) UpdateRealServer(vs *VirtualServer, rs *RealServer) error
182183
func (runner *runner) GetRealServers(vs *VirtualServer) ([]*RealServer, error) {
183184
svc, err := toIPVSService(vs)
184185
if err != nil {
185-
return nil, err
186+
return nil, errors.Wrap(err, "could not convert local virtual server to IPVS service")
186187
}
187188
runner.mu.Lock()
188189
dsts, err := runner.ipvsHandle.GetDestinations(svc)
189190
runner.mu.Unlock()
190191
if err != nil {
191-
return nil, err
192+
return nil, errors.Wrap(err, "could not get IPVS destination for service")
192193
}
193194
rss := make([]*RealServer, 0)
194195
for _, dst := range dsts {
195196
dst, err := toRealServer(dst)
196197
// TODO: aggregate errors?
197198
if err != nil {
198-
return nil, err
199+
return nil, errors.Wrap(err, "could not convert IPVS destination to local real server")
199200
}
200201
rss = append(rss, dst)
201202
}

0 commit comments

Comments
 (0)