From 4b17c03438fcad661ff45e14f85e13e73a77f500 Mon Sep 17 00:00:00 2001 From: Boris Glimcher Date: Fri, 5 Aug 2022 22:37:08 +0300 Subject: [PATCH] storage: adding docker ignore for spdk SPDK does clone inside, so it doesn't rely on anything from the context. To speed up builds and reuse caches better, adding dockerignore Signed-off-by: Boris Glimcher --- docker-compose.yml | 3 +-- spdk/.dockerignore | 1 + Dockerfile => spdk/Dockerfile | 0 spdk/README.md | 21 +++++++++++++++++++++ 4 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 spdk/.dockerignore rename Dockerfile => spdk/Dockerfile (100%) create mode 100644 spdk/README.md diff --git a/docker-compose.yml b/docker-compose.yml index 3babb376..a7f81816 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -8,8 +8,7 @@ services: spdk: image: "ghcr.io/opiproject/opi-spdk:${SPDK_TAG-main}" build: - context: . - dockerfile: Dockerfile + context: spdk volumes: - /dev/hugepages:/dev/hugepages - /dev/shm:/dev/shm diff --git a/spdk/.dockerignore b/spdk/.dockerignore new file mode 100644 index 00000000..f59ec20a --- /dev/null +++ b/spdk/.dockerignore @@ -0,0 +1 @@ +* \ No newline at end of file diff --git a/Dockerfile b/spdk/Dockerfile similarity index 100% rename from Dockerfile rename to spdk/Dockerfile diff --git a/spdk/README.md b/spdk/README.md new file mode 100644 index 00000000..f851a4c5 --- /dev/null +++ b/spdk/README.md @@ -0,0 +1,21 @@ +# OPI Storage SPDK container + +This directory contains an example SPDK app to demonstrate the OPI Storage APIs integration. + +## Docs + +* [JSON RPC Proxy](https://spdk.io/doc/jsonrpc_proxy.html) +* [SPDK SMA](https://github.com/spdk/spdk/tree/master/python/spdk/sma) +* [SPDK CSI](https://github.com/spdk/spdk-csi/blob/master/deploy/spdk/Dockerfile) +* [CSI Spec](https://github.com/container-storage-interface/spec/blob/master/spec.md) + +## Getting started + +Run `docker-compose up spdk` + +## SPDK RPC proxy + +```text +$ curl -k --user spdkuser:spdkpass -X POST -H "Content-Type: application/json" -d '{"id": 1, "method": "bdev_get_bdevs", "params": {"name": "Malloc0"}}' http://127.0.0.1:9009/ +{"jsonrpc":"2.0","id":1,"result":[{"name":"Malloc0","aliases":["f1c5d95a-b235-40af-9e4d-2c0b3320de80"],"product_name":"Malloc disk","block_size":512,"num_blocks":131072,"uuid":"f1c5d95a-b235-40af-9e4d-2c0b3320de80","assigned_rate_limits":{"rw_ios_per_sec":0,"rw_mbytes_per_sec":0,"r_mbytes_per_sec":0,"w_mbytes_per_sec":0},"claimed":false,"zoned":false,"supported_io_types":{"read":true,"write":true,"unmap":true,"write_zeroes":true,"flush":true,"reset":true,"nvme_admin":false,"nvme_io":false},"driver_specific":{}}]} +```