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>
David Galloway [Thu, 4 Mar 2021 13:45:14 +0000 (08:45 -0500)]
ansible: Disable timeout on tmp{watch,reaper}
From the man page:
```
-T x, --runtime=x
Execution of tmpreaper will aborted after x seconds; this is to prevent attacks that create many, many files. By default the timeout is set to 55 seconds. A value of 0 will disable this feature, which is not advised as this feature prevents possible
race-conditions between different instances of tmpreaper.
```
So tmpreaper wasn't running for the past week since I set this up because there was so much to clean up that it'd time out. These are Jenkins builders where the primary user already has sudo access so there's no real use to locking down tmpreaper.
Signed-off-by: David Galloway <dgallowa@redhat.com>
Lucian Petrut [Wed, 6 Jan 2021 13:09:08 +0000 (15:09 +0200)]
ceph-dev-new: add Windows build
We're going to do a Windows build using Mingw as part of the
ceph-dev-new job.
"windows" is added as a valid distro. The "validate_mingw" script
will ensure that we're running on top of a Linux distro that the
Windows build script supports (currently just Ubuntu and Suse
distros).
David Galloway [Thu, 18 Feb 2021 22:49:55 +0000 (17:49 -0500)]
ansible: Always set_facts
Without these set_fact tasks having the always tag, a few conditionals (e.g., permanent|bool) and vars don't get set. So if we're running `ansible-playbook --tags tmp`, for example, all the tasks get skipped because `permanent|bool` didn't get set automatically.
Signed-off-by: David Galloway <dgallowa@redhat.com>