From c1c3a8df2e657055833f976b39939b593294d344 Mon Sep 17 00:00:00 2001 From: Travis Glenn Hansen Date: Mon, 21 Feb 2022 10:01:42 -0700 Subject: [PATCH] update ci, add truenas 13.0 to test matrix Signed-off-by: Travis Glenn Hansen --- .github/workflows/main.yml | 55 ++++++++++++---- .../truenas/{ => core/12.0}/core-iscsi.yaml | 0 .../truenas/{ => core/12.0}/core-nfs.yaml | 0 .../truenas/{ => core/12.0}/core-smb.yaml | 0 ci/configs/truenas/core/13.0/core-iscsi.yaml | 37 +++++++++++ ci/configs/truenas/core/13.0/core-nfs.yaml | 35 +++++++++++ ci/configs/truenas/core/13.0/core-smb.yaml | 62 +++++++++++++++++++ .../{ => scale/22.02}/scale-iscsi.yaml | 0 .../truenas/{ => scale/22.02}/scale-nfs.yaml | 0 .../truenas/{ => scale/22.02}/scale-smb.yaml | 0 10 files changed, 176 insertions(+), 13 deletions(-) rename ci/configs/truenas/{ => core/12.0}/core-iscsi.yaml (100%) rename ci/configs/truenas/{ => core/12.0}/core-nfs.yaml (100%) rename ci/configs/truenas/{ => core/12.0}/core-smb.yaml (100%) create mode 100644 ci/configs/truenas/core/13.0/core-iscsi.yaml create mode 100644 ci/configs/truenas/core/13.0/core-nfs.yaml create mode 100644 ci/configs/truenas/core/13.0/core-smb.yaml rename ci/configs/truenas/{ => scale/22.02}/scale-iscsi.yaml (100%) rename ci/configs/truenas/{ => scale/22.02}/scale-nfs.yaml (100%) rename ci/configs/truenas/{ => scale/22.02}/scale-smb.yaml (100%) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index ba6f773..de8aaf2 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -41,18 +41,19 @@ jobs: SYNOLOGY_VOLUME: ${{ secrets.SANITY_SYNOLOGY_VOLUME }} # api-based drivers - csi-sanity-truenas-scale: + csi-sanity-truenas-scale-22_02: strategy: fail-fast: false matrix: config: - - truenas/scale-iscsi.yaml - - truenas/scale-nfs.yaml + - truenas/scale/22.02/scale-iscsi.yaml + - truenas/scale/22.02/scale-nfs.yaml # 80 char limit #- truenas/scale-smb.yaml runs-on: - self-hosted - - csi-sanity-truenas-scale + - csi-sanity-zfs-local + #- csi-sanity-truenas-scale steps: - uses: actions/checkout@v2 - name: csi-sanity @@ -61,24 +62,25 @@ jobs: 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 }} + TRUENAS_HOST: ${{ secrets.SANITY_TRUENAS_SCALE_22_02_HOST }} + TRUENAS_USERNAME: ${{ secrets.SANITY_TRUENAS_USERNAME }} + TRUENAS_PASSWORD: ${{ secrets.SANITY_TRUENAS_PASSWORD }} # ssh-based drivers - csi-sanity-truenas-core: + csi-sanity-truenas-core-12_0: strategy: fail-fast: false matrix: config: # 63 char limit #- truenas/core-iscsi.yaml - - truenas/core-nfs.yaml + - truenas/core/12.0/core-nfs.yaml # 80 char limit #- truenas/core-smb.yaml runs-on: - self-hosted - - csi-sanity-truenas-core + - csi-sanity-zfs-local + #- csi-sanity-truenas-core steps: - uses: actions/checkout@v2 - name: csi-sanity @@ -87,9 +89,36 @@ jobs: 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 }} + TRUENAS_HOST: ${{ secrets.SANITY_TRUENAS_CORE_12_0_HOST }} + TRUENAS_USERNAME: ${{ secrets.SANITY_TRUENAS_USERNAME }} + TRUENAS_PASSWORD: ${{ secrets.SANITY_TRUENAS_PASSWORD }} + + # ssh-based drivers + csi-sanity-truenas-core-13_0: + strategy: + fail-fast: false + matrix: + config: + - truenas/core-iscsi.yaml + - truenas/core/13.0/core-nfs.yaml + # 80 char limit + #- truenas/core-smb.yaml + runs-on: + - self-hosted + - csi-sanity-zfs-local + #- csi-sanity-truenas-core + 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_13_0_HOST }} + TRUENAS_USERNAME: ${{ secrets.SANITY_TRUENAS_USERNAME }} + TRUENAS_PASSWORD: ${{ secrets.SANITY_TRUENAS_PASSWORD }} + # ssh-based drivers csi-sanity-zfs-generic: diff --git a/ci/configs/truenas/core-iscsi.yaml b/ci/configs/truenas/core/12.0/core-iscsi.yaml similarity index 100% rename from ci/configs/truenas/core-iscsi.yaml rename to ci/configs/truenas/core/12.0/core-iscsi.yaml diff --git a/ci/configs/truenas/core-nfs.yaml b/ci/configs/truenas/core/12.0/core-nfs.yaml similarity index 100% rename from ci/configs/truenas/core-nfs.yaml rename to ci/configs/truenas/core/12.0/core-nfs.yaml diff --git a/ci/configs/truenas/core-smb.yaml b/ci/configs/truenas/core/12.0/core-smb.yaml similarity index 100% rename from ci/configs/truenas/core-smb.yaml rename to ci/configs/truenas/core/12.0/core-smb.yaml diff --git a/ci/configs/truenas/core/13.0/core-iscsi.yaml b/ci/configs/truenas/core/13.0/core-iscsi.yaml new file mode 100644 index 0000000..2cf1d84 --- /dev/null +++ b/ci/configs/truenas/core/13.0/core-iscsi.yaml @@ -0,0 +1,37 @@ +driver: freenas-iscsi + +httpConnection: + protocol: http + host: ${TRUENAS_HOST} + port: 80 + #apiKey: + username: ${TRUENAS_USERNAME} + password: ${TRUENAS_PASSWORD} + +sshConnection: + host: ${TRUENAS_HOST} + port: 22 + 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 diff --git a/ci/configs/truenas/core/13.0/core-nfs.yaml b/ci/configs/truenas/core/13.0/core-nfs.yaml new file mode 100644 index 0000000..04f2744 --- /dev/null +++ b/ci/configs/truenas/core/13.0/core-nfs.yaml @@ -0,0 +1,35 @@ +driver: freenas-nfs + +httpConnection: + protocol: http + host: ${TRUENAS_HOST} + port: 80 + #apiKey: + username: ${TRUENAS_USERNAME} + password: ${TRUENAS_PASSWORD} + +sshConnection: + host: ${TRUENAS_HOST} + port: 22 + 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: "" diff --git a/ci/configs/truenas/core/13.0/core-smb.yaml b/ci/configs/truenas/core/13.0/core-smb.yaml new file mode 100644 index 0000000..9460255 --- /dev/null +++ b/ci/configs/truenas/core/13.0/core-smb.yaml @@ -0,0 +1,62 @@ +driver: freenas-smb + +httpConnection: + protocol: http + host: ${TRUENAS_HOST} + port: 80 + #apiKey: + username: ${TRUENAS_USERNAME} + password: ${TRUENAS_PASSWORD} + +sshConnection: + host: ${TRUENAS_HOST} + port: 22 + 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: diff --git a/ci/configs/truenas/scale-iscsi.yaml b/ci/configs/truenas/scale/22.02/scale-iscsi.yaml similarity index 100% rename from ci/configs/truenas/scale-iscsi.yaml rename to ci/configs/truenas/scale/22.02/scale-iscsi.yaml diff --git a/ci/configs/truenas/scale-nfs.yaml b/ci/configs/truenas/scale/22.02/scale-nfs.yaml similarity index 100% rename from ci/configs/truenas/scale-nfs.yaml rename to ci/configs/truenas/scale/22.02/scale-nfs.yaml diff --git a/ci/configs/truenas/scale-smb.yaml b/ci/configs/truenas/scale/22.02/scale-smb.yaml similarity index 100% rename from ci/configs/truenas/scale-smb.yaml rename to ci/configs/truenas/scale/22.02/scale-smb.yaml