Dan Mick [Sat, 17 Oct 2015 01:01:33 +0000 (18:01 -0700)]
build-ceph-{deb-native,rpm}.sh: Clean up build directories on failure
A recent change to a wip branch was leaving a .git file (as in a submodule
pointer to ../../.git/modules/) behind in the out~ or rpmbuild/BUILD
dirs when failing the build, and then because these scripts both have -e,
they immediately exited.
Then, when the next build came around, it tried "git clean", which
recursed into the build dir, found the .git, tried to dereference into
the ultimate dir, and failed.
Harden against this sort of failure by making sure to remove the workdir
immediately, and then fail, when the actual build worker fails.
Ilya Dryomov [Sun, 21 Jun 2015 10:36:00 +0000 (13:36 +0300)]
build-kernel-rpm: create config file in OUTDIR
build-kernel-deb exports .config to spare downloading and unpacking the
entire packgage just to check if some config option is set. Do this in
build-kernel-rpm as well.
Ilya Dryomov [Fri, 19 Jun 2015 16:33:33 +0000 (19:33 +0300)]
kernel-config: separate deb and rpm configs
Need selinux on centos and rhel while ubuntu uses apparmor. There
probably are more subtle things like that, so instead of trying to cram
it into one config, use two native configs. These in particular are
slightly (not nearly enough) stripped 3.19 ubuntu and fedora configs
with some Kernel hacking stuff enabled.
Loic Dachary [Tue, 9 Jun 2015 15:21:05 +0000 (17:21 +0200)]
make check times out after 1h30 instead of 1h00
Because of http://tracker.ceph.com/issues/11931 make check on hammer can
take more than one hour without it being a real problem. So we need to
be more generous with the timeout.
The error code of kill -9 ceph-{mon,osd} must be ignored otherwise the
build may return on error if it fails to kill the process just because
all has been cleaned up as it should.
Loic Dachary [Tue, 9 Jun 2015 08:46:07 +0000 (10:46 +0200)]
tarbal: kill lingering ceph-mon / ceph-osd
When a make check fails it is entirely possible that ceph-osd remain,
because they have their own process group. Kill whatever ceph-osd or
ceph-mon are left behind.
We kill ceph-osd / ceph-mon regardless of the success / failure status
of make check because we also want to address the case where a test
pretends to succeed but left daemons behind.
Loic Dachary [Wed, 27 May 2015 10:37:51 +0000 (12:37 +0200)]
fabfile: always use gitbuilder master
Instead of a hardcoded SHA. If a new version of master at
https://github.com/ceph/gitbuilder/commits/master is available, it needs
to be used because it presumably contains a fix. If there is a need to
update the fabfile to take advantage of that fix, it's like having pull
request review twice on a commit. Once when it is reviewed prior to
being merged in gitbuilder and once when it is reviewed to be used in
the fabfile.
Ken Dreyer [Tue, 14 Apr 2015 23:22:06 +0000 (17:22 -0600)]
build-ceph-rpm.sh: terminate on unpackaged files
As Ceph changes and new files get installed by default, we need to
ensure that the commits which create these files also update the
packaging files lists as well.
One way to do this is to tell Gitbuilder to stop skipping unpackaged
files in the RPMs. This will cause Gitbuilder builds to indicate a
failure when new files get added without packaging updates.
build-ceph: display make check errors when stored in .log
Automake after a certain version started storing the make check logs in
.log files. If a check fails, display the log so the user can figure out
what went wrong.
And timeout after 1h instead of 30mn because giant tests take over 20mn
and it's good to have so spare time in case the host is overloaded and
does not respond as fast as it should.
Now that the man pages are not committed to the repository in their
formatted form (https://github.com/ceph/ceph/pull/4142), we need
python-sphinx at build time.
Loic Dachary [Fri, 6 Mar 2015 20:36:17 +0000 (21:36 +0100)]
update roles / targets to reflect the current setup
The previous update (9c9e68d816bd020d46f45c1a83ef620cd8f5c572) was
wrong: a number of targets that were supposed to create packages were
actually set to create tarballs instead. The update allows to run
fab fab gitbuilder_auto
fab fab gitbuilder_ceph_rpm
Josh Durgin [Tue, 24 Mar 2015 23:35:34 +0000 (16:35 -0700)]
build: use CEPH_EXTRA_CONFIGURE_ARGS for flags from build-auto.sh
This was the intent, but it was not being used for many of the
build scripts. Factor out the flags that build-auto.sh sets
(tcmalloc and coverage) into defaults in build-ceph*.sh in case
any of them are being run directly, and not via build-auto.sh.
Loic Dachary [Fri, 6 Mar 2015 17:37:36 +0000 (18:37 +0100)]
try install autobuild-ceph.init and autobuild-ceph.conf
It does not hurt to install both. On Debian wheezy, /etc/init and
/etc/init.d exist: if installing only in /etc/init, the script won't end
up in /etc/init.d and won't run.
Loic Dachary [Fri, 6 Mar 2015 10:30:29 +0000 (11:30 +0100)]
setsid ./loop.sh to not be killed when sudo exits
The sudo() of fabric will kill the process group to cleanup any
leftovers. If the loop.sh daemon does not create a process group it is
also killed. This is not an issue when start/stop is used because a
process group is created implicitly. But when /etc/init.d/autobuild-ceph
is run instead because start/stop does not work, the process group must
be explicitly created.
Loic Dachary [Thu, 5 Mar 2015 21:25:46 +0000 (22:25 +0100)]
git reset --hard after removing the modules
If src/gmock is removed after git reset --hard, it won't be populated if
it is a directory. It will only be populated if it is a submodule
because git submodule update --init follows.