From 6f34fbc6957f16719749372d78c014abe9b8a5f7 Mon Sep 17 00:00:00 2001 From: David Steele Date: Mon, 3 Oct 2016 09:15:29 -0400 Subject: [PATCH] Vagrant build improvements: * Miminize TeXLive package list to save time during VM builds. * General cleanup and added timestamps. * Pin to specific box version. --- doc/xml/release.xml | 4 ++++ test/Vagrantfile | 27 +++++++++++++++++++++------ 2 files changed, 25 insertions(+), 6 deletions(-) diff --git a/doc/xml/release.xml b/doc/xml/release.xml index 57f75dbb99..b5525becd3 100644 --- a/doc/xml/release.xml +++ b/doc/xml/release.xml @@ -184,6 +184,10 @@

Regression tests can now be run as any properly-configured user, not just vagrant.

+ + +

Miminize TeXLive package list to save time during VM builds.

+
diff --git a/test/Vagrantfile b/test/Vagrantfile index 385587910d..7324c71fcc 100644 --- a/test/Vagrantfile +++ b/test/Vagrantfile @@ -5,18 +5,25 @@ Vagrant.configure(2) do |config| end config.vm.box = "bento/ubuntu-16.04" + config.vm.box_version = "2.2.9"; config.vm.provider :virtualbox do |vb| - vb.name = "backrest-test" + vb.name = "pgbackrest-test" end # Provision the VM config.vm.provision "shell", inline: <<-SHELL + echo 'Build Begin' && date + # Suppress "dpkg-reconfigure: unable to re-open stdin: No file or directory" warning export DEBIAN_FRONTEND=noninteractive - # Install Docker + # Update Apt + echo 'Update Apt' && date apt-get update + + # Install Docker + echo 'Install Docker' && date apt-get install -y apt-transport-https ca-certificates apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D echo 'deb https://apt.dockerproject.org/repo ubuntu-xenial main' > /etc/apt/sources.list.d/docker.list @@ -27,26 +34,34 @@ Vagrant.configure(2) do |config| sudo usermod -aG docker vagrant # Install Perl modules + echo 'Install Perl Modules' && date apt-get install -y libdbd-pg-perl libxml-checker-perl libperl-critic-perl - # Install additional modules + # Install utilities + echo 'Install Utilities' && date apt-get install -y vim htop - # Install Texlive - apt-get install -y texlive - apt-get install -y --no-install-recommends texlive-latex-extra + # Install TeX Live + echo 'Install TeX Live' && date + apt-get install -y --no-install-recommends texlive-latex-base texlive-latex-extra texlive-fonts-recommended + apt-get install -y texlive-font-utils # Create backrest user and postgres group + echo 'Create Postgres Group & pgBackRest User' && date groupadd -g5000 postgres adduser --uid=5001 --ingroup=postgres --disabled-password --gecos "" backrest # Make postgres the primary group for vagrant user (and preserve vagrant group) + echo 'Add Vagrant User to Postgres Group' && date usermod -g postgres vagrant usermod -a -G vagrant vagrant # Build VM images + echo 'Build VM Images' && date rm -f /backrest/test/.vagrant/docker/* sudo su - vagrant -c '/backrest/test/test.pl --vm-build' + + echo 'Build End' && date SHELL # Don't share the default vagrant folder