Vagrant: Implement plugin check and simpler config

A check is added to validate whether the required
plugins are implemented, and if not then how they
can be implemented.

The config is also simplified to set the vcp, ram
and disk space values in one place.

Change-Id: I33bdd7aa1dd52084870664dd5f741cb8a832e7d3
This commit is contained in:
Jesse Pretorius 2017-05-30 16:50:40 +01:00
parent e2f56ec634
commit 7f5e85b777

75
Vagrantfile vendored
View File

@ -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