Skip to content

Commit

Permalink
feat(storage/nvme): add get backend nvme controller cmd
Browse files Browse the repository at this point in the history
Signed-off-by: Artsiom Koltun <[email protected]>
  • Loading branch information
artek-koltun committed Feb 14, 2024
1 parent 1e9de45 commit 5168eb4
Show file tree
Hide file tree
Showing 4 changed files with 6 additions and 8 deletions.
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -90,13 +90,15 @@ alias dpu="docker run --rm --network host ghcr.io/opiproject/godpu:main"
# connect to remote nvme/tcp controller
nvmf0=$(dpu storage create backend nvme controller --id nvmf0 --multipath disable)
path0=$(dpu storage create backend nvme path tcp --controller "$nvmf0" --id path0 --ip "11.11.11.2" --port 4444 --nqn nqn.2016-06.io.spdk:cnode1 --hostnqn nqn.2014-08.org.nvmexpress:uuid:feb98abe-d51f-40c8-b348-2753f3571d3c)
dpu storage get backend nvme controller --name $nvmf0

# get remote controller
dpu storage get backend nvme controller --name $nvmf0

# connect to local nvme/pcie ssd controller
nvmf1=$(dpu storage create backend nvme controller --id nvmf1 --multipath disable)
path1=$(dpu storage create backend nvme path pcie --controller "$nvmf1" --id path1 --bdf "0000:40:00.0")
dpu storage get backend nvme controller --name $nvmf1

# expose volume over nvme/tcp controller
ss0=$(dpu storage create frontend nvme subsystem --id subsys0 --nqn "nqn.2022-09.io.spdk:opitest0")
Expand Down
2 changes: 1 addition & 1 deletion cmd/storage/backend/nvme_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ func newGetNvmeControllerCommand() *cobra.Command {
},
}

cmd.Flags().StringVar(&name, "name", "", "name of deleted remote controller")
cmd.Flags().StringVar(&name, "name", "", "name of remote controller to get")

cobra.CheckErr(cmd.MarkFlagRequired("name"))

Expand Down
2 changes: 1 addition & 1 deletion docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,7 @@ services:
command: |
'/dpu storage test --addr opi-spdk-server:50051 && \
nvmf0=$$(/dpu storage create backend nvme controller --addr=opi-spdk-server:50051 --id nvmf0 --multipath failover) && \
/dpu storage get backend nvme controller --addr=opi-spdk-server:50051 --name "$nvmf0" && \
/dpu storage get backend nvme controller --addr=opi-spdk-server:50051 --name "$$nvmf0" && \
path0=$$(/dpu storage create backend nvme path tcp --addr=opi-spdk-server:50051 --controller "$$nvmf0" --id path0 --ip $$(getent hosts spdk | cut -d" " -f1) --port 4444 --nqn nqn.2016-06.io.spdk:cnode1 --hostnqn nqn.2014-08.org.nvmexpress:uuid:feb98abe-d51f-40c8-b348-2753f3571d3c) && \
ss0=$$(/dpu storage create frontend nvme subsystem --addr=opi-spdk-server:50051 --id subsys0 --nqn "nqn.2022-09.io.spdk:opitest1") && \
ctrl0=$$(/dpu storage create frontend nvme controller tcp --addr=opi-spdk-server:50051 --id ctrl0 --ip "127.0.0.1" --port 4420 --subsystem "$$ss0") && \
Expand Down
8 changes: 2 additions & 6 deletions storage/backend/nvme_controller_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@ func TestDeleteNvmeController(t *testing.T) {
}

func TestGetNvmeController(t *testing.T) {
testControllerName := "remotenvme0"
testControllerName := "remotenvmeget"
testRequest := &pb.GetNvmeRemoteControllerRequest{
Name: testControllerName,
}
Expand All @@ -186,7 +186,6 @@ func TestGetNvmeController(t *testing.T) {
tests := map[string]struct {
giveClientErr error
giveConnectorErr error
giveResponse *pb.NvmeRemoteController
wantErr error
wantRequest *pb.GetNvmeRemoteControllerRequest
wantResponse *pb.NvmeRemoteController
Expand All @@ -195,7 +194,6 @@ func TestGetNvmeController(t *testing.T) {
"successful call": {
giveConnectorErr: nil,
giveClientErr: nil,
giveResponse: proto.Clone(testController).(*pb.NvmeRemoteController),
wantErr: nil,
wantRequest: proto.Clone(testRequest).(*pb.GetNvmeRemoteControllerRequest),
wantResponse: proto.Clone(testController).(*pb.NvmeRemoteController),
Expand All @@ -204,7 +202,6 @@ func TestGetNvmeController(t *testing.T) {
"client err": {
giveConnectorErr: nil,
giveClientErr: errors.New("Some client error"),
giveResponse: nil,
wantErr: errors.New("Some client error"),
wantRequest: proto.Clone(testRequest).(*pb.GetNvmeRemoteControllerRequest),
wantResponse: nil,
Expand All @@ -213,7 +210,6 @@ func TestGetNvmeController(t *testing.T) {
"connector err": {
giveConnectorErr: errors.New("Some conn error"),
giveClientErr: nil,
giveResponse: nil,
wantErr: errors.New("Some conn error"),
wantRequest: nil,
wantResponse: nil,
Expand All @@ -229,7 +225,7 @@ func TestGetNvmeController(t *testing.T) {
mockClient := mocks.NewNvmeRemoteControllerServiceClient(t)
if tt.wantRequest != nil {
mockClient.EXPECT().GetNvmeRemoteController(ctx, tt.wantRequest).
Return(tt.giveResponse, tt.giveClientErr)
Return(proto.Clone(tt.wantResponse).(*pb.NvmeRemoteController), tt.giveClientErr)
}

connClosed := false
Expand Down

0 comments on commit 5168eb4

Please sign in to comment.