add truenas ci jobs
Signed-off-by: Travis Glenn Hansen <travisghansen@yahoo.com>
This commit is contained in:
parent
9b107de721
commit
55e1c89be1
|
|
@ -21,28 +21,15 @@ jobs:
|
|||
strategy:
|
||||
matrix:
|
||||
config:
|
||||
- synlogy-iscsi/default.yaml
|
||||
- synlogy/iscsi.yaml
|
||||
runs-on:
|
||||
- self-hosted
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: csi-sanity
|
||||
run: |
|
||||
export PATH="/usr/local/lib/nodejs/bin:${PATH}"
|
||||
# install deps
|
||||
npm i
|
||||
|
||||
# generate key for paths etc
|
||||
export CI_BUILD_KEY=$(uuidgen)
|
||||
|
||||
# launch the server
|
||||
sudo -E ci/bin/launch-server.sh &
|
||||
|
||||
# wait for server to launch
|
||||
sleep 10
|
||||
|
||||
# launch csi-sanity
|
||||
sudo -E ci/bin/launch-csi-sanity.sh
|
||||
# run tests
|
||||
ci/bin/run.sh
|
||||
env:
|
||||
TEMPLATE_CONFIG_FILE: "./ci/configs/${{ matrix.config }}"
|
||||
SYNOLOGY_HOST: ${{ secrets.SANITY_SYNOLOGY_HOST }}
|
||||
|
|
@ -50,11 +37,56 @@ jobs:
|
|||
SYNOLOGY_USERNAME: ${{ secrets.SANITY_SYNOLOGY_USERNAME }}
|
||||
SYNOLOGY_PASSWORD: ${{ secrets.SANITY_SYNOLOGY_PASSWORD }}
|
||||
SYNOLOGY_VOLUME: ${{ secrets.SANITY_SYNOLOGY_VOLUME }}
|
||||
TARGET_PORTAL: ${{ secrets.SANITY_SYNOLOGY_TARGET_PORTAL }}
|
||||
|
||||
# api-based drivers
|
||||
csi-sanity-truenas-scale:
|
||||
strategy:
|
||||
matrix:
|
||||
config:
|
||||
- truenas/scale-iscsi.yaml
|
||||
- truenas/scale-nfs.yaml
|
||||
- truenas/scale-smb.yaml
|
||||
runs-on:
|
||||
- self-hosted
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: csi-sanity
|
||||
run: |
|
||||
# run tests
|
||||
ci/bin/run.sh
|
||||
env:
|
||||
TEMPLATE_CONFIG_FILE: "./ci/configs/${{ matrix.config }}"
|
||||
TRUENAS_HOST: ${{ secrets.SANITY_TRUENAS_SCALE_HOST }}
|
||||
TRUENAS_USERNAME: ${{ secrets.SANITY_TRUENAS_SCALE_USERNAME }}
|
||||
TRUENAS_PASSWORD: ${{ secrets.SANITY_TRUENAS_SCALE_PASSWORD }}
|
||||
|
||||
# ssh-based drivers
|
||||
csi-sanity-truenas-core:
|
||||
strategy:
|
||||
matrix:
|
||||
config:
|
||||
- truenas/core-iscsi.yaml
|
||||
- truenas/core-nfs.yaml
|
||||
- truenas/core-smb.yaml
|
||||
runs-on:
|
||||
- self-hosted
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: csi-sanity
|
||||
run: |
|
||||
# run tests
|
||||
ci/bin/run.sh
|
||||
env:
|
||||
TEMPLATE_CONFIG_FILE: "./ci/configs/${{ matrix.config }}"
|
||||
TRUENAS_HOST: ${{ secrets.SANITY_TRUENAS_CORE_HOST }}
|
||||
TRUENAS_USERNAME: ${{ secrets.SANITY_TRUENAS_CORE_USERNAME }}
|
||||
TRUENAS_PASSWORD: ${{ secrets.SANITY_TRUENAS_CORE_PASSWORD }}
|
||||
|
||||
build:
|
||||
needs:
|
||||
- csi-sanity-synology
|
||||
- csi-sanity-truenas-scale
|
||||
- csi-sanity-truenas-core
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
|
|
|||
|
|
@ -8,9 +8,10 @@ set -x
|
|||
: ${CSI_MODE:=""}
|
||||
: ${CSI_VERSION:="1.5.0"}
|
||||
: ${CSI_ENDPOINT:=/tmp/csi-${CI_BUILD_KEY}.sock}
|
||||
: ${LOG_PATH:=/tmp/csi-${CI_BUILD_KEY}.log}
|
||||
|
||||
if [[ "x${CONFIG_FILE}" == "x" ]];then
|
||||
: ${CONFIG_FILE:=$(mktemp -t ci-csi-config-XXXXXXXX)}
|
||||
: ${CONFIG_FILE:=/tmp/csi-config-${CI_BUILD_KEY}.yaml}
|
||||
|
||||
if [[ "x${TEMPLATE_CONFIG_FILE}" != "x" ]];then
|
||||
envsubst < "${TEMPLATE_CONFIG_FILE}" > "${CONFIG_FILE}"
|
||||
|
|
@ -21,4 +22,5 @@ if [[ "x${CSI_MODE}" != "x" ]];then
|
|||
EXTRA_ARGS="--csi-mode ${CSI_MODE} ${EXTRA_ARGS}"
|
||||
fi
|
||||
|
||||
# > "${LOG_PATH}" 2>&1
|
||||
./bin/democratic-csi --log-level debug --driver-config-file "${CONFIG_FILE}" --csi-version "${CSI_VERSION}" --csi-name "driver-test" --server-socket "${CSI_ENDPOINT}" ${EXTRA_ARGS}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,20 @@
|
|||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
set -x
|
||||
|
||||
export PATH="/usr/local/lib/nodejs/bin:${PATH}"
|
||||
# install deps
|
||||
npm i
|
||||
|
||||
# generate key for paths etc
|
||||
export CI_BUILD_KEY=$(uuidgen | cut -d "-" -f 1)
|
||||
|
||||
# launch the server
|
||||
sudo -E ci/bin/launch-server.sh &
|
||||
|
||||
# wait for server to launch
|
||||
sleep 10
|
||||
|
||||
# launch csi-sanity
|
||||
sudo -E ci/bin/launch-csi-sanity.sh
|
||||
|
|
@ -13,10 +13,10 @@ synology:
|
|||
volume: ${SYNOLOGY_VOLUME}
|
||||
|
||||
iscsi:
|
||||
targetPortal: ${TARGET_PORTAL}
|
||||
targetPortal: ${SYNOLOGY_HOST}
|
||||
targetPortals: []
|
||||
baseiqn: "iqn.2000-01.com.synology:XpenoDsm62x."
|
||||
namePrefix: "csi-${CI_BUILD_KEY}"
|
||||
namePrefix: "csi-${CI_BUILD_KEY}-"
|
||||
nameSuffix: "-ci"
|
||||
|
||||
lunTemplate:
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
driver: freenas-api-iscsi
|
||||
|
||||
httpConnection:
|
||||
protocol: http
|
||||
host: ${TRUENAS_HOST}
|
||||
port: 80
|
||||
#apiKey:
|
||||
username: ${TRUENAS_USERNAME}
|
||||
password: ${TRUENAS_PASSWORD}
|
||||
|
||||
zfs:
|
||||
datasetParentName: tank/ci/${CI_BUILD_KEY}/v
|
||||
detachedSnapshotsDatasetParentName: tank/ci/${CI_BUILD_KEY}/s
|
||||
|
||||
zvolCompression:
|
||||
zvolDedup:
|
||||
zvolEnableReservation: false
|
||||
zvolBlocksize:
|
||||
|
||||
iscsi:
|
||||
targetPortal: ${TRUENAS_HOST}
|
||||
interface: ""
|
||||
namePrefix: "csi-ci-${CI_BUILD_KEY}"
|
||||
nameSuffix: ""
|
||||
targetGroups:
|
||||
- targetGroupPortalGroup: 1
|
||||
targetGroupInitiatorGroup: 1
|
||||
targetGroupAuthType: None
|
||||
targetGroupAuthGroup:
|
||||
# 0-100 (0 == ignore)
|
||||
extentAvailThreshold: 0
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
driver: freenas-api-nfs
|
||||
|
||||
httpConnection:
|
||||
protocol: http
|
||||
host: ${TRUENAS_HOST}
|
||||
port: 80
|
||||
#apiKey:
|
||||
username: ${TRUENAS_USERNAME}
|
||||
password: ${TRUENAS_PASSWORD}
|
||||
|
||||
zfs:
|
||||
datasetParentName: tank/ci/${CI_BUILD_KEY}/v
|
||||
detachedSnapshotsDatasetParentName: tank/ci/${CI_BUILD_KEY}/s
|
||||
|
||||
datasetEnableQuotas: true
|
||||
datasetEnableReservation: true
|
||||
datasetPermissionsMode: "0777"
|
||||
datasetPermissionsUser: 0
|
||||
datasetPermissionsGroup: 0
|
||||
|
||||
nfs:
|
||||
shareHost: ${TRUENAS_HOST}
|
||||
shareAlldirs: false
|
||||
shareAllowedHosts: []
|
||||
shareAllowedNetworks: []
|
||||
shareMaprootUser: root
|
||||
shareMaprootGroup: wheel
|
||||
shareMapallUser: ""
|
||||
shareMapallGroup: ""
|
||||
|
|
@ -0,0 +1,56 @@
|
|||
driver: freenas-api-smb
|
||||
|
||||
httpConnection:
|
||||
protocol: http
|
||||
host: ${TRUENAS_HOST}
|
||||
port: 80
|
||||
#apiKey:
|
||||
username: ${TRUENAS_USERNAME}
|
||||
password: ${TRUENAS_PASSWORD}
|
||||
|
||||
zfs:
|
||||
datasetProperties:
|
||||
# smb options
|
||||
#aclmode: restricted
|
||||
#casesensitivity: mixed
|
||||
|
||||
datasetParentName: tank/ci/${CI_BUILD_KEY}/v
|
||||
detachedSnapshotsDatasetParentName: tank/ci/${CI_BUILD_KEY}/s
|
||||
|
||||
datasetEnableQuotas: true
|
||||
datasetEnableReservation: true
|
||||
datasetPermissionsMode: "0777"
|
||||
datasetPermissionsUser: 0
|
||||
datasetPermissionsGroup: 0
|
||||
|
||||
# for smb with guest
|
||||
#datasetPermissionsUser: nobody
|
||||
#datasetPermissionsGroup: nobody
|
||||
|
||||
#datasetPermissionsGroup: root
|
||||
#datasetPermissionsAcls:
|
||||
#- "-m everyone@:full_set:allow"
|
||||
|
||||
#datasetPermissionsAcls:
|
||||
#- "-m u:kube:full_set:allow"
|
||||
|
||||
smb:
|
||||
shareHost: ${TRUENAS_HOST}
|
||||
#nameTemplate: ""
|
||||
namePrefix: "csi-ci-${CI_BUILD_KEY}"
|
||||
nameSuffix: ""
|
||||
shareAuxiliaryConfigurationTemplate: |
|
||||
#guest ok = yes
|
||||
#guest only = yes
|
||||
shareHome: false
|
||||
shareAllowedHosts: []
|
||||
shareDeniedHosts: []
|
||||
#shareDefaultPermissions: true
|
||||
shareGuestOk: true
|
||||
#shareGuestOnly: true
|
||||
#shareShowHiddenFiles: true
|
||||
shareRecycleBin: true
|
||||
shareBrowsable: false
|
||||
shareAccessBasedEnumeration: true
|
||||
shareTimeMachine: false
|
||||
#shareStorageTask:
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
driver: freenas-api-iscsi
|
||||
|
||||
httpConnection:
|
||||
protocol: http
|
||||
host: ${TRUENAS_HOST}
|
||||
port: 80
|
||||
#apiKey:
|
||||
username: ${TRUENAS_USERNAME}
|
||||
password: ${TRUENAS_PASSWORD}
|
||||
|
||||
zfs:
|
||||
datasetParentName: tank/ci/${CI_BUILD_KEY}/v
|
||||
detachedSnapshotsDatasetParentName: tank/ci/${CI_BUILD_KEY}/s
|
||||
|
||||
zvolCompression:
|
||||
zvolDedup:
|
||||
zvolEnableReservation: false
|
||||
zvolBlocksize:
|
||||
|
||||
iscsi:
|
||||
targetPortal: ${TRUENAS_HOST}
|
||||
interface: ""
|
||||
namePrefix: "csi-ci-${CI_BUILD_KEY}"
|
||||
nameSuffix: ""
|
||||
targetGroups:
|
||||
- targetGroupPortalGroup: 1
|
||||
targetGroupInitiatorGroup: 1
|
||||
targetGroupAuthType: None
|
||||
targetGroupAuthGroup:
|
||||
# 0-100 (0 == ignore)
|
||||
extentAvailThreshold: 0
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
driver: freenas-api-nfs
|
||||
|
||||
httpConnection:
|
||||
protocol: http
|
||||
host: ${TRUENAS_HOST}
|
||||
port: 80
|
||||
#apiKey:
|
||||
username: ${TRUENAS_USERNAME}
|
||||
password: ${TRUENAS_PASSWORD}
|
||||
|
||||
zfs:
|
||||
datasetParentName: tank/ci/${CI_BUILD_KEY}/v
|
||||
detachedSnapshotsDatasetParentName: tank/ci/${CI_BUILD_KEY}/s
|
||||
|
||||
datasetEnableQuotas: true
|
||||
datasetEnableReservation: true
|
||||
datasetPermissionsMode: "0777"
|
||||
datasetPermissionsUser: 0
|
||||
datasetPermissionsGroup: 0
|
||||
|
||||
nfs:
|
||||
shareHost: ${TRUENAS_HOST}
|
||||
shareAlldirs: false
|
||||
shareAllowedHosts: []
|
||||
shareAllowedNetworks: []
|
||||
shareMaprootUser: root
|
||||
shareMaprootGroup: root
|
||||
shareMapallUser: ""
|
||||
shareMapallGroup: ""
|
||||
|
|
@ -0,0 +1,56 @@
|
|||
driver: freenas-api-smb
|
||||
|
||||
httpConnection:
|
||||
protocol: http
|
||||
host: ${TRUENAS_HOST}
|
||||
port: 80
|
||||
#apiKey:
|
||||
username: ${TRUENAS_USERNAME}
|
||||
password: ${TRUENAS_PASSWORD}
|
||||
|
||||
zfs:
|
||||
datasetProperties:
|
||||
# smb options
|
||||
#aclmode: restricted
|
||||
#casesensitivity: mixed
|
||||
|
||||
datasetParentName: tank/ci/${CI_BUILD_KEY}/v
|
||||
detachedSnapshotsDatasetParentName: tank/ci/${CI_BUILD_KEY}/s
|
||||
|
||||
datasetEnableQuotas: true
|
||||
datasetEnableReservation: true
|
||||
datasetPermissionsMode: "0777"
|
||||
datasetPermissionsUser: 0
|
||||
datasetPermissionsGroup: 0
|
||||
|
||||
# for smb with guest
|
||||
#datasetPermissionsUser: nobody
|
||||
#datasetPermissionsGroup: nobody
|
||||
|
||||
#datasetPermissionsGroup: root
|
||||
#datasetPermissionsAcls:
|
||||
#- "-m everyone@:full_set:allow"
|
||||
|
||||
#datasetPermissionsAcls:
|
||||
#- "-m u:kube:full_set:allow"
|
||||
|
||||
smb:
|
||||
shareHost: ${TRUENAS_HOST}
|
||||
#nameTemplate: ""
|
||||
namePrefix: "csi-ci-${CI_BUILD_KEY}"
|
||||
nameSuffix: ""
|
||||
shareAuxiliaryConfigurationTemplate: |
|
||||
#guest ok = yes
|
||||
#guest only = yes
|
||||
shareHome: false
|
||||
shareAllowedHosts: []
|
||||
shareDeniedHosts: []
|
||||
#shareDefaultPermissions: true
|
||||
shareGuestOk: true
|
||||
#shareGuestOnly: true
|
||||
#shareShowHiddenFiles: true
|
||||
shareRecycleBin: true
|
||||
shareBrowsable: false
|
||||
shareAccessBasedEnumeration: true
|
||||
shareTimeMachine: false
|
||||
#shareStorageTask:
|
||||
Loading…
Reference in New Issue