veewee 0.4.1 → 0.4.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- NjZjNmNkY2FiMjZjZGM0ZTk0ODUwYThmYzhiMzBmYWZkOGI4YmFkOA==
4
+ MDY0M2Q2ZDk2NGZkYTY4MzcwY2E3MTFjY2ZiY2ZjNDY5NDc5Yzg2Mg==
5
5
  data.tar.gz: !binary |-
6
- MjUyM2UzZWIzOTJiNDk2YzBjOTU0YmYwOGMxNmIwNDcxNjYzMmEwMg==
6
+ YWQ4ODA1N2QwOGRhZTBhNDZmZGMyOTkyY2RmNDVkYThjYmYwODE0NQ==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- OTM3MzVlYzQ3NTZhNTEyODIwMjQ3NDcyMDNjNzFhZGNmOTk0MmViOTE1ZGVi
10
- OTAyNjM3OWM4ZTY2MGQ2N2I2N2IxODA1YWJkMzE5MWEyNTYyZDliZTA4NDZh
11
- NzVhOWNkN2M0M2FkMDM0OTY3YmU5MmUxYmVlNTYxOTA0ODBiNWY=
9
+ NzQ3MGQ0OTdiMmJjNDA5ZTEzZWFmMjEwMjE2ZGU5OWU4MTZiZjQ4MjA3OTMx
10
+ MDVlNWVhNzExMGMzMjY2ZGMxNjhmNDAxYjBlYWFkMTkzZmJkYTdhOWM4MDhj
11
+ ZGUxYjQzNGM3ZGYwYmQ1ZDNlZmE2N2Y4ZDgwN2ZkZWNjYTQ0YTQ=
12
12
  data.tar.gz: !binary |-
13
- OWU3ZmQwMTRmY2JjNTI0YTFhYzNlMWU1YWExZDhjZWRjYjFjOGI1MjFlOTM5
14
- OWI5ODlhMjA0MGJmN2NmNmQwMjVlY2U3ZjExYTM1YWYyNTNlOGQ2MGRlOWM0
15
- NWI3MmYwODM4ZWVkMDI5NzhhMjFjMGFiODE2OTM1YzlkMDQyMGY=
13
+ NThmYzRkZmU5YjA0OGMyNWM5ZjdlOGQ2NTVhZjgzYjdlZGI2YWYwMjYxZmUz
14
+ NDA4OTFiNzI4ZDc5MzQzMDQzM2YxN2FjMDMzNGM2NGQxN2NmNGRlODU0NDNl
15
+ Y2NjNjMzZDg2NzkwYWRjOWI1ZTZkZjZiN2ZhNmYzMWI4MzBhNDQ=
@@ -24,13 +24,11 @@ module Fission
24
24
 
25
25
  fusion_version = :unknown
26
26
 
27
- if File.exists?("/Library/Application Support/VMware Fusion/vmrun")
28
- @attributes['vmrun_bin'] = '/Library/Application Support/VMware Fusion/vmrun'
29
- end
30
-
31
- if File.exists?("/Applications/VMware Fusion.app/Contents/Library/vmrun")
32
- @attributes['vmrun_bin'] = "/Applications/VMware Fusion.app/Contents/Library/vmrun"
33
- end
27
+ @attributes['vmrun_bin'] = %w{
28
+ /Library/Application Support/VMware Fusion/vmrun
29
+ /Applications/VMware Fusion.app/Contents/Library/vmrun
30
+ /usr/local/bin/vmrun
31
+ }.find { |path| File.exists?(path) }
34
32
 
35
33
  if fusion_version == :unknown
36
34
  end
@@ -70,7 +70,7 @@ module Veewee
70
70
  until thestring.length == 0
71
71
  nospecial=true;
72
72
  @@special_keys.keys.each { |key|
73
- if thestring.start_with?(key)
73
+ if thestring.match(/^#{key}/i)
74
74
  #take thestring
75
75
  #check if it starts with a special key + pop special string
76
76
  keycodes=keycodes+@@special_keys[key]+' ';
@@ -10,11 +10,10 @@ module Veewee
10
10
  def check_requirements
11
11
  require 'fission'
12
12
 
13
- if File.exists?("/Library/Application Support/VMware Fusion/vmrun")
14
- ::Fission.config.attributes["vmrun_bin"] = "/Library/Application Support/VMware Fusion/vmrun"
15
- elsif File.exists?("/Applications/VMware Fusion.app/Contents/Library/vmrun")
16
- ::Fission.config.attributes["vmrun_bin"] = "/Applications/VMware Fusion.app/Contents/Library/vmrun"
17
- elsif
13
+ if
14
+ ::Fission.config.attributes["vmrun_bin"].nil? ||
15
+ !File.exists?(::Fission.config.attributes["vmrun_bin"])
16
+ then
18
17
  raise Veewee::Error,"Could not find vmrun at standard locations. Probably you don't have Vmware fusion installed"
19
18
  end
20
19
  env.logger.info("Found fusion version: #{fusion_version}")
@@ -4,5 +4,5 @@ end
4
4
 
5
5
  # Only set the version constant if it wasn't set before
6
6
  unless defined?(Veewee::VERSION)
7
- ::Veewee::VERSION="0.4.1"
7
+ ::Veewee::VERSION="0.4.2"
8
8
  end
@@ -29,7 +29,7 @@ cd /usr/ports/ports-mgmt/pkg
29
29
  make -DBATCH install
30
30
 
31
31
  # Install binary packages versions of dependencies
32
- pkg install -y sudo bash chef puppet portupgrade perl5 kBuild yasm
32
+ pkg install -y sudo bash rubygem-chef puppet portupgrade perl5 kBuild yasm
33
33
 
34
34
  cat >> /etc/make.conf << EOT
35
35
  WITH_ETCSYMLINK="YES"
@@ -0,0 +1,20 @@
1
+
2
+ # Apt-install various things necessary for Ruby, guest additions,
3
+ # etc., and remove optional things to trim down the machine.
4
+ apt-get -y update
5
+ apt-get -y upgrade
6
+ apt-get -y install gcc build-essential linux-headers-$(uname -r)
7
+ apt-get -y install zlib1g-dev libssl-dev libreadline-gplv2-dev libyaml-dev
8
+ apt-get -y install vim curl
9
+ apt-get clean
10
+
11
+ # Set up sudo
12
+ ( cat <<'EOP'
13
+ %vagrant ALL=NOPASSWD:ALL
14
+ EOP
15
+ ) > /tmp/vagrant
16
+ chmod 0440 /tmp/vagrant
17
+ mv /tmp/vagrant /etc/sudoers.d/
18
+
19
+ # Install NFS client
20
+ apt-get -y install nfs-common
@@ -0,0 +1,2 @@
1
+ # Install Chef
2
+ curl -L https://www.opscode.com/chef/install.sh | sudo bash
@@ -0,0 +1,23 @@
1
+ # Remove items used for building, since they aren't needed anymore
2
+
3
+ apt-get -y remove linux-headers-$(uname -r) build-essential
4
+ apt-get -y autoremove
5
+
6
+ #Clean up tmp
7
+ rm -rf /tmp/*
8
+
9
+ # Removing leftover leases and persistent rules
10
+ echo "cleaning up dhcp leases"
11
+ rm /var/lib/dhcp/*
12
+
13
+ # Make sure Udev doesn't block our network
14
+ # http://6.ptmc.org/?p=164
15
+ echo "cleaning up udev rules"
16
+ rm /etc/udev/rules.d/70-persistent-net.rules
17
+ mkdir /etc/udev/rules.d/70-persistent-net.rules
18
+ rm -rf /dev/.udev/
19
+ rm /lib/udev/rules.d/75-persistent-net-generator.rules
20
+
21
+ echo "Adding a 2 sec delay to the interface up, to make the dhclient happy"
22
+ echo "pre-up sleep 2" >> /etc/network/interfaces
23
+ exit
@@ -0,0 +1,44 @@
1
+ Veewee::Session.declare({
2
+ :cpu_count => '1',
3
+ :memory_size=> '512',
4
+ :disk_size => '10140',
5
+ :disk_format => 'VDI',
6
+ :hostiocache => 'off',
7
+ :os_type_id => 'Ubuntu_64',
8
+ :iso_file => "ubuntu-12.04.3-server-amd64.iso",
9
+ :iso_src => "http://releases.ubuntu.com/12.04/ubuntu-12.04.3-server-amd64.iso",
10
+ :iso_md5 => '2cbe868812a871242cdcdd8f2fd6feb9',
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=USA keyboard-configuration/variant=USA 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 => [
34
+ "base.sh",
35
+ "vagrant.sh",
36
+ "parallels.sh",
37
+ "ruby.sh",
38
+ "puppet.sh",
39
+ "chef.sh",
40
+ "cleanup.sh",
41
+ "zerodisk.sh"
42
+ ],
43
+ :postinstall_timeout => "10000"
44
+ })
@@ -0,0 +1,4 @@
1
+ PARALLELS_TOOLS_ISO=prl-tools-lin.iso
2
+ mount -o loop $PARALLELS_TOOLS_ISO /media/cdrom
3
+ /media/cdrom/install --install-unattended-with-deps --progress
4
+ umount /media/cdrom
@@ -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 USA
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,7 @@
1
+ # Prepare puppetlabs repo
2
+ wget http://apt.puppetlabs.com/puppetlabs-release-precise.deb
3
+ dpkg -i puppetlabs-release-precise.deb
4
+ apt-get update
5
+
6
+ # Install puppet/facter
7
+ apt-get install -y puppet facter
@@ -0,0 +1,26 @@
1
+ # Install Ruby from source in /opt so that users of Vagrant
2
+ # can install their own Rubies using packages or however.
3
+
4
+ apt-get -y install libyaml-0-2
5
+ RUBY_VERSION=1.9.3-p392
6
+ wget http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-$RUBY_VERSION.tar.gz
7
+ tar xvzf ruby-$RUBY_VERSION.tar.gz
8
+ cd ruby-$RUBY_VERSION
9
+ ./configure --prefix=/opt/ruby
10
+ make
11
+ make install
12
+ cd ..
13
+ rm -rf ruby-$RUBY_VERSION
14
+
15
+ # Install RubyGems 1.8.25
16
+ RUBYGEMS_VERSION=1.8.25
17
+ wget http://production.cf.rubygems.org/rubygems/rubygems-$RUBYGEMS_VERSION.tgz
18
+ tar xzf rubygems-$RUBYGEMS_VERSION.tgz
19
+ cd rubygems-$RUBYGEMS_VERSION
20
+ /opt/ruby/bin/ruby setup.rb
21
+ cd ..
22
+ rm -rf rubygems-$RUBYGEMS_VERSION
23
+
24
+ # Add /opt/ruby/bin to the global path as the last resort so
25
+ # Ruby, RubyGems, and Chef/Puppet are visible
26
+ echo 'PATH=$PATH:/opt/ruby/bin/'> /etc/profile.d/vagrantruby.sh
@@ -0,0 +1,12 @@
1
+ date > /etc/vagrant_box_build_time
2
+
3
+ # Setup sudo to allow no-password sudo for "sudo"
4
+ usermod -a -G sudo vagrant
5
+
6
+ # Installing vagrant keys
7
+ mkdir /home/vagrant/.ssh
8
+ chmod 700 /home/vagrant/.ssh
9
+ cd /home/vagrant/.ssh
10
+ wget --no-check-certificate 'https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub' -O authorized_keys
11
+ chmod 600 /home/vagrant/.ssh/authorized_keys
12
+ chown -R vagrant /home/vagrant/.ssh
@@ -0,0 +1,33 @@
1
+ if test -f .vmfusion_version ; then [15/436]
2
+
3
+ cd /tmp
4
+ mkdir -p /mnt/cdrom
5
+ mount -o loop /home/vagrant/linux.iso /mnt/cdrom
6
+ tar zxvf /mnt/cdrom/VMwareTools-*.tar.gz -C /tmp/
7
+ /tmp/vmware-tools-distrib/vmware-install.pl -d
8
+ rm /home/vagrant/linux.iso
9
+ umount /mnt/cdrom
10
+
11
+ fi
12
+
13
+ if test -f .vbox_version ; then [3/436]
14
+
15
+ # Without libdbus virtualbox would not start automatically after compile
16
+ apt-get -y install --no-install-recommends libdbus-1-3
17
+
18
+ # The netboot installs the VirtualBox support (old) so we have to remove it
19
+ /etc/init.d/virtualbox-ose-guest-utils stop
20
+ rmmod vboxguest
21
+ aptitude -y purge virtualbox-ose-guest-x11 virtualbox-ose-guest-dkms virtualbox-ose-guest-utils
22
+ aptitude -y install dkms
23
+
24
+ # Install the VirtualBox guest additions
25
+ VBOX_VERSION=$(cat /home/vagrant/.vbox_version)
26
+ VBOX_ISO=VBoxGuestAdditions_$VBOX_VERSION.iso
27
+ mount -o loop $VBOX_ISO /mnt
28
+ yes|sh /mnt/VBoxLinuxAdditions.run
29
+ umount /mnt
30
+
31
+ #Cleanup VirtualBox
32
+ rm $VBOX_ISO
33
+ fi
@@ -0,0 +1,3 @@
1
+ # Zero out the free space to save space in the final image:
2
+ dd if=/dev/zero of=/EMPTY bs=1M
3
+ rm -f /EMPTY
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: veewee
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1
4
+ version: 0.4.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Patrick Debois
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-10-05 00:00:00.000000000 Z
11
+ date: 2014-10-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: net-ssh
@@ -2008,6 +2008,17 @@ files:
2008
2008
  - templates/ubuntu-12.04.3-desktop-i386/sudo.sh
2009
2009
  - templates/ubuntu-12.04.3-desktop-i386/vagrant.sh
2010
2010
  - templates/ubuntu-12.04.3-desktop-i386/vbox.sh
2011
+ - templates/ubuntu-12.04.3-server-amd64-parallels/base.sh
2012
+ - templates/ubuntu-12.04.3-server-amd64-parallels/chef.sh
2013
+ - templates/ubuntu-12.04.3-server-amd64-parallels/cleanup.sh
2014
+ - templates/ubuntu-12.04.3-server-amd64-parallels/definition.rb
2015
+ - templates/ubuntu-12.04.3-server-amd64-parallels/parallels.sh
2016
+ - templates/ubuntu-12.04.3-server-amd64-parallels/preseed.cfg
2017
+ - templates/ubuntu-12.04.3-server-amd64-parallels/puppet.sh
2018
+ - templates/ubuntu-12.04.3-server-amd64-parallels/ruby.sh
2019
+ - templates/ubuntu-12.04.3-server-amd64-parallels/vagrant.sh
2020
+ - templates/ubuntu-12.04.3-server-amd64-parallels/vmtools.sh
2021
+ - templates/ubuntu-12.04.3-server-amd64-parallels/zerodisk.sh
2011
2022
  - templates/ubuntu-12.04.3-server-amd64/base.sh
2012
2023
  - templates/ubuntu-12.04.3-server-amd64/chef.sh
2013
2024
  - templates/ubuntu-12.04.3-server-amd64/cleanup.sh