veewee 0.3.1 → 0.3.2
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +4 -0
- data/README.md +1 -1
- data/doc/definition.md +18 -0
- data/doc/kvm.md +28 -1
- data/doc/template.md +53 -2
- data/lib/veewee/command/fusion.rb +37 -3
- data/lib/veewee/command/vagrant/basebox.rb +2 -0
- data/lib/veewee/command/vagrant/winrm.rb +39 -0
- data/lib/veewee/command/vbox.rb +18 -0
- data/lib/veewee/definition.rb +13 -3
- data/lib/veewee/error.rb +3 -0
- data/lib/veewee/provider/core/box.rb +7 -0
- data/lib/veewee/provider/core/box/build.rb +34 -14
- data/lib/veewee/provider/core/box/copy.rb +17 -0
- data/lib/veewee/provider/core/box/exec.rb +31 -12
- data/lib/veewee/provider/core/box/floppy.rb +1 -0
- data/lib/veewee/provider/core/box/halt.rb +7 -3
- data/lib/veewee/provider/core/box/validate_tags.rb +8 -2
- data/lib/veewee/provider/core/box/wincp.rb +120 -0
- data/lib/veewee/provider/core/box/winrm.rb +59 -0
- data/lib/veewee/provider/core/helper/comm.rb +47 -0
- data/lib/veewee/provider/core/helper/web.rb +20 -9
- data/lib/veewee/provider/core/helper/winrm.rb +167 -0
- data/lib/veewee/provider/kvm/box/create.rb +59 -3
- data/lib/veewee/provider/kvm/provider.rb +6 -6
- data/lib/veewee/provider/parallels/box/helper/buildinfo.rb +1 -1
- data/lib/veewee/provider/virtualbox/box.rb +1 -0
- data/lib/veewee/provider/virtualbox/box/build.rb +4 -2
- data/lib/veewee/provider/virtualbox/box/create.rb +32 -12
- data/lib/veewee/provider/virtualbox/box/helper/buildinfo.rb +6 -3
- data/lib/veewee/provider/virtualbox/box/helper/create.rb +20 -5
- data/lib/veewee/provider/virtualbox/box/helper/winrm_options.rb +31 -0
- data/lib/veewee/provider/virtualbox/box/up.rb +33 -12
- data/lib/veewee/provider/virtualbox/box/winrm.rb +13 -0
- data/lib/veewee/provider/vmfusion/box.rb +2 -0
- data/lib/veewee/provider/vmfusion/box/add_share.rb +18 -0
- data/lib/veewee/provider/vmfusion/box/build.rb +3 -1
- data/lib/veewee/provider/vmfusion/box/create.rb +7 -2
- data/lib/veewee/provider/vmfusion/box/helper/buildinfo.rb +9 -6
- data/lib/veewee/provider/vmfusion/box/helper/ip.rb +1 -1
- data/lib/veewee/provider/vmfusion/box/helper/winrm_options.rb +21 -0
- data/lib/veewee/provider/vmfusion/box/template.rb +7 -3
- data/lib/veewee/provider/vmfusion/box/template.vmx.erb +6 -0
- data/lib/veewee/provider/vmfusion/box/winrm.rb +12 -0
- data/lib/veewee/provider/vmfusion/provider.rb +7 -1
- data/lib/veewee/version.rb +1 -1
- data/templates/CentOS-5.6-x86_64-netboot-packages/definition.rb +16 -0
- data/templates/CentOS-5.6-x86_64-netboot-packages/ks.cfg +47 -0
- data/templates/CentOS-5.6-x86_64-netboot-packages/postinstall.sh +61 -0
- data/templates/Debian-7.0-b3-amd64-netboot/base.sh +27 -0
- data/templates/Debian-7.0-b3-amd64-netboot/chef.sh +2 -0
- data/templates/Debian-7.0-b3-amd64-netboot/cleanup-virtualbox.sh +4 -0
- data/templates/Debian-7.0-b3-amd64-netboot/cleanup.sh +17 -0
- data/templates/Debian-7.0-b3-amd64-netboot/definition.rb +51 -0
- data/templates/Debian-7.0-b3-amd64-netboot/preseed.cfg +313 -0
- data/templates/Debian-7.0-b3-amd64-netboot/puppet.sh +2 -0
- data/templates/Debian-7.0-b3-amd64-netboot/ruby.sh +10 -0
- data/templates/Debian-7.0-b3-amd64-netboot/vagrant.sh +25 -0
- data/templates/Debian-7.0-b3-amd64-netboot/virtualbox.sh +13 -0
- data/templates/Debian-7.0-b3-amd64-netboot/zerodisk.sh +3 -0
- data/templates/Fedora-18-i386/definition.rb +17 -0
- data/templates/Fedora-18-i386/ks.cfg +75 -0
- data/templates/Fedora-18-i386/postinstall.sh +38 -0
- data/templates/Fedora-18-x86_64/definition.rb +17 -0
- data/templates/Fedora-18-x86_64/ks.cfg +75 -0
- data/templates/Fedora-18-x86_64/postinstall.sh +38 -0
- data/templates/OracleLinux-6.3-x86_64-DVD/base.sh +30 -0
- data/templates/OracleLinux-6.3-x86_64-DVD/chef.sh +3 -0
- data/templates/OracleLinux-6.3-x86_64-DVD/cleanup.sh +5 -0
- data/templates/OracleLinux-6.3-x86_64-DVD/definition.rb +40 -0
- data/templates/OracleLinux-6.3-x86_64-DVD/ks.cfg +42 -0
- data/templates/OracleLinux-6.3-x86_64-DVD/puppet.sh +12 -0
- data/templates/OracleLinux-6.3-x86_64-DVD/ruby.sh +3 -0
- data/templates/OracleLinux-6.3-x86_64-DVD/vagrant.sh +18 -0
- data/templates/OracleLinux-6.3-x86_64-DVD/virtualbox.sh +8 -0
- data/templates/OracleLinux-6.3-x86_64-DVD/zerodisk.sh +3 -0
- data/templates/funtoo-latest-x86_64/definition.rb +37 -0
- data/templates/funtoo-latest-x86_64/postinstall.sh +401 -0
- data/templates/openbsd50_amd64/definition.rb +3 -2
- data/templates/openbsd50_amd64/postinstall.sh +4 -4
- data/templates/openbsd50_i386/definition.rb +4 -4
- data/templates/openbsd52_amd64/README +28 -0
- data/templates/openbsd52_amd64/definition.rb +85 -0
- data/templates/openbsd52_amd64/postinstall.sh +81 -0
- data/templates/openbsd52_i386/README +28 -0
- data/templates/openbsd52_i386/definition.rb +85 -0
- data/templates/openbsd52_i386/postinstall.sh +81 -0
- data/templates/windows-2008R1-serverstandard-amd64/Autounattend.xml +6 -6
- data/templates/windows-2008R1-serverweb-amd64/install-winrm.bat +1 -1
- data/templates/windows-2008R2-serverstandard-amd64-winrm/Autounattend.xml +224 -0
- data/templates/windows-2008R2-serverstandard-amd64-winrm/README.md +87 -0
- data/templates/windows-2008R2-serverstandard-amd64-winrm/definition.rb +33 -0
- data/templates/windows-2008R2-serverstandard-amd64-winrm/install-chef.bat +2 -0
- data/templates/windows-2008R2-serverstandard-amd64-winrm/install-vbox.bat +4 -0
- data/templates/windows-2008R2-serverstandard-amd64-winrm/oracle-cert.cer +0 -0
- data/templates/windows-2008R2-serverstandard-amd64-winrm/postinstall.sh +74 -0
- data/templates/windows-7-enterprise-amd64-winrm/Autounattend.xml +227 -0
- data/templates/windows-7-enterprise-amd64-winrm/README.md +52 -0
- data/templates/windows-7-enterprise-amd64-winrm/definition.rb +27 -0
- data/templates/windows-7-enterprise-amd64-winrm/install-chef.bat +2 -0
- data/templates/windows-7-enterprise-amd64-winrm/install-fusion.bat +18 -0
- data/templates/windows-7-enterprise-amd64-winrm/install-puppet.bat +4 -0
- data/templates/windows-7-enterprise-amd64-winrm/install-vbox.bat +4 -0
- data/templates/windows-7-enterprise-amd64-winrm/oracle-cert.cer +0 -0
- data/templates/windows-7-enterprise-amd64-winrm/postinstall.bat +74 -0
- data/validation/veewee-windows.feature +34 -0
- data/veewee.gemspec +1 -1
- metadata +73 -7
@@ -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
|
@@ -0,0 +1,17 @@
|
|
1
|
+
Veewee::Session.declare({
|
2
|
+
# Minimum RAM requirement for installation is 768MB.
|
3
|
+
:cpu_count => '1', :memory_size=> '768',
|
4
|
+
:disk_size => '10140', :disk_format => 'VDI', :hostiocache => 'off', :hwvirtext => 'on',
|
5
|
+
:os_type_id => 'Fedora',
|
6
|
+
:iso_file => "Fedora-18-Beta-TC9-i386-DVD.iso",
|
7
|
+
:iso_src => "http://dl.fedoraproject.org/pub/alt/stage/18-Beta-TC9/Fedora/i386/iso/Fedora-18-Beta-TC9-i386-DVD.iso",
|
8
|
+
:iso_md5 => "a673a3c4fa6fd731a7caeef75e3ca729",
|
9
|
+
:iso_download_timeout => 1000,
|
10
|
+
:boot_wait => "10", :boot_cmd_sequence => [ '<Tab> linux text biosdevname=0 ks=http://%IP%:%PORT%/ks.cfg<Enter><Enter>' ],
|
11
|
+
:kickstart_port => "7122", :kickstart_timeout => 10000, :kickstart_file => "ks.cfg",
|
12
|
+
:ssh_login_timeout => "10000", :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "",
|
13
|
+
:ssh_host_port => "7222", :ssh_guest_port => "22",
|
14
|
+
:sudo_cmd => "echo '%p'|sudo -S sh '%f'",
|
15
|
+
:shutdown_cmd => "/sbin/halt -h -p",
|
16
|
+
:postinstall_files => [ "postinstall.sh"], :postinstall_timeout => 10000
|
17
|
+
})
|
@@ -0,0 +1,75 @@
|
|
1
|
+
# Kickstart file automatically generated by anaconda.
|
2
|
+
|
3
|
+
install
|
4
|
+
cdrom
|
5
|
+
lang en_US.UTF-8
|
6
|
+
keyboard 'us'
|
7
|
+
# note we set biosdevname=0 when launching install
|
8
|
+
# this means we will be using standard ethernet devices, e.g. eth[0,1,2] eth
|
9
|
+
network --onboot yes --device eth0 --bootproto dhcp --noipv6
|
10
|
+
timezone --utc America/New_York
|
11
|
+
rootpw --iscrypted $6$n/NGsk5H2aiBMXL4$r/oPkJtB5rasvQHPo9AvIJBe6sNVlQbpZxvTRMN7.qZk/Sn9u2qZ0XgNxflUvK20y7OIWdr/vv7MED6gzkBiH0
|
12
|
+
selinux --enforcing
|
13
|
+
auth --enableshadow --passalgo=sha512
|
14
|
+
firewall --service=ssh
|
15
|
+
|
16
|
+
# Avoiding warning message on Storage device breaking automated generation
|
17
|
+
zerombr
|
18
|
+
|
19
|
+
# The following is the partition information you requested
|
20
|
+
# Note that any partitions you deleted are not expressed
|
21
|
+
# here so unless you clear all partitions first, this is
|
22
|
+
# not guaranteed to work
|
23
|
+
clearpart --all --drives=sda --initlabel
|
24
|
+
|
25
|
+
#part biosboot --fstype=biosboot --size=1
|
26
|
+
part /boot --fstype=ext4 --size=500
|
27
|
+
part pv.2 --grow --size=500
|
28
|
+
|
29
|
+
volgroup vg_vagrant --pesize=32768 pv.2
|
30
|
+
logvol / --fstype=ext4 --name=lv_root --vgname=vg_vagrant --size=1024 --grow
|
31
|
+
logvol swap --fstype=swap --name=lv_swap --vgname=vg_vagrant --size=528 --grow --maxsize=1056
|
32
|
+
bootloader --location=mbr --driveorder=sda --append="norhgb biosdevname=0"
|
33
|
+
# Disable remote repositories, as this is a non-netinst install.
|
34
|
+
#repo --name="Fedora 17 - x86_64" --mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=fedora-17&arch=x86_64 --cost=1000
|
35
|
+
#repo --name="Fedora 17 - x86_64 - Updates" --mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=updates-released-f17&arch=x86_64 --cost=1000
|
36
|
+
services --enabled network
|
37
|
+
reboot
|
38
|
+
|
39
|
+
%packages
|
40
|
+
@core
|
41
|
+
|
42
|
+
# Requirements for vagrant
|
43
|
+
kernel-devel
|
44
|
+
kernel-headers
|
45
|
+
make
|
46
|
+
gcc
|
47
|
+
%end
|
48
|
+
|
49
|
+
%post
|
50
|
+
# Make ssh quicker in disconnected situations.
|
51
|
+
echo 'UseDNS no' >> /etc/ssh/sshd_config
|
52
|
+
|
53
|
+
# Disable udev persistent net rules
|
54
|
+
# We do this so that we do not persist rules mapped to virtual machines
|
55
|
+
# instances created from this basebox.
|
56
|
+
ln -s /dev/null /etc/udev/rule.d/70-persistent-net.rules
|
57
|
+
|
58
|
+
# Add Vagrant user and group.
|
59
|
+
/usr/sbin/groupadd vagrant
|
60
|
+
/usr/sbin/useradd vagrant -g vagrant
|
61
|
+
echo "vagrant"|passwd --stdin vagrant
|
62
|
+
|
63
|
+
# Give Vagrant user permission to sudo.
|
64
|
+
echo 'Defaults:vagrant !requiretty' > /etc/sudoers.d/vagrant
|
65
|
+
echo '%vagrant ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers.d/vagrant
|
66
|
+
chmod 440 /etc/sudoers.d/vagrant
|
67
|
+
|
68
|
+
# Install vagrant authorized ssh key.
|
69
|
+
mkdir /home/vagrant/.ssh
|
70
|
+
curl -L 'http://github.com/mitchellh/vagrant/raw/master/keys/vagrant.pub' > /home/vagrant/.ssh/authorized_keys
|
71
|
+
chown vagrant:vagrant -R /home/vagrant/.ssh
|
72
|
+
chmod 700 /home/vagrant/.ssh
|
73
|
+
chmod 600 /home/vagrant/.ssh/authorized_keys
|
74
|
+
chcon -R unconfined_u:object_r:user_home_t:s0 /home/vagrant/.ssh
|
75
|
+
%end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
#!/bin/sh
|
2
|
+
|
3
|
+
date > /etc/vagrant_box_build_time
|
4
|
+
|
5
|
+
VBOX_VERSION=$(cat /home/vagrant/.vbox_version)
|
6
|
+
|
7
|
+
yum -y update
|
8
|
+
|
9
|
+
yum -y install \
|
10
|
+
ruby \
|
11
|
+
ruby-devel \
|
12
|
+
puppet \
|
13
|
+
rubygems \
|
14
|
+
rubygem-erubis \
|
15
|
+
rubygem-highline \
|
16
|
+
rubygem-json \
|
17
|
+
rubygem-mime-types \
|
18
|
+
rubygem-net-ssh \
|
19
|
+
rubygem-polyglot \
|
20
|
+
rubygem-rest-client \
|
21
|
+
rubygem-treetop \
|
22
|
+
rubygem-uuidtools \
|
23
|
+
wget \
|
24
|
+
tar \
|
25
|
+
bzip2
|
26
|
+
|
27
|
+
cd /tmp
|
28
|
+
wget http://download.virtualbox.org/virtualbox/$VBOX_VERSION/VBoxGuestAdditions_$VBOX_VERSION.iso
|
29
|
+
mount -o loop,ro VBoxGuestAdditions_$VBOX_VERSION.iso /mnt
|
30
|
+
sh /mnt/VBoxLinuxAdditions.run
|
31
|
+
umount /mnt
|
32
|
+
rm VBoxGuestAdditions_$VBOX_VERSION.iso
|
33
|
+
|
34
|
+
gem install chef --no-rdoc --no-ri
|
35
|
+
|
36
|
+
exit
|
37
|
+
|
38
|
+
# EOF
|
@@ -0,0 +1,17 @@
|
|
1
|
+
Veewee::Session.declare({
|
2
|
+
# Minimum RAM requirement for installation is 768MB.
|
3
|
+
:cpu_count => '1', :memory_size=> '768',
|
4
|
+
:disk_size => '10140', :disk_format => 'VDI', :hostiocache => 'off', :hwvirtext => 'on',
|
5
|
+
:os_type_id => 'Fedora_64',
|
6
|
+
:iso_file => "Fedora-18-Beta-TC9-x86_64-DVD.iso",
|
7
|
+
:iso_src => "http://dl.fedoraproject.org/pub/alt/stage/18-Beta-TC9/Fedora/x86_64/iso/Fedora-18-Beta-TC9-x86_64-DVD.iso",
|
8
|
+
:iso_md5 => "4bc92931769a3cff344d706385cfaf77",
|
9
|
+
:iso_download_timeout => 1000,
|
10
|
+
:boot_wait => "10", :boot_cmd_sequence => [ '<Tab> linux text biosdevname=0 ks=http://%IP%:%PORT%/ks.cfg<Enter><Enter>' ],
|
11
|
+
:kickstart_port => "7122", :kickstart_timeout => 10000, :kickstart_file => "ks.cfg",
|
12
|
+
:ssh_login_timeout => "10000", :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "",
|
13
|
+
:ssh_host_port => "7222", :ssh_guest_port => "22",
|
14
|
+
:sudo_cmd => "echo '%p'|sudo -S sh '%f'",
|
15
|
+
:shutdown_cmd => "/sbin/halt -h -p",
|
16
|
+
:postinstall_files => [ "postinstall.sh"], :postinstall_timeout => 10000
|
17
|
+
})
|
@@ -0,0 +1,75 @@
|
|
1
|
+
# Kickstart file automatically generated by anaconda.
|
2
|
+
|
3
|
+
install
|
4
|
+
cdrom
|
5
|
+
lang en_US.UTF-8
|
6
|
+
keyboard 'us'
|
7
|
+
# note we set biosdevname=0 when launching install
|
8
|
+
# this means we will be using standard ethernet devices, e.g. eth[0,1,2] eth
|
9
|
+
network --onboot yes --device eth0 --bootproto dhcp --noipv6
|
10
|
+
timezone --utc America/New_York
|
11
|
+
rootpw --iscrypted $6$n/NGsk5H2aiBMXL4$r/oPkJtB5rasvQHPo9AvIJBe6sNVlQbpZxvTRMN7.qZk/Sn9u2qZ0XgNxflUvK20y7OIWdr/vv7MED6gzkBiH0
|
12
|
+
selinux --enforcing
|
13
|
+
auth --enableshadow --passalgo=sha512
|
14
|
+
firewall --service=ssh
|
15
|
+
|
16
|
+
# Avoiding warning message on Storage device breaking automated generation
|
17
|
+
zerombr
|
18
|
+
|
19
|
+
# The following is the partition information you requested
|
20
|
+
# Note that any partitions you deleted are not expressed
|
21
|
+
# here so unless you clear all partitions first, this is
|
22
|
+
# not guaranteed to work
|
23
|
+
clearpart --all --drives=sda --initlabel
|
24
|
+
|
25
|
+
#part biosboot --fstype=biosboot --size=1
|
26
|
+
part /boot --fstype=ext4 --size=500
|
27
|
+
part pv.2 --grow --size=500
|
28
|
+
|
29
|
+
volgroup vg_vagrant --pesize=32768 pv.2
|
30
|
+
logvol / --fstype=ext4 --name=lv_root --vgname=vg_vagrant --size=1024 --grow
|
31
|
+
logvol swap --fstype=swap --name=lv_swap --vgname=vg_vagrant --size=528 --grow --maxsize=1056
|
32
|
+
bootloader --location=mbr --driveorder=sda --append="norhgb biosdevname=0"
|
33
|
+
# Disable remote repositories, as this is a non-netinst install.
|
34
|
+
#repo --name="Fedora 17 - x86_64" --mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=fedora-17&arch=x86_64 --cost=1000
|
35
|
+
#repo --name="Fedora 17 - x86_64 - Updates" --mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=updates-released-f17&arch=x86_64 --cost=1000
|
36
|
+
services --enabled network
|
37
|
+
reboot
|
38
|
+
|
39
|
+
%packages
|
40
|
+
@core
|
41
|
+
|
42
|
+
# Requirements for vagrant
|
43
|
+
kernel-devel
|
44
|
+
kernel-headers
|
45
|
+
make
|
46
|
+
gcc
|
47
|
+
%end
|
48
|
+
|
49
|
+
%post
|
50
|
+
# Make ssh quicker in disconnected situations.
|
51
|
+
echo 'UseDNS no' >> /etc/ssh/sshd_config
|
52
|
+
|
53
|
+
# Disable udev persistent net rules
|
54
|
+
# We do this so that we do not persist rules mapped to virtual machines
|
55
|
+
# instances created from this basebox.
|
56
|
+
ln -s /dev/null /etc/udev/rule.d/70-persistent-net.rules
|
57
|
+
|
58
|
+
# Add Vagrant user and group.
|
59
|
+
/usr/sbin/groupadd vagrant
|
60
|
+
/usr/sbin/useradd vagrant -g vagrant
|
61
|
+
echo "vagrant"|passwd --stdin vagrant
|
62
|
+
|
63
|
+
# Give Vagrant user permission to sudo.
|
64
|
+
echo 'Defaults:vagrant !requiretty' > /etc/sudoers.d/vagrant
|
65
|
+
echo '%vagrant ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers.d/vagrant
|
66
|
+
chmod 440 /etc/sudoers.d/vagrant
|
67
|
+
|
68
|
+
# Install vagrant authorized ssh key.
|
69
|
+
mkdir /home/vagrant/.ssh
|
70
|
+
curl -L 'http://github.com/mitchellh/vagrant/raw/master/keys/vagrant.pub' > /home/vagrant/.ssh/authorized_keys
|
71
|
+
chown vagrant:vagrant -R /home/vagrant/.ssh
|
72
|
+
chmod 700 /home/vagrant/.ssh
|
73
|
+
chmod 600 /home/vagrant/.ssh/authorized_keys
|
74
|
+
chcon -R unconfined_u:object_r:user_home_t:s0 /home/vagrant/.ssh
|
75
|
+
%end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
#!/bin/sh
|
2
|
+
|
3
|
+
date > /etc/vagrant_box_build_time
|
4
|
+
|
5
|
+
VBOX_VERSION=$(cat /home/vagrant/.vbox_version)
|
6
|
+
|
7
|
+
yum -y update
|
8
|
+
|
9
|
+
yum -y install \
|
10
|
+
ruby \
|
11
|
+
ruby-devel \
|
12
|
+
puppet \
|
13
|
+
rubygems \
|
14
|
+
rubygem-erubis \
|
15
|
+
rubygem-highline \
|
16
|
+
rubygem-json \
|
17
|
+
rubygem-mime-types \
|
18
|
+
rubygem-net-ssh \
|
19
|
+
rubygem-polyglot \
|
20
|
+
rubygem-rest-client \
|
21
|
+
rubygem-treetop \
|
22
|
+
rubygem-uuidtools \
|
23
|
+
wget \
|
24
|
+
tar \
|
25
|
+
bzip2
|
26
|
+
|
27
|
+
cd /tmp
|
28
|
+
wget http://download.virtualbox.org/virtualbox/$VBOX_VERSION/VBoxGuestAdditions_$VBOX_VERSION.iso
|
29
|
+
mount -o loop,ro VBoxGuestAdditions_$VBOX_VERSION.iso /mnt
|
30
|
+
sh /mnt/VBoxLinuxAdditions.run
|
31
|
+
umount /mnt
|
32
|
+
rm VBoxGuestAdditions_$VBOX_VERSION.iso
|
33
|
+
|
34
|
+
gem install chef --no-rdoc --no-ri
|
35
|
+
|
36
|
+
exit
|
37
|
+
|
38
|
+
# EOF
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# Base install
|
2
|
+
|
3
|
+
sed -i "s/^.*requiretty/#Defaults requiretty/" /etc/sudoers
|
4
|
+
|
5
|
+
cat > /etc/yum.repos.d/public-yum-ol6.repo << EOM
|
6
|
+
[ol6_u3_base]
|
7
|
+
name=Oracle Linux $releasever Update 3 installation media copy (\$basearch)
|
8
|
+
baseurl=http://public-yum.oracle.com/repo/OracleLinux/OL6/3/base/\$basearch/
|
9
|
+
gpgkey=http://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol6
|
10
|
+
gpgcheck=1
|
11
|
+
enabled=1
|
12
|
+
|
13
|
+
[ol6_UEK_latest]
|
14
|
+
name=Latest Unbreakable Enterprise Kernel for Oracle Linux \$releasever (\$basearch)
|
15
|
+
baseurl=http://public-yum.oracle.com/repo/OracleLinux/OL6/UEK/latest/\$basearch/
|
16
|
+
gpgkey=http://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol6
|
17
|
+
gpgcheck=1
|
18
|
+
enabled=1
|
19
|
+
EOM
|
20
|
+
|
21
|
+
cat > /etc/yum.repos.d/epel.repo << EOM
|
22
|
+
[epel]
|
23
|
+
name=epel
|
24
|
+
baseurl=http://download.fedoraproject.org/pub/epel/6/\$basearch
|
25
|
+
enabled=1
|
26
|
+
gpgcheck=0
|
27
|
+
EOM
|
28
|
+
|
29
|
+
yum -y install gcc make gcc-c++ kernel-devel-`uname -r` kernel-uek-devel-`uname -r` zlib-devel openssl-devel readline-devel sqlite-devel perl wget
|
30
|
+
|
@@ -0,0 +1,40 @@
|
|
1
|
+
Veewee::Session.declare({
|
2
|
+
:cpu_count => '1',
|
3
|
+
:memory_size=> '480',
|
4
|
+
:disk_size => '10140',
|
5
|
+
:disk_format => 'VDI',
|
6
|
+
:hostiocache => 'off',
|
7
|
+
:os_type_id => 'RedHat_64',
|
8
|
+
:iso_file => "OracleLinux-R6-U3-Server-x86_64-dvd.iso",
|
9
|
+
:iso_src => "http://mirrors.wimmekes.net/pub/OracleLinux/OL6/U3/x86_64/OracleLinux-R6-U3-Server-x86_64-dvd.iso",
|
10
|
+
:iso_md5 => "7daae91cc0437f6a98a4359ad9706d678a9f19de",
|
11
|
+
:iso_download_timeout => 1000,
|
12
|
+
:boot_wait => "10",
|
13
|
+
:boot_cmd_sequence => [
|
14
|
+
'<Tab> text ks=http://%IP%:%PORT%/ks.cfg<Enter>'
|
15
|
+
],
|
16
|
+
:kickstart_port => "7122",
|
17
|
+
:kickstart_timeout => 10000,
|
18
|
+
:kickstart_file => "ks.cfg",
|
19
|
+
:ssh_login_timeout => "10000",
|
20
|
+
:ssh_user => "veewee",
|
21
|
+
:ssh_password => "veewee",
|
22
|
+
:ssh_key => "",
|
23
|
+
:ssh_host_port => "7222",
|
24
|
+
:ssh_guest_port => "22",
|
25
|
+
:sudo_cmd => "echo '%p'|sudo -S sh '%f'",
|
26
|
+
:shutdown_cmd => "/sbin/halt -h -p",
|
27
|
+
:postinstall_files => [
|
28
|
+
"base.sh",
|
29
|
+
"ruby.sh",
|
30
|
+
"chef.sh",
|
31
|
+
"puppet.sh",
|
32
|
+
"vagrant.sh",
|
33
|
+
"virtualbox.sh",
|
34
|
+
#"kvm.sh",
|
35
|
+
#"vmfusion.sh",
|
36
|
+
"cleanup.sh",
|
37
|
+
"zerodisk.sh"
|
38
|
+
],
|
39
|
+
:postinstall_timeout => 10000
|
40
|
+
})
|
@@ -0,0 +1,42 @@
|
|
1
|
+
install
|
2
|
+
cdrom
|
3
|
+
lang en_US.UTF-8
|
4
|
+
keyboard us
|
5
|
+
network --bootproto=dhcp
|
6
|
+
rootpw --iscrypted $1$damlkd,f$UC/u5pUts5QiU3ow.CSso/
|
7
|
+
firewall --enabled --service=ssh
|
8
|
+
authconfig --enableshadow --passalgo=sha512
|
9
|
+
selinux --disabled
|
10
|
+
timezone UTC
|
11
|
+
bootloader --location=mbr
|
12
|
+
|
13
|
+
text
|
14
|
+
skipx
|
15
|
+
zerombr
|
16
|
+
|
17
|
+
clearpart --all --initlabel
|
18
|
+
autopart
|
19
|
+
|
20
|
+
auth --useshadow --enablemd5
|
21
|
+
firstboot --disabled
|
22
|
+
reboot
|
23
|
+
|
24
|
+
%packages --ignoremissing
|
25
|
+
@core
|
26
|
+
bzip2
|
27
|
+
kernel-devel
|
28
|
+
kernel-headers
|
29
|
+
-ipw2100-firmware
|
30
|
+
-ipw2200-firmware
|
31
|
+
-ivtv-firmware
|
32
|
+
%end
|
33
|
+
|
34
|
+
%post
|
35
|
+
/usr/bin/yum -y install sudo
|
36
|
+
/usr/sbin/groupadd veewee
|
37
|
+
/usr/sbin/useradd veewee -g veewee -G wheel
|
38
|
+
echo "veewee"|passwd --stdin veewee
|
39
|
+
echo "veewee ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers.d/veewee
|
40
|
+
chmod 0440 /etc/sudoers.d/veewee
|
41
|
+
%end
|
42
|
+
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# Vagrant specific
|
2
|
+
date > /etc/vagrant_box_build_time
|
3
|
+
|
4
|
+
# Add vagrant user
|
5
|
+
/usr/sbin/groupadd vagrant
|
6
|
+
/usr/sbin/useradd vagrant -g vagrant -G wheel
|
7
|
+
echo "vagrant"|passwd --stdin vagrant
|
8
|
+
echo "vagrant ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers.d/vagrant
|
9
|
+
chmod 0440 /etc/sudoers.d/vagrant
|
10
|
+
|
11
|
+
# Installing vagrant keys
|
12
|
+
mkdir -pm 700 /home/vagrant/.ssh
|
13
|
+
wget --no-check-certificate 'https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub' -O /home/vagrant/.ssh/authorized_keys
|
14
|
+
chmod 0600 /home/vagrant/.ssh/authorized_keys
|
15
|
+
chown -R vagrant /home/vagrant/.ssh
|
16
|
+
|
17
|
+
# Customize the message of the day
|
18
|
+
echo 'Welcome to your Vagrant-built virtual machine.' > /etc/motd
|