Skip to content

Commit 79a7226

Browse files
authored
Better error messages for release child prefix (#156)
1 parent 1503103 commit 79a7226

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

prefix.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -294,10 +294,10 @@ func (i *ipamer) ReleaseChildPrefix(ctx context.Context, child *Prefix) error {
294294
func (i *ipamer) releaseChildPrefixInternal(ctx context.Context, namespace string, child *Prefix) error {
295295
parent, err := i.PrefixFrom(ctx, child.ParentCidr)
296296
if err != nil {
297-
return fmt.Errorf("%w: unable to find prefix for cidr:%s error:%s", ErrNotFound, child.ParentCidr, err.Error())
297+
return fmt.Errorf("%w: unable to find prefix for cidr:%q error:%s", ErrNotFound, child.ParentCidr, err.Error())
298298
}
299-
if parent == nil {
300-
return fmt.Errorf("prefix %s is no child prefix", child.Cidr)
299+
if parent == nil || !parent.isParent {
300+
return fmt.Errorf("prefix:%q is no child prefix", child.Cidr)
301301
}
302302
if len(child.ips) > 2 {
303303
return fmt.Errorf("prefix %s has ips, deletion not possible", child.Cidr)
@@ -306,12 +306,12 @@ func (i *ipamer) releaseChildPrefixInternal(ctx context.Context, namespace strin
306306
parent.availableChildPrefixes[child.Cidr] = true
307307
_, err = i.storage.UpdatePrefix(ctx, *parent, namespace)
308308
if err != nil {
309-
return fmt.Errorf("unable to release prefix %v:%w", child, err)
309+
return fmt.Errorf("unable to update parent:%q to release child prefix:%q :%w", child.ParentCidr, child.Cidr, err)
310310
}
311311

312312
_, err = i.DeletePrefix(ctx, child.Cidr)
313313
if err != nil {
314-
return fmt.Errorf("unable to release prefix %v:%w", child, err)
314+
return fmt.Errorf("unable to delete child prefix:%q :%w", child.Cidr, err)
315315
}
316316

317317
return nil

0 commit comments

Comments
 (0)