Commit Graph

10 Commits

Author SHA1 Message Date
Niels de Vos
64d21769ee tests/vagrant: install additional dependencies
The Vagrant box that is used by ./run-tests-in-vagrant.sh does not have
all recent dependencies installed. By using 'dnf builddep' to install
the BuildRequires from the generated .spec file, most future problems
should be prevented.

The tests/basic/afr/split-brain-favorite-child-policy.t script uses the
'bc' command. This it a run-time dependency for the test, and will not
be found with 'dnf builddep'.

Change-Id: Ifdbfc4af2997ea27815126766cc093947ddf523f
BUG: 1526780
Signed-off-by: Niels de Vos <ndevos@redhat.com>
2018-06-19 11:50:28 +00:00
Niels de Vos
7d92af4eac tests: run-tests-in-vagrant.sh should return test status
The ./run-tests-in-vagrant.sh script does not return the correct exit
status. Even if the tests in the Vagrant VM fail, the script returns
success. This throws off the expectations that any regular testers (or
CI) have.

BUG: 1546103
Change-Id: I7f00903f9fe4ef3be8ba80db0f9aa8d412502b86
Signed-off-by: Niels de Vos <ndevos@redhat.com>
2018-05-28 02:52:21 +00:00
Niels de Vos
ee26765bdf tests/vagrant: add a --help option to the script
Change-Id: I89913375fedb6a7617873b09039de72bf1773c68
BUG: 1526780
Signed-off-by: Niels de Vos <ndevos@redhat.com>
2017-12-27 11:31:03 +00:00
Niels de Vos
85d321b21c tests/vagrant: configure with --enable-gnfs so tests can use NFS
gNFS has been deprecated a while ago, but the ./run-tests-in-vagrant.sh
script has not been adapted to enable it. This causes the tests to fail
the first time a Gluster Volume is mounted over NFSv3.

Change-Id: Ifeec0ca964680ff61b956a5592a76eeee8ac3b85
BUG: 1526780
Signed-off-by: Niels de Vos <ndevos@redhat.com>
2017-12-22 06:12:54 +00:00
Raghavendra Talur
ef3d6fd06c vagrant-test: added more options and centos6 base box
Options added are

1. destroy-now option
Now you can call run-tests-in-vagrant.sh with --destroy-now option to
destroy the VM corresponding to the git branch and delete the
corresponding vagrant dir.
Usage: run-tests-in-vagrant.sh --destroy-now

2. os option
With --os option you can specify the os to be used for VM.
Default is fedora and this patch adds support for centos6.
Usage: run-tests-in-vagrant.sh --os="centos6"

3. destroy-after-test option
When specified the VM is deleted right after the tests are executed. If
the script exited before running tests then the VM is left as is for
further debugging.

4. verbose option
Many log messages which were mainly added for initial debugging have
been removed now. All vagrant and compilation outputs have been redirected to
/dev/null. To enable these logs please use --verbose option.

5. ssh option
--ssh option now allows one to ssh into the VM from topdir of source
code thereby avoiding the hassle of cd'ing into the vagrant dir.

Box added

1. This patch adds a centos6 base box which is currently made available
at atlas.hashicorp.com. Template files for this box are available
under tests/vagrant/vagrant-template-centos6 directory. The default box is
moved under vagrant-template-fedora directory to keep up with the naming
convention.

Enhancements

This patch also modifies the cpu and memory allocation mechanism for
the VMs. All the cpus on the host are used and 1/4 of the memory
available on host is used.

Bug Fixes
1. Fix CFLAGS not passed to configure error
    If CFLAGS is assigned and then configure is called under sudo, the cflags
    are not passed onto configure.

Change-Id: Iee1811a7d2b77785f6167f4706135a8f584a6bbd
BUG: 1291537
Signed-off-by: Raghavendra Talur <rtalur@redhat.com>
Reviewed-on: http://review.gluster.org/14046
Smoke: Gluster Build System <jenkins@build.gluster.com>
NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
CentOS-regression: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Jeff Darcy <jdarcy@redhat.com>
2016-04-25 07:28:39 -07:00
Jeff Darcy
21d8a461ae tests: improve vagrant usability
The first and most important change is to deal with the fact that
"localhost" is an IPv6 address in the vagrant box we're using.  This was
non-obviously behind some of the NFS tests failing to run properly, so
there's now an Ansible role etc. to make the necessary modifications in
/etc/hosts.  Also added "-j" to the make command, and changed the
invocation of "run-tests.sh" so it passes through any arguments instead
of running all tests every time.

BUG: 1291537
Change-Id: I5e6125de043c41fdb2866875e999cb1fcd72ba52
Signed-off-by: Jeff Darcy <jdarcy@redhat.com>
Reviewed-on: http://review.gluster.org/13904
NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
CentOS-regression: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Raghavendra Talur <rtalur@redhat.com>
Smoke: Gluster Build System <jenkins@build.gluster.com>
2016-04-06 07:31:58 -07:00
Raghavendra Talur
025eebecef vagrant-test: Provide option to autostart vm on host boot
If the machines are being used as test machines for active development,
user might want to have them autostart on host boot. You can use -a as
short option or --autostart as longoption with run-tests-in-vagrant.sh
to set the autostart flag on the VM. The autostart value is set to off
by default.

It is done using virsh until vagrant-libvirt supports it in the API.

Change-Id: I5b53ea6d850c991d548dbac0bb8fadd528cabf41
BUG: 1291537
Signed-off-by: Raghavendra Talur <rtalur@redhat.com>
Reviewed-on: http://review.gluster.org/13252
Smoke: Gluster Build System <jenkins@build.gluster.com>
CentOS-regression: Gluster Build System <jenkins@build.gluster.com>
NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
2016-02-25 10:24:18 -08:00
Raghavendra Talur
c7d2037b8c vagrant-tests: Fix bug when git branch name has a /
It is possible for a git branch to have a / in it.

Source copy from host to VM used relative path on
the assumption that VM vagrant dir will always be
three levels down the topdir of repo. This assumption
breaks when git branch has a / in it.

Of the two solutions to fix it:
a. Mangle the git branch name to not have a /
b. Accomodate the possibility of have a / in git branch name.

I have chosen b) because that looks cleaner.

Change-Id: I6b71c31da2f5f7c349d6d6882767768b2534d14f
BUG: 1291537
Signed-off-by: Raghavendra Talur <rtalur@redhat.com>
Reviewed-on: http://review.gluster.org/13355
Smoke: Gluster Build System <jenkins@build.gluster.com>
NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
CentOS-regression: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Niels de Vos <ndevos@redhat.com>
2016-02-06 14:07:52 -08:00
Raghavendra Talur
cae9a5b3a1 vagrant-test: Exit on critical errors
There were quite a few places where exiting the script
made more sense.

More debug messages have been added.

Move back to top directory after the script is complete.

Change-Id: I2a66ee3a68c41a3acd0b7168c56b801fb5567e5f
BUG: 1291537
Signed-off-by: Raghavendra Talur <rtalur@redhat.com>
Reviewed-on: http://review.gluster.org/13175
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Michael Adam <obnox@samba.org>
2016-01-06 00:43:09 -08:00
Raghavendra Talur
78305ce960 tests: Introduce a Vagrant VM based test environment
This introduces a mechanism using which a developer
could easily test the Gluster code in a VM environment.

Also, it will help bring uniformity in the environments
used by various developers.

How to use:
1. git checkout -b custom-branch-name
2. Make changes
3. Execute ./run-tests-in-vagrant.sh

What happens in the background:
1. A new directory is created:
    tests/vagrant/vagrant-custom-branch-name

   It will serve as the Vagrant dir which has the
   Vagrantfile and related ansible playbooks.

   The VM is started using Vagrant and provisioned
   using ansible.

2. The source dir is recursively copied over to the
   VM under /home/vagrant/glusterfs.

3. Gluster is source installed in VM.

What happens in the foreground:
1. run-tests.sh is executed in VM using ssh and output is displayed
   in the same terminal with option to use ctrl-c to interrupt the test
   midway. The VM would still persist and you could ssh into it.

Also, you can checkout a different branch elsewhere and execute
run-tests-in-vagrant.sh there to get another VM which would
execute tests on that code.

If you wish to make some changes in the code, you could:
a. Change the code in host and run the script again to repeat
   the whole process.
OR
b. vagrant ssh into the VM and make the changes in the VM.

Co-authored-by: Kaushal M <kaushal@redhat.com>
Co-authored-by: Michael Adam <obnox@samba.org>

Change-Id: Ic87801172c8b614cdecbdf2a765e1b3370a5faf7
BUG: 1291537
Signed-off-by: Michael Adam <obnox@samba.org>
Signed-off-by: Raghavendra Talur <rtalur@redhat.com>
Reviewed-on: http://review.gluster.org/12753
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Niels de Vos <ndevos@redhat.com>
2015-12-28 00:50:36 -08:00