diff --git a/Vagrantfile b/Vagrantfile index 7e450d2b65..ab09d65bec 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -1,52 +1,116 @@ Vagrant.configure(2) do |config| - config.vm.box = "ubuntu/xenial64" - config.vm.provider "virtualbox" do |v| - v.name = "OpenStack-Ansible_#{Time.now.getutc.to_i}" - v.memory = 8192 - v.cpus = 4 + config.vm.define "ubuntu1604" do |xenial| + xenial.vm.box = "ubuntu/xenial64" + xenial.vm.provider "virtualbox" do |v| - image_path = "#{ENV["HOME"]}/VirtualBox VMs/#{v.name}" - image_name = 'ubuntu-xenial-16.04-cloudimg' + v.name = "OpenStack-Ansible_Ubuntu-16.04_#{Time.now.getutc.to_i}" + v.memory = 8192 + v.cpus = 4 - # We clone the image to a resizable format - v.customize [ - "clonehd", "#{image_path}/#{image_name}.vmdk", - "#{image_path}/#{image_name}.vdi", - "--format", "VDI" - ] + image_path = "#{ENV["HOME"]}/VirtualBox VMs/#{v.name}" + image_name = 'ubuntu-xenial-16.04-cloudimg' - # Then resize it to 60 GB - v.customize [ - "modifymedium", "disk", - "#{image_path}/#{image_name}.vdi", - "--resize", 60 * 1024 - ] + # We clone the image to a resizable format + v.customize [ + "clonehd", "#{image_path}/#{image_name}.vmdk", + "#{image_path}/#{image_name}.vdi", + "--format", "VDI" + ] - # Then attach it as the primary disk - v.customize [ - "storageattach", :id, - "--storagectl", "SCSI Controller", - "--port", "0", - "--device", "0", - "--type", "hdd", - "--nonrotational", "on", - "--medium", "#{image_path}/#{image_name}.vdi" - ] + # Then resize it to 60 GB + v.customize [ + "modifymedium", "disk", + "#{image_path}/#{image_name}.vdi", + "--resize", 60 * 1024 + ] - # Then remove the original disk - v.customize [ - "closemedium", "disk", - "#{image_path}/#{image_name}.vmdk", - "--delete" - ] + # Then attach it as the primary disk + v.customize [ + "storageattach", :id, + "--storagectl", "SCSI Controller", + "--port", "0", + "--device", "0", + "--type", "hdd", + "--nonrotational", "on", + "--medium", "#{image_path}/#{image_name}.vdi" + ] - # Now we can execute the build - config.vm.provision "shell", inline: <<-SHELL - sudo su - - cd /vagrant - ./scripts/gate-check-commit.sh - SHELL + # Then remove the original disk + v.customize [ + "closemedium", "disk", + "#{image_path}/#{image_name}.vmdk", + "--delete" + ] + # Now we can execute the build + config.vm.provision "shell", inline: <<-SHELL + sudo su - + cd /vagrant + ./scripts/gate-check-commit.sh + SHELL + + end end + + config.vm.define "centos7" do |centos7| + centos7.vm.box = "centos/7" + centos7.vm.provider "virtualbox" do |v| + + v.name = "OpenStack-Ansible_CentOS-7_#{Time.now.getutc.to_i}" + v.memory = 8192 + v.cpus = 4 + + image_path = "#{ENV["HOME"]}/VirtualBox VMs/#{v.name}" + image_name = 'centos-7-1-1.x86_64' + + # We clone the image to a resizable format + v.customize [ + "clonehd", "#{image_path}/#{image_name}.vmdk", + "#{image_path}/#{image_name}.vdi", + "--format", "VDI" + ] + + # Then resize it to 60 GB + v.customize [ + "modifymedium", "disk", + "#{image_path}/#{image_name}.vdi", + "--resize", 60 * 1024 + ] + + # Then attach it as the primary disk + v.customize [ + "storageattach", :id, + "--storagectl", "IDE Controller", + "--port", "0", + "--device", "0", + "--type", "hdd", + "--nonrotational", "on", + "--medium", "#{image_path}/#{image_name}.vdi" + ] + + # Then remove the original disk + v.customize [ + "closemedium", "disk", + "#{image_path}/#{image_name}.vmdk", + "--delete" + ] + + # 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 + SHELL + + end + end + end