3aab38250a54604387fc2631aec195c7edeade46
[ci-management.git] / vagrant / basebuild / Vagrantfile
1 # -*- mode: ruby -*-\r
2 # vi: set ts=2 sw=2 sts=2 et ft=ruby :\r
3 \r
4 Vagrant.configure(2) do |config|\r
5   config.vm.provider :openstack do |os, override|\r
6     config.vm.box = "dummy"\r
7 \r
8     # require an IMAGE to be passed in\r
9     # IMAGE must be a human name and not image ID!\r
10     if ENV['IMAGE']\r
11       os.image = ENV['IMAGE']\r
12     else\r
13       os.image = 'BAD IMAGE'\r
14       override.ssh.username = 'baduser'\r
15     end\r
16 \r
17     if ENV['SERVER_NAME']\r
18       os.server_name = ENV['SERVER_NAME']\r
19     end\r
20 \r
21     case ENV['IMAGE']\r
22       when /.*ubuntu.*/i\r
23         override.ssh.username = 'ubuntu'\r
24 \r
25       when /.*fedora.*/i\r
26         override.ssh.username = 'fedora'\r
27 \r
28         # take care of the tty requirement by fedora for sudo\r
29         os.user_data = "#!/bin/bash\r
30 /bin/sed -i 's/ requiretty/ !requiretty/' /etc/sudoers;"\r
31 \r
32       when /.*centos.*/i\r
33         override.ssh.username = 'centos'\r
34 \r
35         # take care of the tty requirement by centos for sudo\r
36         os.user_data = "#!/bin/bash\r
37 /bin/sed -i 's/ requiretty/ !requiretty/' /etc/sudoers;"\r
38     end\r
39   end\r
40 \r
41   config.vm.synced_folder ".", "/vagrant"\r
42   config.vm.synced_folder "../lib/", "/vagrant/lib"\r
43 \r
44   # Do a full system update and set enforcing on\r
45   config.vm.provision 'shell', path: './bootstrap.sh'\r
46 \r
47   #################\r
48   # FINAL CLEANUP #\r
49   #################\r
50 \r
51   # set RESEAL to... anything if you want to snap an image of this box\r
52   # not setting the environment variable will cause the system to come\r
53   # up fully and not be in a resealable state\r
54   if ENV['RESEAL']\r
55     config.vm.provision 'shell', path: '../lib/system_reseal.sh'\r
56   end\r
57 end\r