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:
parent
e2f56ec634
commit
7f5e85b777
75
Vagrantfile
vendored
75
Vagrantfile
vendored
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user