This is chowning /opt/cache/files to jenkins, which I believe is causing issues for non-devstack-gate jobs that want to access /opt/cache directly as zuul (for d-g jobs, roles/setup-devstack-cache handles making a copy of it there, which is why we don't see it there). Make the cache globally accessible Change-Id: I711bc5643dbc8f2b674cb2a399989643a993a32e
54 lines
1.5 KiB
Bash
Executable File
54 lines
1.5 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
if [ ${DIB_DEBUG_TRACE:-0} -gt 0 ]; then
|
|
set -x
|
|
fi
|
|
set -eu
|
|
set -o pipefail
|
|
|
|
# Add jenkins user and group. Note we don't want to rely on
|
|
# "useradd"'s group adding behaviour, because it might differ across
|
|
# distros.
|
|
groupadd jenkins
|
|
useradd -g jenkins -m jenkins -s /bin/bash
|
|
|
|
# a lot of caching happens in extra-data.d (for "historical" reasons).
|
|
# We've put the cache stuff into /opt/cache/files, but again, for
|
|
# "historical" reasons, ensure this is available in /home/jenkins
|
|
#
|
|
# Check if the cache exists as we don't have a strict dependency on the
|
|
# devstack-cache element. This allows you to build an image without
|
|
# incurring the cost of caching all the things.
|
|
if [ -d /opt/cache/files ] ; then
|
|
mkdir -p /home/jenkins/cache
|
|
ln -sf /opt/cache/files /home/jenkins/cache/files
|
|
chown -R jenkins:jenkins /opt/cache/files
|
|
# but make sure the cache is readable by everyone
|
|
chmod -R a+rX /opt/cache/files/*
|
|
fi
|
|
|
|
# this was copied from outside the chroot by extras.d
|
|
_pub_key=/tmp/in_target.d/jenkins-user-ssh-public-key
|
|
if [ ! -f $_pub_key ]; then
|
|
die "Can not find Jenkins public key!"
|
|
fi
|
|
|
|
mkdir /home/jenkins/.ssh
|
|
chmod 700 /home/jenkins/.ssh
|
|
|
|
cp $_pub_key /home/jenkins/.ssh/authorized_keys
|
|
chmod 644 /home/jenkins/.ssh/authorized_keys
|
|
|
|
cat > /home/jenkins/.gitconfig <<EOF
|
|
[user]
|
|
name = OpenStack Jenkins
|
|
email = jenkins@openstack.org
|
|
signingkey = jenkins@openstack.org
|
|
[gitreview]
|
|
rebase = false
|
|
username = jenkins
|
|
EOF
|
|
|
|
# cleanup everything to the right owner
|
|
chown -R jenkins:jenkins /home/jenkins
|