Skip to content

Commit 86b40eb

Browse files
committed
docs(storage): add storage cli examples
Signed-off-by: Artsiom Koltun <[email protected]>
1 parent 00b06cc commit 86b40eb

File tree

1 file changed

+44
-0
lines changed

1 file changed

+44
-0
lines changed

README.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,3 +79,47 @@ Generate mocks like this:
7979
go install github.com/vektra/mockery/v2@latest
8080
make mock-generate
8181
```
82+
83+
## CLI
84+
85+
### Storage
86+
87+
```bash
88+
alias dpu="docker run --rm --network host ghcr.io/opiproject/godpu:main"
89+
90+
# connect to remote nvme/tcp controller
91+
nvmf0=$(dpu storage create backend nvme controller --id nvmf0 --multipath disable)
92+
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)
93+
94+
# connect to local nvme/pcie ssd controller
95+
nvmf1=$(dpu storage create backend nvme controller --id nvmf1 --multipath disable)
96+
path1=$(dpu storage create backend nvme path pcie --controller "$nvmf1" --id path1 --bdf "0000:40:00.0")
97+
98+
# expose volume over nvme/tcp controller
99+
ss0=$(dpu storage create frontend nvme subsystem --id subsys0 --nqn "nqn.2022-09.io.spdk:opitest0")
100+
ns0=$(dpu storage create frontend nvme namespace --id namespace0 --volume "Malloc0" --subsystem "$ss0")
101+
ctrl0=$(dpu storage create frontend nvme controller tcp --id ctrl0 --ip "127.0.0.1" --port 4420 --subsystem "$ss0")
102+
103+
# expose volume over emulated nvme/pcie controller
104+
ss1=$(dpu storage create frontend nvme subsystem --id subsys1 --nqn "nqn.2022-09.io.spdk:opitest1")
105+
ns1=$(dpu storage create frontend nvme namespace --id namespace1 --volume "Malloc1" --subsystem "$ss1")
106+
ctrl1=$(dpu storage create frontend nvme controller pcie --id ctrl1 --port 0 --pf 0 --vf 0 --subsystem "$ss1")
107+
108+
# delete emulated nvme/pcie controller
109+
dpu storage delete frontend nvme controller --name "$ctrl1"
110+
dpu storage delete frontend nvme namespace --name "$ns1"
111+
dpu storage delete frontend nvme subsystem --name "$ss1"
112+
113+
# delete nvme/tcp controller
114+
dpu storage delete frontend nvme controller --name "$ctrl0"
115+
dpu storage delete frontend nvme namespace --name "$ns0"
116+
dpu storage delete frontend nvme subsystem --name "$ss0"
117+
118+
# disconnect from local nvme/pcie ssd controller
119+
dpu storage delete backend nvme path --name "$path1"
120+
dpu storage delete backend nvme controller --name "$nvmf1"
121+
122+
# disconnect from remote nvme/tcp controller
123+
dpu storage delete backend nvme path --name "$path0"
124+
dpu storage delete backend nvme controller --name "$nvmf0"
125+
```

0 commit comments

Comments
 (0)