Skip to content

Commit

Permalink
fix(storage/backend): adjust nvme to parent member
Browse files Browse the repository at this point in the history
Signed-off-by: Artsiom Koltun <[email protected]>
  • Loading branch information
artek-koltun committed Jan 4, 2024
1 parent 1cd00c6 commit 91f222e
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 15 deletions.
21 changes: 10 additions & 11 deletions storage/backend.go
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ func executeNvmeRemoteController(ctx context.Context, c4 pb.NvmeRemoteController
}
newResourceID = parsed.String()
}
fullname := resourceIDToVolumeName(newResourceID)
fullname := resourceIDToRemoteControllerName(newResourceID)
if rr0.Name != fullname {
return fmt.Errorf("server filled value '%s' is not matching user requested '%s'", rr0.Name, fullname)
}
Expand All @@ -88,7 +88,7 @@ func executeNvmeRemoteController(ctx context.Context, c4 pb.NvmeRemoteController
return err
}
log.Printf("Reset Nvme: %v", rr2)
rr3, err := c4.ListNvmeRemoteControllers(ctx, &pb.ListNvmeRemoteControllersRequest{Parent: "todo"})
rr3, err := c4.ListNvmeRemoteControllers(ctx, &pb.ListNvmeRemoteControllersRequest{})
if err != nil {
return err
}
Expand Down Expand Up @@ -150,11 +150,11 @@ func executeNvmePath(ctx context.Context, c5 pb.NvmeRemoteControllerServiceClien

for _, resourceID := range []string{"opi-nvme8-path", ""} {
np0, err := c5.CreateNvmePath(ctx, &pb.CreateNvmePathRequest{
Parent: rr0.Name,
NvmePathId: resourceID,
NvmePath: &pb.NvmePath{
Trtype: pb.NvmeTransportType_NVME_TRANSPORT_TCP,
Traddr: addr[0].String(),
ControllerNameRef: rr0.Name,
Trtype: pb.NvmeTransportType_NVME_TRANSPORT_TCP,
Traddr: addr[0].String(),
Fabrics: &pb.FabricsPath{
Adrfam: pb.NvmeAddressFamily_NVME_ADRFAM_IPV4,
Trsvcid: int64(port),
Expand All @@ -175,18 +175,17 @@ func executeNvmePath(ctx context.Context, c5 pb.NvmeRemoteControllerServiceClien
}
newResourceID = parsed.String()
}
fullname := resourceIDToVolumeName(newResourceID)
fullname := resourceIDToNvmePathName(ctrlrResourceID, newResourceID)
if np0.Name != fullname {
return fmt.Errorf("server filled value '%s' is not matching user requested '%s'", np0.Name, fullname)
}
log.Printf("Created Nvme path: %v", np0)
np3, err := c5.UpdateNvmePath(ctx, &pb.UpdateNvmePathRequest{
UpdateMask: &fieldmaskpb.FieldMask{Paths: []string{"*"}},
NvmePath: &pb.NvmePath{
Name: np0.Name,
Trtype: pb.NvmeTransportType_NVME_TRANSPORT_TCP,
Traddr: addr[0].String(),
ControllerNameRef: rr0.Name,
Name: np0.Name,
Trtype: pb.NvmeTransportType_NVME_TRANSPORT_TCP,
Traddr: addr[0].String(),
Fabrics: &pb.FabricsPath{
Adrfam: pb.NvmeAddressFamily_NVME_ADRFAM_IPV4,
Trsvcid: int64(port),
Expand All @@ -198,7 +197,7 @@ func executeNvmePath(ctx context.Context, c5 pb.NvmeRemoteControllerServiceClien
return err
}
log.Printf("Updated Nvme path: %v", np3)
np4, err := c5.ListNvmePaths(ctx, &pb.ListNvmePathsRequest{Parent: "todo"})
np4, err := c5.ListNvmePaths(ctx, &pb.ListNvmePathsRequest{Parent: rr0.Name})
if err != nil {
return err
}
Expand Down
8 changes: 4 additions & 4 deletions storage/goopicsi.go
Original file line number Diff line number Diff line change
Expand Up @@ -65,11 +65,11 @@ func NvmeControllerConnect(id string, trAddr string, subnqn string, trSvcID int6
log.Printf("Connected: %v", response)

pathResponse, err := client.CreateNvmePath(ctx, &pb.CreateNvmePathRequest{
Parent: response.Name,
NvmePathId: nvmeControllerToPathResourceID(id),
NvmePath: &pb.NvmePath{
ControllerNameRef: response.Name,
Traddr: trAddr,
Trtype: pb.NvmeTransportType_NVME_TRANSPORT_TCP,
Traddr: trAddr,
Trtype: pb.NvmeTransportType_NVME_TRANSPORT_TCP,
Fabrics: &pb.FabricsPath{
Subnqn: subnqn,
Trsvcid: trSvcID,
Expand Down Expand Up @@ -107,7 +107,7 @@ func NvmeControllerList() ([]NvmeConnection, error) {
ctx, cancel := context.WithTimeout(context.Background(), time.Second)
defer cancel()

response, err := client.ListNvmeRemoteControllers(ctx, &pb.ListNvmeRemoteControllersRequest{Parent: "todo"})
response, err := client.ListNvmeRemoteControllers(ctx, &pb.ListNvmeRemoteControllersRequest{})
if err != nil {
log.Printf("could not list the connections to Remote Nvme controller: %v", err)
return []NvmeConnection{}, err
Expand Down
15 changes: 15 additions & 0 deletions storage/resource.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,3 +35,18 @@ func resourceIDToControllerName(subsysResourceID, ctrlrResourceID string) string
"controllers", ctrlrResourceID,
)
}

func resourceIDToRemoteControllerName(resourceID string) string {
return resourcename.Join(
"//storage.opiproject.org/",
"nvmeRemoteControllers", resourceID,
)
}

func resourceIDToNvmePathName(ctrlrResourceID, pathResourceID string) string {
return resourcename.Join(
"//storage.opiproject.org/",
"nvmeRemoteControllers", ctrlrResourceID,
"nvmePaths", pathResourceID,
)
}

0 comments on commit 91f222e

Please sign in to comment.