Skip to content

Commit

Permalink
chore(CSI-213): fix EnsureCsiPluginNfsClientGroup logic
Browse files Browse the repository at this point in the history
  • Loading branch information
sergeyberezansky committed Aug 10, 2024
1 parent 669e187 commit 2a10bbc
Showing 1 changed file with 15 additions and 11 deletions.
26 changes: 15 additions & 11 deletions pkg/wekafs/apiclient/nfs.go
Original file line number Diff line number Diff line change
Expand Up @@ -339,16 +339,19 @@ func (a *ApiClient) EnsureCsiPluginNfsClientGroup(ctx context.Context) (*NfsClie
ctx, span := otel.Tracer(TracerName).Start(ctx, op)
defer span.End()
ctx = log.With().Str("trace_id", span.SpanContext().TraceID().String()).Str("span_id", span.SpanContext().SpanID().String()).Str("op", op).Logger().WithContext(ctx)
logger := log.Ctx(ctx)
var ret *NfsClientGroup
logger.Trace().Str("client_group_name", NfsClientGroupName).Msg("Getting client group by name")
ret, err := a.GetNfsClientGroupByName(ctx, NfsClientGroupName)
if err == nil {
return ret, nil
}
if err != ObjectNotFoundError {
return ret, err
if err != nil {
if err != ObjectNotFoundError {
logger.Error().Err(err).Msg("Failed to get client group by name")
return ret, err
}
logger.Trace().Str("client_group_name", NfsClientGroupName).Msg("Existing client group not found, creating client group")
err = a.CreateNfsClientGroup(ctx, NewNfsClientGroupCreateRequest(NfsClientGroupName), ret)
}
err = a.CreateNfsClientGroup(ctx, NewNfsClientGroupCreateRequest(NfsClientGroupName), ret)
return ret, err
return ret, nil
}

type NfsClientGroupCreateRequest struct {
Expand Down Expand Up @@ -579,11 +582,12 @@ func (a *ApiClient) EnsureNfsClientGroupRuleForIp(ctx context.Context, cg *NfsCl
q := &NfsClientGroupRule{Type: NfsClientGroupRuleTypeIP, Rule: ip, NfsClientGroupUid: *cg.Uid}

rule, err := a.GetNfsClientGroupRuleByFilter(ctx, q)
if err == ObjectNotFoundError {
req := NewNfsClientGroupRuleCreateRequest(*cg.Uid, rule.Type, rule.Rule)
err = a.CreateNfsClientGroupRule(ctx, req, rule)
if err != nil {
if err == ObjectNotFoundError {
req := NewNfsClientGroupRuleCreateRequest(*cg.Uid, rule.Type, rule.Rule)
return a.CreateNfsClientGroupRule(ctx, req, rule)
}
}

return err
}

Expand Down

0 comments on commit 2a10bbc

Please sign in to comment.