2
0
mirror of https://github.com/checkpoint-restore/criu synced 2025-08-31 06:15:24 +00:00

Use a real VM instead of a privileged container

This commit is contained in:
fedor
2021-03-17 07:49:26 -04:00
committed by Andrei Vagin
parent 90e03b1a11
commit 069d92e513
2 changed files with 12 additions and 30 deletions

View File

@@ -15,13 +15,6 @@ setup() {
# Load the kvm modules for vagrant to use qemu
modprobe kvm kvm_intel
fi
if [ -n "$CIRRUS_CI" ]; then
# Running modprobe is not possible on Cirrus, because
# we are running in a container with potentially other
# modules than the host.
# Vagrant can still use /dev/kvm later if we do
chmod 666 /dev/kvm
fi
# Tar up the git checkout to have vagrant rsync it to the VM
tar cf criu.tar ../../../criu
@@ -32,28 +25,13 @@ setup() {
./apt-install libvirt-clients libvirt-daemon-system libvirt-dev qemu-utils qemu \
ruby build-essential libxml2-dev qemu-kvm rsync ebtables dnsmasq-base \
openssh-client
if [ -n "$CIRRUS_CI" ]; then
# On Cirrus systemctl does not work, because we are running in
# a container without access to systemd
/usr/sbin/virtlogd -d
/usr/sbin/libvirtd -d
else
systemctl restart libvirtd
fi
systemctl restart libvirtd
vagrant plugin install vagrant-libvirt
vagrant init fedora/${FEDORA_VERSION}-cloud-base --box-version ${FEDORA_BOX_VERSION}
# The default libvirt Vagrant VM uses 512MB.
# Travis VMs should have around 7.5GB.
# Increasing it to 4GB should work.
sed -i Vagrantfile -e 's,^end$, config.vm.provider :libvirt do |libvirt|'"\n"' libvirt.memory = 4096;end'"\n"'end,g'
if [ -n "$CIRRUS_CI" ]; then
# Work around for:
# Error while activating network: Call to virNetworkCreate failed: internal error:
# Failed to apply firewall rules /usr/sbin/ip6tables --table filter --list-rules: modprobe: FATAL: Module ip6_tables not found in directory /lib/modules/5.4.0-1025-gcp
# On cirrus-ci.com. Running in a container without access to the host's kernel modules
rm -f /sbin/ip6tables
cp /bin/true /sbin/ip6tables
fi
vagrant up --provider=libvirt --no-tty
mkdir -p /root/.ssh
vagrant ssh-config >> /root/.ssh/config