ddiss/rapido.git
6 years agoMerge pull request #17 from luis-henrix/pr_hardcoded_lib_paths master
David Disseldorp [Wed, 31 May 2017 23:18:38 +0000 (01:18 +0200)]
Merge pull request #17 from luis-henrix/pr_hardcoded_lib_paths

Remove hardcoded library paths

Fixes: https://github.com/rapido-linux/rapido/issues/6
Reviewed-by: David Disseldorp <ddiss@suse.de>
6 years agocut_*: remove hard-coded library paths
Luis Henriques [Wed, 31 May 2017 11:47:40 +0000 (12:47 +0100)]
cut_*: remove hard-coded library paths

Remove all hard-coded library paths and use the _rt_require_lib helper
function to find the real library path in a system.

Signed-off-by: Luis Henriques <lhenriques@suse.com>
6 years agoruntime.vars: add helper for finding library path
Luis Henriques [Wed, 31 May 2017 11:44:37 +0000 (12:44 +0100)]
runtime.vars: add helper for finding library path

Add _rt_require_lib helper function to find library paths.  As suggested
by David, it uses ldconfig to find libraries in a distro-agnostic which
will allow us to get rid of hard-coded paths in the cut_* scripts.

Signed-off-by: Luis Henriques <lhenriques@suse.com>
6 years agoMerge branch 'ddiss-pr_zram_mnt_create' into master.
Johannes Thumshirn [Tue, 30 May 2017 12:30:16 +0000 (14:30 +0200)]
Merge branch 'ddiss-pr_zram_mnt_create' into 

6 years agotools/zram_setup.sh: fix mount-point dir creation
David Disseldorp [Tue, 30 May 2017 11:09:57 +0000 (13:09 +0200)]
tools/zram_setup.sh: fix mount-point dir creation

_rt_require_zram_params shouldn't check for the existence of the mount
point directories, as _zram_setup handles creation if missing. Creation
is needed for Ceph the vstart directories.

Signed-off-by: David Disseldorp <ddiss@suse.de>
6 years agoMerge pull request #15 from ddiss/pr_vm_metadata_as_xattr
David Disseldorp [Mon, 29 May 2017 09:58:18 +0000 (11:58 +0200)]
Merge pull request #15 from ddiss/pr_vm_metadata_as_xattr

VM metadata as xattr

6 years agofstests_local_autorun.sh: test XFS by default
David Disseldorp [Fri, 26 May 2017 11:16:27 +0000 (13:16 +0200)]
fstests_local_autorun.sh: test XFS by default

Signed-off-by: David Disseldorp <ddiss@suse.de>
6 years agocut_fstests: add missing dependencies
David Disseldorp [Fri, 26 May 2017 10:19:09 +0000 (12:19 +0200)]
cut_fstests: add missing dependencies

Alongside the dm-flakey and dm-snapshot modules, add a bunch of missing
fstests dependencies to the initramfs image.

Signed-off-by: David Disseldorp <ddiss@suse.de>
6 years agokernel/vanilla_config: add dm-flakey and dm-snapshot mods
David Disseldorp [Fri, 26 May 2017 10:11:43 +0000 (12:11 +0200)]
kernel/vanilla_config: add dm-flakey and dm-snapshot mods

These modules are needed for fstests.

Signed-off-by: David Disseldorp <ddiss@suse.de>
6 years agocut_fstests_local.sh: increase memory resources
David Disseldorp [Fri, 26 May 2017 11:20:06 +0000 (13:20 +0200)]
cut_fstests_local.sh: increase memory resources

Use the newly added user.rapido.vm_resources xattr to specify a VM
memory requirement of 2G, to avoid the oom-killer during xfstests.

Signed-off-by: David Disseldorp <ddiss@suse.de>
6 years agoruntime.vars: add helpers for setting VM resource requirements
David Disseldorp [Fri, 26 May 2017 09:24:46 +0000 (11:24 +0200)]
runtime.vars: add helpers for setting VM resource requirements

Some workloads (e.g. fstests_local) require memory resources that exceed
the default 2xCPU + 512M RAM VM. Allow Cut scripts to define their
own CPU and memory requirements by stamping a user.rapido.vm_resources
extended attribute on the initramfs image.

Signed-off-by: David Disseldorp <ddiss@suse.de>
6 years agovm_autorun.env: explicitly set VM hostname if networkless
David Disseldorp [Thu, 25 May 2017 16:34:02 +0000 (18:34 +0200)]
vm_autorun.env: explicitly set VM hostname if networkless

VMs booted with ip=none won't be assigned a hostname, so set it
explicitly using the HOSTNAME1 rapido.conf parameter.

Aside from the shell prompt, the hostname is used by the networkless
fstests_local runner.

Signed-off-by: David Disseldorp <ddiss@suse.de>
6 years agovm.sh: boot VM without a netdev when instructed
David Disseldorp [Wed, 24 May 2017 12:04:55 +0000 (14:04 +0200)]
vm.sh: boot VM without a netdev when instructed

Networkless VM images are flagged via the user.rapido.vm_networkless=1
extended attribute. Check for this flag prior to boot, and use
qemu-kvm "-net none -append ip=none" if networkless boot is desired.

Signed-off-by: David Disseldorp <ddiss@suse.de>
6 years agocut: indicate networklessness
David Disseldorp [Tue, 23 May 2017 19:04:47 +0000 (21:04 +0200)]
cut: indicate networklessness

blktests_zram, fstests_local and qemu_rbd do not require a network
connection within the VM, so indicate as such. Additionally, remove the
unneeded network and ifcfg modules.

Signed-off-by: David Disseldorp <ddiss@suse.de>
6 years agoruntime.vars: add helper for storing networkless VM state
David Disseldorp [Tue, 23 May 2017 18:39:02 +0000 (20:39 +0200)]
runtime.vars: add helper for storing networkless VM state

Some cut scripts generate VM images that don't require network access.
This change allows cut scripts to indicate their networkless intent,
by adding a user.rapido.vm_networkless=1 xattr to the VM image.

Signed-off-by: David Disseldorp <ddiss@suse.de>
6 years agoruntime.vars: use helper functions for qemu_args xattrs
David Disseldorp [Mon, 22 May 2017 00:22:26 +0000 (02:22 +0200)]
runtime.vars: use helper functions for qemu_args xattrs

An "user.rapido.qemu_args" xattr on the initramfs file can be added by
cut scripts to specify custom qemu-kvm parameters, which will be checked
by vm.sh prior to boot.

Use helper functions for this, in preparation for adding new xattrs for
tracking VM resource and network requirements.

Signed-off-by: David Disseldorp <ddiss@suse.de>
6 years agocut_qemu_rbd: add Ceph config dependency
David Disseldorp [Sun, 21 May 2017 23:17:28 +0000 (01:17 +0200)]
cut_qemu_rbd: add Ceph config dependency

CEPH_CONF needs to be available.

Signed-off-by: David Disseldorp <ddiss@suse.de>
6 years agovm.sh: use qemu pidfile to track running VMs
David Disseldorp [Sun, 21 May 2017 20:54:13 +0000 (22:54 +0200)]
vm.sh: use qemu pidfile to track running VMs

In preparation for supporting networkless VMs, use qemu pidfiles
to track running VMs instead of using MAC addresses.

Signed-off-by: David Disseldorp <ddiss@suse.de>
6 years agofstests_cifs_autorun: don't print share credentials to stdout
David Disseldorp [Fri, 19 May 2017 18:49:08 +0000 (20:49 +0200)]
fstests_cifs_autorun: don't print share credentials to stdout

Signed-off-by: David Disseldorp <ddiss@suse.de>
6 years agocut_fstests_cifs: install SMB3 kernel crypto dependencies
David Disseldorp [Fri, 19 May 2017 18:37:19 +0000 (20:37 +0200)]
cut_fstests_cifs: install SMB3 kernel crypto dependencies

Signed-off-by: David Disseldorp <ddiss@suse.de>
6 years agokernel: update sle12sp3 and enable cifs.ko
David Disseldorp [Fri, 19 May 2017 18:20:17 +0000 (20:20 +0200)]
kernel: update sle12sp3 and enable cifs.ko

The cifs.ko module is needed for cut_fstests_cifs.sh.

Signed-off-by: David Disseldorp <ddiss@suse.de>
6 years agoMerge branch 'pr_blktests_zram'
Johannes Thumshirn [Tue, 23 May 2017 11:44:00 +0000 (13:44 +0200)]
Merge branch 'pr_blktests_zram'

6 years agoMerge pull request #14 from obnoxxx/typo
David Disseldorp [Mon, 22 May 2017 21:21:00 +0000 (23:21 +0200)]
Merge pull request #14 from obnoxxx/typo

readme: fix typo

6 years agoreadme: fix typo
Michael Adam [Mon, 22 May 2017 21:02:10 +0000 (23:02 +0200)]
readme: fix typo

Signed-off-by: Michael Adam <obnox@samba.org>
6 years agoblktests: cut and autorun scripts targeting Ceph RBD
David Disseldorp [Mon, 22 May 2017 17:46:24 +0000 (19:46 +0200)]
blktests: cut and autorun scripts targeting Ceph RBD

Run the blktests test suite against a mapped Ceph RDB image.

Signed-off-by: David Disseldorp <ddiss@suse.de>
6 years agoblktests: add cut and autorun scripts
David Disseldorp [Mon, 22 May 2017 16:54:01 +0000 (18:54 +0200)]
blktests: add cut and autorun scripts

These scripts can be used to generate a minimal initramfs VM image for
blktests execution. A 1G zram device is provisioned and configured as a
test target device.

The new BLKTESTS_SRC and BLKTESTS_AUTORUN_CMD rapido.conf parameters
are added, for definition of the test-suite source and invocation
command respectively.

Signed-off-by: David Disseldorp <ddiss@suse.de>
6 years agokernel/vanilla_config: update and enable blktests modules
David Disseldorp [Mon, 22 May 2017 16:49:59 +0000 (18:49 +0200)]
kernel/vanilla_config: update and enable blktests modules

Update from 4.11.0-rc7 -> 4.12.0-rc2.
Enable SCSI_DEBUG and BLK_DEV_NULL_BLK, which will be needed for the
pending blktests changes.

Signed-off-by: David Disseldorp <ddiss@suse.de>
6 years agoMerge pull request #10 from ddiss/pr_fstests_cleanup
David Disseldorp [Thu, 18 May 2017 16:47:10 +0000 (18:47 +0200)]
Merge pull request #10 from ddiss/pr_fstests_cleanup

fstests cleanup

6 years agoMerge pull request #11 from luis-henrix/kmoddir_fix
David Disseldorp [Thu, 18 May 2017 16:30:07 +0000 (18:30 +0200)]
Merge pull request #11 from luis-henrix/kmoddir_fix

runtime.vars: fix dracut --kmoddir parameter

6 years agovm.sh: fallback to using kvm binary for Debian
David Disseldorp [Thu, 18 May 2017 16:25:05 +0000 (18:25 +0200)]
vm.sh: fallback to using kvm binary for Debian

qemu-kvm doesn't exist on Debian systems, instead kvm should be used.

Fixes: https://github.com/ddiss/rapido/issues/12
Signed-off-by: David Disseldorp <ddiss@suse.de>
6 years agoruntime.vars: fix dracut --kmoddir parameter
Luis Henriques [Thu, 18 May 2017 14:43:04 +0000 (15:43 +0100)]
runtime.vars: fix dracut --kmoddir parameter

The --kmoddir expects the directory for the correct kernel version, not
the base directory where the modules will be installed.

Signed-off-by: Luis Henriques <lhenriques@suse.com>
6 years agofstests: use and validate FSTESTS_SRC configuration
David Disseldorp [Wed, 17 May 2017 15:54:30 +0000 (17:54 +0200)]
fstests: use and validate FSTESTS_SRC configuration

Use the newly added _rt_require_fstests() to validate FSTESTS_SRC
configuration.

Signed-off-by: David Disseldorp <ddiss@suse.de>
6 years agoruntime.vars: add helper to check fstests configuration
David Disseldorp [Wed, 17 May 2017 15:38:58 +0000 (17:38 +0200)]
runtime.vars: add helper to check fstests configuration

_rt_require_fstests() checks that the fstests source directory exists,
and that the check executable is present.

This prepares for migration from a FSTESTS_DIR=<parent_path> rapido.conf
parameter, where <parent_path> is assumed to have an immediate xfstests
subdir, to an FSTESTS_SRC=<src_path>. This migration is possible now
that Dracut correctly handles installation of immediate files, when
installed via "dracut --include <dir_path> <initramfs_path>" - this was
broken in previous versions.

Signed-off-by: David Disseldorp <ddiss@suse.de>
6 years agofstests: use consistent script names
David Disseldorp [Wed, 17 May 2017 13:18:52 +0000 (15:18 +0200)]
fstests: use consistent script names

Use consistent naming across all scripts that install and run fstests.

Signed-off-by: David Disseldorp <ddiss@suse.de>
6 years agocut_fstests: add lsattr binary to initramfs
David Disseldorp [Wed, 17 May 2017 13:06:30 +0000 (15:06 +0200)]
cut_fstests: add lsattr binary to initramfs

lsattr is required by the following tests:
- generic/159
- generic/160
- xfs/128
- xfs/132

Signed-off-by: David Disseldorp <ddiss@suse.de>
6 years agokernel: update sle12sp1 and sle12sp3 configs
David Disseldorp [Tue, 9 May 2017 12:15:56 +0000 (14:15 +0200)]
kernel: update sle12sp1 and sle12sp3 configs

sle12sp1: 3.12.66 -> 3.12.73
sle12sp3: 4.4.59 -> 4.4.63

Signed-off-by: David Disseldorp <ddiss@suse.de>
6 years agolio_autorun: fail if portal can't be configured
David Disseldorp [Fri, 5 May 2017 13:13:15 +0000 (15:13 +0200)]
lio_autorun: fail if portal can't be configured

Signed-off-by: David Disseldorp <ddiss@suse.de>
6 years agotools/br_setup: obtain dnsmasq pid from pidfile
David Disseldorp [Wed, 3 May 2017 21:50:35 +0000 (23:50 +0200)]
tools/br_setup: obtain dnsmasq pid from pidfile

Signed-off-by: David Disseldorp <ddiss@suse.de>
6 years agoMerge pull request #9 from ddiss/pr_dracut_kmoddir
Johannes Thumshirn [Mon, 8 May 2017 06:46:03 +0000 (08:46 +0200)]
Merge pull request #9 from ddiss/pr_dracut_kmoddir

Looks reasonable

7 years agocut_cephfs: don't attempt to add e1000 module to initramfs
David Disseldorp [Fri, 28 Apr 2017 14:56:19 +0000 (16:56 +0200)]
cut_cephfs: don't attempt to add e1000 module to initramfs

Assume that it's built in kernel, as is the case for all kernel/*config
files.

Signed-off-by: David Disseldorp <ddiss@suse.de>
7 years agoruntime.vars: allow dracut --kmoddir config via rapido.conf
David Disseldorp [Fri, 28 Apr 2017 14:42:01 +0000 (16:42 +0200)]
runtime.vars: allow dracut --kmoddir config via rapido.conf

If specified, the new KERNEL_INSTALL_MOD_PATH rapido.conf parameter
defines the path that Dracut should use to obtain compiled kernel
modules. If left blank, Dracut will use its default (e.g. /lib/modules)
search path.

Using "dracut --kmoddir $KERNEL_INSTALL_MOD_PATH" can lead to loud
dracut warnings, see https://bugzilla.suse.com/show_bug.cgi?id=966840,
but it still appears to pack the modules in the initramfs correctly.

Signed-off-by: David Disseldorp <ddiss@suse.de>
7 years agoruntime.vars: generate common dracut args for cut scripts
David Disseldorp [Fri, 28 Apr 2017 14:33:49 +0000 (16:33 +0200)]
runtime.vars: generate common dracut args for cut scripts

Remove boilerplate dracut parameters from cut scripts, and instead
generate them in a common _rt_require_dracut_args() function.

Signed-off-by: David Disseldorp <ddiss@suse.de>
7 years agoruntime.vars: validate Ceph and zram params
David Disseldorp [Thu, 27 Apr 2017 21:07:58 +0000 (23:07 +0200)]
runtime.vars: validate Ceph and zram params

Since these functions are now only invoked if explicitly required, it
makes sense to validate the resultant environment parameters.

Signed-off-by: David Disseldorp <ddiss@suse.de>
7 years agoruntime.vars: avoid unnecessary env pollution
David Disseldorp [Thu, 27 Apr 2017 20:33:04 +0000 (22:33 +0200)]
runtime.vars: avoid unnecessary env pollution

Among other things, runtime.vars currently handles setting environment
variables for a large number of Ceph binary and library paths, based on
whether rapido is configured with a autotools or cmake Ceph source, or
a regular Ceph installation.

Only set these Ceph environment variables if they're actually needed,
i.e. used by a CephFS or RBD cut script, instead of unconditionally.
Similarly, only set the zram parameters when zram_setup.sh is invoked.

Signed-off-by: David Disseldorp <ddiss@suse.de>
7 years agoruntime.vars: fix cmake [lib]rados and librbd paths
David Disseldorp [Thu, 27 Apr 2017 19:39:05 +0000 (21:39 +0200)]
runtime.vars: fix cmake [lib]rados and librbd paths

Signed-off-by: David Disseldorp <ddiss@suse.de>
7 years agovanilla_config: Add Soft-RoCE and NVMe over RDMA
Johannes Thumshirn [Thu, 20 Apr 2017 11:51:02 +0000 (13:51 +0200)]
vanilla_config: Add Soft-RoCE and NVMe over RDMA

Add Soft-RoCE and NVMe over RDMA including the respective dependencies to
vanilla_config.

Signed-off-by: Johannes Thumshirn <jthumshirn@suse.de>
Reviewed-by: David Disseldorp <ddiss@suse.de>
7 years agogitignore: ignore generated initrd
Johannes Thumshirn [Thu, 20 Apr 2017 11:51:01 +0000 (13:51 +0200)]
gitignore: ignore generated initrd

Don't track the generated initrd via git.

Signed-off-by: Johannes Thumshirn <jthumshirn@suse.de>
Reviewed-by: David Disseldorp <ddiss@suse.de>
7 years agonvme_rdma: Add Soft-RoCE backed NVMe over Fabrics scripts
Johannes Thumshirn [Thu, 20 Apr 2017 08:39:12 +0000 (10:39 +0200)]
nvme_rdma: Add Soft-RoCE backed NVMe over Fabrics scripts

Provision a single zram device and expose/map it via NVMe over RDMA. If a 2nd
rapdio VM is started it connects to this zram backed NVMe over RDMA target.

Signed-off-by: Johannes Thumshirn <jthumshirn@suse.de>
Reviewed-by: David Disseldorp <ddiss@suse.de>
7 years agokernel/sle12sp3_config: add SLE12SP3 kernel build config
David Disseldorp [Mon, 10 Apr 2017 11:39:28 +0000 (13:39 +0200)]
kernel/sle12sp3_config: add SLE12SP3 kernel build config

Based on sle12sp2_config.

Signed-off-by: David Disseldorp <ddiss@suse.de>
7 years agoconf: shuffle around example config
David Disseldorp [Thu, 6 Apr 2017 22:25:41 +0000 (00:25 +0200)]
conf: shuffle around example config

Move CEPH_SRC down along other optional Ceph parameters. Drop bogus
TCMU_RUNNER_SRC setting.

Signed-off-by: David Disseldorp <ddiss@suse.de>
7 years agoruntime.vars: throw an error if rapido.conf is missing
David Disseldorp [Wed, 22 Mar 2017 13:47:08 +0000 (14:47 +0100)]
runtime.vars: throw an error if rapido.conf is missing

Signed-off-by: David Disseldorp <ddiss@suse.de>
7 years agorapido.conf: Move rapido.conf to rapido.conf.example
Johannes Thumshirn [Wed, 1 Mar 2017 08:48:21 +0000 (09:48 +0100)]
rapido.conf: Move rapido.conf to rapido.conf.example

Provide a rapdio.conf.example and add rapido.conf to .gitignore so local
changes aren't conflicting with git.

Signed-off-by: Johannes Thumshirn <jthumshirn@suse.de>
Reviewed-by: David Disseldorp <ddiss@suse.de>
7 years agotools/zram_setup.sh: don't assume CEPH_SRC is set
David Disseldorp [Wed, 22 Mar 2017 09:34:25 +0000 (10:34 +0100)]
tools/zram_setup.sh: don't assume CEPH_SRC is set

CEPH_SRC was until now used to determine an appropriate owner for the
initrd directory zram mountpoint, as well as for the vstart dirs.
Instead, use the RAPIDO_DIR owner for the initrd zram mountpoint.

Signed-off-by: David Disseldorp <ddiss@suse.de>
7 years agokernel/vanilla_config: update to 4.11.0-rc3
David Disseldorp [Wed, 22 Mar 2017 09:14:27 +0000 (10:14 +0100)]
kernel/vanilla_config: update to 4.11.0-rc3

Signed-off-by: David Disseldorp <ddiss@suse.de>
7 years agocut_nvme_local.sh: remove unnecessary Ceph dependencies
David Disseldorp [Fri, 24 Feb 2017 10:10:56 +0000 (11:10 +0100)]
cut_nvme_local.sh: remove unnecessary Ceph dependencies

cut_nvme_rbd.sh cut 'n paste error.

Signed-off-by: David Disseldorp <ddiss@suse.de>
7 years agonvme_local: add standalone (zram backed) NVMe loop scripts
David Disseldorp [Thu, 23 Feb 2017 12:53:17 +0000 (13:53 +0100)]
nvme_local: add standalone (zram backed) NVMe loop scripts

Provision a single zram device and expose/map it via NVMe loopback.

Signed-off-by: David Disseldorp <ddiss@suse.de>
7 years agokernel/vanilla_config: update to 4.10.0
David Disseldorp [Thu, 23 Feb 2017 12:50:23 +0000 (13:50 +0100)]
kernel/vanilla_config: update to 4.10.0

Signed-off-by: David Disseldorp <ddiss@suse.de>
7 years agonvme_rbd_autorun.sh: minor cleanups
David Disseldorp [Thu, 23 Feb 2017 12:01:25 +0000 (13:01 +0100)]
nvme_rbd_autorun.sh: minor cleanups

load modules before attempting to enable dynamic debug.
Stop on nvmet configfs I/O failure, but don't fail if the kernel modules
can't be loaded - they may be in kernel.

Signed-off-by: David Disseldorp <ddiss@suse.de>
7 years agonvme_rbd_autorun.sh: don't mount debugfs twice
David Disseldorp [Wed, 22 Feb 2017 16:27:41 +0000 (17:27 +0100)]
nvme_rbd_autorun.sh: don't mount debugfs twice

Signed-off-by: David Disseldorp <ddiss@suse.de>
7 years agonvme: build/load as kernel modules
David Disseldorp [Wed, 22 Feb 2017 15:51:51 +0000 (16:51 +0100)]
nvme: build/load as kernel modules

The modules are pretty exotic, so it makes sense to keep separate.

Signed-off-by: David Disseldorp <ddiss@suse.de>
7 years agonvme: add NVMe over fabrics RBD cut/autorun
David Disseldorp [Wed, 22 Feb 2017 11:15:42 +0000 (12:15 +0100)]
nvme: add NVMe over fabrics RBD cut/autorun

Map an RBD image and expose it using the kernel NVMe over fabrics
target. Use the NVMe over fabrics "loop" functionality.

Signed-off-by: David Disseldorp <ddiss@suse.de>
7 years agokernel/sle12sp2_rbd_usb_config: build dm-crypt module
David Disseldorp [Tue, 7 Feb 2017 18:54:28 +0000 (19:54 +0100)]
kernel/sle12sp2_rbd_usb_config: build dm-crypt module

Needed for rbd-usb transparent encryption.
Also enable CONFIG_CRYPTO_XTS.

Signed-off-by: David Disseldorp <ddiss@suse.de>
7 years agocut_usb_rbd.sh: add dm-crypt dependencies
David Disseldorp [Tue, 7 Feb 2017 18:44:12 +0000 (19:44 +0100)]
cut_usb_rbd.sh: add dm-crypt dependencies

rbd-usb is capable of mapping encrypted volumes when a luks.key file is
provided. Add udev and cryptsetup dependencies for this.

Signed-off-by: David Disseldorp <ddiss@suse.de>
7 years agotools/zram_hot_add.sh: new zram provisioning script
David Disseldorp [Mon, 6 Feb 2017 13:55:39 +0000 (14:55 +0100)]
tools/zram_hot_add.sh: new zram provisioning script

This script uses the new zram-control/hot_add sysfs interface for hot
provisioning of zram devices after the zram module has already been
loaded.

Signed-off-by: David Disseldorp <ddiss@suse.de>
7 years agoreadme: remove brctl dependency
David Disseldorp [Mon, 6 Feb 2017 13:51:17 +0000 (14:51 +0100)]
readme: remove brctl dependency

br_setup.sh now uses "ip" for network bridge provisioning.

Signed-off-by: David Disseldorp <ddiss@suse.de>
7 years agokernel/sle12sp2_rbd_usb_config: add config for USB testing
David Disseldorp [Sat, 4 Feb 2017 14:05:35 +0000 (15:05 +0100)]
kernel/sle12sp2_rbd_usb_config: add config for USB testing

Signed-off-by: David Disseldorp <ddiss@suse.de>
7 years agotools/br_teardown.sh: add bridge network teardown helper
David Disseldorp [Mon, 23 Jan 2017 15:12:34 +0000 (16:12 +0100)]
tools/br_teardown.sh: add bridge network teardown helper

Performs the reverse of br_setup.sh.

Signed-off-by: David Disseldorp <ddiss@suse.de>
7 years agokernel/vanilla_config: update to 4.10.0-rc4
David Disseldorp [Sun, 22 Jan 2017 12:33:29 +0000 (13:33 +0100)]
kernel/vanilla_config: update to 4.10.0-rc4

Signed-off-by: David Disseldorp <ddiss@suse.de>
7 years agocut_fstests: add mktemp, dbench and xfs deps
David Disseldorp [Thu, 12 Jan 2017 12:10:59 +0000 (13:10 +0100)]
cut_fstests: add mktemp, dbench and xfs deps

Without mktemp, xfstests removes all files in the run-path - fix
submitted upstream.

The client.txt dbench loadfile is needed in addition to the binary for
xfstests generic/241.

xfs_X binaries were added to the fstests_local VM image for XFS specific
xfstests runs.

Signed-off-by: David Disseldorp <ddiss@suse.de>
7 years agovm: export TERM="linux"
David Disseldorp [Thu, 12 Jan 2017 12:05:46 +0000 (13:05 +0100)]
vm: export TERM="linux"

Dracut sets it for the emergency shell only when running without
systemd, so set it explicitly to cover all cases.

Signed-off-by: David Disseldorp <ddiss@suse.de>
7 years agoMerge pull request #5 from dmulder/master
David Disseldorp [Thu, 12 Jan 2017 14:18:10 +0000 (15:18 +0100)]
Merge pull request #5 from dmulder/master

cifs: make cifs mount options configurable
Reviewed-by: David Disseldorp <ddiss@suse.de>
7 years agocifs: make cifs mount options configurable
David Mulder [Thu, 12 Jan 2017 13:46:28 +0000 (06:46 -0700)]
cifs: make cifs mount options configurable

Signed-off-by: David Mulder <dmulder@suse.com>
7 years agocut_fstests: add seq command to images
David Disseldorp [Wed, 11 Jan 2017 10:31:48 +0000 (11:31 +0100)]
cut_fstests: add seq command to images

Signed-off-by: David Disseldorp <ddiss@suse.de>
7 years agocut_fstests: add missing fstests dependencies
David Disseldorp [Tue, 10 Jan 2017 18:17:07 +0000 (19:17 +0100)]
cut_fstests: add missing fstests dependencies

hexdump, sync and xfs_db are needed.

Signed-off-by: David Disseldorp <ddiss@suse.de>
7 years agolio_local_autorun.sh: expose /dev/vdb if present
David Disseldorp [Wed, 4 Jan 2017 14:58:34 +0000 (15:58 +0100)]
lio_local_autorun.sh: expose /dev/vdb if present

Expose dmdelay loopback device as LUN1, and use LUN2+ for all remaining
/dev/vdX devices (currently only vda and vdb are checked for existence).

Signed-off-by: David Disseldorp <ddiss@suse.de>
7 years agokernel/vanilla_config: update to 4.9.0 latest
David Disseldorp [Thu, 22 Dec 2016 15:54:33 +0000 (16:54 +0100)]
kernel/vanilla_config: update to 4.9.0 latest

Signed-off-by: David Disseldorp <ddiss@suse.de>
7 years agotcmu_rbd_loop: add tcmu-runner rbd img cutter and autorun
David Disseldorp [Mon, 19 Dec 2016 20:45:03 +0000 (21:45 +0100)]
tcmu_rbd_loop: add tcmu-runner rbd img cutter and autorun

The tcmu_rbd_loop VM image is cut with the LIO tcmu kernel module,
tcmu-runner binary (with rbd backend), librados/librbd, and a few extra
dependencies. The tcmu-runner binary and corresponding libraries are
pulled from compiled source using the new TCMU_RUNNER_SRC rapido.conf
parameter.

On boot, the autorun script configures a backstore exposing
CEPH_RBD_IMAGE via the LIO loopback fabric.

Fixes: https://github.com/ddiss/rapido/issues/4
Signed-off-by: David Disseldorp <ddiss@suse.de>
7 years agoruntime.vars: fix cmake vstart.sh dev and out paths
David Disseldorp [Thu, 15 Dec 2016 18:16:32 +0000 (19:16 +0100)]
runtime.vars: fix cmake vstart.sh dev and out paths

For Ceph cmake builds, vstart.sh is run from the build subdirectory, so
the dev/ and out/ paths end up there too.

Signed-off-by: David Disseldorp <ddiss@suse.de>
7 years agocephfs_fuse: add ceph-fuse img cutter and autorun
David Disseldorp [Thu, 15 Dec 2016 17:05:56 +0000 (18:05 +0100)]
cephfs_fuse: add ceph-fuse img cutter and autorun

The ceph-fuse VM image is cut with the fuse kernel module, ceph-fuse
binary and a few extra dependencies. On boot, the autorun script mounts
the default cephFS filesystem under /mnt/cephfs.

Signed-off-by: David Disseldorp <ddiss@suse.de>
7 years agokernel/config: build fuse as module
David Disseldorp [Thu, 15 Dec 2016 16:45:55 +0000 (17:45 +0100)]
kernel/config: build fuse as module

Signed-off-by: David Disseldorp <ddiss@suse.de>
7 years agoruntime.vars: add ceph-fuse paths
David Disseldorp [Thu, 15 Dec 2016 16:40:10 +0000 (17:40 +0100)]
runtime.vars: add ceph-fuse paths

To be used by upcoming ceph-fuse image generator.

Signed-off-by: David Disseldorp <ddiss@suse.de>
7 years agotools/br_setup.sh: unwind network changes on error
David Disseldorp [Wed, 14 Dec 2016 14:00:57 +0000 (15:00 +0100)]
tools/br_setup.sh: unwind network changes on error

Cleanup on error, rather than bailing with a partial roll-out.

Fixes: https://github.com/ddiss/rapido/issues/1
Signed-off-by: David Disseldorp <ddiss@suse.de>
7 years agotools/bridge: use ip instead of brctl
David Disseldorp [Wed, 14 Dec 2016 13:13:52 +0000 (14:13 +0100)]
tools/bridge: use ip instead of brctl

The ip command is capable of bridge network setup, so use it instead of
requiring the extra brctl dependency.

Fixes: https://github.com/ddiss/rapido/issues/3
Signed-off-by: David Disseldorp <ddiss@suse.de>
7 years agolio_local_autorun.sh: don't try to set vendor_id
David Disseldorp [Tue, 13 Dec 2016 13:52:43 +0000 (14:52 +0100)]
lio_local_autorun.sh: don't try to set vendor_id

LIO backstore vendor ID changes aren't currently supported in upstream
kernel, so drop this behaviour for now.

Signed-off-by: David Disseldorp <ddiss@suse.de>
7 years agocut_lio_local.sh: build/use loop device as module
David Disseldorp [Tue, 13 Dec 2016 13:49:25 +0000 (14:49 +0100)]
cut_lio_local.sh: build/use loop device as module

It's currently only used by lio_local, so makes sense to keep as a
separate module.

Signed-off-by: David Disseldorp <ddiss@suse.de>
7 years agokernel/vanilla_config: update from 4.9.0-rc6 to 4.9.0
David Disseldorp [Tue, 13 Dec 2016 01:05:13 +0000 (02:05 +0100)]
kernel/vanilla_config: update from 4.9.0-rc6 to 4.9.0

Signed-off-by: David Disseldorp <ddiss@suse.de>
7 years agorapido: initial release
David Disseldorp [Mon, 12 Dec 2016 19:33:54 +0000 (20:33 +0100)]
rapido: initial release

As documented in readme.txt, Rapido is a utility for rapid testing of
Linux kernel changes. It was initially targeted at Ceph RBD and CephFS
kernel client functionality, but now also covers a number of standalone
use cases.

The scripts that make up Rapido are in themselves quite brainless. Most
of the heavy lifting is instead performed by:
- Dracut
  + Generates a VM image, with kernel-modules and minimal user-space.
- QEMU / KVM
  + Boots a given Dracut VM image and compiled Linux kernel on the local
    system.

Signed-off-by: David Disseldorp <ddiss@suse.de>