Skip to content

Commit 3795b9f

Browse files
committed
nvmeof: rearrange controllerserver
move setupDefaultListenersValues from controllerserver.go to the right place - volume.go Signed-off-by: gadi-didi <gadi.didi@ibm.com>
1 parent 7a6dced commit 3795b9f

File tree

2 files changed

+18
-28
lines changed

2 files changed

+18
-28
lines changed

internal/nvmeof/controller/controllerserver.go

Lines changed: 3 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -776,10 +776,11 @@ func (cs *Server) createNVMeoFResources(
776776
}
777777

778778
// setup listeners (if provided, otherwise it will be set by gateway based on network mask)
779-
err = setupDefaultListenersValues(params["listeners"], nvmeofData)
779+
listeners, err := parseListeners(params["listeners"])
780780
if err != nil {
781-
return nil, err
781+
return nil, fmt.Errorf("failed to parse listeners: %w", err)
782782
}
783+
nvmeofData.SetListenersWithDefaults(listeners)
783784

784785
// If dhchapMode was explicitly provided and is not "none", and authenticationKMSID is empty,
785786
// use a default KMS ID - RBD metadata KMS.
@@ -1321,29 +1322,3 @@ func connectGateway(ctx context.Context, config *nvmeof.GatewayConfig) (*nvmeof.
13211322

13221323
return gateway, nil
13231324
}
1324-
1325-
// setupDefaultListeners validates and sets up default values for NVMe-oF listeners.
1326-
// if listeners are provided, it ensures they are fully populated with
1327-
// default values if needed (port and address).
1328-
func setupDefaultListenersValues(listenersJSON string, info *nvmeof.NVMeoFVolumeData) error {
1329-
// Parse listeners from JSON
1330-
listeners, err := parseListeners(listenersJSON)
1331-
if err != nil {
1332-
return fmt.Errorf("failed to parse listeners: %w", err)
1333-
}
1334-
1335-
// ensure listeners are fully populated with default values if needed (port and address)
1336-
// before storing in metadata and creating subsystem/listeners
1337-
for i := range listeners {
1338-
if listeners[i].Port == 0 {
1339-
listeners[i].Port = 4420
1340-
}
1341-
// if address is empty, set it to default 0.0.0.0
1342-
if listeners[i].Address == "" {
1343-
listeners[i].Address = "0.0.0.0"
1344-
}
1345-
}
1346-
info.ListenerInfo = listeners
1347-
1348-
return nil
1349-
}

internal/nvmeof/volume.go

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,3 +30,18 @@ type NVMeoFSecurityConfig struct {
3030
DhchapMode string
3131
AuthenticationKMSID string
3232
}
33+
34+
// SetListenersWithDefaults sets the listeners with default values applied.
35+
// If port is 0, it defaults to 4420.
36+
// If address is empty, it defaults to 0.0.0.0.
37+
func (v *NVMeoFVolumeData) SetListenersWithDefaults(listeners []ListenerDetails) {
38+
for i := range listeners {
39+
if listeners[i].Port == 0 {
40+
listeners[i].Port = 4420
41+
}
42+
if listeners[i].Address == "" {
43+
listeners[i].Address = "0.0.0.0"
44+
}
45+
}
46+
v.ListenerInfo = listeners
47+
}

0 commit comments

Comments
 (0)