--- /dev/null
+#!/bin/bash
+set -ex
+WORKDIR=$(mktemp -td tox.XXXXXXXXXX)
+
+# the following two methods exist in scripts/build_utils.sh
+pkgs=( "tox" )
+install_python_packages "pkgs[@]"
+
+
+delete_libvirt_vms
+clear_libvirt_networks
+restart_libvirt_services
+update_vagrant_boxes
+
+cd src/ceph-volume/ceph_volume/tests/functional/$SUBCOMMAND
+
+CEPH_DEV_BRANCH=$CEPH_BRANCH $VENV/tox --workdir=$WORKDIR -vre $DISTRO-$OBJECTSTORE-$SCENARIO -- --provider=libvirt
--- /dev/null
+#!/bin/bash
+# There has to be a better way to do this than this script which just looks
+# for every Vagrantfile in scenarios and then just destroys whatever is left.
+
+
+cd $WORKSPACE/src/ceph-volume/ceph_volume/tests/functional
+
+scenarios=$(find . | grep Vagrantfile | xargs dirname)
+
+for scenario in $scenarios; do
+ cd $scenario
+ vagrant destroy -f
+ cd -
+done
+
+# Sometimes, networks may linger around, so we must ensure they are killed:
+networks=`sudo virsh net-list --all | grep active | egrep -v "(default|libvirt)" | cut -d ' ' -f 2`
+for network in $networks; do
+ sudo virsh net-destroy $network || true
+ sudo virsh net-undefine $network || true
+done
+
--- /dev/null
+- project:
+ name: ceph-volume-nightly-lvm
+ distro:
+ - xenial
+ - centos7
+ objectstore:
+ - bluestore
+ - filestore
+ scenario:
+ - create
+ - dmcrypt
+ subcommand:
+ - lvm
+ ceph_branch:
+ - master
+ - luminous
+
+ jobs:
+ - 'ceph-volume-nightly-{ceph_branch}-{subcommand}-{distro}-{objectstore}-{scenario}'
+
+- project:
+ name: ceph-volume-nightly-simple
+ distro:
+ - xenial
+ - centos7
+ objectstore:
+ - bluestore
+ - filestore
+ scenario:
+ - activate
+ - dmcrypt_luks
+ - dmcrypt_plain
+ subcommand:
+ - simple
+ ceph_branch:
+ - master
+ - luminous
+
+ jobs:
+ - 'ceph-volume-nightly-{ceph_branch}-{subcommand}-{distro}-{objectstore}-{scenario}'
+
+
+- job-template:
+ name: 'ceph-volume-nightly-{ceph_branch}-{subcommand}-{distro}-{objectstore}-{scenario}'
+ display-name: 'ceph-volume {ceph_branch} {subcommand}: [{distro}-{objectstore}-{scenario}]'
+ node: vagrant&&libvirt
+ concurrent: true
+ project-type: freestyle
+ defaults: global
+ quiet-period: 5
+ block-downstream: false
+ block-upstream: false
+ properties:
+ - github:
+ url: https://github.com/ceph/ceph
+ discard-old-builds: true
+ logrotate:
+ daysToKeep: 30
+
+ triggers:
+ - timed: '@daily'
+
+ scm:
+ - git:
+ url: https://github.com/ceph/ceph.git
+ branches:
+ - ${{ceph_branch}}
+ browser: auto
+ timeout: 20
+ skip-tag: true
+ wipe-workspace: false
+
+ builders:
+ - inject:
+ properties-content: |
+ SCENARIO={scenario}
+ DISTRO={distro}
+ OBJECTSTORE={objectstore}
+ SUBCOMMAND={subcommand}
+ CEPH_BRANCH={ceph_branch}
+ - shell:
+ !include-raw-escape:
+ - ../../../scripts/build_utils.sh
+ - ../../build/build
+
+ wrappers:
+ - inject-passwords:
+ global: true
+ mask-password-params: true
+
+ publishers:
+ - postbuildscript:
+ script-only-if-succeeded: False
+ script-only-if-failed: True
+ builders:
+ - shell:
+ !include-raw-escape:
+ - ../../../scripts/build_utils.sh
+ - ../../build/teardown