From 9cc4a3aa5a53d3a54161abf4dcd22dbccfea3aec Mon Sep 17 00:00:00 2001 From: Boris Glimcher Date: Fri, 17 Feb 2023 00:30:42 +0200 Subject: [PATCH] don't publish spdk any more use new repo https://github.com/opiproject/spdk Signed-off-by: Boris Glimcher --- .github/workflows/docker-publish.yml | 32 --------------------------- docker-compose.yml | 6 ++--- scripts/poc.sh | 4 ++-- spdk/.dockerignore | 1 - spdk/Dockerfile | 33 ---------------------------- spdk/README.md | 21 ------------------ 6 files changed, 4 insertions(+), 93 deletions(-) delete mode 100644 spdk/.dockerignore delete mode 100644 spdk/Dockerfile delete mode 100644 spdk/README.md diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index c6963a5e..db86754f 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -56,38 +56,6 @@ jobs: cache-from: type=gha cache-to: type=gha,mode=max - spdk-push: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - uses: docker/setup-qemu-action@v2 - - uses: docker/setup-buildx-action@v2.4.1 - - - name: Log in to the GH Container registry - if: github.event_name != 'pull_request' - uses: docker/login-action@v2.1.0 - with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: Extract Docker metadata - id: meta - uses: docker/metadata-action@v4.3.0 - with: - images: ghcr.io/${{ github.repository_owner }}/opi-storage-spdk - - - name: Build and push Docker image - uses: docker/build-push-action@v4.0.0 - with: - context: spdk - platforms: linux/amd64 - push: ${{ github.event_name != 'pull_request' }} - tags: ${{ steps.meta.outputs.tags }} - labels: ${{ steps.meta.outputs.labels }} - cache-from: type=gha - cache-to: type=gha,mode=max - storage-ci: runs-on: ubuntu-latest steps: diff --git a/docker-compose.yml b/docker-compose.yml index d25ac350..c4dff078 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -6,9 +6,7 @@ version: "3.7" services: spdk: - image: "ghcr.io/opiproject/opi-storage-spdk:${SPDK_TAG-main}" - build: - context: spdk + image: ghcr.io/opiproject/spdk:main@sha256:64a72ab8aea082c919b83f33d6ddce4d2c15bdf05861974174fa1485ccc3300b volumes: - /dev/hugepages:/dev/hugepages - /dev/shm:/dev/shm @@ -50,7 +48,7 @@ services: build: context: . volumes_from: - - spdk:rw + - spdk ports: - "50051:50051" networks: diff --git a/scripts/poc.sh b/scripts/poc.sh index 5f786535..0536ef6f 100755 --- a/scripts/poc.sh +++ b/scripts/poc.sh @@ -60,8 +60,8 @@ tests_poc() { "${grpc_cli[@]}" call --json_input --json_output opi-spdk-server:50051 GetNVMeSubsystem "{name : 'subsystem1'}" "${grpc_cli[@]}" call --json_input --json_output opi-spdk-server:50051 GetNVMeController "{name : 'controller1'}" "${grpc_cli[@]}" call --json_input --json_output opi-spdk-server:50051 GetNVMeNamespace "{name : 'namespace1'}" - docker run --rm --network=host --privileged -v /dev/hugepages:/dev/hugepages ghcr.io/opiproject/opi-storage-spdk:main spdk_nvme_identify -r 'traddr:127.0.0.1 trtype:TCP adrfam:IPv4 trsvcid:4444' - docker run --rm --network=host --privileged -v /dev/hugepages:/dev/hugepages ghcr.io/opiproject/opi-storage-spdk:main spdk_nvme_perf -r 'traddr:127.0.0.1 trtype:TCP adrfam:IPv4 trsvcid:4444 subnqn:nqn.2022-09.io.spdk:opitest1 hostnqn:nqn.2014-08.org.nvmexpress:uuid:feb98abe-d51f-40c8-b348-2753f3571d3c' -c 0x1 -q 1 -o 4096 -w randread -t 10 | tee log.txt + docker run --rm --network=host --privileged -v /dev/hugepages:/dev/hugepages ghcr.io/opiproject/spdk:main spdk_nvme_identify -r 'traddr:127.0.0.1 trtype:TCP adrfam:IPv4 trsvcid:4444' + docker run --rm --network=host --privileged -v /dev/hugepages:/dev/hugepages ghcr.io/opiproject/spdk:main spdk_nvme_perf -r 'traddr:127.0.0.1 trtype:TCP adrfam:IPv4 trsvcid:4444 subnqn:nqn.2022-09.io.spdk:opitest1 hostnqn:nqn.2014-08.org.nvmexpress:uuid:feb98abe-d51f-40c8-b348-2753f3571d3c' -c 0x1 -q 1 -o 4096 -w randread -t 10 | tee log.txt grep "Total" log.txt "${grpc_cli[@]}" call --json_input --json_output opi-spdk-server:50051 DeleteNVMeNamespace "{name : 'namespace1'}" "${grpc_cli[@]}" call --json_input --json_output opi-spdk-server:50051 DeleteNVMeController "{name : 'controller1'}" diff --git a/spdk/.dockerignore b/spdk/.dockerignore deleted file mode 100644 index f59ec20a..00000000 --- a/spdk/.dockerignore +++ /dev/null @@ -1 +0,0 @@ -* \ No newline at end of file diff --git a/spdk/Dockerfile b/spdk/Dockerfile deleted file mode 100644 index c69f7d24..00000000 --- a/spdk/Dockerfile +++ /dev/null @@ -1,33 +0,0 @@ -# SPDX-License-Identifier: Apache-2.0 -# Copyright (c) 2022 Dell Inc, or its subsidiaries. - -FROM docker.io/library/fedora:37 as build - -ARG TAG=v23.01 -# Pick an arch that has at least sse 4.2 but does not require newer avx -# See https://gcc.gnu.org/onlinedocs/gcc/x86-Options.html -ARG ARCH=x86-64-v2 - -WORKDIR /root -RUN dnf install -y git rpm-build diffutils procps-ng pip && dnf clean all - -# hadolint ignore=DL3003 -RUN git clone https://github.com/spdk/spdk --branch ${TAG} --depth 1 && \ - cd spdk && git submodule update --init --depth 1 && scripts/pkgdep.sh --rdma - -# hadolint ignore=DL3003 -RUN cd spdk && DEPS="no" LDFLAGS=" " ./rpmbuild/rpm.sh --target-arch=${ARCH} --without-uring --with-crypto \ - --without-fio --with-raid5f --with-vhost --without-pmdk --without-rbd \ - --with-rdma --without-shared --with-iscsi-initiator --without-vtune --with-vfio-user - -FROM docker.io/library/fedora:37 - -RUN dnf install -y hostname && dnf clean all - -WORKDIR /root -RUN mkdir -p /root/rpmbuild -COPY --from=build /root/rpmbuild/ /root/rpmbuild/ -RUN dnf install -y /root/rpmbuild/rpm/x86_64/*.rpm && dnf clean all -EXPOSE 9009 -HEALTHCHECK CMD curl --fail --insecure --user spdkuser:spdkpass -X POST -H 'Content-Type: application/json' -d '{\"id\": 1, \"method\": \"bdev_get_bdevs\"}' http://localhost:9009 || exit 1 -CMD ["/usr/libexec/spdk/scripts/rpc_http_proxy.py", "0.0.0.0", "9009", "spdkuser", "spdkpass"] diff --git a/spdk/README.md b/spdk/README.md deleted file mode 100644 index f851a4c5..00000000 --- a/spdk/README.md +++ /dev/null @@ -1,21 +0,0 @@ -# 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":{}}]} -```