Skip to content
This repository was archived by the owner on Jul 30, 2021. It is now read-only.

Commit af8eedb

Browse files
authored
Merge pull request #283 from stewart-yu/stewart-bugfix
fix unmarshal err for blank field
2 parents 2cdce45 + 55ecff3 commit af8eedb

File tree

1 file changed

+6
-7
lines changed

1 file changed

+6
-7
lines changed

internal/locking/control_plane_init_mutex.go

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ func (c *ControlPlaneInitMutex) Lock(ctx context.Context, cluster *clusterv1.Clu
5454
err := c.client.Get(ctx, client.ObjectKey{
5555
Namespace: cluster.Namespace,
5656
Name: cmName,
57-
}, &sema.ConfigMap)
57+
}, sema.ConfigMap)
5858
switch {
5959
case apierrors.IsNotFound(err):
6060
break
@@ -82,9 +82,8 @@ func (c *ControlPlaneInitMutex) Lock(ctx context.Context, cluster *clusterv1.Clu
8282
log.Error(err, "Failed to acquire lock while setting semaphore information")
8383
return false
8484
}
85-
8685
log.Info("Attempting to acquire the lock")
87-
err = c.client.Create(ctx, &sema.ConfigMap)
86+
err = c.client.Create(ctx, sema.ConfigMap)
8887
switch {
8988
case apierrors.IsAlreadyExists(err):
9089
log.Info("Cannot acquire the lock. The lock has been acquired by someone else")
@@ -106,7 +105,7 @@ func (c *ControlPlaneInitMutex) Unlock(ctx context.Context, cluster *clusterv1.C
106105
err := c.client.Get(ctx, client.ObjectKey{
107106
Namespace: cluster.Namespace,
108107
Name: cmName,
109-
}, &sema.ConfigMap)
108+
}, sema.ConfigMap)
110109
switch {
111110
case apierrors.IsNotFound(err):
112111
log.Info("Control plane init lock not found, it may have been released already")
@@ -116,7 +115,7 @@ func (c *ControlPlaneInitMutex) Unlock(ctx context.Context, cluster *clusterv1.C
116115
return false
117116
default:
118117
// Delete the config map semaphore if there is no error fetching it
119-
if err := c.client.Delete(ctx, &sema.ConfigMap); err != nil {
118+
if err := c.client.Delete(ctx, sema.ConfigMap); err != nil {
120119
// TODO: return true on apierrors.IsNotFound
121120
log.Error(err, "Error deleting the config map underlying the control plane init lock")
122121
return false
@@ -130,11 +129,11 @@ type information struct {
130129
}
131130

132131
type semaphore struct {
133-
apicorev1.ConfigMap
132+
*apicorev1.ConfigMap
134133
}
135134

136135
func newSemaphore() *semaphore {
137-
return &semaphore{apicorev1.ConfigMap{}}
136+
return &semaphore{&apicorev1.ConfigMap{}}
138137
}
139138

140139
func configMapName(clusterName string) string {

0 commit comments

Comments
 (0)