diff --git a/Vagrantfile b/Vagrantfile index a014422b5e..9a6f897c0d 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -10,52 +10,53 @@ # See the License for the specific language governing permissions and # limitations under the License. +# Verify whether required plugins are installed. +required_plugins = [ "vagrant-disksize" ] +required_plugins.each do |plugin| + if not Vagrant.has_plugin?(plugin) + raise "The vagrant plugin #{plugin} is required. Please run `vagrant plugin install #{plugin}`" + end +end + Vagrant.configure(2) do |config| + # Configure all VM specs. + config.vm.provider "virtualbox" do |v| + v.memory = 8192 + v.cpus = 4 + end + + # Configure the disk size. + disk_size = "60GB" + config.vm.define "ubuntu1604" do |xenial| xenial.vm.box = "ubuntu/xenial64" - # Expand the disk to 60GB. You'll need - # the plugin disksize. Please run: - # vagrant plugin install vagrant-disksize - xenial.disksize.size = '60GB' - xenial.vm.provider "virtualbox" do |v| - - v.memory = 8192 - v.cpus = 4 - - # Now we can execute the build - config.vm.provision "shell", inline: <<-SHELL - sudo su - - cd /vagrant - ./scripts/gate-check-commit.sh + xenial.disksize.size = disk_size + config.vm.provision "shell", + privileged: true, + inline: <<-SHELL + cd /vagrant + ./scripts/gate-check-commit.sh SHELL - - end end config.vm.define "centos7" do |centos7| centos7.vm.box = "centos/7" - centos7.disksize.size = '60GB' - centos7.vm.provider "virtualbox" do |v| - - v.memory = 8192 - v.cpus = 4 - - # Now we can execute the build - config.vm.provision "shell", inline: <<-SHELL - sudo su - - cd /vagrant - PART_START=$(parted /dev/sda --script unit MB print | awk '/^ 3 / {print $3}') - parted /dev/sda --script unit MB mkpart primary ${PART_START} 100% - parted /dev/sda --script set 4 lvm on - pvcreate /dev/sda4 - vgextend VolGroup00 /dev/sda4 - lvextend -l +100%FREE /dev/mapper/VolGroup00-LogVol00 - xfs_growfs /dev/mapper/VolGroup00-LogVol00 - ./scripts/gate-check-commit.sh + centos7.disksize.size = disk_size + # The CentOS build does not have growroot, so we + # have to do it ourselves. + config.vm.provision "shell", + privileged: true, + inline: <<-SHELL + cd /vagrant + PART_START=$(parted /dev/sda --script unit MB print | awk '/^ 3 / {print $3}') + parted /dev/sda --script unit MB mkpart primary ${PART_START} 100% + parted /dev/sda --script set 4 lvm on + pvcreate /dev/sda4 + vgextend VolGroup00 /dev/sda4 + lvextend -l +100%FREE /dev/mapper/VolGroup00-LogVol00 + xfs_growfs /dev/mapper/VolGroup00-LogVol00 + ./scripts/gate-check-commit.sh SHELL - - end end - end