David Galloway [Wed, 16 Jun 2021 19:06:15 +0000 (15:06 -0400)]
ceph-ansible-prs: Debug vagrant problems
Occasionally having VMs come up but not get an IP. Or vagrant thinks they got an IP but didn't. This is impossible to debug after the VMs in the job are torn down so let's spit out some debug info before that.
Signed-off-by: David Galloway <dgallowa@redhat.com>
David Galloway [Tue, 15 Jun 2021 16:18:12 +0000 (12:18 -0400)]
scripts/build_utils.sh: Remove virsh save images
Fixes
```
+ sudo virsh undefine container_rgw0_1623696405_fb24199d9194c338f3d6
error: Refusing to undefine while domain managed save image exists
```
and subsequent
```
+ sudo service libvirt-guests restart
Redirecting to /bin/systemctl restart libvirt-guests.service
Job for libvirt-guests.service failed because the control process exited with error code.
See "systemctl status libvirt-guests.service" and "journalctl -xe" for details.
Build step 'Conditional step (single)' marked build as failure
Jun 15 15:40:10 braggi19 libvirt-guests.sh[44513]: Resuming guest container_rgw0_1623696405_fb24199d9194c338f3d6: error: Failed to start domain container_rgw0_1623696405_fb24199d9194c338f3d6
Jun 15 15:40:10 braggi19 libvirt-guests.sh[44513]: error: Network not found: no network with matching name 'vagrant-libvirt'
Jun 15 15:40:11 braggi19 systemd[1]: libvirt-guests.service: Main process exited, code=exited, status=1/FAILURE
Jun 15 15:40:11 braggi19 systemd[1]: libvirt-guests.service: Failed with result 'exit-code'.
Jun 15 15:40:11 braggi19 systemd[1]: Failed to start Suspend/Resume Running libvirt Guests.
```
Signed-off-by: David Galloway <dgallowa@redhat.com>
since we don't need to buld master (quincy and up) on bionic anymore,
there is no need to worry about the FTBFS when compiling with a buggy
gperftools (<2.6.2) shipped along with bionic.
Kefu Chai [Fri, 4 Jun 2021 06:57:00 +0000 (14:57 +0800)]
ceph-dev-*-trigger: stop building master on bionic
in short, we don't need to test on bionic anymore for couple reasons:
- for accessing newer GCC
- for accessing more packages
see the discussion at
https://lists.ceph.io/hyperkitty/list/dev@ceph.io/thread/BW5NKQ4KTOPV7OYUBUHVDVCSH72LVIEO/
the only qa suite referencing ubuntu 18.04 is the qa/suites/orch/rook/smoke,
but it deploys ceph using Rook, and the container image of Ceph is
based on CentOS, so stop building on ubuntu/bionic does not
break it, despite the fact that 18.04 is included by
qa/suites/orch/rook/smoke/0-distro.
Kefu Chai [Thu, 3 Jun 2021 09:23:59 +0000 (17:23 +0800)]
*/build/teardown: create venv for running teardown_vagrant_tests()
to address the regression introduced by e302eaabb977f3e93b1a7005c879f4b2eba581fc, which failed to create venv
after removing the global `$(mktemp -td venv.XXXXXXXXXX)` call.
Dan Mick [Tue, 4 May 2021 22:03:38 +0000 (15:03 -0700)]
Add ceph-grafana job to build ceph-grafana container.
This job builds from the ceph workspace based on a ceph branch and an
architecture (x86_64 or arm64). A parent job calls this job for
branches or architectures. More versions etc. could be parameterized,
but for now they're hardcoded in the ceph branch in
monitoring/grafana/build/Makefile.
```
[ceph-ansible-pr-syntax-check] $ /bin/bash /tmp/jenkins6031146002439656501.sh
+ set -e
+ virtualenv
You must provide a DEST_DIR
Usage: virtualenv [OPTIONS] DEST_DIR
```
Ilya Dryomov [Thu, 20 May 2021 10:48:03 +0000 (12:48 +0200)]
kernel: specify KDEB_SOURCENAME for make bindeb-pkg
Undo the damage caused by linux.git commit 82526ef43399 ("kbuild:
deb-pkg: change the source package name to linux-upstream").
We don't build a source package, but the source package name gets
embedded in the package metadata and ends up affecting the paths in
the repository generated by chacra.
Kefu Chai [Wed, 19 May 2021 13:59:34 +0000 (21:59 +0800)]
*: use create_venv_dir() helper
* define create_venv_dir() helper to
1. create a temp dir
2. set a trap to clean it up upon exit
* use create_venv_dir() in all scripts where
TEMPVENV and/or VENV variables are used.
this change can help us to avoid creating a tempdir in /tmp,
and keep the tempdir forever.
Kefu Chai [Sat, 15 May 2021 11:32:11 +0000 (19:32 +0800)]
ceph-dev-*-setup: do not specify ALLOCATOR
$DIST env variable is not set by ceph-dev-new-setup, as it prepares
the dist tarball for building on different distros. to build with
tcmalloc if gperftools 2.6.2 is available, we leave it to cmake to
decide the allocator to use. because, if ALLOCATOR is not specified,
cmake first tries to find gperftools, and falls back to JeMalloc, and
the libc allocator. after quincy, the fix for gperftools <2.6.2 is
dropped, and gperftools >= 2.6.2 is required, so it's safe. before
quincy, the fix gperftools <2.6.2 is still included, so it's also safe.
Kefu Chai [Fri, 14 May 2021 14:37:08 +0000 (22:37 +0800)]
ceph-dev-*-setup: use libc allocator when building quincy on bionic
see also https://tracker.ceph.com/issues/39703, to silence the warning
std::allocator<void> is deprecated in C++17 and will be removed in
C++20, so stop using allocator<void> in quincy and up.
but the libtcmalloc shipped by bionic is still buggy (v2.5), so we should not
build qunincy and up with tcmalloc on this distro.
after this change, we only build quincy and up with tcmalloc on non-bionic distro.
This adds a job definition for cephadm-ansible.
For now it doesn't run anything, it's just adding the definition into
jenkins so we can start setting up the corresponding repository
(cephadm-ansible).
Kefu Chai [Tue, 4 May 2021 05:47:53 +0000 (13:47 +0800)]
ceph-pr-docs: add annotation to build result
* do not "set -e", so the script does not exit immediately. instead
use a variable of "succeed" to store true if the document is built
successfully, and false otherwise
* feed the output of the sphinx-build to github-check tool, so it
is able to parse and call the GitHub Check API to update the
Check web page on the PR if the test fails.
Dan Mick [Fri, 9 Apr 2021 02:40:24 +0000 (19:40 -0700)]
nfs-ganesha: fix patch for debian/rules
Some branches of nfs-ganesha-debian don't have the right format for
the patch file to work (Cmake features can be turned on or off
with various words, ON/OFF, YES/NO, etc.). Use sed instead to be
more resilient to such chicanery.