veewee 0.3.1 → 0.3.2
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.
- 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
|