Skip to content

Latest commit

 

History

History

csi

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 

About

This crate contains CSI protocol implementation: the node part (mayastor-csi) and the control plane part (moac) written in node-js. The rest of the doc is about the mayastor-csi. It is an asynchronous server implementation making use of tokio.rs.

The mayastor-csi plugin implements two gRPC services:

  • identity CSI service
  • node CSI service

See grpc proto file for the details of the gRPC interface.

Building and running the gRPC server

After cargo build the binary will be in target/debug directory. To get a debug output just from the server and not other libraries (i.e. tokio, tower-grpc, etc.), run it as follows:

RUST_LOG=mayastor_grpc=trace ./target/debug/mayastor-csi

CSI

CSI methods can be tested by official csc tool written in golang. Assuming that golang is installed and GOPATH set, csc tool can be installed as:

go get github.com/rexray/gocsi && make -C $GOPATH/src/github.com/rexray/gocsi csi-sp

Now assuming that mayastor-client server is running and for example we want to invoke a probe method from csi identity service, we can type:

$GOPATH/src/github.com/rexray/gocsi/csc/csc -i -e unix:///var/tmp/csi.sock identity probe