veewee 0.3.6 → 0.3.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. data/README.md +1 -1
  2. data/Rakefile +23 -23
  3. data/bin/veewee +1 -1
  4. data/doc/kvm.md +58 -9
  5. data/doc/providers.md +2 -2
  6. data/doc/vagrant.md +1 -1
  7. data/lib/vagrant_init.rb +0 -1
  8. data/lib/veewee/cli.rb +1 -1
  9. data/lib/veewee/command.rb +2 -2
  10. data/lib/veewee/command/fusion.rb +2 -2
  11. data/lib/veewee/command/kvm.rb +1 -1
  12. data/lib/veewee/command/parallels.rb +2 -2
  13. data/lib/veewee/command/vagrant/define.rb +1 -1
  14. data/lib/veewee/command/vagrant/undefine.rb +1 -1
  15. data/lib/veewee/command/vbox.rb +2 -2
  16. data/lib/veewee/config.rb +8 -10
  17. data/lib/veewee/definition.rb +41 -41
  18. data/lib/veewee/definitions.rb +27 -30
  19. data/lib/veewee/environment.rb +16 -16
  20. data/lib/veewee/error.rb +18 -15
  21. data/lib/veewee/provider/core/box/build.rb +1 -1
  22. data/lib/veewee/provider/kvm/box.rb +1 -6
  23. data/lib/veewee/provider/kvm/box/validate_kvm.rb +1 -1
  24. data/lib/veewee/provider/kvm/provider.rb +19 -32
  25. data/lib/veewee/provider/virtualbox/box/helper/create.rb +5 -1
  26. data/lib/veewee/providers.rb +22 -21
  27. data/lib/veewee/template.rb +9 -9
  28. data/lib/veewee/templates.rb +14 -15
  29. data/lib/veewee/ui.rb +7 -7
  30. data/lib/veewee/version.rb +1 -1
  31. data/templates/CentOS-6.3-i386-minimal/base.sh +1 -1
  32. data/templates/CentOS-6.3-i386-minimal/definition.rb +13 -4
  33. data/templates/CentOS-6.3-i386-minimal/ks.cfg +50 -14
  34. data/templates/CentOS-6.3-i386-minimal/virtualbox.sh +3 -3
  35. data/templates/CentOS-6.3-x86_64-minimal/base.sh +1 -1
  36. data/templates/CentOS-6.3-x86_64-netboot/base.sh +14 -0
  37. data/templates/CentOS-6.3-x86_64-netboot/chef.sh +3 -0
  38. data/templates/CentOS-6.3-x86_64-netboot/cleanup.sh +5 -0
  39. data/templates/CentOS-6.3-x86_64-netboot/definition.rb +40 -0
  40. data/templates/CentOS-6.3-x86_64-netboot/ks.cfg +41 -0
  41. data/templates/CentOS-6.3-x86_64-netboot/puppet.sh +12 -0
  42. data/templates/CentOS-6.3-x86_64-netboot/ruby.sh +3 -0
  43. data/templates/CentOS-6.3-x86_64-netboot/vagrant.sh +18 -0
  44. data/templates/CentOS-6.3-x86_64-netboot/virtualbox.sh +8 -0
  45. data/templates/{Debian-7.0-b2-i386-netboot → CentOS-6.3-x86_64-netboot}/zerodisk.sh +0 -0
  46. data/templates/{Debian-7.0-b2-i386-netboot → Debian-7.0-b4-amd64-netboot}/base.sh +2 -3
  47. data/templates/{Debian-7.0-b2-i386-netboot → Debian-7.0-b4-amd64-netboot}/chef.sh +0 -0
  48. data/templates/{Debian-7.0-b2-i386-netboot → Debian-7.0-b4-amd64-netboot}/cleanup-virtualbox.sh +0 -0
  49. data/templates/{Debian-7.0-b2-i386-netboot → Debian-7.0-b4-amd64-netboot}/cleanup.sh +0 -0
  50. data/templates/{Debian-7.0-b3-amd64-netboot → Debian-7.0-b4-amd64-netboot}/definition.rb +3 -3
  51. data/templates/{Debian-7.0-b3-amd64-netboot → Debian-7.0-b4-amd64-netboot}/preseed.cfg +0 -0
  52. data/templates/{Debian-7.0-b2-i386-netboot → Debian-7.0-b4-amd64-netboot}/puppet.sh +0 -0
  53. data/templates/{Debian-7.0-b2-i386-netboot → Debian-7.0-b4-amd64-netboot}/ruby.sh +0 -0
  54. data/templates/{Debian-7.0-b2-i386-netboot → Debian-7.0-b4-amd64-netboot}/vagrant.sh +0 -0
  55. data/templates/{Debian-7.0-b2-i386-netboot → Debian-7.0-b4-amd64-netboot}/virtualbox.sh +0 -0
  56. data/templates/{Debian-7.0-b3-amd64-netboot → Debian-7.0-b4-amd64-netboot}/zerodisk.sh +0 -0
  57. data/templates/{Debian-7.0-b3-amd64-netboot → Debian-7.0-b4-i386-netboot}/base.sh +2 -3
  58. data/templates/{Debian-7.0-b3-amd64-netboot → Debian-7.0-b4-i386-netboot}/chef.sh +0 -0
  59. data/templates/{Debian-7.0-b3-amd64-netboot → Debian-7.0-b4-i386-netboot}/cleanup-virtualbox.sh +0 -0
  60. data/templates/{Debian-7.0-b3-amd64-netboot → Debian-7.0-b4-i386-netboot}/cleanup.sh +0 -0
  61. data/templates/{Debian-7.0-b2-i386-netboot → Debian-7.0-b4-i386-netboot}/definition.rb +3 -3
  62. data/templates/{Debian-7.0-b2-i386-netboot → Debian-7.0-b4-i386-netboot}/preseed.cfg +0 -0
  63. data/templates/{Debian-7.0-b3-amd64-netboot → Debian-7.0-b4-i386-netboot}/puppet.sh +0 -0
  64. data/templates/{Debian-7.0-b3-amd64-netboot → Debian-7.0-b4-i386-netboot}/ruby.sh +0 -0
  65. data/templates/{Debian-7.0-b3-amd64-netboot → Debian-7.0-b4-i386-netboot}/vagrant.sh +0 -0
  66. data/templates/{Debian-7.0-b3-amd64-netboot → Debian-7.0-b4-i386-netboot}/virtualbox.sh +0 -0
  67. data/templates/Debian-7.0-b4-i386-netboot/zerodisk.sh +3 -0
  68. data/templates/Fedora-18-i386/definition.rb +6 -6
  69. data/templates/Fedora-18-i386/postinstall.sh +3 -1
  70. data/templates/Fedora-18-x86_64/definition.rb +5 -5
  71. data/templates/Fedora-18-x86_64/postinstall.sh +6 -1
  72. data/templates/ubuntu-12.04.1-server-amd64-packages/postinstall.sh +4 -5
  73. data/templates/ubuntu-12.04.1-server-amd64/postinstall.sh +4 -5
  74. data/templates/ubuntu-8.04.4-server-amd64/postinstall.sh +6 -6
  75. data/templates/ubuntu-8.04.4-server-i386/postinstall.sh +6 -6
  76. data/templates/windows-8-amd64/Autounattend.xml +140 -0
  77. data/templates/windows-8-amd64/README.md +134 -0
  78. data/templates/windows-8-amd64/cygwin-setup.exe +0 -0
  79. data/templates/windows-8-amd64/definition.rb +101 -0
  80. data/templates/windows-8-amd64/install-cygwin-sshd.bat +38 -0
  81. data/templates/windows-8-amd64/install-winrm.bat +11 -0
  82. data/templates/windows-8-amd64/oracle-cert.cer +0 -0
  83. data/templates/windows-8-amd64/postinstall.sh +122 -0
  84. data/templates/windows-8-amd64/winrm.rb +8 -0
  85. data/templates/windows-8-i386/Autounattend.xml +140 -0
  86. data/templates/windows-8-i386/README.md +134 -0
  87. data/templates/windows-8-i386/cygwin-setup.exe +0 -0
  88. data/templates/windows-8-i386/definition.rb +101 -0
  89. data/templates/windows-8-i386/install-cygwin-sshd.bat +38 -0
  90. data/templates/windows-8-i386/install-winrm.bat +11 -0
  91. data/templates/windows-8-i386/oracle-cert.cer +0 -0
  92. data/templates/windows-8-i386/postinstall.sh +122 -0
  93. data/templates/windows-8-i386/winrm.rb +8 -0
  94. data/test/build_realtest.rb +4 -4
  95. data/veewee.gemspec +8 -9
  96. metadata +55 -27
@@ -3,20 +3,20 @@ module Veewee
3
3
 
4
4
  attr_accessor :env
5
5
 
6
- attr_reader :name,:path
6
+ attr_reader :name, :path
7
7
 
8
- def initialize(name,path,env)
9
- @name=name
10
- @path=path
11
- @env=env
8
+ def initialize(name, path, env)
9
+ @name = name
10
+ @path = path
11
+ @env = env
12
12
  return self
13
13
  end
14
14
 
15
15
  def exists?
16
- filename=Dir.glob("#{path}/definition.rb")
17
- if filename.length!=0
18
- env.logger.debug("[Template] template '#{name}' is valid")
19
- return true
16
+ filename = Dir.glob("#{path}/definition.rb")
17
+ if filename.length != 0
18
+ env.logger.debug("[Template] template '#{name}' is valid")
19
+ return true
20
20
  else
21
21
  return false
22
22
  end
@@ -4,16 +4,16 @@ module Veewee
4
4
  attr_accessor :env
5
5
 
6
6
  def initialize(env)
7
- @env=env
7
+ @env = env
8
8
  return self
9
9
  end
10
10
 
11
11
  def [](name)
12
- result=nil
12
+ result = nil
13
13
  valid_paths(env.template_path).each do |template_dir|
14
- template=Veewee::Template.new(name,File.join(template_dir,name),@env)
14
+ template = Veewee::Template.new(name, File.join(template_dir, name), @env)
15
15
  if template.exists?
16
- result=template
16
+ result = template
17
17
  return result
18
18
  end
19
19
  end
@@ -22,37 +22,38 @@ module Veewee
22
22
 
23
23
  # Fetch all Templates
24
24
  def each(&block)
25
- templates=Hash.new
25
+ templates = Hash.new
26
26
 
27
27
  valid_paths(env.template_path).each do |template_dir|
28
28
 
29
29
  env.logger.debug("[Template] Searching #{template_dir} for templates")
30
30
 
31
- subdirs=Dir.glob("#{template_dir}/*")
31
+ subdirs = Dir.glob("#{template_dir}/*")
32
32
  subdirs.each do |sub|
33
33
  if File.directory?("#{sub}")
34
- name=sub.sub(/#{template_dir}\//,'')
35
- template=Veewee::Template.new(name,sub,@env)
34
+ name = sub.sub(/#{template_dir}\//, '')
35
+ template = Veewee::Template.new(name, sub, @env)
36
36
  if template.exists?
37
- env.logger.debug("[Template] template '#{name}' found")
38
- templates[name]=template
37
+ env.logger.debug("[Template] template '#{name}' found")
38
+ templates[name] = template
39
39
  end
40
40
  end
41
41
  end
42
42
  end
43
43
 
44
- if templates.length==0
45
- env.logger.debug("[Template] no templates found")
44
+ if templates.length == 0
45
+ env.logger.debug("[Template] no templates found")
46
46
  end
47
47
 
48
48
  Hash[templates.sort].each(&block)
49
49
  end
50
50
 
51
51
  private
52
+
52
53
  # Traverses path to see which exist or not
53
54
  # and checks if available
54
55
  def valid_paths(paths)
55
- valid_paths=paths.collect { |path|
56
+ valid_paths = paths.collect { |path|
56
57
  if File.exists?(path) && File.directory?(path)
57
58
  env.logger.info "Path #{path} exists"
58
59
  File.expand_path(path)
@@ -64,7 +65,5 @@ module Veewee
64
65
  return valid_paths.compact
65
66
  end
66
67
 
67
-
68
-
69
68
  end
70
69
  end
data/lib/veewee/ui.rb CHANGED
@@ -13,7 +13,7 @@ module Veewee
13
13
 
14
14
  [:warn, :error, :info, :success].each do |method|
15
15
  define_method(method) do |message, *argv|
16
- opts , *argv = argv
16
+ opts, *argv = argv
17
17
  opts ||= {}
18
18
  # Log normal console messages
19
19
  env.logger.info("ui") { message }
@@ -36,7 +36,7 @@ module Veewee
36
36
 
37
37
  [[:warn, :yellow], [:error, :red], [:info, nil], [:success, :green]].each do |method, color|
38
38
  class_eval <<-CODE
39
- def #{method}(message, opts=nil)
39
+ def #{method}(message, opts = nil)
40
40
  super(message)
41
41
  opts ||= {}
42
42
  opts[:new_line] = true if !opts.has_key?(:new_line)
@@ -47,7 +47,7 @@ module Veewee
47
47
 
48
48
  [:ask, :no?, :yes?].each do |method|
49
49
  class_eval <<-CODE
50
- def #{method}(message, opts=nil)
50
+ def #{method}(message, opts = nil)
51
51
  super(message)
52
52
  opts ||= {}
53
53
  @shell.send(#{method.inspect}, format_message(message, opts), opts[:color])
@@ -55,7 +55,7 @@ module Veewee
55
55
  CODE
56
56
  end
57
57
 
58
- def report_progress(progress, total, show_parts=true)
58
+ def report_progress(progress, total, show_parts = true)
59
59
  percent = (progress.to_f / total.to_f) * 100
60
60
  line = "Progress: #{percent.to_i}%"
61
61
  line << " (#{progress} / #{total})" if show_parts
@@ -69,10 +69,10 @@ module Veewee
69
69
 
70
70
  protected
71
71
 
72
- def format_message(message, opts=nil)
72
+ def format_message(message, opts = nil)
73
73
  opts = { :prefix => true }.merge(opts || {})
74
- opts[:prefix]=false if env.resource=="veewee"
75
- opts[:prefix]=false if env.resource=="vagrant"
74
+ opts[:prefix] = false if env.resource == "veewee"
75
+ opts[:prefix] = false if env.resource == "vagrant"
76
76
  message = "[#{env.resource}] #{message}" if opts[:prefix]
77
77
  message
78
78
  end
@@ -4,5 +4,5 @@ end
4
4
 
5
5
  # Only set the version constant if it wasn't set before
6
6
  unless defined?(Veewee::VERSION)
7
- ::Veewee::VERSION="0.3.6"
7
+ ::Veewee::VERSION="0.3.7"
8
8
  end
@@ -10,5 +10,5 @@ enabled=1
10
10
  gpgcheck=0
11
11
  EOM
12
12
 
13
- yum -y install gcc make gcc-c++ kernel-devel-`uname -r` zlib-devel openssl-devel readline-devel sqlite-devel perl wget
13
+ yum -y install gcc make gcc-c++ kernel-devel-`uname -r` zlib-devel openssl-devel readline-devel sqlite-devel perl wget dkms
14
14
 
@@ -1,10 +1,19 @@
1
+ # sudo acpid and wget are not included in the minimal DVD ISO. To fix
2
+ # this, use the *bin* ISO or run "yum install ..." in %post
1
3
  Veewee::Session.declare({
2
4
  :cpu_count => '1',
3
5
  :memory_size=> '480',
4
6
  :disk_size => '10140',
5
7
  :disk_format => 'VDI',
6
- :hostiocache => 'off',
7
- :os_type_id => 'RedHat_64',
8
+ :hostiocache => 'on',
9
+ :os_type_id => 'RedHat',
10
+ :virtualbox => { :vm_options => [
11
+ 'hwvirtex' => 'off',
12
+ 'hwvirtexexcl' => 'off',
13
+ 'nestedpaging' => 'off',
14
+ 'natdnshostresolver1' => 'on'
15
+ ]
16
+ },
8
17
  :iso_file => "CentOS-6.3-i386-minimal.iso",
9
18
  :iso_src => "http://www.mirrorservice.org/sites/mirror.centos.org/6.3/isos/i386/CentOS-6.3-i386-minimal.iso",
10
19
  :iso_md5 => "081ce8ba3e9f761a35d47f1c345562c1",
@@ -17,8 +26,8 @@ Veewee::Session.declare({
17
26
  :kickstart_timeout => 10000,
18
27
  :kickstart_file => "ks.cfg",
19
28
  :ssh_login_timeout => "10000",
20
- :ssh_user => "veewee",
21
- :ssh_password => "veewee",
29
+ :ssh_user => "vagrant",
30
+ :ssh_password => "vagrant",
22
31
  :ssh_key => "",
23
32
  :ssh_host_port => "7222",
24
33
  :ssh_guest_port => "22",
@@ -21,22 +21,58 @@ auth --useshadow --enablemd5
21
21
  firstboot --disabled
22
22
  reboot
23
23
 
24
- %packages --ignoremissing
24
+ %packages --nobase --excludedocs --instLangs=en
25
25
  @core
26
26
  bzip2
27
- kernel-devel
28
- kernel-headers
29
- -ipw2100-firmware
30
- -ipw2200-firmware
31
- -ivtv-firmware
32
- %end
27
+ -aic94xx-firmware.noarch
28
+ -atmel-firmware.noarch
29
+ -b43-openfwwf.noarch
30
+ -bfa-firmware.noarch
31
+ -ipw2100-firmware.noarch
32
+ -ipw2200-firmware.noarch
33
+ -ivtv-firmware.noarch
34
+ -iwl1000-firmware.noarch
35
+ -iwl100-firmware.noarch
36
+ -iwl3945-firmware.noarch
37
+ -iwl4965-firmware.noarch
38
+ -iwl5000-firmware.noarch
39
+ -iwl5150-firmware.noarch
40
+ -iwl6000-firmware.noarch
41
+ -iwl6000g2a-firmware.noarch
42
+ -iwl6000g2b-firmware.noarch
43
+ -iwl6050-firmware.noarch
44
+ -libertas-usb8388-firmware.noarch
45
+ -ql2100-firmware.noarch
46
+ -ql2200-firmware.noarch
47
+ -ql23xx-firmware.noarch
48
+ -ql2400-firmware.noarch
49
+ -ql2500-firmware.noarch
50
+ -rt61pci-firmware.noarch
51
+ -rt73usb-firmware.noarch
52
+ -xorg-x11-drv-ati-firmware.noarch
53
+ -zd1211-firmware.noarch
33
54
 
34
55
  %post
35
- /usr/bin/yum -y install sudo
36
- /usr/sbin/groupadd veewee
37
- /usr/sbin/useradd veewee -g veewee -G wheel
38
- echo "veewee"|passwd --stdin veewee
39
- echo "veewee ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers.d/veewee
40
- chmod 0440 /etc/sudoers.d/veewee
41
- %end
56
+ date > /etc/vagrant_box_build_time
57
+
58
+ /usr/bin/yum -y install acpid sudo wget bind-utils
59
+
60
+ /usr/sbin/groupadd vagrant
61
+ /usr/sbin/useradd vagrant -g vagrant -G wheel
62
+ echo "vagrant"|passwd --stdin vagrant
63
+ echo "vagrant ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers.d/vagrant
64
+ chmod 0440 /etc/sudoers.d/vagrant
42
65
 
66
+ mkdir -p /home/vagrant/.ssh
67
+ wget --no-check-certificate 'https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub' -O /home/vagrant/.ssh/authorized_keys
68
+ chown -R vagrant /home/vagrant/.ssh
69
+ chgrp -R vagrant /home/vagrant/.ssh
70
+ chmod -R go= /home/vagrant/.ssh
71
+
72
+ # Make ssh faster by not waiting on DNS
73
+ echo "UseDNS no" >> /etc/ssh/sshd_config
74
+
75
+ # show boot-time messages
76
+ sed -i'' -e's/ rhgb quiet//' /boot/grub/grub.conf
77
+
78
+ %end
@@ -1,8 +1,8 @@
1
1
  # Installing the virtualbox guest additions
2
- VBOX_VERSION=$(cat /home/veewee/.vbox_version)
2
+ VBOX_VERSION=$(cat /home/vagrant/.vbox_version)
3
3
  cd /tmp
4
- mount -o loop /home/veewee/VBoxGuestAdditions_$VBOX_VERSION.iso /mnt
4
+ mount -o loop /home/vagrant/VBoxGuestAdditions_$VBOX_VERSION.iso /mnt
5
5
  sh /mnt/VBoxLinuxAdditions.run
6
6
  umount /mnt
7
- rm -rf /home/veewee/VBoxGuestAdditions_*.iso
7
+ rm -rf /home/vagrant/VBoxGuestAdditions_*.iso
8
8
 
@@ -10,5 +10,5 @@ enabled=1
10
10
  gpgcheck=0
11
11
  EOM
12
12
 
13
- yum -y install gcc make gcc-c++ kernel-devel-`uname -r` zlib-devel openssl-devel readline-devel sqlite-devel perl wget
13
+ yum -y install gcc make gcc-c++ kernel-devel-`uname -r` zlib-devel openssl-devel readline-devel sqlite-devel perl wget dkms
14
14
 
@@ -0,0 +1,14 @@
1
+ # Base install
2
+
3
+ sed -i "s/^.*requiretty/#Defaults requiretty/" /etc/sudoers
4
+
5
+ cat > /etc/yum.repos.d/epel.repo << EOM
6
+ [epel]
7
+ name=epel
8
+ baseurl=http://download.fedoraproject.org/pub/epel/6/\$basearch
9
+ enabled=1
10
+ gpgcheck=0
11
+ EOM
12
+
13
+ yum -y install gcc make gcc-c++ kernel-devel-`uname -r` zlib-devel openssl-devel readline-devel sqlite-devel perl wget dkms
14
+
@@ -0,0 +1,3 @@
1
+ # Install Chef
2
+ gem install --no-ri --no-rdoc chef
3
+
@@ -0,0 +1,5 @@
1
+ yum -y erase gtk2 libX11 hicolor-icon-theme avahi freetype bitstream-vera-fonts
2
+ yum -y clean all
3
+ rm -rf /etc/yum.repos.d/{puppetlabs,epel}.repo
4
+ rm -rf VBoxGuestAdditions_*.iso
5
+
@@ -0,0 +1,40 @@
1
+ Veewee::Session.declare({
2
+ :cpu_count => '1',
3
+ :memory_size=> '480',
4
+ :disk_size => '10140',
5
+ :disk_format => 'VDI',
6
+ :hostiocache => 'off',
7
+ :os_type_id => 'RedHat_64',
8
+ :iso_file => "CentOS-6.3-x86_64-netinstall.iso",
9
+ :iso_src => "http://www.mirrorservice.org/sites/mirror.centos.org/6.3/isos/x86_64/CentOS-6.3-x86_64-netinstall.iso",
10
+ :iso_md5 => "690138908de516b6e5d7d180d085c3f3",
11
+ :iso_download_timeout => 1000,
12
+ :boot_wait => "15",
13
+ :boot_cmd_sequence => [
14
+ '<Tab> text ks=http://%IP%:%PORT%/ks.cfg<Enter>'
15
+ ],
16
+ :kickstart_port => "7122",
17
+ :kickstart_timeout => 10000,
18
+ :kickstart_file => "ks.cfg",
19
+ :ssh_login_timeout => "10000",
20
+ :ssh_user => "veewee",
21
+ :ssh_password => "veewee",
22
+ :ssh_key => "",
23
+ :ssh_host_port => "7222",
24
+ :ssh_guest_port => "22",
25
+ :sudo_cmd => "echo '%p'|sudo -S sh '%f'",
26
+ :shutdown_cmd => "/sbin/halt -h -p",
27
+ :postinstall_files => [
28
+ "base.sh",
29
+ "ruby.sh",
30
+ "chef.sh",
31
+ "puppet.sh",
32
+ "vagrant.sh",
33
+ "virtualbox.sh",
34
+ #"kvm.sh",
35
+ #"vmfusion.sh",
36
+ "cleanup.sh",
37
+ "zerodisk.sh"
38
+ ],
39
+ :postinstall_timeout => 10000
40
+ })
@@ -0,0 +1,41 @@
1
+ install
2
+ url --url=http://www.mirrorservice.org/sites/mirror.centos.org/6.3/os/x86_64/
3
+ lang en_US.UTF-8
4
+ keyboard us
5
+ network --bootproto=dhcp
6
+ rootpw --iscrypted $1$damlkd,f$UC/u5pUts5QiU3ow.CSso/
7
+ firewall --enabled --service=ssh
8
+ authconfig --enableshadow --passalgo=sha512
9
+ selinux --disabled
10
+ timezone UTC
11
+ bootloader --location=mbr
12
+
13
+ text
14
+ skipx
15
+ zerombr
16
+
17
+ clearpart --all --initlabel
18
+ autopart
19
+
20
+ auth --useshadow --enablemd5
21
+ firstboot --disabled
22
+ reboot
23
+
24
+ %packages --ignoremissing
25
+ @core
26
+ bzip2
27
+ kernel-devel
28
+ kernel-headers
29
+ -ipw2100-firmware
30
+ -ipw2200-firmware
31
+ -ivtv-firmware
32
+ %end
33
+
34
+ %post
35
+ /usr/bin/yum -y install sudo
36
+ /usr/sbin/groupadd veewee
37
+ /usr/sbin/useradd veewee -g veewee -G wheel
38
+ echo "veewee"|passwd --stdin veewee
39
+ echo "veewee ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers.d/veewee
40
+ chmod 0440 /etc/sudoers.d/veewee
41
+ %end
@@ -0,0 +1,12 @@
1
+ # Install Puppet
2
+
3
+ cat > /etc/yum.repos.d/puppetlabs.repo << EOM
4
+ [puppetlabs]
5
+ name=puppetlabs
6
+ baseurl=http://yum.puppetlabs.com/el/6/products/\$basearch
7
+ enabled=1
8
+ gpgcheck=0
9
+ EOM
10
+
11
+ yum -y install puppet facter
12
+
@@ -0,0 +1,3 @@
1
+ # Install Ruby
2
+ yum -y install ruby ruby-devel rubygems
3
+
@@ -0,0 +1,18 @@
1
+ # Vagrant specific
2
+ date > /etc/vagrant_box_build_time
3
+
4
+ # Add vagrant user
5
+ /usr/sbin/groupadd vagrant
6
+ /usr/sbin/useradd vagrant -g vagrant -G wheel
7
+ echo "vagrant"|passwd --stdin vagrant
8
+ echo "vagrant ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers.d/vagrant
9
+ chmod 0440 /etc/sudoers.d/vagrant
10
+
11
+ # Installing vagrant keys
12
+ mkdir -pm 700 /home/vagrant/.ssh
13
+ wget --no-check-certificate 'https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub' -O /home/vagrant/.ssh/authorized_keys
14
+ chmod 0600 /home/vagrant/.ssh/authorized_keys
15
+ chown -R vagrant /home/vagrant/.ssh
16
+
17
+ # Customize the message of the day
18
+ echo 'Welcome to your Vagrant-built virtual machine.' > /etc/motd