veewee 0.1.16 → 0.1.17

Sign up to get free protection for your applications and to get access to all the features.
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