longhorn/deploy/prerequisite/longhorn-spdk-setup.yaml
Derek Su e7aa5e6334 spdk: help install git before configuring spdk environment
Signed-off-by: Derek Su <derek.su@suse.com>
(cherry picked from commit 0d94b6e4cf)
2023-06-28 11:25:36 +08:00

48 lines
1.9 KiB
YAML

apiVersion: apps/v1
kind: DaemonSet
metadata:
name: longhorn-spdk-setup
labels:
app: longhorn-spdk-setup
annotations:
command: &cmd OS=$(grep -E "^ID_LIKE=" /etc/os-release | cut -d '=' -f 2); if [[ -z "${OS}" ]]; then OS=$(grep -E "^ID=" /etc/os-release | cut -d '=' -f 2); fi; if [[ "${OS}" == *"debian"* ]]; then sudo apt-get update -q -y && sudo apt-get install -q -y git; elif [[ "${OS}" == *"suse"* ]]; then sudo zypper --gpg-auto-import-keys -q refresh && sudo zypper --gpg-auto-import-keys -q install -y git; else sudo yum makecache -q -y && sudo yum --setopt=tsflags=noscripts install -q -y git; fi && if [ $? -eq 0 ]; then echo "git install successfully"; else echo "git install failed error code $?"; fi && rm -rf ${SPDK_DIR}; git clone -b longhorn https://github.com/longhorn/spdk.git ${SPDK_DIR} && bash ${SPDK_DIR}/scripts/setup.sh ${SPDK_OPTION}; if [ $? -eq 0 ]; then echo "vm.nr_hugepages=$((HUGEMEM/2))" >> /etc/sysctl.conf; echo "SPDK environment is configured successfully"; else echo "Failed to configure SPDK environment error code $?"; fi; rm -rf ${SPDK_DIR}
spec:
selector:
matchLabels:
app: longhorn-spdk-setup
template:
metadata:
labels:
app: longhorn-spdk-setup
spec:
hostNetwork: true
hostPID: true
initContainers:
- name: longhorn-spdk-setup
command:
- nsenter
- --mount=/proc/1/ns/mnt
- --
- bash
- -c
- *cmd
image: alpine:3.12
env:
- name: SPDK_DIR
value: "/tmp/spdk"
- name: SPDK_OPTION
value: ""
- name: HUGEMEM
value: "1024"
- name: PCI_ALLOWED
value: "none"
- name: DRIVER_OVERRIDE
value: "uio_pci_generic"
securityContext:
privileged: true
containers:
- name: sleep
image: registry.k8s.io/pause:3.1
updateStrategy:
type: RollingUpdate