Vagrantfile: upgrade VM to Fedora 30

Use the official Fedora cloud image as a base for the virtual machine.

Allow defining other virual machines by putting the configuration of
Fedora's one into a sub-level.

Signed-off-by: Nicolas Iooss <nicolas.iooss@m4x.org>
This commit is contained in:
Nicolas Iooss 2019-08-31 16:14:43 +02:00
parent 6b11dcef89
commit 83797144d1
No known key found for this signature in database
GPG Key ID: C191415F340DAAA0

75
Vagrantfile vendored
View File

@ -6,41 +6,46 @@
# backwards compatibility). Please don't change it unless you know what # backwards compatibility). Please don't change it unless you know what
# you're doing. # you're doing.
Vagrant.configure("2") do |config| Vagrant.configure("2") do |config|
# build a Fedora 24 VM # build a Fedora 30 VM
config.vm.box = "bento/fedora-24" config.vm.define "fedora" do |fedora|
# assign a nice hostname fedora.vm.box = "fedora/30-cloud-base"
config.vm.hostname = "selinux-devel" # assign a nice hostname
# give it a private internal IP address fedora.vm.hostname = "selinux-fedora-devel"
config.vm.network "private_network", type: "dhcp" # give it a private internal IP address
fedora.vm.network "private_network", type: "dhcp"
config.vm.provider "virtualbox" do |vb| # Customize the amount of memory on the VM
# Customize the amount of memory on the VM: fedora.vm.provider "virtualbox" do |vb|
vb.memory = "1024" vb.memory = 1024
end
fedora.vm.provider "libvirt" do |lv|
lv.memory = 1024
end
# Enable provisioning with a shell script. Additional provisioners such as
# Puppet, Chef, Ansible, Salt, and Docker are also available. Please see the
# documentation for more information about their specific syntax and use.
fedora.vm.provision "shell", run: "once", inline: <<-SHELL
# get the man pages
echo "Upgrading DNF and installing man pages..."
dnf install -q -y man-pages >/dev/null
dnf upgrade -q -y dnf >/dev/null
# install a few packages to make this machine ready to go out of the box
echo "Installing SELinux dev dependencies..."
dnf install -q -y \
bash-completion \
man-pages \
vim \
make \
kernel-devel \
selinux-policy-devel \
libselinux-python3 \
>/dev/null
# we set to permissive to allow loading and working with reference policy as opposed to fedora's fork
echo "Setting SELinux to Permissive Mode..."
setenforce 0
SHELL
end end
# Enable provisioning with a shell script. Additional provisioners such as
# Puppet, Chef, Ansible, Salt, and Docker are also available. Please see the
# documentation for more information about their specific syntax and use.
config.vm.provision "shell", run: "once", inline: <<-SHELL
# get the man pages
echo "Upgrading DNF and installing man pages..."
dnf install -q -y man-pages >/dev/null
dnf upgrade -q -y dnf >/dev/null
# install a few packages to make this machine ready to go out of the box
echo "Installing SELinux dev dependencies..."
dnf install -q -y \
bash-completion \
man-pages \
vim \
make \
kernel-devel \
selinux-policy-devel \
libselinux-python3 \
>/dev/null
# we set to permissive to allow loading and working with reference policy as opposed to fedora's fork
echo "Setting SELinux to Permissive Mode..."
setenforce 0
SHELL
end end