Commit Graph

1184 Commits

Author SHA1 Message Date
Mitchell Hashimoto 627fa4295f buildbot: Better failure styling on CI 2011-11-19 17:36:43 -08:00
Mitchell Hashimoto 96639d78d4 buildbot: Add style for failed builds 2011-11-19 17:32:54 -08:00
Mitchell Hashimoto 9dd0aab37f Remove unused build steps 2011-11-19 16:45:00 -08:00
Mitchell Hashimoto a6cee79633 Buildbot: Update waterfall headers 2011-11-19 13:33:08 -08:00
Mitchell Hashimoto 2ef8206ff2 buildbot: Another slight styling update to change page 2011-11-19 13:31:21 -08:00
Mitchell Hashimoto 21c403965b buildbot: Update change page 2011-11-19 13:30:10 -08:00
Mitchell Hashimoto b11db62677 buildbot: Homepage styling 2011-11-19 13:19:48 -08:00
Mitchell Hashimoto 40c1169d4c Buildbot: Design for slaves pages 2011-11-19 13:04:46 -08:00
Mitchell Hashimoto efa29f1859 buildbot: Start redesigning the CI 2011-11-19 12:55:04 -08:00
Mitchell Hashimoto 9ee301c525 Buildbot: Make the acceptance tests dependent on the unit tests passing 2011-11-13 20:57:51 -08:00
Mitchell Hashimoto 98919fbec5 Add buildsteps and builders for acceptance tests 2011-11-13 20:42:22 -08:00
Mitchell Hashimoto a8909cbb0b Acceptance tests now take a "box_directory" instead of paths to individual boxes 2011-11-13 13:49:21 -08:00
Mitchell Hashimoto bb06a20843 Add `rake acceptance:boxes` to download required boxes for tests 2011-11-13 13:37:30 -08:00
Mitchell Hashimoto b62d7c317c Generalize the builder creation methods a bit to prepare for dependent builders 2011-11-12 16:51:00 -08:00
Mitchell Hashimoto 5d98c5cab7 Buildbot: Require user auth for forcing builds 2011-11-12 16:09:30 -08:00
Mitchell Hashimoto c0f3e6b954 CI: Fix deploy to work properly 2011-11-12 15:53:52 -08:00
Mitchell Hashimoto a090eb36fb Don't allow any commands on the Vagrant CI right now 2011-11-12 15:52:27 -08:00
Mitchell Hashimoto 7d63b4d0ab Deploy/setup scripts for the buildmaster 2011-11-12 15:51:26 -08:00
Mitchell Hashimoto e1a4287ef5 Add choices to a vendor/ directory 2011-11-12 13:27:29 -08:00
Mitchell Hashimoto aeae640c34 Buildbot: Add a scheduler for the master branch to run 2011-11-12 13:18:19 -08:00
Mitchell Hashimoto 5974fbcb16 Buildbot: Enable github hook 2011-11-12 13:14:16 -08:00
Mitchell Hashimoto 49135dfd24 Buildbot runs unit tests! Yay! 2011-11-12 13:06:37 -08:00
Mitchell Hashimoto 44540f369d Add buildbot code for what will become the Vagrant CI 2011-11-12 10:20:07 -08:00
Mitchell Hashimoto 60a350f9c7 Test that `vagrant up` works if Vagrantfile is in a parent directory 2011-11-11 00:19:46 -08:00
Mitchell Hashimoto f0aa19f696 Test shared folders for basic up tests 2011-11-11 00:10:42 -08:00
Mitchell Hashimoto 7a07a78bf1 Shared contexts for Vagrant command similarities 2011-11-10 21:54:58 -08:00
Mitchell Hashimoto 8787c4b876 Acceptance tests: Get rid of remaining "assert" statements 2011-11-08 23:09:04 -08:00
Mitchell Hashimoto 4443a323e5 Create the output matcher, switch to RSpec style matchers 2011-11-08 23:03:15 -08:00
Mitchell Hashimoto 87bc6ec63f RSpec is coming in for acceptance tests. More details follow...
RSpec was chosen to be used for acceptance tests for many reasons:

* The tests are actually much cleaner now. It is clearer to see what
  is being tested, and what is being used for setup.
* Matcher transition will be coming soon. This will really clean up
  a lot of the "assert" boilerplate all over. There was a lot of repetition
  in this area.
* Shared examples will help greatly for testing common error cases
  for many commands.
* The test runner for RSpec is simply much better. Being able to specify
  the exact test to run by line, for example, is a great help.
2011-11-06 23:47:23 -08:00
Mitchell Hashimoto 699c67c1aa Test: Able to pass a command to execute via `vagrant ssh` command 2011-11-06 22:35:53 -08:00
Mitchell Hashimoto 2796c441ea Add more SSH tests 2011-11-06 22:21:02 -08:00
Mitchell Hashimoto 3412a11c51 Move `vagrant ssh` test into ssh_test.rb 2011-11-06 22:17:27 -08:00
Mitchell Hashimoto 641a581d6b Rename the up test 2011-11-06 22:15:59 -08:00
Mitchell Hashimoto dba2a4e3e7 Check that VirtualBox isn't running at the beginning of the acceptance tests 2011-11-06 19:21:29 -08:00
Mitchell Hashimoto 2c607ca4f4 Wait for VBoxSVC to disappear between tests. 2011-11-06 19:20:14 -08:00
Mitchell Hashimoto 2febc9fcff Isolated environment removes virtual machines after run. 2011-11-06 18:45:49 -08:00
Mitchell Hashimoto 797f124e6d Test: `vagrant up` should bring up a machine ready for SSH 2011-11-06 18:28:05 -08:00
Mitchell Hashimoto e86628c023 test: `vagrant up` should fail if no Vagranfile is found 2011-11-06 18:23:06 -08:00
Mitchell Hashimoto a80e579af7 Add a bunch of test TODOs 2011-11-06 13:44:44 -08:00
Mitchell Hashimoto 421a1fb341 First "up" based acceptance test. Multiple fixes to test harness.
* First test that uses "vagrant up"
* Allow interaction with processes executed during `execute` so that
  we can enter input into STDIN and receive data from STDOUT in
  real time.
* Fix some issue with `waitpid2`, which actually speeds up all tests
  quite a bit.
2011-11-06 13:30:49 -08:00
Mitchell Hashimoto f83c1b3c27 Fix regression introduced with cab1e4e 2011-11-05 15:19:03 -07:00
Mitchell Hashimoto 66761ae3ff Comments on the Output class 2011-11-05 15:01:00 -07:00
Mitchell Hashimoto bb09b249b6 Use output helpers instead of direct regex's in tests.
We're not trying to test the format of the output, we're trying
to test the meaning of the output, so hide that state away in
another class.
2011-11-05 14:59:17 -07:00
Mitchell Hashimoto 55f2ac3f54 Isolated env will log output of command as it comes. Update tests. 2011-11-05 14:44:24 -07:00
Mitchell Hashimoto bb4f7b6418 `vagrant init` acceptance tests 2011-11-05 14:09:18 -07:00
Mitchell Hashimoto 56d4a7f14e Digest/SHA1 not required here 2011-11-05 13:30:57 -07:00
Mitchell Hashimoto 08daf11580 Add loggers to acceptance tests 2011-11-03 23:07:51 -07:00
Mitchell Hashimoto 9a551837d6 Tests for removing and repackaging a box 2011-11-03 23:05:06 -07:00
Mitchell Hashimoto d9d8029783 Test that adding an invalid box results in an error 2011-11-03 22:22:19 -07:00
Mitchell Hashimoto d0e191a96c Make some changes to have tests run on 1.8.7 2011-11-03 22:12:51 -07:00
Mitchell Hashimoto cab1e4e49b Make the file download the default for `vagrant box add`. Tests. 2011-11-03 21:56:38 -07:00
Mitchell Hashimoto c9cf2867ea Some `vagrant box` tests 2011-11-03 21:38:15 -07:00
Mitchell Hashimoto 78f8705c5b Make the `vagrant` tests cleaner 2011-11-03 21:38:07 -07:00
Mitchell Hashimoto f741d81582 Fix color tests 2011-11-02 23:37:19 -07:00
Mitchell Hashimoto 974c180d8f Tests that color and --no-color work properly 2011-11-02 23:16:29 -07:00
Mitchell Hashimoto d753b750e9 Do not output color if stdout is not a TTY 2011-11-02 21:59:35 -07:00
Mitchell Hashimoto 2bd0b76fd2 Set isolated environment working dir to the proper directory 2011-11-02 21:55:54 -07:00
Mitchell Hashimoto b3e4efb786 Basic box tests 2011-11-02 21:42:09 -07:00
Mitchell Hashimoto a19fa6a07c Cleanup temporary directory after running 2011-11-02 21:41:41 -07:00
Mitchell Hashimoto 4c6f8d2b52 Setup isolated environment to setup a custom HOME directory as well 2011-11-02 21:38:48 -07:00
Mitchell Hashimoto ec38417abb Add more acceptance tests for printing the Vagrant version 2011-11-02 21:15:53 -07:00
Mitchell Hashimoto 4c9ad26115 Acceptance tests starting code is in. Version is an example. 2011-11-02 21:09:38 -07:00
Justin Brown 0c2fc0cae2 Make init respect the env's cwd. 2011-10-30 22:48:35 -07:00
Mitchell Hashimoto 245bcf436f Have tests pass on Ruby 1.8.x 2011-10-30 22:23:36 -07:00
Ticean Bennett dab80649b8 Added Basic Auth support to HTTP downloader. 2011-10-14 18:37:24 +02:00
Mitchell Hashimoto 7219f3d05b Show warning if forwarding port less than 1024 [closes GH-487] 2011-09-11 23:56:02 -07:00
Samer Abukhait 99646735d0 Don't do the port threshold check if running under root 2011-09-11 23:26:55 -07:00
Mitchell Hashimoto 1cfef2734a Fix crashing bug if .vagrant is invalid. [closes GH-496] 2011-09-11 23:23:17 -07:00
Mitchell Hashimoto ce5d989384 Moving unit tests to test/unit 2011-08-28 23:10:32 -07:00
Mitchell Hashimoto 327a6f9d94 Add a check for VM accessibility before every action 2011-08-28 20:32:22 -07:00
Mitchell Hashimoto bf32fb4de8 Args can now be specified to the shell provisioner [closes GH-475] 2011-08-28 00:01:23 -07:00
Mitchell Hashimoto 8ff269c341 Chef solo roles_path and data_bag_path should be a string 2011-08-02 23:30:57 -07:00
Mitchell Hashimoto ed8bf34153 Chef client accepts nil run list to load run list from server [closes GH-429] 2011-07-25 21:33:36 -07:00
Mitchell Hashimoto 3f9534ae7d Tests passing from Puppet update 2011-07-22 23:56:04 -07:00
Mitchell Hashimoto 14ca7ecc24 Better validation for networking configuration 2011-07-22 23:53:19 -07:00
Mitchell Hashimoto 16c21ed9d1 More terse test 2011-07-22 23:07:44 -07:00
Jeff Rafter 64ae5bcdf9 Rework indexes on chef solo provisioner to fix roles, data_bags [closes GH-425] 2011-07-22 23:02:16 -07:00
Mitchell Hashimoto 270da0da80 Failing test case for #407 2011-07-22 22:57:04 -07:00
Mitchell Hashimoto 6300bebe72 Disable SSH caching for now 2011-07-21 14:55:03 -07:00
Mitchell Hashimoto 0dacd78b10 Add `forwarded_port_destination` to find SSH port by that instead of key. [closes GH-375] 2011-07-10 22:41:35 -07:00
Mitchell Hashimoto 8248679fab Fix bug with loading Vagrantfiles with new case changing 2011-07-10 16:08:39 -07:00
Mitchell Hashimoto 0db2ec9d43 Remove ResourceLogger and PlainLogger 2011-07-10 15:35:45 -07:00
Mitchell Hashimoto 442584fbac Change default home directory to ~/.vagrant.d [closes GH-333] 2011-07-09 18:55:33 -07:00
Mitchell Hashimoto 52c5c79edf Retry connection on Net::SSH::Disconnect [closes GH-313] 2011-07-09 17:02:41 -07:00
Mitchell Hashimoto 5143556065 Standardize on Util::Platform 2011-07-09 16:51:04 -07:00
Mitchell Hashimoto 1aed9f0f38 Remove leopard/tiger checking and just retry exec using safe_exec 2011-07-09 16:37:12 -07:00
Mitchell Hashimoto 874a9763f5 Only one copy of Vagrant can run at any given time. [closes GH-364]
This is to protect against issues with VirtualBox overwriting
each other.
2011-07-09 16:21:38 -07:00
Mitchell Hashimoto 24337b0ca4 vagrantfile now is lowercase. backwards compatible, though. [closes GH-399] 2011-07-09 15:18:52 -07:00
Mitchell Hashimoto 0b02deb37a Share folders go into the modify pipeline 2011-07-08 12:07:27 -07:00
Mitchell Hashimoto d797e48389 Clear shared folders uses new modify pipeline 2011-07-08 12:05:18 -07:00
Mitchell Hashimoto 79c46b4ec1 Forward ports now uses modify pipeline 2011-07-08 12:04:01 -07:00
Mitchell Hashimoto 027b22eca0 Clear forwarded ports to the modify pipeline 2011-07-08 12:02:35 -07:00
Mitchell Hashimoto 6b2feae0e8 Create single interal modify block to sync VM modifications 2011-07-08 11:59:29 -07:00
Mitchell Hashimoto f3c44fba2f Clear shared folders now in the context of a single write lock 2011-07-08 00:26:28 -07:00
Mitchell Hashimoto 60708873e4 Clear forwarded ports is now done in context of customize block 2011-07-08 00:20:15 -07:00
Mitchell Hashimoto 268f7f7bc2 Improved lock-reducing of forwarded ports action 2011-07-08 00:03:33 -07:00
Mitchell Hashimoto 2492f479d5 Tests passing from recent action changes 2011-07-07 23:58:42 -07:00
Mitchell Hashimoto d77738b37f Cache SSH connections to VMs. 2011-07-07 23:15:19 -07:00
Mitchell Hashimoto e625dba5ab Multiple Chef provisioners no longer overwrite cookbook folders. [closes GH-407] 2011-07-07 22:49:58 -07:00
Mitchell Hashimoto 729d62d1ea Chef solo no longer overwrites share folders when multiple provisioners exist 2011-07-07 21:38:07 -07:00
Mitchell Hashimoto 5ae483ef85 Provisioners now properly share folders again 2011-07-07 10:38:32 -07:00
Mitchell Hashimoto 19eaddcd3a Action to call `cleanup` method on provisioners during destroy. 2011-07-06 23:02:19 -07:00
Mitchell Hashimoto 1de152ae36 Move provisioning prepare up into the `call` method 2011-07-06 22:50:49 -07:00
Mitchell Hashimoto bdc316f4ef Provisioner configuration no longer cleared when box is downloaded during an `up`. [closes GH-308] 2011-07-06 22:08:37 -07:00
Mitchell Hashimoto 8733a745ce Can now specify owner/group of shared folders. [closes GH-350] 2011-07-05 23:53:23 -07:00
Mitchell Hashimoto dcaca22810 Show nice error message for bad HTTP downloads [closes GH-403] 2011-07-05 22:48:02 -07:00
Mitchell Hashimoto c27d857387 Rename :chef_server to :chef_client. [GH-359] 2011-07-03 17:20:06 -07:00
Jamie Winsor 7c89ef3de2 Add support for Chef encrypted data bags: http://wiki.opscode.com/display/chef/Encrypted+Data+Bags
Add two configuration options to chef_server provision:
  encrypted_data_bag_secret_key_path - the location of your encrypted secret key on your local machine
  encrypted_data_bag_secret - the location you wish to place the key on the target machine and the value of Chef::Config[:encrypted_data_bag_secret]. Default value of "/etc/chef/encrypted_data_bag".
2011-07-02 21:20:22 -07:00
Mitchell Hashimoto 1e33aa9ab4 Get the tests passing for the Chef provisioner 2011-06-16 18:07:11 -06:00
Mitchell Hashimoto 338b3ac094 Run Chef commands in a single command [GH-390] 2011-06-16 18:04:55 -06:00
Maksim Horbul 23bb514100 provide absolute paths for solo.rb and dna.js in order to make it work correctly with the restart cookbook https://github.com/dreamcat4/site-cookbooks/tree/COOK-245/restart/ 2011-06-13 14:08:21 -07:00
Mitchell Hashimoto c117dba4ab Refactor and tests for GH-342 (chef enhancements) 2011-05-16 12:49:05 -07:00
Mitchell Hashimoto f30ef2b8a9 Merge https://github.com/rcreasey/vagrant 2011-05-16 12:37:21 -07:00
Ryan C. Creasey d0000e9f49 adding tests for providing data bags into the vm. 2011-05-12 08:06:57 -07:00
Mitchell Hashimoto b8c2b6cde4 Fix test incompat with Ruby 1.8.6 2011-05-12 00:04:11 -07:00
Pat Collins 5f751d5a77 Provide a method to specify a Chef environment in a Vagrantfile. 2011-05-11 23:31:36 -07:00
Mitchell Hashimoto 234c47a3a7 Retryable can take multiple exceptions to retry on 2011-04-19 22:24:52 -07:00
Dimitri Aivaliotis 6f9387adc6 added :file_cache_path and :file_backup_path as configurable parameters
removed deprecated :file_store_path parameter
2011-02-25 19:33:01 -08:00
Mitchell Hashimoto 3c45df0a88 Can now configure what shell to sudo with (default: bash) 2011-02-08 23:06:05 -08:00
Mitchell Hashimoto 22f085dc5d Tests for mac address setting on host only network 2011-02-08 19:42:32 -08:00
Mitchell Hashimoto 6d6ca39795 Host only networking only doesn't work on 64-bit Windows 2011-01-29 21:03:27 -08:00
Mitchell Hashimoto 8d55bdcae5 Style tweaks and tests added for changing host name 2011-01-28 17:41:48 -08:00
Mitchell Hashimoto 1e931eaba6 chmod and execute shell provisioning script in a single session 2011-01-25 11:43:25 -08:00
Mitchell Hashimoto 75e283c81a New `shell` provisioner which uploads and executes a script as root on VM 2011-01-23 12:00:50 -08:00
Mitchell Hashimoto 2821dcee7f SSH commands which use sudo compatible with sudo < 1.7.0 2011-01-21 23:38:42 -08:00
Mitchell Hashimoto 59fa9ac46b net-ssh 2.1.0. Adds "IdentitiesOnly" support for net-ssh, fixing problems. 2011-01-19 22:00:38 -08:00
Mitchell Hashimoto 9673b7eaee Remove config.ssh.port, it actually never did anything 2011-01-14 00:36:49 -08:00
Mitchell Hashimoto 66bf56a073 Fix issue with puppet mounting shared folder as subfolder of another, causing spurious folder creation on the host 2011-01-14 00:21:20 -08:00
Mitchell Hashimoto 302f9ff0bb Puppet provisioner can mount/configure module paths from local directory 2011-01-13 21:02:26 -08:00
Mitchell Hashimoto db20f399fb Improved puppet config validation 2011-01-13 17:27:39 -08:00
Mitchell Hashimoto 8d24f779f0 Provisioner config object should have access to the top config 2011-01-13 16:54:34 -08:00
Mitchell Hashimoto 3051174dfe Chef server config validation testing 2011-01-12 17:00:01 -08:00
Mitchell Hashimoto 2a5070dad7 All provisioners are now RVM-friendly 2011-01-12 16:57:19 -08:00
Mitchell Hashimoto 93d241f4ce Puppet is now RVM friendly 2011-01-12 16:28:45 -08:00
Mitchell Hashimoto 8482eeff0b net-ssh-shell support for shell-based SSH interactions 2011-01-12 15:21:54 -08:00
Mitchell Hashimoto a4a02675ad Add a nice full error message for the old-style provisioner setting 2011-01-12 01:19:21 -08:00
Mitchell Hashimoto 047f9970fe Support hash based options for provisioners 2011-01-12 01:02:53 -08:00
Mitchell Hashimoto 4e5a7aa6bf Fix order-dependent test 2011-01-12 00:14:16 -08:00
Mitchell Hashimoto 658affe8cd Provisioner config tests, fixed some bugs 2011-01-11 23:11:51 -08:00
Mitchell Hashimoto a91ad4d89f Fixed provisioners to the new conventions. Tests passing! 2011-01-11 22:37:09 -08:00
Mitchell Hashimoto cddccab9ae Provision action works again 2011-01-11 22:13:09 -08:00
Mitchell Hashimoto 85b8ccc2ec Provisioners now register themselves with their shortcut name 2011-01-11 19:52:55 -08:00
Mitchell Hashimoto 766607db49 Raise an error message if host only networking is not supported 2011-01-09 13:34:37 -08:00
Mitchell Hashimoto d00f314eb9 Systems can now respond to `distro_dispatch` to return specific distro systems 2011-01-09 13:06:26 -08:00
Mitchell Hashimoto 25ea67a9f7 Get rid of Ruby 1.8.7 warning in tests 2011-01-08 21:22:16 -08:00
Mitchell Hashimoto 8ce95318c7 Remove check for OSE version, since with VirtualBox 4 this distinction no longer exists. 2011-01-07 01:32:21 -08:00
Mitchell Hashimoto 9a158cf45a Set VAGRANT_HOME env var to change vagrant home directory 2011-01-06 19:21:23 -08:00
Mitchell Hashimoto a5d8193982 Allow multiple Vagrant::Config.run in a single Vagrantfile again 2011-01-06 19:05:31 -08:00
Mitchell Hashimoto b8c84b67b7 Vagrantfiles are loaded only once, instead of 4+ times [closes GH-238] 2011-01-06 19:00:29 -08:00
Mitchell Hashimoto e258395346 Rewrite of Vagrant::Config, on the path to fix bug with multiple loading Vagrantfiles 2011-01-06 18:35:58 -08:00
James Turnbull 3849355ef6 Basic Puppet Server provisioner 2011-01-06 13:33:22 -08:00
Mitchell Hashimoto 496f68fd6a Move SSH::Session to its own file 2011-01-05 16:45:05 -08:00
Petyo Ivanov b9e24090e9 Add X11 ssh forwarding option (off by default). 2011-01-04 20:17:04 -08:00
Mitchell Hashimoto e0c716e454 Fix automount select to accept key/val instead of just val 2011-01-04 20:10:34 -08:00
Mitchell Hashimoto c1e0504c66 Improve the file downloader test to use a real file 2010-12-31 22:00:11 -06:00
Mitchell Hashimoto fb8f0c010b Reload config after downloading box during `up` [closes GH-231] 2010-12-31 21:41:05 -06:00
Mitchell Hashimoto e12d96d4df Only automount NFS folders which have guest path specified 2010-12-31 02:24:49 -06:00
Mitchell Hashimoto c1be64ae61 Shared folders with no guest path are not automounted [closes GH-184] 2010-12-31 02:19:27 -06:00
Mitchell Hashimoto 82d26f29e8 Tests passing for shared folder mount changes. 2010-12-30 21:06:21 -06:00
Mitchell Hashimoto 681c4a1233 Fix tests dealing with VirtualBox 4 version checks 2010-12-30 21:04:23 -06:00
Mitchell Hashimoto e19788701e Don't disable networks on halt/destroy. 2010-12-24 19:02:11 -08:00
Mitchell Hashimoto c32ab0442c Change the mechanism by which useless host only networks are detected and destroyed 2010-12-24 18:57:44 -08:00
Mitchell Hashimoto 4d8e3dc1bf Make this test actually test something 2010-12-24 18:41:18 -08:00
Mitchell Hashimoto 2018fd8645 "vbox-prev" bug still exists, but filename changes for VB4 2010-12-24 18:35:46 -08:00
Mitchell Hashimoto e4488c415e Update destroy to use new API for VB4 2010-12-24 15:19:31 -08:00
Mitchell Hashimoto 2358130c0e Show error if host only networking on Windows 2010-12-21 19:52:41 -08:00
Mitchell Hashimoto e98db8dc86 Determine SSH on main thread for up? to fix issues with multi-thread access on JRuby 2010-12-19 10:27:07 -08:00
Mitchell Hashimoto 59ae5747d0 Use timeout library instead of threads to check for VM boot 2010-12-18 18:50:59 -08:00
Brian P O'Rourke e1ed00f14c Enumerate vms according to definiton order. 2010-12-14 22:24:02 -08:00
Mitchell Hashimoto d0e3cf1210 config.puppet.options can be a string as well 2010-12-14 21:57:12 -08:00
Brice Figureau 6b46949550 Allow passing options to the Puppet provisioner
This allows for instance to pass the --modulepath options like this:

config.vm.puppet.options = ["--modulepath","modules"]

Which would call puppet with "--modulepath modules".

Signed-off-by: Brice Figureau <brice@daysofwonder.com>
2010-12-14 21:53:57 -08:00
Brice Figureau 446ab32e0e Allow to recursively include files when packaging a box
This allows to bundle with a box a set of puppet manifests or chef cookbooks.
This supports both shell globbing and recursive copy of full directories.

Usage:

vagrant package ... --include=manifests
This would bundle the whole manifests/ directory

vagrant package ... --include=id*
This would bundle all files with prefix id in the produced box

Signed-off-by: Brice Figureau <brice@daysofwonder.com>
2010-12-14 21:51:33 -08:00
James Turnbull 6548bc9324 Adds a basic Puppet provisioner to Vagrant
This uses the Puppet binary and assumes a .pp file will be present
on the host machine.

By default it looks for manifests in the `manifests` directory (in the same root as
wherever your Vagrantfile is located). The default file uses the name of the box
being configured, for example `lucid.pp`.  Both options are configurable.
2010-12-07 16:57:00 -08:00
Mitchell Hashimoto 54f86f236c Test to verify solaris system 2010-12-07 16:52:18 -08:00
Mitchell Hashimoto 331e0841e5 Box collection reloads after downloading during CheckBox. [closes GH-229] 2010-11-30 20:19:24 -08:00
Ches Martin 8bff03fb80 BaseVMNotFoundError -> BaseVMNotFound and test [closes GH-200] 2010-11-03 21:35:39 -07:00
Mitchell Hashimoto ef50361f95 Nicer error message when box is not found. [closes GH-195] 2010-10-21 17:50:41 -07:00
Mitchell Hashimoto 39407694e3 Validate only certain command sequences [closes GH-188] 2010-10-13 18:59:25 -07:00
Mitchell Hashimoto 82d73ebe3c General validation middleware 2010-10-13 18:40:12 -07:00
Mitchell Hashimoto 6337cefb8b Disable Vagrantfile validation completely on load. see coming commits... 2010-10-12 21:08:33 -07:00
Mitchell Hashimoto 341e7916f4 Port collision type mismatches fixed. [closes GH-185] 2010-10-09 01:21:52 -07:00
Mitchell Hashimoto ebf1fa2fb1 Check if file exists on root path traversal [closes GH-182] 2010-10-08 18:23:38 -07:00
Mitchell Hashimoto f90016bb6f Only validate on the second-pass of loading configuration 2010-10-08 10:52:34 -07:00
Mitchell Hashimoto 5fcf10d6cd Validations to assure base MAC address is set 2010-10-08 10:44:19 -07:00
Mitchell Hashimoto c6b0fae318 Load sub-VM configuration on first-pass, allowing box loading for sub-VMs. [closes GH-166] [closes GH-181] 2010-10-08 10:34:33 -07:00
Mitchell Hashimoto 48e5f4fb86 Vagrantfiles with only one `config.vm.define` are now considered multi-VM. 2010-10-08 09:50:34 -07:00
Mitchell Hashimoto ba9cb19808 Configuration only validates on final Vagrantfile proc, allowing multi-VM to work correctly 2010-10-08 09:44:17 -07:00
Mitchell Hashimoto e36a9d3a0c Nice error message given if ".vagrant" is a directory and therefore can't be accessed. [closes GH-172] 2010-10-06 18:57:39 -07:00
Mitchell Hashimoto 12b769ce14 Removed final global test helper from test/test_helper.rb 2010-10-03 18:48:41 -07:00
Mitchell Hashimoto 3fe785ab72 Removed `mock_vm` test helper, which is unnecessary 2010-10-03 18:45:09 -07:00
Mitchell Hashimoto e5be4cc2b0 Removed unused test code 2010-10-03 18:37:03 -07:00
Mitchell Hashimoto eaaf55ea8a `up --no-provision` works again. This disables provisioning during the process. 2010-10-03 18:34:33 -07:00
Mitchell Hashimoto cf823cadb5 Action warden doesn't do recovery process on `SystemExit` exceptions, allowing double ctrl-C to work properly again. 2010-10-01 10:08:38 -07:00
Mitchell Hashimoto 3e54150f71 Box add checks if box exists before the download [closes GH-170] 2010-10-01 09:24:58 -07:00
Mitchell Hashimoto 61314c5e21 Only check for box directory if it is set during unpackage recovery [related to GH-170] 2010-10-01 09:20:18 -07:00
Mitchell Hashimoto bad251a20d NFS no longer attempts to clean exports file if VM is not created, which caused a stack trace during recovery. 2010-09-30 01:16:45 -07:00
Mitchell Hashimoto ed645417c7 Basic validation added for Chef configuration (both solo and server). 2010-09-30 01:09:36 -07:00
Mitchell Hashimoto 465392f99c config.vagrant validation tests 2010-09-30 00:55:00 -07:00
Mitchell Hashimoto 588ead6e45 Top config class is now available in all `Vagrant::Config::Base` subclasses. Useful for validation. 2010-09-30 00:50:50 -07:00
Mitchell Hashimoto c5b81b5998 SSH gives error message if `ssh` binary is not found. [closes GH-161] 2010-09-29 23:47:17 -07:00
Mitchell Hashimoto 0fcc1150c5 Revert "Instead of using Kernel#system, use custom piped solution"
This reverts commit 171f4184c0.
2010-09-29 23:38:07 -07:00
Mitchell Hashimoto 171f4184c0 Instead of using Kernel#system, use custom piped solution 2010-09-27 18:26:42 -07:00
Mitchell Hashimoto ea6904761f Check box action no longer needs to load_box! 2010-09-27 13:42:53 -07:00
Mitchell Hashimoto 1199c89a4a Fix issues with Ruby 1.8.7 where Vagrant wouldn't even run 2010-09-27 12:10:17 -07:00
Mitchell Hashimoto 85bbb5dd87 Switch config to not implicitly use I18n. 2010-09-21 20:38:19 -06:00
Mitchell Hashimoto b909adde1c Since I18n isn't automatic for UI class, get rid of _ prefix on options 2010-09-21 18:14:18 -06:00
Mitchell Hashimoto d003cc4f32 UI methods no longer automatically translate. Makes it easier for plugin developers. 2010-09-21 18:12:24 -06:00
Mitchell Hashimoto f0294039e1 Load config files (only) early so plugins are loaded from Vagrantfiles 2010-09-21 01:47:50 -06:00
Mitchell Hashimoto 3b735e545f Change VM loading to be lazy loaded so config can be loaded without VMs 2010-09-21 01:27:36 -06:00
Mitchell Hashimoto e3ff9c7ac3 Resource logger now logs to a "logs" directory in the home path 2010-09-20 09:58:19 -06:00
Mitchell Hashimoto 7d89d011fb Tests passing again due to config.vm.customize change earlier 2010-09-20 09:47:01 -06:00
Mitchell Hashimoto f37710a4bd Remove logger helper from action environment class 2010-09-20 09:44:51 -06:00
Mitchell Hashimoto ba8307712d Don't require root path to load an environment. (Makes `vagrant box` commands work again without a Vagrantfile) 2010-09-16 18:14:41 -06:00
Mitchell Hashimoto bae6c57230 Expose test helpers [closes GH-162] 2010-09-15 09:19:38 -06:00
Mitchell Hashimoto 90aaf5cb5e Command helpers `target_vms` now takes an optional string for the VM name 2010-09-15 08:38:56 -06:00
Mitchell Hashimoto d5fbf29ec0 Plugins. Documentation coming shortly. 2010-09-14 23:10:51 -06:00
Mitchell Hashimoto 036edfcc2a Only destroy the VM if the exception raised is not a Vagrant error 2010-09-14 00:48:31 -06:00
Mitchell Hashimoto 7c42300002 Expose the exception which triggers recovery methods through the "vagrant.error" environmental hash 2010-09-13 23:43:37 -06:00
Mitchell Hashimoto d5ad387f27 New `vagrant package` option `--vagrantfile` and changed semantics of `--include` (see CHANGELOG) 2010-09-12 23:20:13 -06:00
Mitchell Hashimoto 4b8878f5f7 Import uses the string path, rather than the pathname 2010-09-12 16:37:43 -06:00
Mitchell Hashimoto 714c94780c On import, only run destroy action if VM is created 2010-09-12 16:34:49 -06:00
Mitchell Hashimoto 7d73bec776 Disable networks only if VM is created 2010-09-12 16:31:38 -06:00
Mitchell Hashimoto e11d3bd4f7 Only halt if created and running 2010-09-12 16:29:35 -06:00
Mitchell Hashimoto 4335adc8f4 Only discard state if the VM is created 2010-09-12 16:26:32 -06:00
Mitchell Hashimoto 02cfb60387 Verify box with a string path, not pathname 2010-09-12 15:39:37 -06:00
Mitchell Hashimoto 79b303a1fc Send string, not pathname, to Minitar for decompression 2010-09-12 14:00:48 -07:00
Mitchell Hashimoto 5ce43a8ae0 Utilize pathname when available instead of doing just a File.join 2010-09-11 10:42:03 -07:00
Mitchell Hashimoto 2026bb0b1c Remove unnecessary class methods on Box class. Move commands over to use "boxes" on env 2010-09-11 10:33:49 -07:00
Mitchell Hashimoto 761da0de63 Remove method calls to "Box.find" and remove method 2010-09-11 10:21:35 -07:00
Mitchell Hashimoto 0ee21998f6 New BoxCollection class to keep track of all boxes. 2010-09-11 10:17:26 -07:00
Mitchell Hashimoto 4b17ac0f89 Environment#home_path is a Pathname object for easier manipulation 2010-09-11 09:18:33 -07:00
Mitchell Hashimoto 86465a36c0 Change method by which configuration classes register themselves to be cleaner 2010-09-11 09:02:55 -07:00
Mitchell Hashimoto f8e7431899 Retry SSH connect a few times before admitting defeat. 2010-09-09 00:28:21 -07:00
Mitchell Hashimoto a0ed4d0da8 Get rid of "mock_action_data" use "action_env" instead 2010-09-08 23:56:35 -07:00
Mitchell Hashimoto 16f3a3face Test helper `mock_environment` completely gone 2010-09-08 23:51:09 -07:00
Anko painting 650ff4b734 Allow downloading via a proxy if http_proxy environment variable is set. [closes GH-157] 2010-09-08 22:11:53 -07:00
Mitchell Hashimoto 73c223c885 Remove most of the remaining mock_environment calls. Only one remains. 2010-09-07 11:51:10 -07:00
Mitchell Hashimoto 8164644615 Converted most "mock_environment" tests to "vagrant_env" which uses real filesystem 2010-09-07 11:41:52 -07:00
Mitchell Hashimoto 3cca2f1bb4 Config loading test is now powered by real Vagrantfiles, rather than mocks 2010-09-07 11:30:48 -07:00
Mitchell Hashimoto 5f6e3acf40 Require root path on environment load 2010-09-07 10:52:58 -07:00
Mitchell Hashimoto 446d1155fe Add ruby-debug for tests in the Gemfile for MRI (both 1.8 and 1.9 version) 2010-09-07 01:19:11 -07:00
Mitchell Hashimoto 9a0834d263 Make environment tests fast again 2010-09-07 01:03:27 -07:00
Mitchell Hashimoto 5a13347fb4 Fix issue with local data store not being properly cleared for VM destruction 2010-09-07 01:02:11 -07:00
Mitchell Hashimoto 88fedb419e Update Environment#dotfile_path to take advantage of new Pathname object 2010-09-07 00:28:21 -07:00
Mitchell Hashimoto fe593c88b8 Environment#cwd and Environment#root_path are now pathname objects for more robust usage 2010-09-07 00:25:52 -07:00
Mitchell Hashimoto 84389580d6 Only run Environment#load! once 2010-09-07 00:07:22 -07:00
Mitchell Hashimoto 1478818939 Run "environment_load" action on environment load 2010-09-06 23:36:48 -07:00
Mitchell Hashimoto 1a5836ee23 Don't clear registered actions hash in tests ever 2010-09-06 19:52:46 -07:00
Mitchell Hashimoto f85401481b Create the tmp path when running tests so they pass 2010-09-06 18:29:49 -07:00
Mitchell Hashimoto 4342c87473 No need to reload the VMs hash if has a parent environment. 2010-09-06 00:09:29 -07:00
Mitchell Hashimoto ed48170b24 Remove environment "vm_name" property since it was redundant 2010-09-05 23:11:27 -07:00
Mitchell Hashimoto 23c08f2daa Configuration validation for the most common problems added 2010-09-05 11:26:38 -07:00
Mitchell Hashimoto 9cc64fcb34 Configuration classes can now be validated. Nice error message shown in case of failure. 2010-09-05 11:02:48 -07:00
Mitchell Hashimoto ad5ecf1c7f Remove unused code in Config 2010-09-05 10:18:05 -07:00
Mitchell Hashimoto 52a32820db Change the way the config is loaded to be all in one step 2010-09-05 01:13:35 -07:00
Mitchell Hashimoto ce9ff73ea4 Show proper syntax error for Vagrantfiles [closes GH-155] 2010-09-04 14:33:53 -07:00
Mitchell Hashimoto 53aaa4f264 Environment is lazy loaded for `vagrant` binary. 2010-09-04 11:10:20 -07:00
Mitchell Hashimoto f24094bba8 Converted more tests to new vagrant env helpers and removed unused code in ResourceLogger 2010-09-04 10:47:22 -07:00
Mitchell Hashimoto 260f1dcec4 Refined some tests to use real Vagrantfiles instead of mocks 2010-09-03 19:25:48 -07:00
Mitchell Hashimoto 3470d98fca Load the root path on demand. 2010-09-03 14:59:16 -07:00
Mitchell Hashimoto f85579a4de Give a nice error message if there is a syntax error in Vagrantfile [closes GH-154] 2010-09-03 14:23:47 -07:00
Mitchell Hashimoto 9590928553 If the data store is empty, delete the backing file 2010-09-03 12:05:29 -07:00
Mitchell Hashimoto e4cb2749a1 Clean nil and 'empty?' values in a data store prior to commiting 2010-09-03 12:02:44 -07:00
Mitchell Hashimoto b8a4188fa3 Config class is now responsible for loading configuration. Cleans up environment. 2010-09-03 11:16:38 -07:00
Mitchell Hashimoto 0a8540996c Action environment uses new indifferent hash util 2010-09-03 09:39:30 -07:00
Mitchell Hashimoto 3c3c9aedc9 Data store is a hash with indifferent access 2010-09-03 09:35:07 -07:00
Mitchell Hashimoto 59e1e43c74 Autoload the util classes. HashWithIndifferentAccess for data store 2010-09-03 09:33:15 -07:00
Mitchell Hashimoto 0f70812142 Load the host on demand in the environment 2010-09-03 00:48:38 -07:00
Mitchell Hashimoto 01df63ef6e Lazy load the environment "actions." Removes one more load from the environment load chain 2010-09-03 00:35:18 -07:00
Mitchell Hashimoto f72979df79 Added global data hash to environment. "system"-wide data bag for vagrant 2010-09-03 00:21:57 -07:00
Mitchell Hashimoto d65194d66e Only initialize a logger on the parent environment 2010-09-02 21:24:59 -07:00
Mitchell Hashimoto a84ea6a5b8 Load data store keys as symbols, not strings. 2010-09-02 21:19:44 -07:00
Mitchell Hashimoto 52e3c4d3b3 Persisting a VM uuid is now implicitly done by Vagrant::VM 2010-09-02 21:12:11 -07:00
Mitchell Hashimoto 2d80c32479 Remove the ActiveList. This will make a comeback using DataStore in the future. 2010-09-02 13:00:47 -07:00
Mitchell Hashimoto d74d95d0cd Get rid of exceptions/ folder. 2010-09-02 11:56:04 -07:00
Mitchell Hashimoto 9002b22fac Data store is now a hash and lazy load the local data store on the environment 2010-09-02 11:47:19 -07:00
Mitchell Hashimoto 4d87f198d7 Vagrant::DataStore which will be used soon for the dotfile in the project directory 2010-09-01 22:00:59 -07:00
Mitchell Hashimoto 43cdcb7808 Config can now be deserialized as well as serialized to JSON 2010-09-01 21:01:15 -07:00
Mitchell Hashimoto d2d2404961 Split config classes out into multiple files for better organization 2010-09-01 20:37:11 -07:00
Mitchell Hashimoto 71101c9d3d Raise interrupt error earlier so the rescue chain actually gets called 2010-09-01 14:58:22 -07:00
Mitchell Hashimoto 60c20565b2 Replace straight abort on interrupt with clean exit via exception 2010-09-01 14:50:15 -07:00
Mitchell Hashimoto a13f587bc0 Environment#error! removed (along with error? and so on) 2010-09-01 14:37:37 -07:00
Mitchell Hashimoto 3da94252b5 Get rid of util.rb. No longer used. 2010-09-01 14:30:31 -07:00
Mitchell Hashimoto bb97b388f9 Convert VM errors to I18n exceptions 2010-09-01 14:26:53 -07:00
Mitchell Hashimoto ae6e42dbbc Scope SSH errors to proper exception classes 2010-09-01 10:47:34 -07:00
Mitchell Hashimoto e7f06d7fb7 Remove ExceptionCatcher since exceptions are the way to report errors now 2010-09-01 10:04:37 -07:00
Mitchell Hashimoto 364233527e SSH no longer raises ActionException. Raises VagrantError 2010-09-01 10:00:49 -07:00
Mitchell Hashimoto 786a0f443a Provisioners raise exceptions 2010-09-01 09:36:22 -07:00
Mitchell Hashimoto f85821c268 Refactor VagrantError to be more flexible so not as many subclasses will be needed 2010-09-01 08:27:29 -07:00
Mitchell Hashimoto cf91f578fb Downloaders now raise exceptions instead of erroring environment 2010-09-01 07:22:14 -07:00
Mitchell Hashimoto a7197b3566 Autoload errors. If nothing bad happens, all those error classes don't use any memory :) 2010-09-01 07:15:37 -07:00
Mitchell Hashimoto 39663f6f11 Finish replacement of "env.error!" with exceptions in VM actions 2010-09-01 07:13:37 -07:00
Mitchell Hashimoto b72cf4c57c Convert NFS to new Warden style with 'recover' method 2010-08-30 20:09:26 -07:00
Mitchell Hashimoto aa00d15206 Few more VM actions converted to exceptions. Lots of errors gone. 2010-08-30 20:07:50 -07:00
Mitchell Hashimoto 72c3340336 About 1/3rd of the VM actions raise exceptions now 2010-08-30 19:39:11 -07:00
Mitchell Hashimoto 98bce8f836 General package action raises exceptions instead of using env.error 2010-08-28 13:54:59 -07:00
Mitchell Hashimoto 3e1ccf0c4f Convert box actions to raise exceptions rather than error environment 2010-08-28 12:31:55 -07:00
Mitchell Hashimoto ccc45ebd7a Begin moving from error_and_exit to exceptions. Fail hard! 2010-08-28 12:23:40 -07:00
Mitchell Hashimoto 354a82a177 Make some minor changes to warden to reduce the array reversals 2010-08-28 00:00:21 -07:00
Mitchell Hashimoto efbfd335ad Remove the ErrorHalt middleware, since Warden takes care of this on a larger scale 2010-08-27 23:50:14 -07:00