veewee 0.1.16 → 0.1.17

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 (28) hide show
  1. data/Gemfile.lock +12 -3
  2. data/lib/veewee/session.rb +3 -3
  3. data/lib/veewee/ssh.rb +2 -2
  4. data/lib/veewee/version.rb +1 -1
  5. data/templates/Archlinux-latest/definition.rb +1 -1
  6. data/templates/CentOS-4.8-i386/definition.rb +1 -1
  7. data/templates/CentOS-5.5-i386-netboot/definition.rb +1 -1
  8. data/templates/CentOS-5.5-i386/definition.rb +1 -1
  9. data/templates/Debian-6.0-amd64-netboot/definition.rb +1 -3
  10. data/templates/Debian-6.0-i386-netboot/definition.rb +42 -0
  11. data/templates/Debian-6.0-i386-netboot/postinstall.sh +61 -0
  12. data/templates/Debian-6.0-i386-netboot/preseed.cfg +312 -0
  13. data/templates/Sysrescuecd-2.0.0-experimental/definition.rb +1 -1
  14. data/templates/freebsd-8.2-experimental/definition.rb +1 -1
  15. data/templates/freebsd-8.2-pcbsd-i386-netboot/definition.rb +34 -0
  16. data/templates/freebsd-8.2-pcbsd-i386-netboot/pcinstall.fbg.cfg +58 -0
  17. data/templates/{freebsd-8.2-i386-pcbsdinstaller → freebsd-8.2-pcbsd-i386-netboot}/postinstall.sh +0 -0
  18. data/templates/{freebsd-8.2-i386-pcbsdinstaller → freebsd-8.2-pcbsd-i386}/definition.rb +1 -1
  19. data/templates/{freebsd-8.2-i386-pcbsdinstaller → freebsd-8.2-pcbsd-i386}/pcinstall.fbg.cfg +2 -2
  20. data/templates/freebsd-8.2-pcbsd-i386/postinstall.sh +91 -0
  21. data/templates/ubuntu-10.04.1-server-amd64/definition.rb +1 -1
  22. data/templates/ubuntu-10.04.1-server-i386/definition.rb +1 -1
  23. data/templates/ubuntu-10.10-server-amd64-netboot/definition.rb +1 -1
  24. data/templates/ubuntu-10.10-server-amd64/definition.rb +1 -1
  25. data/templates/ubuntu-10.10-server-i386-netboot/definition.rb +1 -1
  26. data/templates/ubuntu-10.10-server-i386/definition.rb +1 -1
  27. data/veewee.gemspec +1 -1
  28. metadata +30 -8
data/Gemfile.lock CHANGED
@@ -1,12 +1,13 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- veewee (0.1.16)
4
+ veewee (0.1.17)
5
5
  cucumber (= 0.8.5)
6
6
  highline (~> 1.6.1)
7
7
  net-ssh (~> 2.1.0)
8
8
  popen4 (~> 0.1.2)
9
9
  progressbar
10
+ rspec (~> 2.5.0)
10
11
  thor (~> 0.14.6)
11
12
  vagrant (~> 0.7.0)
12
13
 
@@ -37,17 +38,25 @@ GEM
37
38
  mario (0.0.6)
38
39
  net-scp (1.0.4)
39
40
  net-ssh (>= 1.99.1)
40
- net-ssh (2.1.2)
41
+ net-ssh (2.1.4)
41
42
  open4 (1.0.1)
42
43
  popen4 (0.1.2)
43
44
  Platform (>= 0.4.0)
44
45
  open4 (>= 0.4.0)
45
46
  progressbar (0.9.0)
46
47
  rake (0.8.7)
48
+ rspec (2.5.0)
49
+ rspec-core (~> 2.5.0)
50
+ rspec-expectations (~> 2.5.0)
51
+ rspec-mocks (~> 2.5.0)
52
+ rspec-core (2.5.1)
53
+ rspec-expectations (2.5.0)
54
+ diff-lcs (~> 1.1.2)
55
+ rspec-mocks (2.5.0)
47
56
  term-ansicolor (1.0.5)
48
57
  thor (0.14.6)
49
58
  trollop (1.16.2)
50
- vagrant (0.7.2)
59
+ vagrant (0.7.3)
51
60
  archive-tar-minitar (= 0.5.2)
52
61
  erubis (~> 2.6.6)
53
62
  i18n (~> 0.5.0)
@@ -30,7 +30,7 @@ module Veewee
30
30
  def self.declare(options)
31
31
  defaults={
32
32
  :cpu_count => '1', :memory_size=> '256',
33
- :disk_size => '10140', :disk_format => 'VDI',:disk_size => '10240' ,
33
+ :disk_size => '10240', :disk_format => 'VDI', :hostiocache => 'off' ,
34
34
  :os_type_id => 'Ubuntu',
35
35
  :iso_file => "ubuntu-10.10-server-i386.iso", :iso_src => "", :iso_md5 => "", :iso_download_timeout => 1000,
36
36
  :boot_wait => "10", :boot_cmd_sequence => [ "boot"],
@@ -296,7 +296,7 @@ module Veewee
296
296
  Veewee::Ssh.when_ssh_login_works("localhost",ssh_options) do
297
297
  #Transfer version of Virtualbox to $HOME/.vbox_version
298
298
  versionfile=Tempfile.open("vbox.version")
299
- versionfile.puts "#{VirtualBox::Global.global.lib.virtualbox.version}"
299
+ versionfile.puts "#{VirtualBox::Global.global.lib.virtualbox.version.split('_')[0]}"
300
300
  versionfile.rewind
301
301
  begin
302
302
  Veewee::Ssh.transfer_file("localhost",versionfile.path,".vbox_version", ssh_options)
@@ -573,7 +573,7 @@ module Veewee
573
573
 
574
574
  def self.add_sata_controller(boxname)
575
575
  #unless => "${vboxcmd} showvminfo '${vname}' | grep 'SATA Controller' ";
576
- command ="#{@vboxcmd} storagectl '#{boxname}' --name 'SATA Controller' --add sata"
576
+ command ="#{@vboxcmd} storagectl '#{boxname}' --name 'SATA Controller' --add sata --hostiocache #{@definition[:hostiocache]}"
577
577
  Veewee::Shell.execute("#{command}")
578
578
  end
579
579
 
data/lib/veewee/ssh.rb CHANGED
@@ -110,7 +110,7 @@ module Veewee
110
110
  ch.on_data do |c, data|
111
111
  @stdout+=data
112
112
 
113
- puts data
113
+ print data
114
114
 
115
115
  end
116
116
 
@@ -118,7 +118,7 @@ module Veewee
118
118
  ch.on_extended_data do |c, type, data|
119
119
  @stderr+=data
120
120
 
121
- puts data
121
+ print data
122
122
 
123
123
  end
124
124
 
@@ -1,3 +1,3 @@
1
1
  module Veewee
2
- VERSION = "0.1.16"
2
+ VERSION = "0.1.17"
3
3
  end
@@ -1,6 +1,6 @@
1
1
  Veewee::Session.declare( {
2
2
  :cpu_count => '1', :memory_size=> '256',
3
- :disk_size => '10140', :disk_format => 'VDI',:disk_size => '10240' ,
3
+ :disk_size => '10140', :disk_format => 'VDI',:hostiocache => 'off',
4
4
  :os_type_id => 'Linux',
5
5
  :iso_file => "systemrescuecd-x86-2.0.0.iso",
6
6
  :iso_src => "http://downloads.sourceforge.net/project/systemrescuecd/sysresccd-x86/2.0.0/systemrescuecd-x86-2.0.0.iso?r=http%3A%2F%2Fwww.sysresccd.org%2FDownload&ts=1297107227&use_mirror=ignum",
@@ -1,6 +1,6 @@
1
1
  Veewee::Session.declare( {
2
2
  :cpu_count => '1', :memory_size=> '384',
3
- :disk_size => '10140', :disk_format => 'VDI',:disk_size => '10240' ,
3
+ :disk_size => '10140', :disk_format => 'VDI',:hostiocache => 'off',
4
4
  :os_type_id => 'RedHat',
5
5
  :iso_file => "CentOS-4.8-i386-bin-DVD.iso", :iso_src => "", :iso_md5 => "", :iso_download_timeout => 1000,
6
6
  :boot_wait => "10",:boot_cmd_sequence => [ 'linux text ks=http://%IP%:%PORT%/ks.cfg<Enter>' ],
@@ -1,6 +1,6 @@
1
1
  Veewee::Session.declare( {
2
2
  :cpu_count => '1', :memory_size=> '384',
3
- :disk_size => '10140', :disk_format => 'VDI',:disk_size => '10240' ,
3
+ :disk_size => '10140', :disk_format => 'VDI',:hostiocache => 'off',
4
4
  :os_type_id => 'RedHat',
5
5
  :iso_file => "CentOS-5.5-i386-netinstall.iso",
6
6
  :iso_src => "http://mirror.bytemark.co.uk/centos/5.5/isos/i386/CentOS-5.5-i386-netinstall.iso",
@@ -1,6 +1,6 @@
1
1
  Veewee::Session.declare( {
2
2
  :cpu_count => '1', :memory_size=> '384',
3
- :disk_size => '10140', :disk_format => 'VDI',:disk_size => '10240' ,
3
+ :disk_size => '10140', :disk_format => 'VDI',:hostiocache => 'off',
4
4
  :os_type_id => 'RedHat',
5
5
  :iso_file => "CentOS-5.5-i386-bin-DVD.iso", :iso_src => "", :iso_md5 => "75c92246479df172de41b14c9b966344", :iso_download_timeout => 1000,
6
6
  :boot_wait => "10",:boot_cmd_sequence => [
@@ -1,9 +1,7 @@
1
1
  Veewee::Session.declare( {
2
2
  :cpu_count => '1',
3
3
  :memory_size=> '256',
4
- :disk_size => '10140',
5
- :disk_format => 'VDI',
6
- :disk_size => '10240' ,
4
+ :disk_size => '10140', :disk_format => 'VDI',:hostiocache => 'off',
7
5
  :os_type_id => 'Debian_64',
8
6
  :iso_file => "debian-6.0.0-amd64-netinst.iso",
9
7
  :iso_src => "http://ftp.acc.umu.se/debian-cd/current/amd64/iso-cd/debian-6.0.0-amd64-netinst.iso",
@@ -0,0 +1,42 @@
1
+ #Thanks to Fletcher Nichol - https://github.com/fnichol
2
+
3
+ Veewee::Session.declare( {
4
+ :cpu_count => '1',
5
+ :memory_size=> '256',
6
+ :disk_size => '10140', :disk_format => 'VDI',:hostiocache => 'off',
7
+ :os_type_id => 'Debian',
8
+ :iso_file => "debian-6.0.0-i386-netinst.iso",
9
+ :iso_src => "http://ftp.acc.umu.se/debian-cd/current/i386/iso-cd/debian-6.0.0-i386-netinst.iso",
10
+ :iso_md5 => "2840eea06e9cdd2e125f32cefa25fa1d",
11
+ :iso_download_timeout => "1000",
12
+ :boot_wait => "10",:boot_cmd_sequence => [
13
+ '<Esc>',
14
+ 'install ',
15
+ 'preseed/url=http://%IP%:%PORT%/preseed.cfg ',
16
+ 'debian-installer=en_US ',
17
+ 'auto ',
18
+ 'locale=en_US ',
19
+ 'kbd-chooser/method=us ',
20
+ 'netcfg/get_hostname=%NAME% ',
21
+ 'netcfg/get_domain=vagrantup.com ',
22
+ 'fb=false ',
23
+ 'debconf/frontend=noninteractive ',
24
+ 'console-setup/ask_detect=false ',
25
+ 'console-keymaps-at/keymap=us ',
26
+ '<Enter>'
27
+ ],
28
+ :kickstart_port => "7122",
29
+ :kickstart_timeout => "10000",
30
+ :kickstart_file => "preseed.cfg",
31
+ :ssh_login_timeout => "10000",
32
+ :ssh_user => "vagrant",
33
+ :ssh_password => "vagrant",
34
+ :ssh_key => "",
35
+ :ssh_host_port => "7222",
36
+ :ssh_guest_port => "22",
37
+ :sudo_cmd => "echo '%p'|sudo -S sh '%f'",
38
+ :shutdown_cmd => "halt -p",
39
+ :postinstall_files => [ "postinstall.sh" ],
40
+ :postinstall_timeout => "10000"
41
+ }
42
+ )
@@ -0,0 +1,61 @@
1
+ #http://adrianbravo.tumblr.com/post/644860401
2
+
3
+ # Update the box
4
+ apt-get -y update
5
+ apt-get -y install linux-headers-$(uname -r) build-essential
6
+ apt-get -y install zlib1g-dev libssl-dev libreadline5-dev
7
+ apt-get -y install curl unzip
8
+ apt-get clean
9
+
10
+ # Set up sudo
11
+ cp /etc/sudoers /etc/sudoers.orig
12
+ sed -i -e 's/%sudo ALL=(ALL) ALL/%sudo ALL=NOPASSWD:ALL/g' /etc/sudoers
13
+
14
+ # Install Ruby from packages
15
+ apt-get -y install ruby ruby-dev libopenssl-ruby1.8 irb ri rdoc
16
+
17
+ # Install Rubygems from source
18
+ rg_ver=1.6.2
19
+ curl -o /tmp/rubygems-${rg_ver}.zip \
20
+ "http://production.cf.rubygems.org/rubygems/rubygems-${rg_ver}.zip"
21
+ (cd /tmp && unzip rubygems-${rg_ver}.zip && \
22
+ cd rubygems-${rg_ver} && ruby setup.rb --no-format-executable)
23
+ rm -rf /tmp/rubygems-${rg_ver} /tmp/rubygems-${rg_ver}.zip
24
+
25
+ # Install Chef & Puppet
26
+ gem install chef --no-ri --no-rdoc
27
+ gem install puppet --no-ri --no-rdoc
28
+
29
+ # Install vagrant keys
30
+ mkdir -p /home/vagrant/.ssh
31
+ chmod 700 /home/vagrant/.ssh
32
+ cd /home/vagrant/.ssh
33
+ curl -o /home/vagrant/.ssh/authorized_keys \
34
+ 'http://github.com/mitchellh/vagrant/raw/master/keys/vagrant.pub'
35
+ chmod 0600 /home/vagrant/.ssh/authorized_keys
36
+ chown -R vagrant:vagrant /home/vagrant/.ssh
37
+
38
+ # Tweak sshd to prevent DNS resolution (speed up logins)
39
+ echo 'UseDNS no' >> /etc/ssh/sshd_config
40
+
41
+ # Customize the message of the day
42
+ echo 'Welcome to your Vagrant-built virtual machine.' > /var/run/motd
43
+
44
+ # The netboot installs the VirtualBox support (old) so we have to remove it
45
+ apt-get -y remove virtualbox-ose-guest-dkms
46
+ apt-get -y remove virtualbox-ose-guest-utils
47
+
48
+ # Install the VirtualBox guest additions
49
+ VBOX_VERSION=$(cat /home/vagrant/.vbox_version)
50
+ curl -Lo /tmp/VBoxGuestAdditions_$VBOX_VERSION.iso \
51
+ "http://download.virtualbox.org/virtualbox/$VBOX_VERSION/VBoxGuestAdditions_$VBOX_VERSION.iso"
52
+ mount -o loop /tmp/VBoxGuestAdditions_$VBOX_VERSION.iso /mnt
53
+ yes|sh /mnt/VBoxLinuxAdditions.run
54
+ umount /mnt
55
+
56
+ # Clean up
57
+ apt-get -y remove linux-headers-$(uname -r) build-essential
58
+ apt-get -y autoremove
59
+
60
+ rm /tmp/VBoxGuestAdditions_$VBOX_VERSION.iso
61
+ exit
@@ -0,0 +1,312 @@
1
+ #### Contents of the preconfiguration file (for squeeze)
2
+ ### Localization
3
+ # Locale sets language and country.
4
+ d-i debian-installer/locale string en_US
5
+
6
+ # Keyboard selection.
7
+ #d-i console-tools/archs select at
8
+ d-i console-keymaps-at/keymap select us
9
+ # Example for a different keyboard architecture
10
+ #d-i console-keymaps-usb/keymap select mac-usb-us
11
+
12
+ ### Network configuration
13
+ # netcfg will choose an interface that has link if possible. This makes it
14
+ # skip displaying a list if there is more than one interface.
15
+ d-i netcfg/choose_interface select auto
16
+
17
+ # To pick a particular interface instead:
18
+ #d-i netcfg/choose_interface select eth1
19
+
20
+ # If you have a slow dhcp server and the installer times out waiting for
21
+ # it, this might be useful.
22
+ #d-i netcfg/dhcp_timeout string 60
23
+
24
+ # If you prefer to configure the network manually, uncomment this line and
25
+ # the static network configuration below.
26
+ #d-i netcfg/disable_dhcp boolean true
27
+
28
+ # If you want the preconfiguration file to work on systems both with and
29
+ # without a dhcp server, uncomment these lines and the static network
30
+ # configuration below.
31
+ #d-i netcfg/dhcp_failed note
32
+ #d-i netcfg/dhcp_options select Configure network manually
33
+
34
+ # Static network configuration.
35
+ #d-i netcfg/get_nameservers string 192.168.1.1
36
+ #d-i netcfg/get_ipaddress string 192.168.1.42
37
+ #d-i netcfg/get_netmask string 255.255.255.0
38
+ #d-i netcfg/get_gateway string 192.168.1.1
39
+ #d-i netcfg/confirm_static boolean true
40
+
41
+ # Any hostname and domain names assigned from dhcp take precedence over
42
+ # values set here. However, setting the values still prevents the questions
43
+ # from being shown, even if values come from dhcp.
44
+ #d-i netcfg/get_hostname string vagrant
45
+ d-i netcfg/get_domain string vagrantup.com
46
+
47
+ # Disable that annoying WEP key dialog.
48
+ d-i netcfg/wireless_wep string
49
+ # The wacky dhcp hostname that some ISPs use as a password of sorts.
50
+ #d-i netcfg/dhcp_hostname string radish
51
+
52
+ # If non-free firmware is needed for the network or other hardware, you can
53
+ # configure the installer to always try to load it, without prompting. Or
54
+ # change to false to disable asking.
55
+ #d-i hw-detect/load_firmware boolean true
56
+
57
+ ### Network console
58
+ # Use the following settings if you wish to make use of the network-console
59
+ # component for remote installation over SSH. This only makes sense if you
60
+ # intend to perform the remainder of the installation manually.
61
+ #d-i anna/choose_modules string network-console
62
+ #d-i network-console/password password r00tme
63
+ #d-i network-console/password-again password r00tme
64
+
65
+ ### Mirror settings
66
+ # If you select ftp, the mirror/country string does not need to be set.
67
+ #d-i mirror/protocol string ftp
68
+ d-i mirror/country string manual
69
+ d-i mirror/http/hostname string http.us.debian.org
70
+ d-i mirror/http/directory string /debian
71
+ d-i mirror/http/proxy string
72
+
73
+ # Suite to install.
74
+ #d-i mirror/suite string testing
75
+ # Suite to use for loading installer components (optional).
76
+ #d-i mirror/udeb/suite string testing
77
+
78
+ ### Clock and time zone setup
79
+ # Controls whether or not the hardware clock is set to UTC.
80
+ d-i clock-setup/utc boolean true
81
+
82
+ # You may set this to any valid setting for $TZ; see the contents of
83
+ # /usr/share/zoneinfo/ for valid values.
84
+ d-i time/zone string UTC
85
+
86
+ # Controls whether to use NTP to set the clock during the install
87
+ d-i clock-setup/ntp boolean true
88
+ # NTP server to use. The default is almost always fine here.
89
+ #d-i clock-setup/ntp-server string ntp.example.com
90
+
91
+ ### Partitioning
92
+ # If the system has free space you can choose to only partition that space.
93
+ #d-i partman-auto/init_automatically_partition select biggest_free
94
+
95
+ # Alternatively, you can specify a disk to partition. The device name must
96
+ # be given in traditional non-devfs format.
97
+ # Note: A disk must be specified, unless the system has only one disk.
98
+ # For example, to use the first SCSI/SATA hard disk:
99
+ d-i partman-auto/disk string /dev/sda
100
+ # In addition, you'll need to specify the method to use.
101
+ # The presently available methods are: "regular", "lvm" and "crypto"
102
+ d-i partman-auto/method string lvm
103
+
104
+ # If one of the disks that are going to be automatically partitioned
105
+ # contains an old LVM configuration, the user will normally receive a
106
+ # warning. This can be preseeded away...
107
+ d-i partman-lvm/device_remove_lvm boolean true
108
+ # The same applies to pre-existing software RAID array:
109
+ d-i partman-md/device_remove_md boolean true
110
+
111
+ # And the same goes for the confirmation to write the lvm partitions.
112
+ d-i partman-lvm/confirm boolean true
113
+ d-i partman-lvm/confirm_nooverwrite boolean true
114
+
115
+
116
+ d-i partman/choose_partition select finish
117
+ d-i partman-auto-lvm/guided_size string max
118
+
119
+ # You can choose one of the three predefined partitioning recipes:
120
+ # - atomic: all files in one partition
121
+ # - home: separate /home partition
122
+ # - multi: separate /home, /usr, /var, and /tmp partitions
123
+ d-i partman-auto/choose_recipe select atomic
124
+ d-i partman/default_filesystem string ext3
125
+
126
+ # Or provide a recipe of your own...
127
+ # The recipe format is documented in the file devel/partman-auto-recipe.txt.
128
+ # If you have a way to get a recipe file into the d-i environment, you can
129
+ # just point at it.
130
+ #d-i partman-auto/expert_recipe_file string /hd-media/recipe
131
+
132
+ # If not, you can put an entire recipe into the preconfiguration file in one
133
+ # (logical) line. This example creates a small /boot partition, suitable
134
+ # swap, and uses the rest of the space for the root partition:
135
+ #d-i partman-auto/expert_recipe string \
136
+ # boot-root :: \
137
+ # 40 50 100 ext3 \
138
+ # $primary{ } $bootable{ } \
139
+ # method{ format } format{ } \
140
+ # use_filesystem{ } filesystem{ ext3 } \
141
+ # mountpoint{ /boot } \
142
+ # . \
143
+ # 500 10000 1000000000 ext3 \
144
+ # method{ format } format{ } \
145
+ # use_filesystem{ } filesystem{ ext3 } \
146
+ # mountpoint{ / } \
147
+ # . \
148
+ # 64 512 300% linux-swap \
149
+ # method{ swap } format{ } \
150
+ # .
151
+
152
+ #The preseed line that "selects finish" needs to be in a certain order in your preseed, the example-preseed does not follow this.
153
+ #http://ubuntuforums.org/archive/index.php/t-1504045.html
154
+
155
+ # This makes partman automatically partition without confirmation, provided
156
+ # that you told it what to do using one of the methods above.
157
+ d-i partman/confirm_write_new_label boolean true
158
+ d-i partman/confirm boolean true
159
+ d-i partman/confirm_nooverwrite boolean true
160
+
161
+
162
+ ### Base system installation
163
+ # Select the initramfs generator used to generate the initrd for 2.6 kernels.
164
+ #d-i base-installer/kernel/linux/initramfs-generators string yaird
165
+
166
+ # The kernel image (meta) package to be installed; "none" can be used if no
167
+ # kernel is to be installed.
168
+ #d-i base-installer/kernel/image string linux-image-2.6-486
169
+
170
+ ### Account setup
171
+ # Skip creation of a root account (normal user account will be able to
172
+ # use sudo).
173
+ d-i passwd/root-login boolean false
174
+ # Alternatively, to skip creation of a normal user account.
175
+ #d-i passwd/make-user boolean false
176
+
177
+ # Root password, either in clear text
178
+ d-i passwd/root-password password vagrant
179
+ d-i passwd/root-password-again password vagrant
180
+ # or encrypted using an MD5 hash.
181
+ #d-i passwd/root-password-crypted password [MD5 hash]
182
+
183
+ # To create a normal user account.
184
+ d-i passwd/user-fullname string Vagrant User
185
+ d-i passwd/username string vagrant
186
+ # Normal user's password, either in clear text
187
+ d-i passwd/user-password password vagrant
188
+ d-i passwd/user-password-again password vagrant
189
+ # or encrypted using an MD5 hash.
190
+ #d-i passwd/user-password-crypted password [MD5 hash]
191
+ # Create the first user with the specified UID instead of the default.
192
+ #d-i passwd/user-uid string 1010
193
+ d-i user-setup/encrypt-home boolean false
194
+ d-i user-setup/allow-password-weak boolean true
195
+
196
+ # The user account will be added to some standard initial groups. To
197
+ # override that, use this.
198
+ d-i passwd/user-default-groups string audio cdrom video admin
199
+
200
+ ### Apt setup
201
+ # You can choose to install non-free and contrib software.
202
+ #d-i apt-setup/non-free boolean true
203
+ #d-i apt-setup/contrib boolean true
204
+ # Uncomment this if you don't want to use a network mirror.
205
+ #d-i apt-setup/use_mirror boolean false
206
+ # Select which update services to use; define the mirrors to be used.
207
+ # Values shown below are the normal defaults.
208
+ #d-i apt-setup/services-select multiselect security, volatile
209
+ #d-i apt-setup/security_host string security.debian.org
210
+ #d-i apt-setup/volatile_host string volatile.debian.org
211
+
212
+
213
+ # By default the installer requires that repositories be authenticated
214
+ # using a known gpg key. This setting can be used to disable that
215
+ # authentication. Warning: Insecure, not recommended.
216
+ #d-i debian-installer/allow_unauthenticated string true
217
+
218
+ ### Package selection
219
+ tasksel tasksel/first multiselect standard
220
+ # If the desktop task is selected, install the kde and xfce desktops
221
+ # instead of the default gnome desktop.
222
+ #tasksel tasksel/desktop multiselect kde, xfce
223
+
224
+ # Individual additional packages to install
225
+ d-i pkgsel/include string openssh-server ntp acpid sudo bzip2
226
+
227
+ # Whether to upgrade packages after debootstrap.
228
+ # Allowed values: none, safe-upgrade, full-upgrade
229
+ d-i pkgsel/upgrade select none
230
+
231
+ # Some versions of the installer can report back on what software you have
232
+ # installed, and what software you use. The default is not to report back,
233
+ # but sending reports helps the project determine what software is most
234
+ # popular and include it on CDs.
235
+ popularity-contest popularity-contest/participate boolean false
236
+
237
+ ### Boot loader installation
238
+ # Grub is the default boot loader (for x86). If you want lilo installed
239
+ # instead, uncomment this:
240
+ #d-i grub-installer/skip boolean true
241
+ # To also skip installing lilo, and install no bootloader, uncomment this
242
+ # too:
243
+ #d-i lilo-installer/skip boolean true
244
+
245
+ # This is fairly safe to set, it makes grub install automatically to the MBR
246
+ # if no other operating system is detected on the machine.
247
+ d-i grub-installer/only_debian boolean true
248
+
249
+ # This one makes grub-installer install to the MBR if it also finds some other
250
+ # OS, which is less safe as it might not be able to boot that other OS.
251
+ d-i grub-installer/with_other_os boolean true
252
+
253
+ # Alternatively, if you want to install to a location other than the mbr,
254
+ # uncomment and edit these lines:
255
+ #d-i grub-installer/only_debian boolean false
256
+ #d-i grub-installer/with_other_os boolean false
257
+ #d-i grub-installer/bootdev string (hd0,0)
258
+ # To install grub to multiple disks:
259
+ #d-i grub-installer/bootdev string (hd0,0) (hd1,0) (hd2,0)
260
+
261
+ # Optional password for grub, either in clear text
262
+ #d-i grub-installer/password password r00tme
263
+ #d-i grub-installer/password-again password r00tme
264
+ # or encrypted using an MD5 hash, see grub-md5-crypt(8).
265
+ #d-i grub-installer/password-crypted password [MD5 hash]
266
+
267
+ ### Finishing up the installation
268
+ # During installations from serial console, the regular virtual consoles
269
+ # (VT1-VT6) are normally disabled in /etc/inittab. Uncomment the next
270
+ # line to prevent this.
271
+ #d-i finish-install/keep-consoles boolean true
272
+
273
+ # Avoid that last message about the install being complete.
274
+ d-i finish-install/reboot_in_progress note
275
+
276
+ # This will prevent the installer from ejecting the CD during the reboot,
277
+ # which is useful in some situations.
278
+ #d-i cdrom-detect/eject boolean false
279
+
280
+ # This is how to make the installer shutdown when finished, but not
281
+ # reboot into the installed system.
282
+ #d-i debian-installer/exit/halt boolean true
283
+ # This will power off the machine instead of just halting it.
284
+ #d-i debian-installer/exit/poweroff boolean true
285
+
286
+ ### Preseeding other packages
287
+ # Depending on what software you choose to install, or if things go wrong
288
+ # during the installation process, it's possible that other questions may
289
+ # be asked. You can preseed those too, of course. To get a list of every
290
+ # possible question that could be asked during an install, do an
291
+ # installation, and then run these commands:
292
+ # debconf-get-selections --installer > file
293
+ # debconf-get-selections >> file
294
+
295
+
296
+ #### Advanced options
297
+ ### Running custom commands during the installation
298
+ # d-i preseeding is inherently not secure. Nothing in the installer checks
299
+ # for attempts at buffer overflows or other exploits of the values of a
300
+ # preconfiguration file like this one. Only use preconfiguration files from
301
+ # trusted locations! To drive that home, and because it's generally useful,
302
+ # here's a way to run any shell command you'd like inside the installer,
303
+ # automatically.
304
+
305
+ # This first command is run as early as possible, just after
306
+ # preseeding is read.
307
+ #d-i preseed/early_command string anna-install some-udeb
308
+
309
+ # This command is run just before the install finishes, but when there is
310
+ # still a usable /target directory. You can chroot to /target and use it
311
+ # directly, or use the apt-install and in-target commands to easily install
312
+ # packages and run commands in the target system.
@@ -1,6 +1,6 @@
1
1
  Veewee::Session.declare( {
2
2
  :cpu_count => '1', :memory_size=> '256',
3
- :disk_size => '10140', :disk_format => 'VDI',:disk_size => '10240' ,
3
+ :disk_size => '10140', :disk_format => 'VDI',:hostiocache => 'off',
4
4
  :os_type_id => 'Linux',
5
5
  :iso_file => "systemrescuecd-x86-2.0.0.iso",
6
6
  :iso_src => "http://downloads.sourceforge.net/project/systemrescuecd/sysresccd-x86/2.0.0/systemrescuecd-x86-2.0.0.iso",
@@ -1,6 +1,6 @@
1
1
  Veewee::Session.declare( {
2
2
  :cpu_count => '1', :memory_size=> '256',
3
- :disk_size => '10140', :disk_format => 'VDI',:disk_size => '10240' ,
3
+ :disk_size => '10140', :disk_format => 'VDI',:hostiocache => 'off',
4
4
  :os_type_id => 'FreeBSD_64',
5
5
  :iso_file => "mfsbsd-8.2-amd64.iso",
6
6
  :iso_src => "http://mfsbsd.vx.sk/iso/mfsbsd-8.2-amd64.iso",
@@ -0,0 +1,34 @@
1
+ # Many thanks to @draco2002
2
+ # http://dracosplace.com/veewee_and_freebsd
3
+
4
+ # :iso_src => "ftp://mirrors.isc.org/pub/pcbsd/8.2/i386/PCBSD8.2-x86-bootonly.iso",
5
+ # :iso_file => "PCBSD8.2-x86-bootonly.iso",
6
+
7
+ #Based on https://gist.github.com/911058
8
+
9
+ Veewee::Session.declare( {
10
+ :cpu_count => '1', :memory_size=> '768',
11
+ :disk_size => '10140', :disk_format => 'VDI',:hostiocache => 'off',
12
+ :os_type_id => 'FreeBSD',
13
+ :iso_file => "PCBSD8.2-x86-bootonly.iso",
14
+ :iso_src => "http://mirrors.isc.org/pub/pcbsd/8.2/i386/PCBSD8.2-x86-bootonly.iso",
15
+ :iso_md5 => "548646b9d1042a162f769bc280149417",
16
+ :iso_download_timeout => "1000",
17
+ :boot_wait => "70",:boot_cmd_sequence => [
18
+ '<KillX>',
19
+ '<Enter>',
20
+ 'dhclient em0<Enter>',
21
+ 'sleep 15;echo "Lets Get the File";fetch "http://%IP%:%PORT%/pcinstall.fbg.cfg";sleep 2;',
22
+ 'echo \'echo sshd_enable=\"YES\" >> $FSMNT/etc/rc.conf\' > /root/activate-ssh.sh ; cat /root/activate-ssh.sh<Enter>',
23
+ 'chmod +x /root/activate-ssh.sh<Enter>',
24
+ 'echo "Hope i got the file";/usr/PCBSD/pc-sysinstall/pc-sysinstall -c /root/pcinstall.fbg.cfg<Enter>',
25
+ 'reboot<Enter>'
26
+ ],
27
+ :kickstart_port => "7122", :kickstart_timeout => "10000",:kickstart_file => "pcinstall.fbg.cfg",
28
+ :ssh_login_timeout => "10000",:ssh_user => "vagrant", :ssh_password => "vagrant",:ssh_key => "",
29
+ :ssh_host_port => "7222", :ssh_guest_port => "22",
30
+ :sudo_cmd => "cat '%f'|su -",
31
+ :shutdown_cmd => "shutdown -p now",
32
+ :postinstall_files => [ "postinstall.sh"],:postinstall_timeout => "10000"
33
+ }
34
+ )
@@ -0,0 +1,58 @@
1
+ installInteractive=no
2
+ installMode=fresh
3
+ installType=FreeBSD
4
+ packageType=tar
5
+ hostname=freebsd
6
+ #installMedium=dvd
7
+ ftpPath=ftp://ftp.pcbsd.org/pub/mirror/8.2/i386/netinstall/
8
+ installMedium=ftp
9
+ netSaveDev=AUTO-DHCP
10
+
11
+ # Timezone
12
+ timeZone=America/New_York
13
+ enableNTP=yes
14
+
15
+ # Keyboard Layout Options
16
+ localizeKeyModel=pc104
17
+ localizeKeyLayout=us U.S.
18
+
19
+ # Disk Setup for ada0
20
+ disk0=ada0
21
+ partition=ALL
22
+ bootManager=none
23
+ partscheme=MBR
24
+ commitDiskPart
25
+
26
+ # Setup the disk label
27
+ # All sizes are expressed in MB
28
+ disk0-part=UFS+S 1024 /
29
+ disk0-part=SWAP 1534 none
30
+ disk0-part=UFS+S 2048 /var
31
+ disk0-part=UFS+S 5529 /usr
32
+ commitDiskLabel
33
+
34
+ # List our components to install
35
+ # Src is only needed for the virtualbox extensions
36
+ # installComponents=ports,src
37
+ installComponents=ports
38
+
39
+ # Set the root pass
40
+ rootPass=vagrant
41
+
42
+ userName=vagrant
43
+ userComment=vagrant user
44
+ userPass=vagrant
45
+ userShell=/bin/csh
46
+ userHome=/home/vagrant
47
+ # Wheel group makes user sudo able
48
+ userGroups=wheel,operator
49
+ commitUser
50
+
51
+ runExtCommand=/root/activate-ssh.sh
52
+
53
+ # We temporary disable password checks , we promise to make up for it later
54
+ runCommand=sed -i -e 's@auth.*include.*system@@' /etc/pam.d/su
55
+
56
+ # making the clock run correctly
57
+ # http://forums.virtualbox.org/viewtopic.php?f=11&t=12210&start=0
58
+ # runCommand=echo 'kern.hz=100' > /boot/loader.conf
@@ -6,7 +6,7 @@
6
6
 
7
7
  Veewee::Session.declare( {
8
8
  :cpu_count => '1', :memory_size=> '768',
9
- :disk_size => '10140', :disk_format => 'VDI',:disk_size => '10240' ,
9
+ :disk_size => '10140', :disk_format => 'VDI',:hostiocache => 'off',
10
10
  :os_type_id => 'FreeBSD',
11
11
  :iso_file => "PCBSD8.2-x86-DVD.iso",
12
12
  :iso_src => "ftp://mirrors.isc.org/pub/pcbsd/8.2/i386/PCBSD8.2-x86-DVD.iso",
@@ -27,7 +27,7 @@ commitDiskPart
27
27
  disk0-part=UFS+S 1024 /
28
28
  disk0-part=SWAP 1534 none
29
29
  disk0-part=UFS+S 2048 /var
30
- disk0-part=UFS+S 5629 /usr
30
+ disk0-part=UFS+S 5529 /usr
31
31
  commitDiskLabel
32
32
 
33
33
  # List our components to install
@@ -54,4 +54,4 @@ runCommand=sed -i -e 's@auth.*include.*system@@' /etc/pam.d/su
54
54
 
55
55
  # making the clock run correctly
56
56
  # http://forums.virtualbox.org/viewtopic.php?f=11&t=12210&start=0
57
- runCommand=echo 'kern.hz=100' > /boot/loader.conf
57
+ # runCommand=echo 'kern.hz=100' > /boot/loader.conf
@@ -0,0 +1,91 @@
1
+ # Get the latest portstree (needed for virtualbox to be on 4.x)
2
+ portsnap fetch update
3
+
4
+ #First install sudo
5
+ cd /usr/ports/security/sudo
6
+ make install -DBATCH
7
+
8
+ #We prefer bash to be there
9
+ cd /usr/ports/shells/bash
10
+ make install -DBATCH
11
+
12
+
13
+ #Off to rubygems to get first ruby running
14
+ cd /usr/ports/devel/ruby-gems
15
+ make install -DBATCH
16
+
17
+ #Gem chef - does install chef 9.12 (latest in ports?)
18
+ cd /usr/ports/sysutils/rubygem-chef
19
+ make install -DBATCH
20
+
21
+ #Installing chef & Puppet
22
+ /usr/local/bin/gem update chef --no-ri --no-rdoc
23
+ /usr/local/bin/gem install puppet --no-ri --no-rdoc
24
+
25
+ #Get wget
26
+ cd /usr/ports/ftp/wget
27
+ make install -DBATCH
28
+
29
+ #Installing vagrant keys
30
+ mkdir /home/vagrant/.ssh
31
+ chmod 700 /home/vagrant/.ssh
32
+ cd /home/vagrant/.ssh
33
+ /usr/local/bin/wget --no-check-certificate 'http://github.com/mitchellh/vagrant/raw/master/keys/vagrant.pub' -O authorized_keys
34
+ chown -R vagrant /home/vagrant/.ssh
35
+
36
+ # Cleaning portstree to save space
37
+ # http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/ports-using.html
38
+ cd /usr/ports/ports-mgmt/portupgrade
39
+ make install -DBATCH clean
40
+
41
+ /usr/local/sbin/portsclean -C
42
+
43
+ # As sharedfolders are not in defaults ports tree
44
+ # We will use vagrant via NFS
45
+ # Enable NFS
46
+ echo 'rpcbind_enable="YES"' >> /etc/rc.conf
47
+ echo 'nfs_server_enable="YES"' >> /etc/rc.conf
48
+ echo 'mountd_flags="-r"' >> /etc/rc.conf
49
+
50
+ # Enable passwordless sudo
51
+ echo "vagrant ALL=(ALL) NOPASSWD: ALL" >> /usr/local/etc/sudoers
52
+ # Restore correct su permissions
53
+ # I'll leave that up to the reader :)
54
+
55
+ echo "=============================================================================="
56
+ echo "NOTE: FreeBSD - Vagrant"
57
+ echo "When using this basebox you need to do some special stuff in your Vagrantfile"
58
+ echo "1) Include the correct system"
59
+ echo " require 'vagrant/systems/freebsd' "
60
+ echo "2) Add after your config.vm.box = ..."
61
+ echo " config.vm.system = :freebsd"
62
+ echo "3) Enable HostOnly network"
63
+ echo " config.vm.network ...."
64
+ echo "4) Use nfs instead of shared folders"
65
+ echo " :nfs => true"
66
+ echo "============================================================================="
67
+
68
+
69
+
70
+ exit
71
+
72
+ # The iso from virtualbox will only install windows/solaris or linux, no BSD
73
+ # Research is on it's way to have 4.x in the main portstree
74
+ # http://www.listware.net/201102/freebsd-ports/65201-call-for-testers-virtualbox-404.html
75
+ # Virtualbox additions - http://wiki.freebsd.org/VirtualBox
76
+ # Currently this will only work for 4.0.4
77
+ cd /tmp
78
+ wget http://home.bluelife.at/ports/virtualbox-cft-20110218.tar.gz
79
+ cd /usr/ports
80
+ tar -xzvf /tmp/virtualbox-cft-20110218.tar.gz
81
+
82
+ # This requires libtool >= 2.4
83
+ cd /usr/ports/devel/libtool
84
+ make clean
85
+ make install -DBATCH
86
+
87
+ cd /usr/ports/emulators/virtualbox-ose-additions
88
+ make install -DBATCH
89
+
90
+ echo 'vboxguest_enable="YES"' >> /etc/rc.conf
91
+ echo 'vboxservice_enable="YES"' >> /etc/rc.conf
@@ -1,6 +1,6 @@
1
1
  Veewee::Session.declare( {
2
2
  :cpu_count => '1', :memory_size=> '384',
3
- :disk_size => '10140', :disk_format => 'VDI',:disk_size => '10240' ,
3
+ :disk_size => '10140', :disk_format => 'VDI',:hostiocache => 'off',
4
4
  :os_type_id => 'Ubuntu_64',
5
5
  :iso_file => "ubuntu-10.04.1-server-amd64.iso",
6
6
  :iso_src => "http://releases.ubuntu.com/10.04.1/ubuntu-10.04.1-server-amd64.iso",
@@ -1,6 +1,6 @@
1
1
  Veewee::Session.declare( {
2
2
  :cpu_count => '1', :memory_size=> '384',
3
- :disk_size => '10140', :disk_format => 'VDI',:disk_size => '10240' ,
3
+ :disk_size => '10140', :disk_format => 'VDI',:hostiocache => 'off',
4
4
  :os_type_id => 'Ubuntu',
5
5
  :iso_file => "ubuntu-10.04.1-server-i386.iso",
6
6
  :iso_src => "http://releases.ubuntu.com/10.04.1/ubuntu-10.04.1-server-i386.iso",
@@ -1,6 +1,6 @@
1
1
  Veewee::Session.declare( {
2
2
  :cpu_count => '1', :memory_size=> '256',
3
- :disk_size => '10140', :disk_format => 'VDI',:disk_size => '10240' ,
3
+ :disk_size => '10140', :disk_format => 'VDI',:hostiocache => 'off',
4
4
  :os_type_id => 'Ubuntu_64',
5
5
  :iso_file => "ubuntu-10.10-server-amd64-netboot.iso",
6
6
  :iso_src => "http://archive.ubuntu.com/ubuntu/dists/maverick/main/installer-amd64/current/images/netboot/mini.iso",
@@ -1,6 +1,6 @@
1
1
  Veewee::Session.declare( {
2
2
  :cpu_count => '1', :memory_size=> '384',
3
- :disk_size => '10140', :disk_format => 'VDI',
3
+ :disk_size => '10140', :disk_format => 'VDI',:hostiocache => 'off',
4
4
  :os_type_id => 'Ubuntu_64',
5
5
  :iso_file => "ubuntu-10.10-server-amd64.iso",
6
6
  :iso_src => "http://releases.ubuntu.com/maverick/ubuntu-10.10-server-amd64.iso",
@@ -1,6 +1,6 @@
1
1
  Veewee::Session.declare( {
2
2
  :cpu_count => '1', :memory_size=> '384',
3
- :disk_size => '10140', :disk_format => 'VDI',:disk_size => '10240' ,
3
+ :disk_size => '10140', :disk_format => 'VDI',:hostiocache => 'off',
4
4
  :os_type_id => 'Ubuntu',
5
5
  :iso_file => "ubuntu-10.10-server-i386-netboot.iso",
6
6
  :iso_src => "http://archive.ubuntu.com/ubuntu/dists/maverick/main/installer-i386/current/images/netboot/mini.iso",
@@ -1,6 +1,6 @@
1
1
  Veewee::Session.declare( {
2
2
  :cpu_count => '1', :memory_size=> '384',
3
- :disk_size => '10140', :disk_format => 'VDI',:disk_size => '10240' ,
3
+ :disk_size => '10140', :disk_format => 'VDI',:hostiocache => 'off',
4
4
  :os_type_id => 'Ubuntu',
5
5
  :iso_file => "ubuntu-10.10-server-i386.iso",
6
6
  :iso_src => "http://releases.ubuntu.com/maverick/ubuntu-10.10-server-i386.iso",
data/veewee.gemspec CHANGED
@@ -21,7 +21,7 @@ Gem::Specification.new do |s|
21
21
  s.add_dependency "highline", "~> 1.6.1"
22
22
  s.add_dependency "progressbar"
23
23
  s.add_dependency "cucumber", "0.8.5"
24
- #s.add_dependency "rspec"
24
+ s.add_dependency "rspec", "~> 2.5.0"
25
25
 
26
26
  s.add_development_dependency "bundler", ">= 1.0.0"
27
27
 
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: veewee
3
3
  version: !ruby/object:Gem::Version
4
- hash: 59
4
+ hash: 57
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 16
10
- version: 0.1.16
9
+ - 17
10
+ version: 0.1.17
11
11
  platform: ruby
12
12
  authors:
13
13
  - Patrick Debois
@@ -16,7 +16,7 @@ autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
18
 
19
- date: 2011-03-15 00:00:00 +01:00
19
+ date: 2011-04-27 00:00:00 +02:00
20
20
  default_executable:
21
21
  dependencies:
22
22
  - !ruby/object:Gem::Dependency
@@ -131,6 +131,22 @@ dependencies:
131
131
  prerelease: false
132
132
  - !ruby/object:Gem::Dependency
133
133
  version_requirements: &id008 !ruby/object:Gem::Requirement
134
+ none: false
135
+ requirements:
136
+ - - ~>
137
+ - !ruby/object:Gem::Version
138
+ hash: 27
139
+ segments:
140
+ - 2
141
+ - 5
142
+ - 0
143
+ version: 2.5.0
144
+ type: :runtime
145
+ requirement: *id008
146
+ name: rspec
147
+ prerelease: false
148
+ - !ruby/object:Gem::Dependency
149
+ version_requirements: &id009 !ruby/object:Gem::Requirement
134
150
  none: false
135
151
  requirements:
136
152
  - - ">="
@@ -142,7 +158,7 @@ dependencies:
142
158
  - 0
143
159
  version: 1.0.0
144
160
  type: :development
145
- requirement: *id008
161
+ requirement: *id009
146
162
  name: bundler
147
163
  prerelease: false
148
164
  description: Expand the 'vagrant box' command to support the creation of base boxes from scratch
@@ -191,13 +207,19 @@ files:
191
207
  - templates/Debian-6.0-amd64-netboot/definition.rb
192
208
  - templates/Debian-6.0-amd64-netboot/postinstall.sh
193
209
  - templates/Debian-6.0-amd64-netboot/preseed.cfg
210
+ - templates/Debian-6.0-i386-netboot/definition.rb
211
+ - templates/Debian-6.0-i386-netboot/postinstall.sh
212
+ - templates/Debian-6.0-i386-netboot/preseed.cfg
194
213
  - templates/Sysrescuecd-2.0.0-experimental/autorun0
195
214
  - templates/Sysrescuecd-2.0.0-experimental/definition.rb
196
215
  - templates/freebsd-8.2-experimental/definition.rb
197
216
  - templates/freebsd-8.2-experimental/postinstall.sh
198
- - templates/freebsd-8.2-i386-pcbsdinstaller/definition.rb
199
- - templates/freebsd-8.2-i386-pcbsdinstaller/pcinstall.fbg.cfg
200
- - templates/freebsd-8.2-i386-pcbsdinstaller/postinstall.sh
217
+ - templates/freebsd-8.2-pcbsd-i386-netboot/definition.rb
218
+ - templates/freebsd-8.2-pcbsd-i386-netboot/pcinstall.fbg.cfg
219
+ - templates/freebsd-8.2-pcbsd-i386-netboot/postinstall.sh
220
+ - templates/freebsd-8.2-pcbsd-i386/definition.rb
221
+ - templates/freebsd-8.2-pcbsd-i386/pcinstall.fbg.cfg
222
+ - templates/freebsd-8.2-pcbsd-i386/postinstall.sh
201
223
  - templates/ubuntu-10.04.1-server-amd64/definition.rb
202
224
  - templates/ubuntu-10.04.1-server-amd64/postinstall.sh
203
225
  - templates/ubuntu-10.04.1-server-amd64/preseed.cfg