mirror of
https://github.com/opencontainers/runc.git
synced 2026-07-11 06:03:57 +08:00
a0f8847e2a
Require go 1.17 from now on, since go 1.16 is no longer supported. Drop go1.16 compatibility. NOTE we also have to install go 1.18 from Vagrantfile, because Fedora 35 comes with Go 1.16.x which can't be used. Note the changes to go.mod and vendor are due to https://go.dev/doc/go1.17#tools Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
58 lines
2.0 KiB
Ruby
58 lines
2.0 KiB
Ruby
# -*- mode: ruby -*-
|
|
# vi: set ft=ruby :
|
|
|
|
Vagrant.configure("2") do |config|
|
|
# Fedora box is used for testing cgroup v2 support
|
|
config.vm.box = "fedora/35-cloud-base"
|
|
config.vm.provider :virtualbox do |v|
|
|
v.memory = 2048
|
|
v.cpus = 2
|
|
end
|
|
config.vm.provider :libvirt do |v|
|
|
v.memory = 2048
|
|
v.cpus = 2
|
|
end
|
|
config.vm.provision "shell", inline: <<-SHELL
|
|
set -e -u -o pipefail
|
|
# Work around dnf mirror failures by retrying a few times
|
|
for i in $(seq 0 2); do
|
|
sleep $i
|
|
# "config exclude" dnf shell command is not working in Fedora 35
|
|
# (see https://bugzilla.redhat.com/show_bug.cgi?id=2022571);
|
|
# the workaround is to specify it as an option.
|
|
cat << EOF | dnf -y --exclude=kernel,kernel-core shell && break
|
|
config install_weak_deps false
|
|
update
|
|
install iptables gcc make glibc-static libseccomp-devel bats jq git-core criu fuse-sshfs
|
|
ts run
|
|
EOF
|
|
done
|
|
dnf clean all
|
|
|
|
# Install golang.
|
|
# FIXME go back to golang-go rpm once switched to Fedora 36.
|
|
curl -fsSL https://go.dev/dl/go1.18.linux-amd64.tar.gz | tar Cxz /usr/local
|
|
echo 'export PATH=/usr/local/go/bin:$PATH' >> /etc/profile.d/golang.sh
|
|
|
|
# Add a user for rootless tests
|
|
useradd -u2000 -m -d/home/rootless -s/bin/bash rootless
|
|
|
|
# Allow root and rootless itself to execute `ssh rootless@localhost` in tests/rootless.sh
|
|
ssh-keygen -t ecdsa -N "" -f /root/rootless.key
|
|
mkdir -m 0700 -p /home/rootless/.ssh
|
|
cp /root/rootless.key /home/rootless/.ssh/id_ecdsa
|
|
cat /root/rootless.key.pub >> /home/rootless/.ssh/authorized_keys
|
|
chown -R rootless.rootless /home/rootless
|
|
|
|
# Delegate cgroup v2 controllers to rootless user via --systemd-cgroup
|
|
mkdir -p /etc/systemd/system/user@.service.d
|
|
cat > /etc/systemd/system/user@.service.d/delegate.conf << EOF
|
|
[Service]
|
|
# default: Delegate=pids memory
|
|
# NOTE: delegation of cpuset requires systemd >= 244 (Fedora >= 32, Ubuntu >= 20.04).
|
|
Delegate=yes
|
|
EOF
|
|
systemctl daemon-reload
|
|
SHELL
|
|
end
|