Cirrus: Include packages for buildah CI

Also, move some setup steps at VM image build time to save runtime.

Signed-off-by: Chris Evich <cevich@redhat.com>
This commit is contained in:
Chris Evich
2020-03-02 10:32:21 -05:00
parent 4c9b021533
commit e810dd135e
3 changed files with 44 additions and 25 deletions

View File

@ -26,7 +26,6 @@ else
warn "NOT enabling updates-testing repository for image based on $PRIOR_FEDORA_BASE_IMAGE"
fi
echo "Installing general build/test dependencies for Fedora '$OS_RELEASE_VER'"
REMOVE_PACKAGES=()
INSTALL_PACKAGES=(\
autoconf
@ -74,6 +73,7 @@ INSTALL_PACKAGES=(\
make
msitools
nmap-ncat
ostree-devel
pandoc
podman
procps-ng
@ -86,11 +86,15 @@ INSTALL_PACKAGES=(\
python3-dateutil
python3-psutil
python3-pytoml
rsync
runc
selinux-policy-devel
skopeo
skopeo-containers
slirp4netns
unzip
vim
wget
which
xz
zip
@ -112,16 +116,21 @@ case "$OS_RELEASE_VER" in
*)
bad_os_id_ver ;;
esac
echo "Installing general build/test dependencies for Fedora '$OS_RELEASE_VER'"
$BIGTO ooe.sh sudo dnf install -y ${INSTALL_PACKAGES[@]}
[[ "${#REMOVE_PACKAGES[@]}" -eq "0" ]] || \
$LILTO ooe.sh sudo dnf erase -y ${REMOVE_PACKAGES[@]}
# Ensure there are no disruptive periodic services enabled by default in image
systemd_banish
echo "Enabling cgroup management from containers"
ooe.sh sudo setsebool container_manage_cgroup true
ooe.sh sudo /tmp/libpod/hack/install_catatonit.sh
# Ensure there are no disruptive periodic services enabled by default in image
systemd_banish
rh_finalize
echo "SUCCESS!"

View File

@ -40,9 +40,9 @@ fi
echo "Configuring/Instaling deps from Open build server"
VERSION_ID=$(source /etc/os-release; echo $VERSION_ID)
echo "deb http://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/xUbuntu_$VERSION_ID/ /" \
> /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list
curl -L -o /tmp/Release.key "https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable/xUbuntu_${VERSION_ID}/Release.key"
apt-key add - < /tmp/Release.key
| ooe.sh sudo tee /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list
ooe.sh curl -L -o /tmp/Release.key "https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable/xUbuntu_${VERSION_ID}/Release.key"
ooe.sh sudo apt-key add - < /tmp/Release.key
INSTALL_PACKAGES=(\
apparmor
@ -51,14 +51,15 @@ INSTALL_PACKAGES=(\
automake
bash-completion
bison
btrfs-tools
build-essential
bzip2
conmon
containernetworking-plugins
containers-common
coreutils
cri-o-runc
criu
curl
conmon
dnsmasq
e2fslibs-dev
emacs-nox
@ -66,6 +67,7 @@ INSTALL_PACKAGES=(\
gawk
gcc
gettext
git
go-md2man
golang
iproute2
@ -84,17 +86,19 @@ INSTALL_PACKAGES=(\
libnet1
libnet1-dev
libnl-3-dev
libvarlink
libprotobuf-c-dev
libprotobuf-dev
libseccomp-dev
libseccomp2
libselinux-dev
libsystemd-dev
libtool
libudev-dev
libvarlink
lsof
make
netcat
openssl
pkg-config
podman
protobuf-c-compiler
@ -107,19 +111,26 @@ INSTALL_PACKAGES=(\
python3-psutil
python3-pytoml
python3-setuptools
rsync
runc
scons
skopeo
slirp4netns
socat
unzip
vim
wget
xz-utils
yum-utils
zip
zlib1g-dev
)
if [[ "$OS_RELEASE_VER" -ge "19" ]]
then
INSTALL_PACKAGES+=(\
bats
btrfs-progs
fuse3
libbtrfs-dev
libfuse3-dev
@ -130,7 +141,10 @@ else
BATS_URL='http://launchpadlibrarian.net/438140887/bats_1.1.0+git104-g1c83a1b-1_all.deb'
curl -L -O "$BATS_URL"
cd -
INSTALL_PACKAGES+=(/tmp/$(basename $BATS_URL))
INSTALL_PACKAGES+=(\
/tmp/$(basename $BATS_URL)
btrfs-tools
)
echo "Forced Ubuntu 18 kernel to enable cgroup swap accounting."
SEDCMD='s/^GRUB_CMDLINE_LINUX="(.*)"/GRUB_CMDLINE_LINUX="\1 cgroup_enable=memory swapaccount=1"/g'
@ -151,6 +165,13 @@ ooe.sh sudo make -C /tmp/libpod install.libseccomp.sudo
# Ensure there are no disruptive periodic services enabled by default in image
systemd_banish
CRIO_RUNC_PATH="/usr/lib/cri-o-runc/sbin/runc"
if sudo dpkg -L cri-o-runc | grep -m 1 -q "$CRIO_RUNC_PATH"
then
echo "Linking $CRIO_RUNC_PATH to /usr/bin/runc for ease of testing."
sudo ln -f "$CRIO_RUNC_PATH" "/usr/bin/runc"
fi
ubuntu_finalize
echo "SUCCESS!"

View File

@ -39,23 +39,8 @@ done
cd "${GOSRC}/"
case "${OS_RELEASE_ID}" in
ubuntu)
CRIO_RUNC_PATH="/usr/lib/cri-o-runc/sbin/runc"
if dpkg -L cri-o-runc | grep -m 1 -q "$CRIO_RUNC_PATH"
then
echo "Linking $CRIO_RUNC_PATH to /usr/bin/runc for ease of testing."
ln -f "$CRIO_RUNC_PATH" "/usr/bin/runc"
fi
;;
fedora)
# This is temporary and should be removed once conmon is in stable
# and the images can be rebuilt properly.
if [[ "$OS_RELEASE_VER" -eq "30" ]]; then
dnf -y install https://kojipkgs.fedoraproject.org//packages/conmon/2.0.13/1.fc30/x86_64/conmon-2.0.13-1.fc30.x86_64.rpm
else
dnf -y install https://kojipkgs.fedoraproject.org//packages/conmon/2.0.13/1.fc31/x86_64/conmon-2.0.13-1.fc31.x86_64.rpm
fi
# End of temporary patch
# All SELinux distros need this for systemd-in-a-container
setsebool container_manage_cgroup true
if [[ "$ADD_SECOND_PARTITION" == "true" ]]; then
@ -67,6 +52,10 @@ case "${OS_RELEASE_ID}" in
echo "mq-deadline" > /sys/block/sda/queue/scheduler
cat /sys/block/sda/queue/scheduler
if [[ "$ADD_SECOND_PARTITION" == "true" ]]; then
bash "$SCRIPT_BASE/add_second_partition.sh"
fi
warn "Forcing systemd cgroup manager"
X=$(echo "export CGROUP_MANAGER=systemd" | \
tee -a /etc/environment) && eval "$X" && echo "$X"