Skip to content

Commit 78f5613

Browse files
dkoshkinjimmidyson
andauthored
chore: cleanup code
Co-authored-by: Jimmi Dyson <[email protected]> Signed-off-by: Dimitri Koshkin <[email protected]>
1 parent c8bbdcb commit 78f5613

File tree

3 files changed

+18
-34
lines changed

3 files changed

+18
-34
lines changed

pkg/constants/constants.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,5 @@
44
package constants
55

66
const (
7-
LoadBalancerGCAnnotation = "capi-runtime-extensions.d2iq-labs.com/loadbalancer-gc"
7+
LoadBalancerGCAnnotation = "labs.d2iq.io/loadbalancer-gc"
88
)

pkg/k8s/annotations/annotations.go

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,8 @@ package annotations
66
import metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
77

88
// Get will get the value of the supplied annotation.
9-
func Get(obj metav1.Object, name string) (value string, found bool) {
9+
func Get(obj metav1.Object, name string) (string, bool) {
1010
annotations := obj.GetAnnotations()
11-
if len(annotations) == 0 {
12-
return "", false
13-
}
14-
15-
value, found = annotations[name]
16-
17-
return
11+
val, found := annotations[name]
12+
return val, found
1813
}

pkg/k8s/deleter/deleter.go

Lines changed: 14 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -31,14 +31,11 @@ type Deleter struct {
3131
type objectMetaList []metav1.ObjectMeta
3232

3333
func (ol objectMetaList) asCommaSeparatedString() string {
34-
out := ""
35-
separator := ""
36-
for n := range ol {
37-
object := ol[n]
38-
out += fmt.Sprintf("%s%s/%s", separator, object.Namespace, object.Name)
39-
separator = ", "
34+
names := make([]string, 0, len(ol))
35+
for _, obj := range ol {
36+
names = append(names, fmt.Sprintf("%s/%s", obj.Namespace, obj.Name))
4037
}
41-
return out
38+
return strings.Join(names, ",")
4239
}
4340

4441
func New(log logr.Logger, cluster *v1beta1.Cluster, remoteClient client.Client) Deleter {
@@ -50,11 +47,7 @@ func New(log logr.Logger, cluster *v1beta1.Cluster, remoteClient client.Client)
5047
}
5148

5249
func (d *Deleter) DeleteServicesWithLoadBalancer(ctx context.Context) error {
53-
err := deleteServicesWithLoadBalancer(ctx, d.client, d.log)
54-
if err != nil {
55-
return err
56-
}
57-
return nil
50+
return deleteServicesWithLoadBalancer(ctx, d.client, d.log)
5851
}
5952

6053
func deleteServicesWithLoadBalancer(
@@ -69,7 +62,7 @@ func deleteServicesWithLoadBalancer(
6962
return fmt.Errorf("error listing Services: %w", err)
7063
}
7164

72-
svcsFailedToBeDeleted := make(objectMetaList, 0)
65+
var svcsFailedToBeDeleted objectMetaList
7366
for i := range services.Items {
7467
svc := &services.Items[i]
7568
if needsDelete(svc) {
@@ -120,36 +113,32 @@ func waitForServiceDeletion(
120113
ctx context.Context,
121114
c client.Client,
122115
service *corev1.Service,
123-
) (err error) {
116+
) (error) {
124117
backoff := wait.Backoff{
125118
Duration: 1 * time.Second,
126119
Factor: 1.5,
127120
Jitter: 0,
128121
Steps: 13,
129122
}
130-
// the error is always nil to retry but is captured in the named return err
131-
_ = wait.ExponentialBackoff(backoff, func() (bool, error) {
123+
return wait.ExponentialBackoff(backoff, func() (bool, error) {
132124
key := client.ObjectKey{
133125
Namespace: service.Namespace,
134126
Name: service.Name,
135127
}
136-
err = c.Get(ctx, key, service)
128+
err := c.Get(ctx, key, service)
137129
if err != nil {
138130
if errors.IsNotFound(err) {
139-
err = nil
140131
return true, nil
141132
}
133+
return false, err
142134
}
143135
return false, nil
144136
})
145-
146-
return
147137
}
148138

149139
func failedToDeleteServicesError(svcsFailedToBeDeleted objectMetaList) error {
150-
//nolint:goerr113 // This error is specific to this function
151-
return fmt.Errorf("the following Services could not be deleted "+
152-
"and must cleaned up manually before deleting the cluster: %s", svcsFailedToBeDeleted.asCommaSeparatedString())
140+
return fmt.Errorf("%w: the following Services could not be deleted "+
141+
"and must cleaned up manually before deleting the cluster: %s", ErrFailedToDeleteService, svcsFailedToBeDeleted.asCommaSeparatedString())
153142
}
154143

155144
func ShouldDeleteServicesWithLoadBalancer(cluster *v1beta1.Cluster) (bool, error) {
@@ -168,14 +157,14 @@ func ShouldDeleteServicesWithLoadBalancer(cluster *v1beta1.Cluster) (bool, error
168157
)
169158
}
170159

171-
// use the Cluster phase to determine if its safe to skip deleting
160+
// use the Cluster phase to determine if it's safe to skip deleting
172161
//
173162
// when ClusterPhasePending or ClusterPhaseProvisioning Kubernetes API has not been created
174163
// and the user would not have been able to create any Kubernetes resources that would prevent cleanup
175164
//nolint:lll // long URL cannot be split up
176165
// https://github.com/kubernetes-sigs/cluster-api/blob/7f879be68d15737e335b6cb39d380d1d163e06e6/controllers/cluster_controller_phases.go#L44-L50
177166
//
178-
// when ClusterPhaseDeleting its too late to try to cleanup
167+
// when ClusterPhaseDeleting it's too late to try to cleanup
179168
phase := cluster.Status.GetTypedPhase()
180169
skipDeleteBasedOnPhase := phase == v1beta1.ClusterPhasePending ||
181170
phase == v1beta1.ClusterPhaseProvisioning ||

0 commit comments

Comments
 (0)