veewee 0.3.0.beta2 → 0.3.1
Sign up to get free protection for your applications and to get access to all the features.
- data/doc/requirements.md +7 -1
- data/lib/python/parallels_send_string.py +76 -0
- data/lib/veewee/provider/core/helper/scancode.rb +31 -48
- data/lib/veewee/provider/parallels/box/helper/console_type.rb +54 -76
- data/lib/veewee/provider/virtualbox/box/helper/buildinfo.rb +2 -2
- data/lib/veewee/provider/virtualbox/box/helper/create.rb +1 -1
- data/lib/veewee/provider/virtualbox/box/helper/guest_additions.rb +1 -2
- data/lib/veewee/provider/virtualbox/box/helper/version.rb +8 -0
- data/lib/veewee/version.rb +1 -1
- data/templates/Debian-6.0.5-i386-netboot/virtualbox.sh +1 -1
- data/templates/Debian-6.0.6-amd64-netboot/base.sh +27 -0
- data/templates/Debian-6.0.6-amd64-netboot/chef.sh +2 -0
- data/templates/Debian-6.0.6-amd64-netboot/cleanup-virtualbox.sh +4 -0
- data/templates/Debian-6.0.6-amd64-netboot/cleanup.sh +17 -0
- data/templates/Debian-6.0.6-amd64-netboot/definition.rb +49 -0
- data/templates/Debian-6.0.6-amd64-netboot/preseed.cfg +315 -0
- data/templates/Debian-6.0.6-amd64-netboot/puppet.sh +2 -0
- data/templates/Debian-6.0.6-amd64-netboot/ruby.sh +10 -0
- data/templates/Debian-6.0.6-amd64-netboot/vagrant.sh +25 -0
- data/templates/Debian-6.0.6-amd64-netboot/virtualbox.sh +13 -0
- data/templates/Debian-6.0.6-amd64-netboot/zerodisk.sh +3 -0
- data/templates/Debian-6.0.6-i386-netboot/base.sh +27 -0
- data/templates/Debian-6.0.6-i386-netboot/chef.sh +2 -0
- data/templates/Debian-6.0.6-i386-netboot/cleanup-virtualbox.sh +4 -0
- data/templates/Debian-6.0.6-i386-netboot/cleanup.sh +17 -0
- data/templates/Debian-6.0.6-i386-netboot/definition.rb +51 -0
- data/templates/Debian-6.0.6-i386-netboot/preseed.cfg +315 -0
- data/templates/Debian-6.0.6-i386-netboot/puppet.sh +2 -0
- data/templates/Debian-6.0.6-i386-netboot/ruby.sh +10 -0
- data/templates/Debian-6.0.6-i386-netboot/vagrant.sh +25 -0
- data/templates/Debian-6.0.6-i386-netboot/virtualbox.sh +13 -0
- data/templates/Debian-6.0.6-i386-netboot/zerodisk.sh +3 -0
- data/templates/Debian-7.0-b2-i386-netboot/base.sh +27 -0
- data/templates/Debian-7.0-b2-i386-netboot/chef.sh +2 -0
- data/templates/Debian-7.0-b2-i386-netboot/cleanup-virtualbox.sh +4 -0
- data/templates/Debian-7.0-b2-i386-netboot/cleanup.sh +17 -0
- data/templates/Debian-7.0-b2-i386-netboot/definition.rb +51 -0
- data/templates/Debian-7.0-b2-i386-netboot/preseed.cfg +315 -0
- data/templates/Debian-7.0-b2-i386-netboot/puppet.sh +2 -0
- data/templates/Debian-7.0-b2-i386-netboot/ruby.sh +10 -0
- data/templates/Debian-7.0-b2-i386-netboot/vagrant.sh +25 -0
- data/templates/Debian-7.0-b2-i386-netboot/virtualbox.sh +13 -0
- data/templates/Debian-7.0-b2-i386-netboot/zerodisk.sh +3 -0
- data/templates/Fedora-17-i386/ks.cfg +4 -0
- data/templates/Fedora-17-x86_64/ks.cfg +4 -0
- data/templates/freebsd-9.0-RELEASE-amd64/definition.rb +19 -0
- data/templates/freebsd-9.0-RELEASE-amd64/postinstall.sh +93 -0
- data/templates/ubuntu-12.04.1-server-amd64/definition.rb +1 -1
- data/templates/ubuntu-12.10-server-amd64-packages/definition.rb +35 -0
- data/templates/ubuntu-12.10-server-amd64-packages/postinstall.sh +75 -0
- data/templates/ubuntu-12.10-server-amd64-packages/preseed.cfg +87 -0
- data/templates/ubuntu-12.10-server-amd64/definition.rb +35 -0
- data/templates/ubuntu-12.10-server-amd64/postinstall.sh +97 -0
- data/templates/ubuntu-12.10-server-amd64/preseed.cfg +87 -0
- data/templates/ubuntu-12.10-server-i386-packages/definition.rb +35 -0
- data/templates/ubuntu-12.10-server-i386-packages/postinstall.sh +75 -0
- data/templates/ubuntu-12.10-server-i386-packages/preseed.cfg +87 -0
- data/templates/ubuntu-12.10-server-i386/definition.rb +35 -0
- data/templates/ubuntu-12.10-server-i386/postinstall.sh +98 -0
- data/templates/ubuntu-12.10-server-i386/preseed.cfg +87 -0
- data/test/veewee/provider/virtualbox/box/helper/guest_additions_test.rb +95 -0
- data/test/veewee/provider/virtualbox/box/helper/version.rb +67 -0
- data/validation/features/steps/veewee_steps.rb +1 -1
- metadata +54 -4
@@ -0,0 +1,10 @@
|
|
1
|
+
# Install Ruby from packages
|
2
|
+
apt-get -y install ruby ruby-dev libopenssl-ruby1.8 irb ri rdoc
|
3
|
+
|
4
|
+
# Install Rubygems from source
|
5
|
+
rg_ver=1.8.22
|
6
|
+
curl -o /tmp/rubygems-${rg_ver}.zip \
|
7
|
+
"http://production.cf.rubygems.org/rubygems/rubygems-${rg_ver}.zip"
|
8
|
+
(cd /tmp && unzip rubygems-${rg_ver}.zip && \
|
9
|
+
cd rubygems-${rg_ver} && ruby setup.rb --no-format-executable)
|
10
|
+
rm -rf /tmp/rubygems-${rg_ver} /tmp/rubygems-${rg_ver}.zip
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# Set up Vagrant.
|
2
|
+
|
3
|
+
date > /etc/vagrant_box_build_time
|
4
|
+
|
5
|
+
# Add groups puppet and chef
|
6
|
+
groupadd puppet
|
7
|
+
groupadd chef
|
8
|
+
|
9
|
+
# Create the user vagrant with password vagrant
|
10
|
+
useradd -G sudo -p $(perl -e'print crypt("vagrant", "vagrant")') -m -s /bin/bash -N vagrant
|
11
|
+
|
12
|
+
# Install vagrant keys
|
13
|
+
mkdir -pm 700 /home/vagrant/.ssh
|
14
|
+
curl -Lo /home/vagrant/.ssh/authorized_keys \
|
15
|
+
'https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub'
|
16
|
+
chmod 0600 /home/vagrant/.ssh/authorized_keys
|
17
|
+
chown -R vagrant:vagrant /home/vagrant/.ssh
|
18
|
+
|
19
|
+
# Customize the message of the day
|
20
|
+
echo 'Welcome to your Vagrant-built virtual machine.' > /var/run/motd
|
21
|
+
|
22
|
+
# Install NFS client
|
23
|
+
apt-get -y install nfs-common
|
24
|
+
|
25
|
+
|
@@ -0,0 +1,13 @@
|
|
1
|
+
if test -f .vbox_version ; then
|
2
|
+
# The netboot installs the VirtualBox support (old) so we have to remove it
|
3
|
+
/etc/init.d/virtualbox-ose-guest-utils stop
|
4
|
+
rmmod vboxguest
|
5
|
+
aptitude -y purge virtualbox-ose-guest-x11 virtualbox-ose-guest-dkms virtualbox-ose-guest-utils
|
6
|
+
|
7
|
+
# Install the VirtualBox guest additions
|
8
|
+
VBOX_VERSION=$(cat .vbox_version)
|
9
|
+
VBOX_ISO=VBoxGuestAdditions_$VBOX_VERSION.iso
|
10
|
+
mount -o loop $VBOX_ISO /mnt
|
11
|
+
yes|sh /mnt/VBoxLinuxAdditions.run
|
12
|
+
umount /mnt
|
13
|
+
fi
|
@@ -12,6 +12,10 @@ rootpw --iscrypted $6$n/NGsk5H2aiBMXL4$r/oPkJtB5rasvQHPo9AvIJBe6sNVlQbpZxvTRMN7
|
|
12
12
|
selinux --enforcing
|
13
13
|
authconfig --enableshadow --passalgo=sha512
|
14
14
|
firewall --service=ssh
|
15
|
+
|
16
|
+
# Avoiding warning message on Storage device breaking automated generation
|
17
|
+
zerombr
|
18
|
+
|
15
19
|
# The following is the partition information you requested
|
16
20
|
# Note that any partitions you deleted are not expressed
|
17
21
|
# here so unless you clear all partitions first, this is
|
@@ -12,6 +12,10 @@ rootpw --iscrypted $6$n/NGsk5H2aiBMXL4$r/oPkJtB5rasvQHPo9AvIJBe6sNVlQbpZxvTRMN7
|
|
12
12
|
selinux --enforcing
|
13
13
|
authconfig --enableshadow --passalgo=sha512
|
14
14
|
firewall --service=ssh
|
15
|
+
|
16
|
+
# Avoiding warning message on Storage device breaking automated generation
|
17
|
+
zerombr
|
18
|
+
|
15
19
|
# The following is the partition information you requested
|
16
20
|
# Note that any partitions you deleted are not expressed
|
17
21
|
# here so unless you clear all partitions first, this is
|
@@ -0,0 +1,19 @@
|
|
1
|
+
Veewee::Definition.declare({
|
2
|
+
:cpu_count => '1', :memory_size=> '256',
|
3
|
+
:disk_size => '10140', :disk_format => 'VDI', :hostiocache => 'off',
|
4
|
+
:os_type_id => 'FreeBSD_64',
|
5
|
+
:iso_file => "mfsbsd-9.0-RELEASE-amd64.iso",
|
6
|
+
:iso_src => "http://mfsbsd.vx.sk/files/iso/mfsbsd-9.0-RELEASE-amd64.iso",
|
7
|
+
:iso_md5 => "a8aaac460d30f80fce2c6a96e0837db6",
|
8
|
+
:iso_download_timeout => "1000",
|
9
|
+
:boot_wait => "10", :boot_cmd_sequence => [
|
10
|
+
'<Enter>'
|
11
|
+
],
|
12
|
+
:kickstart_port => "7122", :kickstart_timeout => "10000", :kickstart_file => "",
|
13
|
+
:ssh_login_timeout => "10000", :ssh_user => "root", :ssh_password => "mfsroot", :ssh_key => "",
|
14
|
+
:ssh_host_port => "7222", :ssh_guest_port => "22",
|
15
|
+
:sudo_cmd => "sh '%f'",
|
16
|
+
:shutdown_cmd => "shutdown -H",
|
17
|
+
:postinstall_files => [ "postinstall.sh"], :postinstall_timeout => "10000"
|
18
|
+
})
|
19
|
+
#'setkmap=us dodhcp=eth0 dhcphostname=%NAME% ar_source=http://%IP%:%PORT%/ autoruns=0 rootpass=vagrant',
|
@@ -0,0 +1,93 @@
|
|
1
|
+
date > /etc/vagrant_box_build_time
|
2
|
+
|
3
|
+
# Get the latest portstree (needed for virtualbox to be on 4.x)
|
4
|
+
portsnap fetch update
|
5
|
+
|
6
|
+
#First install sudo
|
7
|
+
cd /usr/ports/security/sudo
|
8
|
+
make install -DBATCH
|
9
|
+
|
10
|
+
#We prefer bash to be there
|
11
|
+
cd /usr/ports/shells/bash
|
12
|
+
make install -DBATCH
|
13
|
+
|
14
|
+
|
15
|
+
#Off to rubygems to get first ruby running
|
16
|
+
cd /usr/ports/devel/ruby-gems
|
17
|
+
make install -DBATCH
|
18
|
+
|
19
|
+
#Gem chef - does install chef 9.12 (latest in ports?)
|
20
|
+
#cd /usr/ports/sysutils/rubygem-chef
|
21
|
+
#make install -DBATCH
|
22
|
+
|
23
|
+
#Installing chef & Puppet
|
24
|
+
#/usr/local/bin/gem update chef --no-ri --no-rdoc
|
25
|
+
/usr/local/bin/gem install puppet --no-ri --no-rdoc
|
26
|
+
|
27
|
+
#Get wget
|
28
|
+
cd /usr/ports/ftp/wget
|
29
|
+
make install -DBATCH
|
30
|
+
|
31
|
+
#Installing vagrant keys
|
32
|
+
mkdir /home/vagrant/.ssh
|
33
|
+
chmod 700 /home/vagrant/.ssh
|
34
|
+
cd /home/vagrant/.ssh
|
35
|
+
/usr/local/bin/wget --no-check-certificate 'https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub' -O authorized_keys
|
36
|
+
chown -R vagrant /home/vagrant/.ssh
|
37
|
+
|
38
|
+
# Cleaning portstree to save space
|
39
|
+
# http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/ports-using.html
|
40
|
+
cd /usr/ports/ports-mgmt/portupgrade
|
41
|
+
make install -DBATCH clean
|
42
|
+
|
43
|
+
/usr/local/sbin/portsclean -C
|
44
|
+
|
45
|
+
# As sharedfolders are not in defaults ports tree
|
46
|
+
# We will use vagrant via NFS
|
47
|
+
# Enable NFS
|
48
|
+
echo 'rpcbind_enable="YES"' >> /etc/rc.conf
|
49
|
+
echo 'nfs_server_enable="YES"' >> /etc/rc.conf
|
50
|
+
echo 'mountd_flags="-r"' >> /etc/rc.conf
|
51
|
+
|
52
|
+
# Enable passwordless sudo
|
53
|
+
echo "vagrant ALL=(ALL) NOPASSWD: ALL" >> /usr/local/etc/sudoers
|
54
|
+
# Restore correct su permissions
|
55
|
+
# I'll leave that up to the reader :)
|
56
|
+
|
57
|
+
echo "=============================================================================="
|
58
|
+
echo "NOTE: FreeBSD - Vagrant"
|
59
|
+
echo "When using this basebox you need to do some special stuff in your Vagrantfile"
|
60
|
+
echo "1) Include the correct system"
|
61
|
+
echo " require 'vagrant/systems/freebsd' "
|
62
|
+
echo "2) Add after your config.vm.box = ..."
|
63
|
+
echo " config.vm.system = :freebsd"
|
64
|
+
echo "3) Enable HostOnly network"
|
65
|
+
echo " config.vm.network ...."
|
66
|
+
echo "4) Use nfs instead of shared folders"
|
67
|
+
echo " :nfs => true"
|
68
|
+
echo "============================================================================="
|
69
|
+
|
70
|
+
|
71
|
+
|
72
|
+
exit
|
73
|
+
|
74
|
+
# The iso from virtualbox will only install windows/solaris or linux, no BSD
|
75
|
+
# Research is on it's way to have 4.x in the main portstree
|
76
|
+
# http://www.listware.net/201102/freebsd-ports/65201-call-for-testers-virtualbox-404.html
|
77
|
+
# Virtualbox additions - http://wiki.freebsd.org/VirtualBox
|
78
|
+
# Currently this will only work for 4.0.4
|
79
|
+
#cd /tmp
|
80
|
+
#wget http://home.bluelife.at/ports/virtualbox-cft-20110218.tar.gz
|
81
|
+
#cd /usr/ports
|
82
|
+
#tar -xzvf /tmp/virtualbox-cft-20110218.tar.gz
|
83
|
+
|
84
|
+
# This requires libtool >= 2.4
|
85
|
+
cd /usr/ports/devel/libtool
|
86
|
+
make clean
|
87
|
+
make install -DBATCH
|
88
|
+
|
89
|
+
cd /usr/ports/emulators/virtualbox-ose-additions
|
90
|
+
make install -DBATCH
|
91
|
+
|
92
|
+
echo 'vboxguest_enable="YES"' >> /etc/rc.conf
|
93
|
+
echo 'vboxservice_enable="YES"' >> /etc/rc.conf
|
@@ -16,7 +16,7 @@ Veewee::Session.declare({
|
|
16
16
|
'debian-installer=en_US auto locale=en_US kbd-chooser/method=us ',
|
17
17
|
'hostname=%NAME% ',
|
18
18
|
'fb=false debconf/frontend=noninteractive ',
|
19
|
-
'keyboard-configuration/layout=USA keyboard-configuration/variant=USA console-setup/ask_detect=false ',
|
19
|
+
'keyboard-configuration/modelcode=SKIP keyboard-configuration/layout=USA keyboard-configuration/variant=USA console-setup/ask_detect=false ',
|
20
20
|
'initrd=/install/initrd.gz -- <Enter>'
|
21
21
|
],
|
22
22
|
:kickstart_port => "7122",
|
@@ -0,0 +1,35 @@
|
|
1
|
+
Veewee::Session.declare({
|
2
|
+
:cpu_count => '1',
|
3
|
+
:memory_size=> '2048',
|
4
|
+
:disk_size => '10140',
|
5
|
+
:disk_format => 'VDI',
|
6
|
+
:hostiocache => 'off',
|
7
|
+
:os_type_id => 'Ubuntu_64',
|
8
|
+
:iso_file => "ubuntu-12.10-server-amd64.iso",
|
9
|
+
:iso_src => "http://releases.ubuntu.com/12.10/ubuntu-12.10-server-amd64.iso",
|
10
|
+
:iso_md5 => '4bd3270bde86d7e4e017e3847a4af485',
|
11
|
+
:iso_download_timeout => "1000",
|
12
|
+
:boot_wait => "4",
|
13
|
+
:boot_cmd_sequence => [
|
14
|
+
'<Esc><Esc><Enter>',
|
15
|
+
'/install/vmlinuz noapic preseed/url=http://%IP%:%PORT%/preseed.cfg ',
|
16
|
+
'debian-installer=en_US auto locale=en_US kbd-chooser/method=us ',
|
17
|
+
'hostname=%NAME% ',
|
18
|
+
'fb=false debconf/frontend=noninteractive ',
|
19
|
+
'keyboard-configuration/modelcode=SKIP keyboard-configuration/layout=us keyboard-configuration/variant=us console-setup/ask_detect=false ',
|
20
|
+
'initrd=/install/initrd.gz -- <Enter>'
|
21
|
+
],
|
22
|
+
:kickstart_port => "7122",
|
23
|
+
:kickstart_timeout => "10000",
|
24
|
+
:kickstart_file => "preseed.cfg",
|
25
|
+
:ssh_login_timeout => "10000",
|
26
|
+
:ssh_user => "vagrant",
|
27
|
+
:ssh_password => "vagrant",
|
28
|
+
:ssh_key => "",
|
29
|
+
:ssh_host_port => "7222",
|
30
|
+
:ssh_guest_port => "22",
|
31
|
+
:sudo_cmd => "echo '%p'|sudo -S sh '%f'",
|
32
|
+
:shutdown_cmd => "shutdown -P now",
|
33
|
+
:postinstall_files => [ "postinstall.sh"],
|
34
|
+
:postinstall_timeout => "10000"
|
35
|
+
})
|
@@ -0,0 +1,75 @@
|
|
1
|
+
# postinstall.sh created from Mitchell's official lucid32/64 baseboxes
|
2
|
+
|
3
|
+
date > /etc/vagrant_box_build_time
|
4
|
+
|
5
|
+
# Apt-install various things necessary for Ruby, guest additions,
|
6
|
+
# etc., and remove optional things to trim down the machine.
|
7
|
+
apt-get -y update
|
8
|
+
apt-get -y upgrade
|
9
|
+
apt-get -y install linux-headers-$(uname -r) build-essential
|
10
|
+
apt-get -y install zlib1g-dev libssl-dev libreadline-gplv2-dev libyaml-dev
|
11
|
+
apt-get -y install vim
|
12
|
+
apt-get clean
|
13
|
+
|
14
|
+
# Installing the virtualbox guest additions
|
15
|
+
apt-get -y install dkms
|
16
|
+
VBOX_VERSION=$(cat /home/vagrant/.vbox_version)
|
17
|
+
mount -o loop VBoxGuestAdditions_$VBOX_VERSION.iso /mnt
|
18
|
+
sh /mnt/VBoxLinuxAdditions.run
|
19
|
+
umount /mnt
|
20
|
+
|
21
|
+
rm VBoxGuestAdditions_$VBOX_VERSION.iso
|
22
|
+
|
23
|
+
cd /tmp
|
24
|
+
|
25
|
+
# Setup sudo to allow no-password sudo for "admin"
|
26
|
+
groupadd -r admin
|
27
|
+
usermod -a -G admin vagrant
|
28
|
+
cp /etc/sudoers /etc/sudoers.orig
|
29
|
+
sed -i -e '/Defaults\s\+env_reset/a Defaults\texempt_group=admin' /etc/sudoers
|
30
|
+
sed -i -e 's/%admin ALL=(ALL) ALL/%admin ALL=NOPASSWD:ALL/g' /etc/sudoers
|
31
|
+
|
32
|
+
# Add puppet group
|
33
|
+
groupadd -r puppet
|
34
|
+
|
35
|
+
# Install NFS client
|
36
|
+
apt-get -y install nfs-common
|
37
|
+
|
38
|
+
# Install Ruby from packages
|
39
|
+
apt-get -y install ruby rubygems ruby-dev
|
40
|
+
|
41
|
+
# Installing chef & Puppet
|
42
|
+
gem install chef --no-ri --no-rdoc
|
43
|
+
gem install puppet --no-ri --no-rdoc
|
44
|
+
|
45
|
+
# Installing vagrant keys
|
46
|
+
mkdir /home/vagrant/.ssh
|
47
|
+
chmod 700 /home/vagrant/.ssh
|
48
|
+
cd /home/vagrant/.ssh
|
49
|
+
wget --no-check-certificate 'https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub' -O authorized_keys
|
50
|
+
chmod 600 /home/vagrant/.ssh/authorized_keys
|
51
|
+
chown -R vagrant /home/vagrant/.ssh
|
52
|
+
|
53
|
+
# Remove items used for building, since they aren't needed anymore
|
54
|
+
apt-get -y remove linux-headers-$(uname -r) build-essential
|
55
|
+
apt-get -y autoremove
|
56
|
+
|
57
|
+
# Zero out the free space to save space in the final image:
|
58
|
+
dd if=/dev/zero of=/EMPTY bs=1M
|
59
|
+
rm -f /EMPTY
|
60
|
+
|
61
|
+
# Removing leftover leases and persistent rules
|
62
|
+
echo "cleaning up dhcp leases"
|
63
|
+
rm /var/lib/dhcp3/*
|
64
|
+
|
65
|
+
# Make sure Udev doesn't block our network
|
66
|
+
# http://6.ptmc.org/?p=164
|
67
|
+
echo "cleaning up udev rules"
|
68
|
+
rm /etc/udev/rules.d/70-persistent-net.rules
|
69
|
+
mkdir /etc/udev/rules.d/70-persistent-net.rules
|
70
|
+
rm -rf /dev/.udev/
|
71
|
+
rm /lib/udev/rules.d/75-persistent-net-generator.rules
|
72
|
+
|
73
|
+
echo "Adding a 2 sec delay to the interface up, to make the dhclient happy"
|
74
|
+
echo "pre-up sleep 2" >> /etc/network/interfaces
|
75
|
+
exit
|
@@ -0,0 +1,87 @@
|
|
1
|
+
## Options to set on the command line
|
2
|
+
d-i debian-installer/locale string en_US.utf8
|
3
|
+
d-i console-setup/ask_detect boolean false
|
4
|
+
d-i console-setup/layout string us
|
5
|
+
|
6
|
+
#d-i netcfg/get_hostname string dummy
|
7
|
+
d-i netcfg/get_hostname string unassigned-hostname
|
8
|
+
d-i netcfg/get_domain string unassigned-domain
|
9
|
+
|
10
|
+
# Continue without a default route
|
11
|
+
# Not working , specify a dummy in the DHCP
|
12
|
+
#d-i netcfg/no_default_route boolean
|
13
|
+
|
14
|
+
d-i time/zone string UTC
|
15
|
+
d-i clock-setup/utc-auto boolean true
|
16
|
+
d-i clock-setup/utc boolean true
|
17
|
+
|
18
|
+
d-i kbd-chooser/method select American English
|
19
|
+
|
20
|
+
d-i netcfg/wireless_wep string
|
21
|
+
|
22
|
+
d-i base-installer/kernel/override-image string linux-server
|
23
|
+
#d-i base-installer/kernel/override-image string linux-image-2.6.32-21-generic
|
24
|
+
|
25
|
+
# Choices: Dialog, Readline, Gnome, Kde, Editor, Noninteractive
|
26
|
+
d-i debconf debconf/frontend select Noninteractive
|
27
|
+
|
28
|
+
d-i pkgsel/install-language-support boolean false
|
29
|
+
tasksel tasksel/first multiselect standard, ubuntu-server
|
30
|
+
|
31
|
+
#d-i partman-auto/method string regular
|
32
|
+
d-i partman-auto/method string lvm
|
33
|
+
#d-i partman-auto/purge_lvm_from_device boolean true
|
34
|
+
|
35
|
+
d-i partman-lvm/confirm boolean true
|
36
|
+
d-i partman-lvm/device_remove_lvm boolean true
|
37
|
+
d-i partman-auto/choose_recipe select atomic
|
38
|
+
|
39
|
+
d-i partman/confirm_write_new_label boolean true
|
40
|
+
d-i partman/confirm_nooverwrite boolean true
|
41
|
+
d-i partman/choose_partition select finish
|
42
|
+
d-i partman/confirm boolean true
|
43
|
+
|
44
|
+
#http://ubuntu-virginia.ubuntuforums.org/showthread.php?p=9626883
|
45
|
+
#Message: "write the changes to disk and configure lvm preseed"
|
46
|
+
#http://serverfault.com/questions/189328/ubuntu-kickstart-installation-using-lvm-waits-for-input
|
47
|
+
#preseed partman-lvm/confirm_nooverwrite boolean true
|
48
|
+
|
49
|
+
# Write the changes to disks and configure LVM?
|
50
|
+
d-i partman-lvm/confirm boolean true
|
51
|
+
d-i partman-lvm/confirm_nooverwrite boolean true
|
52
|
+
d-i partman-auto-lvm/guided_size string max
|
53
|
+
|
54
|
+
## Default user, we can get away with a recipe to change this
|
55
|
+
d-i passwd/user-fullname string vagrant
|
56
|
+
d-i passwd/username string vagrant
|
57
|
+
d-i passwd/user-password password vagrant
|
58
|
+
d-i passwd/user-password-again password vagrant
|
59
|
+
d-i user-setup/encrypt-home boolean false
|
60
|
+
d-i user-setup/allow-password-weak boolean true
|
61
|
+
|
62
|
+
## minimum is puppet and ssh and ntp
|
63
|
+
# Individual additional packages to install
|
64
|
+
d-i pkgsel/include string openssh-server ntp
|
65
|
+
|
66
|
+
# Whether to upgrade packages after debootstrap.
|
67
|
+
# Allowed values: none, safe-upgrade, full-upgrade
|
68
|
+
d-i pkgsel/upgrade select full-upgrade
|
69
|
+
|
70
|
+
d-i grub-installer/only_debian boolean true
|
71
|
+
d-i grub-installer/with_other_os boolean true
|
72
|
+
d-i finish-install/reboot_in_progress note
|
73
|
+
|
74
|
+
#For the update
|
75
|
+
d-i pkgsel/update-policy select none
|
76
|
+
|
77
|
+
# debconf-get-selections --install
|
78
|
+
#Use mirror
|
79
|
+
#d-i apt-setup/use_mirror boolean true
|
80
|
+
#d-i mirror/country string manual
|
81
|
+
#choose-mirror-bin mirror/protocol string http
|
82
|
+
#choose-mirror-bin mirror/http/hostname string 192.168.4.150
|
83
|
+
#choose-mirror-bin mirror/http/directory string /ubuntu
|
84
|
+
#choose-mirror-bin mirror/suite select maverick
|
85
|
+
#d-i debian-installer/allow_unauthenticated string true
|
86
|
+
|
87
|
+
choose-mirror-bin mirror/http/proxy string
|
@@ -0,0 +1,35 @@
|
|
1
|
+
Veewee::Session.declare({
|
2
|
+
:cpu_count => '1',
|
3
|
+
:memory_size=> '2048',
|
4
|
+
:disk_size => '10140',
|
5
|
+
:disk_format => 'VDI',
|
6
|
+
:hostiocache => 'off',
|
7
|
+
:os_type_id => 'Ubuntu_64',
|
8
|
+
:iso_file => "ubuntu-12.10-server-amd64.iso",
|
9
|
+
:iso_src => "http://releases.ubuntu.com/12.10/ubuntu-12.10-server-amd64.iso",
|
10
|
+
:iso_md5 => '4bd3270bde86d7e4e017e3847a4af485',
|
11
|
+
:iso_download_timeout => "1000",
|
12
|
+
:boot_wait => "4",
|
13
|
+
:boot_cmd_sequence => [
|
14
|
+
'<Esc><Esc><Enter>',
|
15
|
+
'/install/vmlinuz noapic preseed/url=http://%IP%:%PORT%/preseed.cfg ',
|
16
|
+
'debian-installer=en_US auto locale=en_US kbd-chooser/method=us ',
|
17
|
+
'hostname=%NAME% ',
|
18
|
+
'fb=false debconf/frontend=noninteractive ',
|
19
|
+
'keyboard-configuration/modelcode=SKIP keyboard-configuration/layout=us keyboard-configuration/variant=us console-setup/ask_detect=false ',
|
20
|
+
'initrd=/install/initrd.gz -- <Enter>'
|
21
|
+
],
|
22
|
+
:kickstart_port => "7122",
|
23
|
+
:kickstart_timeout => "10000",
|
24
|
+
:kickstart_file => "preseed.cfg",
|
25
|
+
:ssh_login_timeout => "10000",
|
26
|
+
:ssh_user => "vagrant",
|
27
|
+
:ssh_password => "vagrant",
|
28
|
+
:ssh_key => "",
|
29
|
+
:ssh_host_port => "7222",
|
30
|
+
:ssh_guest_port => "22",
|
31
|
+
:sudo_cmd => "echo '%p'|sudo -S sh '%f'",
|
32
|
+
:shutdown_cmd => "shutdown -P now",
|
33
|
+
:postinstall_files => [ "postinstall.sh"],
|
34
|
+
:postinstall_timeout => "10000"
|
35
|
+
})
|
@@ -0,0 +1,97 @@
|
|
1
|
+
# postinstall.sh created from Mitchell's official lucid32/64 baseboxes
|
2
|
+
|
3
|
+
date > /etc/vagrant_box_build_time
|
4
|
+
|
5
|
+
# Apt-install various things necessary for Ruby, guest additions,
|
6
|
+
# etc., and remove optional things to trim down the machine.
|
7
|
+
apt-get -y update
|
8
|
+
apt-get -y upgrade
|
9
|
+
apt-get -y install linux-headers-$(uname -r) build-essential
|
10
|
+
apt-get -y install zlib1g-dev libssl-dev libreadline-gplv2-dev libyaml-dev
|
11
|
+
apt-get -y install vim
|
12
|
+
apt-get clean
|
13
|
+
|
14
|
+
# Installing the virtualbox guest additions
|
15
|
+
apt-get -y install dkms
|
16
|
+
VBOX_VERSION=$(cat /home/vagrant/.vbox_version)
|
17
|
+
mount -o loop VBoxGuestAdditions_$VBOX_VERSION.iso /mnt
|
18
|
+
sh /mnt/VBoxLinuxAdditions.run
|
19
|
+
umount /mnt
|
20
|
+
|
21
|
+
rm VBoxGuestAdditions_$VBOX_VERSION.iso
|
22
|
+
|
23
|
+
cd /tmp
|
24
|
+
|
25
|
+
# Setup sudo to allow no-password sudo for "admin"
|
26
|
+
groupadd -r admin
|
27
|
+
usermod -a -G admin vagrant
|
28
|
+
cp /etc/sudoers /etc/sudoers.orig
|
29
|
+
sed -i -e '/Defaults\s\+env_reset/a Defaults\texempt_group=admin' /etc/sudoers
|
30
|
+
sed -i -e 's/%admin ALL=(ALL) ALL/%admin ALL=NOPASSWD:ALL/g' /etc/sudoers
|
31
|
+
|
32
|
+
# Add puppet group
|
33
|
+
groupadd -r puppet
|
34
|
+
|
35
|
+
# Install NFS client
|
36
|
+
apt-get -y install nfs-common
|
37
|
+
|
38
|
+
# Install Ruby from source in /opt so that users of Vagrant
|
39
|
+
# can install their own Rubies using packages or however.
|
40
|
+
wget http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p286.tar.gz
|
41
|
+
tar xvzf ruby-1.9.3-p286.tar.gz
|
42
|
+
cd ruby-1.9.3-p286
|
43
|
+
./configure --prefix=/opt/ruby
|
44
|
+
make
|
45
|
+
make install
|
46
|
+
cd ..
|
47
|
+
rm -rf ruby-1.9.3-p286
|
48
|
+
rm ruby-1.9.3-p286.tar.gz
|
49
|
+
|
50
|
+
# Install RubyGems 1.8.24
|
51
|
+
wget http://production.cf.rubygems.org/rubygems/rubygems-1.8.24.tgz
|
52
|
+
tar xzf rubygems-1.8.24.tgz
|
53
|
+
cd rubygems-1.8.24
|
54
|
+
/opt/ruby/bin/ruby setup.rb
|
55
|
+
cd ..
|
56
|
+
rm -rf rubygems-1.8.24
|
57
|
+
rm rubygems-1.8.24.tgz
|
58
|
+
|
59
|
+
# Installing chef & Puppet
|
60
|
+
/opt/ruby/bin/gem install chef --no-ri --no-rdoc
|
61
|
+
/opt/ruby/bin/gem install puppet --no-ri --no-rdoc
|
62
|
+
|
63
|
+
# Add /opt/ruby/bin to the global path as the last resort so
|
64
|
+
# Ruby, RubyGems, and Chef/Puppet are visible
|
65
|
+
echo 'PATH=$PATH:/opt/ruby/bin/'> /etc/profile.d/vagrantruby.sh
|
66
|
+
|
67
|
+
# Installing vagrant keys
|
68
|
+
mkdir /home/vagrant/.ssh
|
69
|
+
chmod 700 /home/vagrant/.ssh
|
70
|
+
cd /home/vagrant/.ssh
|
71
|
+
wget --no-check-certificate 'https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub' -O authorized_keys
|
72
|
+
chmod 600 /home/vagrant/.ssh/authorized_keys
|
73
|
+
chown -R vagrant /home/vagrant/.ssh
|
74
|
+
|
75
|
+
# Remove items used for building, since they aren't needed anymore
|
76
|
+
apt-get -y remove linux-headers-$(uname -r) build-essential
|
77
|
+
apt-get -y autoremove
|
78
|
+
|
79
|
+
# Zero out the free space to save space in the final image:
|
80
|
+
dd if=/dev/zero of=/EMPTY bs=1M
|
81
|
+
rm -f /EMPTY
|
82
|
+
|
83
|
+
# Removing leftover leases and persistent rules
|
84
|
+
echo "cleaning up dhcp leases"
|
85
|
+
rm /var/lib/dhcp3/*
|
86
|
+
|
87
|
+
# Make sure Udev doesn't block our network
|
88
|
+
# http://6.ptmc.org/?p=164
|
89
|
+
echo "cleaning up udev rules"
|
90
|
+
rm /etc/udev/rules.d/70-persistent-net.rules
|
91
|
+
mkdir /etc/udev/rules.d/70-persistent-net.rules
|
92
|
+
rm -rf /dev/.udev/
|
93
|
+
rm /lib/udev/rules.d/75-persistent-net-generator.rules
|
94
|
+
|
95
|
+
echo "Adding a 2 sec delay to the interface up, to make the dhclient happy"
|
96
|
+
echo "pre-up sleep 2" >> /etc/network/interfaces
|
97
|
+
exit
|