feat: add Longhorn V2 provisioner #462
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Harvester-Node-Disk-Manager CI | |
# synchronize for pull request update | |
on: | |
push: | |
branches: | |
- master | |
- 'v**' | |
pull_request: | |
types: [opened, reopened, synchronize] | |
env: | |
LIBVIRT_DEFAULT_URI: "qemu:///system" | |
jobs: | |
validation: | |
runs-on: | |
- self-hosted | |
- golang | |
steps: | |
- name: "Clone and check" | |
uses: actions/checkout@v3 | |
- name: "Run validations" | |
run: | | |
make validate | |
make validate-ci | |
main_jobs: | |
needs: validation | |
runs-on: | |
- self-hosted | |
- golang | |
steps: | |
- name: "Clone and check" | |
uses: actions/checkout@v3 | |
- name: "Build the Image for the Integration Test" | |
run: | | |
BUILD_FOR_CI=true make | |
./ci/scripts/patch-ttl-repo.sh | |
echo "NDM override result as below:" | |
cat ci/charts/ndm-override.yaml | |
- name: "Local Deployment (Harvester+Longhorn+Node-Disk-Manager) for testing" | |
id: vm_deploy | |
run: | | |
rm -rf ndm-vagrant-rancherd | |
git clone https://github.com/harvester/vagrant-rancherd ndm-vagrant-rancherd | |
pushd ndm-vagrant-rancherd | |
./new_cluster.sh | |
yq e -i ".longhorn_version = \"1.5.3\"" settings.yaml | |
./scripts/deploy_longhorn.sh | |
cp ../ci/scripts/deploy_ndm.sh ./deploy_ndm.sh | |
./deploy_ndm.sh | |
popd | |
- name: "Add disk" | |
run: | | |
pushd ndm-vagrant-rancherd | |
./scripts/attach-disk.sh node1 | |
sleep 30 | |
popd | |
- name: "Patch Image target (for upgrade)" | |
run: | | |
./ci/scripts/patch-ttl-repo.sh | |
echo "NDM override result as below:" | |
cat ci/charts/ndm-override.yaml | |
- name: "Upgrade NDM" | |
run: | | |
pushd ndm-vagrant-rancherd | |
cp ../ci/scripts/upgrade_ndm.sh ./upgrade_ndm.sh | |
./upgrade_ndm.sh | |
popd | |
- name: "Run Basic Test" | |
id: basic-test | |
run: | | |
pushd ndm-vagrant-rancherd | |
vagrant ssh-config node1 > ../ssh-config | |
cp kubeconfig ../kubeconfig | |
popd | |
echo Running integration tests | |
NDM_HOME=`pwd` go test -v ./tests/... | |
- name: "Get NDM logs" | |
if: steps.vm_deploy.conclusion == 'success' | |
run: | | |
./ci/scripts/get-debug-info.sh | |
- name: "Tear Down / Cleanup" | |
if: steps.vm_deploy.conclusion == 'success' | |
run: | | |
pushd ndm-vagrant-rancherd | |
vagrant destroy -f --parallel | |
popd |