Skip to content

Commit 5ac49e7

Browse files
authored
Merge pull request #1585 from shiftstack/replace_errors
🌱 Replace github.com/pkg/errors
2 parents ed24d87 + f2597fe commit 5ac49e7

File tree

3 files changed

+50
-50
lines changed

3 files changed

+50
-50
lines changed

api/v1alpha7/openstackmachine_webhook.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@ limitations under the License.
1717
package v1alpha7
1818

1919
import (
20+
"fmt"
2021
"reflect"
2122

22-
"github.com/pkg/errors"
2323
apierrors "k8s.io/apimachinery/pkg/api/errors"
2424
"k8s.io/apimachinery/pkg/runtime"
2525
"k8s.io/apimachinery/pkg/util/validation/field"
@@ -69,13 +69,13 @@ func (r *OpenStackMachine) ValidateUpdate(old runtime.Object) error {
6969
newOpenStackMachine, err := runtime.DefaultUnstructuredConverter.ToUnstructured(r)
7070
if err != nil {
7171
return apierrors.NewInvalid(GroupVersion.WithKind("OpenStackMachine").GroupKind(), r.Name, field.ErrorList{
72-
field.InternalError(nil, errors.Wrap(err, "failed to convert new OpenStackMachine to unstructured object")),
72+
field.InternalError(nil, fmt.Errorf("failed to convert new OpenStackMachine to unstructured object: %w", err)),
7373
})
7474
}
7575
oldOpenStackMachine, err := runtime.DefaultUnstructuredConverter.ToUnstructured(old)
7676
if err != nil {
7777
return apierrors.NewInvalid(GroupVersion.WithKind("OpenStackMachine").GroupKind(), r.Name, field.ErrorList{
78-
field.InternalError(nil, errors.Wrap(err, "failed to convert old OpenStackMachine to unstructured object")),
78+
field.InternalError(nil, fmt.Errorf("failed to convert old OpenStackMachine to unstructured object: %w", err)),
7979
})
8080
}
8181

controllers/openstackcluster_controller.go

Lines changed: 46 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,11 @@ package controllers
1818

1919
import (
2020
"context"
21+
"errors"
2122
"fmt"
2223
"reflect"
2324
"time"
2425

25-
"github.com/pkg/errors"
2626
corev1 "k8s.io/api/core/v1"
2727
apierrors "k8s.io/apimachinery/pkg/api/errors"
2828
"k8s.io/client-go/tools/record"
@@ -109,7 +109,7 @@ func (r *OpenStackClusterReconciler) Reconcile(ctx context.Context, req ctrl.Req
109109
defer func() {
110110
if err := patchHelper.Patch(ctx, openStackCluster); err != nil {
111111
if reterr == nil {
112-
reterr = errors.Wrapf(err, "error patching OpenStackCluster %s/%s", openStackCluster.Namespace, openStackCluster.Name)
112+
reterr = fmt.Errorf("error patching OpenStackCluster %s/%s: %w", openStackCluster.Namespace, openStackCluster.Name, err)
113113
}
114114
}
115115
}()
@@ -157,8 +157,8 @@ func (r *OpenStackClusterReconciler) reconcileDelete(ctx context.Context, scope
157157
clusterName := fmt.Sprintf("%s-%s", cluster.Namespace, cluster.Name)
158158

159159
if err = networkingService.DeletePorts(openStackCluster); err != nil {
160-
handleUpdateOSCError(openStackCluster, errors.Errorf("failed to delete ports: %v", err))
161-
return reconcile.Result{}, errors.Wrap(err, "failed to delete ports")
160+
handleUpdateOSCError(openStackCluster, fmt.Errorf("failed to delete ports: %w", err))
161+
return reconcile.Result{}, fmt.Errorf("failed to delete ports: %w", err)
162162
}
163163

164164
if openStackCluster.Spec.APIServerLoadBalancer.Enabled {
@@ -168,26 +168,26 @@ func (r *OpenStackClusterReconciler) reconcileDelete(ctx context.Context, scope
168168
}
169169

170170
if err = loadBalancerService.DeleteLoadBalancer(openStackCluster, clusterName); err != nil {
171-
handleUpdateOSCError(openStackCluster, errors.Errorf("failed to delete load balancer: %v", err))
172-
return reconcile.Result{}, errors.Errorf("failed to delete load balancer: %v", err)
171+
handleUpdateOSCError(openStackCluster, fmt.Errorf("failed to delete load balancer: %w", err))
172+
return reconcile.Result{}, fmt.Errorf("failed to delete load balancer: %w", err)
173173
}
174174
}
175175

176176
if err = networkingService.DeleteSecurityGroups(openStackCluster, clusterName); err != nil {
177-
handleUpdateOSCError(openStackCluster, errors.Errorf("failed to delete security groups: %v", err))
178-
return reconcile.Result{}, errors.Errorf("failed to delete security groups: %v", err)
177+
handleUpdateOSCError(openStackCluster, fmt.Errorf("failed to delete security groups: %w", err))
178+
return reconcile.Result{}, fmt.Errorf("failed to delete security groups: %w", err)
179179
}
180180

181181
// if NodeCIDR was not set, no network was created.
182182
if openStackCluster.Spec.NodeCIDR != "" {
183183
if err = networkingService.DeleteRouter(openStackCluster, clusterName); err != nil {
184-
handleUpdateOSCError(openStackCluster, errors.Errorf("failed to delete router: %v", err))
185-
return ctrl.Result{}, errors.Errorf("failed to delete router: %v", err)
184+
handleUpdateOSCError(openStackCluster, fmt.Errorf("failed to delete router: %w", err))
185+
return ctrl.Result{}, fmt.Errorf("failed to delete router: %w", err)
186186
}
187187

188188
if err = networkingService.DeleteNetwork(openStackCluster, clusterName); err != nil {
189-
handleUpdateOSCError(openStackCluster, errors.Errorf("failed to delete network: %v", err))
190-
return ctrl.Result{}, errors.Errorf("failed to delete network: %v", err)
189+
handleUpdateOSCError(openStackCluster, fmt.Errorf("failed to delete network: %w", err))
190+
return ctrl.Result{}, fmt.Errorf("failed to delete network: %w", err)
191191
}
192192
}
193193

@@ -232,24 +232,24 @@ func deleteBastion(scope scope.Scope, cluster *clusterv1.Cluster, openStackClust
232232
for _, address := range addresses {
233233
if address.Type == corev1.NodeExternalIP {
234234
if err = networkingService.DeleteFloatingIP(openStackCluster, address.Address); err != nil {
235-
handleUpdateOSCError(openStackCluster, errors.Errorf("failed to delete floating IP: %v", err))
236-
return errors.Errorf("failed to delete floating IP: %v", err)
235+
handleUpdateOSCError(openStackCluster, fmt.Errorf("failed to delete floating IP: %w", err))
236+
return fmt.Errorf("failed to delete floating IP: %w", err)
237237
}
238238
}
239239
}
240240

241241
rootVolume := openStackCluster.Spec.Bastion.Instance.RootVolume
242242
if err = computeService.DeleteInstance(openStackCluster, instanceStatus, instanceName, rootVolume); err != nil {
243-
handleUpdateOSCError(openStackCluster, errors.Errorf("failed to delete bastion: %v", err))
244-
return errors.Errorf("failed to delete bastion: %v", err)
243+
handleUpdateOSCError(openStackCluster, fmt.Errorf("failed to delete bastion: %w", err))
244+
return fmt.Errorf("failed to delete bastion: %w", err)
245245
}
246246
}
247247

248248
openStackCluster.Status.Bastion = nil
249249

250250
if err = networkingService.DeleteBastionSecurityGroup(openStackCluster, fmt.Sprintf("%s-%s", cluster.Namespace, cluster.Name)); err != nil {
251-
handleUpdateOSCError(openStackCluster, errors.Errorf("failed to delete bastion security group: %v", err))
252-
return errors.Errorf("failed to delete bastion security group: %v", err)
251+
handleUpdateOSCError(openStackCluster, fmt.Errorf("failed to delete bastion security group: %w", err))
252+
return fmt.Errorf("failed to delete bastion security group: %w", err)
253253
}
254254
openStackCluster.Status.BastionSecurityGroup = nil
255255

@@ -323,7 +323,7 @@ func reconcileBastion(scope scope.Scope, cluster *clusterv1.Cluster, openStackCl
323323
instanceSpec := bastionToInstanceSpec(openStackCluster, cluster.Name)
324324
bastionHash, err := compute.HashInstanceSpec(instanceSpec)
325325
if err != nil {
326-
return errors.Wrap(err, "failed computing bastion hash from instance spec")
326+
return fmt.Errorf("failed computing bastion hash from instance spec: %w", err)
327327
}
328328

329329
instanceStatus, err := computeService.GetInstanceStatusByName(openStackCluster, fmt.Sprintf("%s-bastion", cluster.Name))
@@ -351,7 +351,7 @@ func reconcileBastion(scope scope.Scope, cluster *clusterv1.Cluster, openStackCl
351351

352352
instanceStatus, err = computeService.CreateInstance(openStackCluster, openStackCluster, instanceSpec, cluster.Name, true)
353353
if err != nil {
354-
return errors.Errorf("failed to reconcile bastion: %v", err)
354+
return fmt.Errorf("failed to reconcile bastion: %w", err)
355355
}
356356

357357
networkingService, err := networking.NewService(scope)
@@ -361,19 +361,19 @@ func reconcileBastion(scope scope.Scope, cluster *clusterv1.Cluster, openStackCl
361361
clusterName := fmt.Sprintf("%s-%s", cluster.Namespace, cluster.Name)
362362
fp, err := networkingService.GetOrCreateFloatingIP(openStackCluster, openStackCluster, clusterName, openStackCluster.Spec.Bastion.Instance.FloatingIP)
363363
if err != nil {
364-
handleUpdateOSCError(openStackCluster, errors.Errorf("failed to get or create floating IP for bastion: %v", err))
365-
return errors.Errorf("failed to get or create floating IP for bastion: %v", err)
364+
handleUpdateOSCError(openStackCluster, fmt.Errorf("failed to get or create floating IP for bastion: %w", err))
365+
return fmt.Errorf("failed to get or create floating IP for bastion: %w", err)
366366
}
367367
port, err := computeService.GetManagementPort(openStackCluster, instanceStatus)
368368
if err != nil {
369-
err = errors.Errorf("getting management port for bastion: %v", err)
369+
err = fmt.Errorf("getting management port for bastion: %w", err)
370370
handleUpdateOSCError(openStackCluster, err)
371371
return err
372372
}
373373
err = networkingService.AssociateFloatingIP(openStackCluster, fp, port.ID)
374374
if err != nil {
375-
handleUpdateOSCError(openStackCluster, errors.Errorf("failed to associate floating IP with bastion: %v", err))
376-
return errors.Errorf("failed to associate floating IP with bastion: %v", err)
375+
handleUpdateOSCError(openStackCluster, fmt.Errorf("failed to associate floating IP with bastion: %w", err))
376+
return fmt.Errorf("failed to associate floating IP with bastion: %w", err)
377377
}
378378

379379
bastion, err := instanceStatus.BastionStatus(openStackCluster)
@@ -433,8 +433,8 @@ func reconcileNetworkComponents(scope scope.Scope, cluster *clusterv1.Cluster, o
433433

434434
err = networkingService.ReconcileExternalNetwork(openStackCluster)
435435
if err != nil {
436-
handleUpdateOSCError(openStackCluster, errors.Errorf("failed to reconcile external network: %v", err))
437-
return errors.Errorf("failed to reconcile external network: %v", err)
436+
handleUpdateOSCError(openStackCluster, fmt.Errorf("failed to reconcile external network: %w", err))
437+
return fmt.Errorf("failed to reconcile external network: %w", err)
438438
}
439439

440440
if openStackCluster.Spec.NodeCIDR == "" {
@@ -443,16 +443,16 @@ func reconcileNetworkComponents(scope scope.Scope, cluster *clusterv1.Cluster, o
443443
netOpts := openStackCluster.Spec.Network.ToListOpt()
444444
networkList, err := networkingService.GetNetworksByFilter(&netOpts)
445445
if err != nil {
446-
handleUpdateOSCError(openStackCluster, errors.Errorf("failed to find network: %v", err))
447-
return errors.Errorf("failed to find network: %v", err)
446+
handleUpdateOSCError(openStackCluster, fmt.Errorf("failed to find network: %w", err))
447+
return fmt.Errorf("failed to find network: %w", err)
448448
}
449449
if len(networkList) == 0 {
450-
handleUpdateOSCError(openStackCluster, errors.Errorf("failed to find any network: %v", err))
451-
return errors.Errorf("failed to find any network: %v", err)
450+
handleUpdateOSCError(openStackCluster, fmt.Errorf("failed to find any network"))
451+
return fmt.Errorf("failed to find any network")
452452
}
453453
if len(networkList) > 1 {
454-
handleUpdateOSCError(openStackCluster, errors.Errorf("failed to find only one network (result: %v): %v", networkList, err))
455-
return errors.Errorf("failed to find only one network (result: %v): %v", networkList, err)
454+
handleUpdateOSCError(openStackCluster, fmt.Errorf("found multiple networks (result: %v)", networkList))
455+
return fmt.Errorf("found multiple networks (result: %v)", networkList)
456456
}
457457
if openStackCluster.Status.Network == nil {
458458
openStackCluster.Status.Network = &infrav1.Network{}
@@ -482,25 +482,25 @@ func reconcileNetworkComponents(scope scope.Scope, cluster *clusterv1.Cluster, o
482482
} else {
483483
err := networkingService.ReconcileNetwork(openStackCluster, clusterName)
484484
if err != nil {
485-
handleUpdateOSCError(openStackCluster, errors.Errorf("failed to reconcile network: %v", err))
486-
return errors.Errorf("failed to reconcile network: %v", err)
485+
handleUpdateOSCError(openStackCluster, fmt.Errorf("failed to reconcile network: %w", err))
486+
return fmt.Errorf("failed to reconcile network: %w", err)
487487
}
488488
err = networkingService.ReconcileSubnet(openStackCluster, clusterName)
489489
if err != nil {
490-
handleUpdateOSCError(openStackCluster, errors.Errorf("failed to reconcile subnets: %v", err))
491-
return errors.Errorf("failed to reconcile subnets: %v", err)
490+
handleUpdateOSCError(openStackCluster, fmt.Errorf("failed to reconcile subnets: %w", err))
491+
return fmt.Errorf("failed to reconcile subnets: %w", err)
492492
}
493493
err = networkingService.ReconcileRouter(openStackCluster, clusterName)
494494
if err != nil {
495-
handleUpdateOSCError(openStackCluster, errors.Errorf("failed to reconcile router: %v", err))
496-
return errors.Errorf("failed to reconcile router: %v", err)
495+
handleUpdateOSCError(openStackCluster, fmt.Errorf("failed to reconcile router: %w", err))
496+
return fmt.Errorf("failed to reconcile router: %w", err)
497497
}
498498
}
499499

500500
err = networkingService.ReconcileSecurityGroups(openStackCluster, clusterName)
501501
if err != nil {
502-
handleUpdateOSCError(openStackCluster, errors.Errorf("failed to reconcile security groups: %v", err))
503-
return errors.Errorf("failed to reconcile security groups: %v", err)
502+
handleUpdateOSCError(openStackCluster, fmt.Errorf("failed to reconcile security groups: %w", err))
503+
return fmt.Errorf("failed to reconcile security groups: %w", err)
504504
}
505505

506506
// Calculate the port that we will use for the API server
@@ -522,8 +522,8 @@ func reconcileNetworkComponents(scope scope.Scope, cluster *clusterv1.Cluster, o
522522

523523
err = loadBalancerService.ReconcileLoadBalancer(openStackCluster, clusterName, apiServerPort)
524524
if err != nil {
525-
handleUpdateOSCError(openStackCluster, errors.Errorf("failed to reconcile load balancer: %v", err))
526-
return errors.Errorf("failed to reconcile load balancer: %v", err)
525+
handleUpdateOSCError(openStackCluster, fmt.Errorf("failed to reconcile load balancer: %w", err))
526+
return fmt.Errorf("failed to reconcile load balancer: %w", err)
527527
}
528528
}
529529

@@ -541,8 +541,8 @@ func reconcileNetworkComponents(scope scope.Scope, cluster *clusterv1.Cluster, o
541541
// If floating IPs are not disabled, get one to use as the VIP for the control plane
542542
fp, err := networkingService.GetOrCreateFloatingIP(openStackCluster, openStackCluster, clusterName, openStackCluster.Spec.APIServerFloatingIP)
543543
if err != nil {
544-
handleUpdateOSCError(openStackCluster, errors.Errorf("Floating IP cannot be got or created: %v", err))
545-
return errors.Errorf("Floating IP cannot be got or created: %v", err)
544+
handleUpdateOSCError(openStackCluster, fmt.Errorf("floating IP cannot be got or created: %w", err))
545+
return fmt.Errorf("floating IP cannot be got or created: %w", err)
546546
}
547547
host = fp.FloatingIP
548548
case openStackCluster.Spec.APIServerFixedIP != "":
@@ -555,7 +555,7 @@ func reconcileNetworkComponents(scope scope.Scope, cluster *clusterv1.Cluster, o
555555
// accordingly when creating control plane machines
556556
// However this would require us to deploy software on the control plane hosts to manage the
557557
// VIP (e.g. keepalived/kube-vip)
558-
return errors.New("unable to determine VIP for API server")
558+
return fmt.Errorf("unable to determine VIP for API server")
559559
}
560560

561561
// Set APIEndpoints so the Cluster API Cluster Controller can pull them

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ require (
1313
github.com/hashicorp/go-version v1.4.0
1414
github.com/onsi/ginkgo/v2 v2.9.2
1515
github.com/onsi/gomega v1.27.6
16-
github.com/pkg/errors v0.9.1
1716
github.com/prometheus/client_golang v1.14.0
1817
github.com/spf13/pflag v1.0.5
1918
golang.org/x/crypto v0.9.0
@@ -96,6 +95,7 @@ require (
9695
github.com/opencontainers/image-spec v1.0.2 // indirect
9796
github.com/pelletier/go-toml v1.9.5 // indirect
9897
github.com/pelletier/go-toml/v2 v2.0.6 // indirect
98+
github.com/pkg/errors v0.9.1 // indirect
9999
github.com/prometheus/client_model v0.3.0 // indirect
100100
github.com/prometheus/common v0.42.0 // indirect
101101
github.com/prometheus/procfs v0.9.0 // indirect

0 commit comments

Comments
 (0)