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.
David Galloway [Wed, 7 Apr 2021 15:35:22 +0000 (11:35 -0400)]
ansible: Remove unattended-upgrades after package install
One of the packages we *do* want to install (software-properties-common maybe) pulls in unattended upgrades. It's not a strict dependency so we can remove it after package install. It's the only package that gets removed.
Signed-off-by: David Galloway <dgallowa@redhat.com>
David Galloway [Wed, 31 Mar 2021 14:14:13 +0000 (10:14 -0400)]
multiple PR jobs: Run on any Ubuntu node
All of Jenkins builders are running Ubuntu Focal. They all have the bionic label. They also have the xenial label but that's only because we're still building packages *for* Xenial. But not *on* Xenial.
Signed-off-by: David Galloway <dgallowa@redhat.com>
Kefu Chai [Tue, 30 Mar 2021 15:06:43 +0000 (23:06 +0800)]
scripts/build_utils: write settings to /root/.pbuilderrc
according to pbuilder(8)
> ${HOME}/.pbuilderrc
> The personal configuration file for pbuilder, which overrides settings set in other configuration files.
>
> Note that ${HOME} is usually /root (if you are running pbuilder through sudo).
since we always call `pbuilder` via `sudo`, we should overwrite
/root/.pbuilderrc with $HOME/.pbuilderrc.
Kefu Chai [Tue, 30 Mar 2021 11:59:00 +0000 (19:59 +0800)]
ceph-dashboard-pull-requests: install python3 packages only
since we've moved to ubuntu focal for running "make check", "ceph-dashboard-pull-requests"
and "ceph-pr-api" tests. and ubuntu focal does not package python2 packages
for python-scipy or python-routes. let's just install the python3
packages.
this change is related to nautilus builds. because nautilus is the last
release which supports python2.
Kefu Chai [Tue, 30 Mar 2021 02:57:43 +0000 (10:57 +0800)]
ceph-{api-nightly,pr-api}: install python3 packages on debian derivatives
since we've moved to ubuntu focal for running "make check" and
"ceph-pr-api" tests. and ubuntu focal does not package python2 packages
for python-scipy or python-routes. let's just install the python3
packages.
this change is related to nautilus builds. because nautilus is the last
release which supports python2.
Kefu Chai [Thu, 25 Mar 2021 10:55:45 +0000 (18:55 +0800)]
ceph-pr-commits: remove non-ascii char
otherwise `jenkins-jobs test` fails when reading it in non-utf-8 locale,
Traceback (most recent call last):
File "/tmp/venv.KVnqGXyZ3a/bin/jenkins-jobs", line 8, in <module>
sys.exit(main())
File "/tmp/venv.KVnqGXyZ3a/lib/python3.6/site-packages/jenkins_jobs/cli/entry.py", line 165, in main
jjb.execute()
File "/tmp/venv.KVnqGXyZ3a/lib/python3.6/site-packages/jenkins_jobs/cli/entry.py", line 146, in execute
ext.obj.execute(self.options, self.jjb_config)
File "/tmp/venv.KVnqGXyZ3a/lib/python3.6/site-packages/jenkins_jobs/cli/subcommand/test.py", line 66, in execute
config_xml=options.config_xml)
File "/tmp/venv.KVnqGXyZ3a/lib/python3.6/site-packages/jenkins_jobs/builder.py", line 279, in update_jobs
output.write(job.output())
File "/tmp/venv.KVnqGXyZ3a/lib/python3.6/codecs.py", line 836, in write
return self.writer.write(data)
File "/tmp/venv.KVnqGXyZ3a/lib/python3.6/codecs.py", line 376, in write
data, consumed = self.encode(object, self.errors)
UnicodeEncodeError: 'latin-1' codec can't encode character '\u2014' in position 57823: ordinal not in range(256)
before this change:
$ iconv -f ascii -t ascii < ./ceph-pr-commits/build/build
...
input sequence at position 197
David Galloway [Thu, 18 Mar 2021 19:09:20 +0000 (15:09 -0400)]
build_utils: Start using pip 20.3.4 instead of 10.0.0
Started seeing
```
+ /tmp/venv.ivc8u2qcCO/bin/pip install --no-binary=:all: --upgrade --exists-action=i --find-links=file:///home/jenkins-build/.cache/pip --no-index 'jenkins-job-builder>=3.5.0'
Looking in links: file:///home/jenkins-build/.cache/pip
Collecting jenkins-job-builder>=3.5.0
Collecting six>=1.9.0 (from jenkins-job-builder>=3.5.0)
Collecting PyYAML<6,>=3.10.0 (from jenkins-job-builder>=3.5.0)
Could not find a version that satisfies the requirement wheel (from versions: )
No matching distribution found for wheel
```
Even 21.0.1 on Ubuntu 16.04 was failing. It's just time to pin a newer version.
Signed-off-by: David Galloway <dgallowa@redhat.com>
This wasn't discovered until now because the `$newgen` stuff I do in this script only applies to Octopus for now. Octopus only had single digit minor release versions (15.x.{1..9}) until 15.2.10. The symlink didn't get updated to download.ceph.com/rpm-octopus still pointed to download.ceph.com/rpm-15.2.9 since it was last in the directory listing.
Signed-off-by: David Galloway <dgallowa@redhat.com>