Skip to content

Latest commit

 

History

History
27 lines (24 loc) · 1.7 KB

README.md

File metadata and controls

27 lines (24 loc) · 1.7 KB

Mock Plug-in

The mock plug-in is a stand-alone binary that implements the CSI Controller, Identity, and Node RPCs in addition to the specification's requirements regarding idempotency.

The mock plug-in always starts with a deterministic state and maintains state for the duration of the process. The state can also be modified. For example, while the plug-in launches with three volumes, a CreateVolume RPC will update the plug-in's internal data map so that a subsequent ListVolumes RPC will indicate four volumes are present.

Per the specification the Mock plug-in starts a gRPC server using the value of the environment variable CSI_ENDPOINT. The plug-in process runs in the foreground, logging activity to STDOUT and errors to STDERR, only returning control to the user when CTRL-C is entered or the process is sent a kill signal.

$ CSI_ENDPOINT=/tmp/csi.sock mock/mock
INFO  2017/08/22 16:22:15 main.go:154: mock.Serve: /tmp/csi.sock
INFO  2017/08/22 16:22:18 main.go:133: /csi.Controller/CreateVolume: REQ 0001: Version=minor:1 , Name=Test Volume, CapacityRange=required_bytes:10740000000 limit_bytes:107400000000 , VolumeCapabilities=[mount:<fs_type:"ext4" mount_flags:"-o noexec" > ], Parameters=map[tag:gold]
INFO  2017/08/22 16:22:18 main.go:133: /csi.Controller/CreateVolume: REP 0001: Reply=&{volume_info:<capacity_bytes:107400000000 id:<values:<key:"id" value:"4" > values:<key:"name" value:"Test Volume" > > metadata:<> > }
INFO  2017/08/22 16:23:53 main.go:94: received signal: interrupt: shutting down
INFO  2017/08/22 16:23:53 main.go:188: mock.GracefulStop
INFO  2017/08/22 16:23:53 main.go:53: removed sock file: /tmp/csi.sock
INFO  2017/08/22 16:23:53 main.go:64: server stopped gracefully