Commit Graph

685 Commits

Author SHA1 Message Date
Mitchell Hashimoto 5d2e3d9f6f Box destroying middleware 2010-07-08 08:32:41 -07:00
Mitchell Hashimoto 842ddd75b4 Box verification 2010-07-08 07:55:27 -07:00
Dylan Egan f5756cdfc5 Allow the node_name to be set for the ChefSolo Provisioner. 2010-07-07 23:26:08 -07:00
Mitchell Hashimoto 50af3987fc VM is no longer an action runner 2010-07-07 23:23:59 -07:00
Mitchell Hashimoto 6e93406069 Box downloading uses box environment key 2010-07-07 23:23:19 -07:00
Mitchell Hashimoto f6a53ddff0 Box adding middleware, box add uses it now 2010-07-07 23:16:56 -07:00
Mitchell Hashimoto d84225de66 Box downloading middleware 2010-07-07 22:21:37 -07:00
Mitchell Hashimoto e9bcd3fc16 Action.run can be called with a class 2010-07-07 21:03:28 -07:00
Mitchell Hashimoto 086ca5a97e Builder#use returns self, for chaining 2010-07-07 21:00:54 -07:00
Mitchell Hashimoto f45989d1d5 Power off during the package sequence if not already. 2010-07-07 20:58:20 -07:00
Mitchell Hashimoto b96acce79f Packaging middleware and modifying VM#package to use it 2010-07-07 20:47:53 -07:00
Mitchell Hashimoto 667cd56139 Export middleware 2010-07-07 20:17:32 -07:00
Mitchell Hashimoto 072e71df8a Customize uses the proper VM object 2010-07-07 09:15:30 -07:00
Mitchell Hashimoto 6d4a23b6b8 Resume uses the raw start action 2010-07-06 21:42:02 -07:00
Mitchell Hashimoto a11fb717b0 Resume middleware 2010-07-06 21:27:20 -07:00
Mitchell Hashimoto 3ed9222ea5 Suspend middleware 2010-07-06 21:22:55 -07:00
Mitchell Hashimoto d313a106a3 Provision registered actions 2010-07-06 21:12:51 -07:00
Mitchell Hashimoto 68f1e6c7e1 Make mergeable default behaviour and make flatten the explicit behavior 2010-07-06 20:50:35 -07:00
Mitchell Hashimoto 642db533ee Start, reload, halt now use middleware stacks 2010-07-06 20:35:31 -07:00
Mitchell Hashimoto 88587c3322 Easy retrieval of actions. 2010-07-06 20:16:01 -07:00
Mitchell Hashimoto 3c943834ea Builder can now use other builders or merge other builders 2010-07-06 20:08:36 -07:00
Mitchell Hashimoto 29458061df Added insert, swap, and delete helpers to Vagrant::Action::Builder 2010-07-05 20:09:39 +02:00
Mitchell Hashimoto da27f248e7 VM#destroy and VM#up now use the new middleware stack 2010-07-05 19:44:47 +02:00
Mitchell Hashimoto cfc87d4ce3 Halt checks if VM is running. No more error messages 2010-07-05 19:41:31 +02:00
Mitchell Hashimoto 77cca19b7e Destroy middleware 2010-07-05 19:17:48 +02:00
Mitchell Hashimoto a14850c564 Halt middleware 2010-07-05 18:11:28 +02:00
Mitchell Hashimoto 9ac9e49ba1 Fixed some middleware ordering and include util for checking guest additions 2010-07-05 17:51:41 +02:00
Mitchell Hashimoto d986fdf041 Provisioning 2010-07-05 17:36:34 +02:00
Mitchell Hashimoto f258746384 Middleware to destroy unused network interfaces 2010-07-05 17:18:16 +02:00
Mitchell Hashimoto 7d6c0db4ae Networking middleware 2010-07-05 04:33:34 +02:00
Mitchell Hashimoto f205a747c9 CheckGuestAdditions middleware 2010-07-05 03:53:19 +02:00
Mitchell Hashimoto de772a01ce MAC address matching middleware 2010-07-05 03:38:42 +02:00
Mitchell Hashimoto 3e51a07a80 Persisting the dotfile middleware 2010-07-05 03:30:33 +02:00
Mitchell Hashimoto c365a7ffac Environment has defaults for values. Import properly sets VM 2010-07-05 03:17:09 +02:00
Mitchell Hashimoto d4de0d7357 Options can now be passed into running actions 2010-07-05 02:46:11 +02:00
Mitchell Hashimoto d97c972a7f Boot action 2010-07-05 02:44:30 +02:00
Mitchell Hashimoto ae750288ed Only mount and do unison setup in the absense of error environments 2010-07-05 02:33:44 +02:00
Mitchell Hashimoto 73a3723608 Shared folder task 2010-07-05 02:31:30 +02:00
Mitchell Hashimoto 05a01f5953 Added ErrorHalt middleware which is prepended to all builder actions 2010-07-04 18:15:41 +02:00
Mitchell Hashimoto 221bdcbf63 Forward ports action 2010-07-04 18:07:09 +02:00
Mitchell Hashimoto 12117d6349 Customize action 2010-07-04 09:18:34 +02:00
Mitchell Hashimoto 67729304a2 Import action. Erroneous environments for actions. 2010-07-04 08:52:01 +02:00
Mitchell Hashimoto 64b533edc4 Builtin class and stubbed import middleware 2010-07-04 04:58:03 +02:00
Mitchell Hashimoto 5775292408 Registered actions can be run. Builders can use other builders 2010-07-04 04:09:02 +02:00
Mitchell Hashimoto bad5ba559f Actions on Environment and making them runnable 2010-07-04 03:48:16 +02:00
Mitchell Hashimoto c88adbc0f7 Builder fully tested 2010-07-03 18:51:40 +02:00
Mitchell Hashimoto 6eefc8e874 Initial foundation building of new action style 2010-07-03 17:34:15 +02:00
Mitchell Hashimoto ae0d9935a7 Detect if any collisions with non-hostonly networks for networking. [closes GH-102] 2010-07-02 08:37:13 -07:00
Mitchell Hashimoto 0896f096e9 Ignore non-hostonly adapters for host only networking [closes GH-101] 2010-07-01 14:26:56 -07:00
Mitchell Hashimoto e4b13ea758 `vagrant package` checks for output file existing [closes GH-100] 2010-06-29 20:57:09 -07:00
Mitchell Hashimoto 499340aa03 Increase halt timeout to 30 seconds 2010-06-29 20:42:39 -07:00
Mitchell Hashimoto c643aa1513 Fix issue with VirtualBox.version being nil in forked process 2010-06-24 10:35:32 -07:00
Mitchell Hashimoto 3006fa35c3 Remove the `.unison` folder to avoid "folder is empty" error 2010-06-22 23:54:05 -07:00
Mitchell Hashimoto 03262b0a04 Remove sync TO folder for unison prior to setting up cron 2010-06-22 23:42:45 -07:00
Mitchell Hashimoto 97f82d7140 Better, more unified logging for unison 2010-06-22 23:33:20 -07:00
Mitchell Hashimoto f3c6c7320b Better unison script locking and proper from/to 2010-06-20 21:34:36 -07:00
Mitchell Hashimoto 47403e16cc Now checks if `unison` binary is installed before running 2010-06-20 14:38:58 -07:00
Mitchell Hashimoto e8fd57fbbb Fixes to unison. Now tested and working. 2010-06-20 14:14:11 -07:00
Mitchell Hashimoto b97c257904 `setup_unison` implemented on shared folder action 2010-06-20 02:24:07 -07:00
Mitchell Hashimoto c7bbfcc5a1 `create_unison` method implemented on the system 2010-06-20 02:16:32 -07:00
Mitchell Hashimoto 67ab68df89 System `prepare_unison` method + tests 2010-06-20 02:07:32 -07:00
Mitchell Hashimoto 5f0695f776 Setup new unison scripts and set configs. 2010-06-20 01:42:31 -07:00
Mitchell Hashimoto b0879dea6a Rethinking Unison foundation. Tearing things out. 2010-06-19 11:34:37 -07:00
Mitchell Hashimoto 9e931dd350 VirtualBox minimum version bumped to 3.2 2010-06-17 23:08:38 -07:00
Mitchell Hashimoto e6760d8f5b s/nat engine/nat driver/ 2010-06-17 22:38:25 -07:00
Mitchell Hashimoto d257703496 SSH gets port from proper place in 3.2.x 2010-06-17 22:31:01 -07:00
Mitchell Hashimoto 26b837f427 Vagrant uses correct NATForwarded port for 3.2.x 2010-06-17 22:17:58 -07:00
Mitchell Hashimoto 7691b28c53 `vagrant ssh` now takes an `--execute` (or `-e`) param for executing commands [closes GH-95] 2010-06-15 22:31:51 -07:00
Mitchell Hashimoto 3be88f44fa Warning if guest additions version mismatches [closes GH-96] 2010-06-15 21:58:27 -07:00
Mitchell Hashimoto b84123dcd9 Provision command checks if VM is created 2010-06-14 13:09:32 -07:00
Mitchell Hashimoto b56994d11d Internal SSH ignores ssh config file. Also added `PasswordAuthentication no` to ssh-config output 2010-06-05 18:52:52 -07:00
John Bender eec0986bc7 switched directory syncing over to unison 2010-06-05 00:39:25 -07:00
Mitchell Hashimoto 7b6523371c No more `config.vm.project_directory`. The "v-root" shared folder is now a regular shraed folder like everything else. 2010-06-03 22:19:42 -07:00
Mitchell Hashimoto abef4d29ce Retry SCP upload 5 times as well 2010-06-03 20:58:04 -07:00
Mitchell Hashimoto 8dc57c6796 Retry SSH commands 5 times if an IOError occurs 2010-06-03 20:55:46 -07:00
Mitchell Hashimoto dc760c73b9 Reload after saving forwarded ports 2010-06-03 20:48:24 -07:00
Mitchell Hashimoto b13de6a497 If no shared folders existed, don't worry about clearing them 2010-06-03 20:35:12 -07:00
Mitchell Hashimoto 97facb08fd Do not reload VM and everything if no forwarded ports were destroyed 2010-06-03 20:34:02 -07:00
Mitchell Hashimoto b00442026f Don't run VM customizations if none were specified 2010-06-03 20:32:09 -07:00
Mitchell Hashimoto 50262cfb66 Destroy unused network interfaces on VM destroy 2010-06-03 19:59:39 -07:00
Mitchell Hashimoto 7a093340bf VM definition blocks are now stackable. [closes GH-94] 2010-06-03 19:20:15 -07:00
Mitchell Hashimoto 1e01514c4f Dup the forwarded ports array while destroying to avoid issues with changes in virtualbox gem and deleting in place 2010-06-03 12:04:21 -07:00
Mitchell Hashimoto abf6a50b5a Dup the shared folders array when destroying due to changes in virtualbox gem 2010-06-03 12:03:43 -07:00
Mitchell Hashimoto 4e806ae325 A VM can now have a host only network on multiple adapters 2010-06-03 11:50:29 -07:00
Mitchell Hashimoto bb7a309cab Verify ubuntu/debian install for host only networking 2010-06-03 11:35:50 -07:00
Mitchell Hashimoto 2d68b284d1 Some fixes with defining new interfaces on Ubuntu 2010-06-03 11:29:17 -07:00
Mitchell Hashimoto 73e9debefb Dynamically insert entry into /etc/network/interfaces file for Ubuntu 2010-06-03 11:09:31 -07:00
Mitchell Hashimoto 134ebe8405 Added new method to base system. Not implemented for linux yet. 2010-06-03 00:27:48 -07:00
Mitchell Hashimoto d16efa1a34 Join a specific host only network if name is specified. 2010-06-03 00:17:04 -07:00
Mitchell Hashimoto 77f7b09a26 Host only networks. Doesn't yet set them up within the OS but creates them on the guest. 2010-06-02 23:52:15 -07:00
Mitchell Hashimoto b63c74fad9 Forwarded ports action reloads the model after clearing 2010-05-30 18:09:36 -07:00
Mitchell Hashimoto 6fc2f4661a 1 second sleep after the halt on `down` to allow VirtualBox to clean itself up 2010-05-30 17:56:20 -07:00
Mitchell Hashimoto d7af9882f4 Allow SSH commands to ignore exit status 2010-05-29 23:33:37 -07:00
Mitchell Hashimoto eb30074eea Oops, File.rm => File.delete 2010-05-29 13:21:57 -07:00
Mitchell Hashimoto 46e9250f09 Remove the dotfile (.vagrant) if no more active VMs exist 2010-05-29 12:15:55 -07:00
Mitchell Hashimoto 503a9acf89 Verify chef binaries exist prior to running chef provisioning [closes GH-89] 2010-05-29 11:33:01 -07:00
Mitchell Hashimoto 4c8713ecd4 SSH exec! can now be given options which are used for bad exit status error messages 2010-05-29 11:18:27 -07:00
Mitchell Hashimoto ad96f0090a Properly download boxes from HTTPS sources. [closes GH-84] 2010-05-29 10:54:27 -07:00
Mitchell Hashimoto ced200e256 When verifying boxes, catch all exceptions 2010-05-28 23:26:11 -07:00
Mitchell Hashimoto 2af2a81eb8 Chef runs (solo and client) check exit status and error if anything occurs. 2010-05-28 23:18:32 -07:00
Mitchell Hashimoto 8ea9816552 Error and exit if SSH command returns non-zero exit status [closes GH-80] 2010-05-28 23:01:25 -07:00
Mitchell Hashimoto f30cdf3eea New wrapper SSH session class to emit exit status as well. Will be used in the future to raise exceptions for bad exit status. For now, works as a drop-in replacement. 2010-05-28 14:19:35 -07:00
Mitchell Hashimoto 5f57766365 Primary VM is SSH by default on call to `vagrant ssh` 2010-05-27 23:06:57 -07:00
Mitchell Hashimoto 687b925d2e Concept of a 'primary' VM in a multi-VM environment added. This VM will be the default for actions in a multi-VM environment. 2010-05-27 22:54:11 -07:00
Mitchell Hashimoto 0e4ae3530a `vagrant ssh` now queries for the ssh forwarded port, rather than relying on config 2010-05-27 18:18:25 -07:00
Mitchell Hashimoto cc0a1930d8 When handling collisions, the fixer won't set the port to something which is used by that VM later 2010-05-27 17:41:32 -07:00
Mitchell Hashimoto 61bcc761bc Error message is given if there are no auto ports available. 2010-05-27 17:37:48 -07:00
Mitchell Hashimoto 7fa0303925 Automatic 'external' port collision correction. If a forwarded port collides with any created VM and is marked to be fixed automatically, then vagrant will choose a new port automatically. 2010-05-27 17:31:36 -07:00
Mitchell Hashimoto b174645fb7 Change `instance` option to forwarding ports to `adapter` and make thoes options a hash at the end. 2010-05-27 12:34:08 -07:00
Mitchell Hashimoto 6f287aa17a Fix some small issues with up, down, and halt with the latest refactor. 2010-05-26 21:13:56 -07:00
Mitchell Hashimoto 455a44cc5d Add `--no-provision` flag to `vagrant up`. Refactor the way action options work a bit. [closes GH-87] 2010-05-26 20:58:27 -07:00
Mitchell Hashimoto c16df0d26a Simple wording changes 2010-05-25 19:20:47 -07:00
Robert O'Brien 77bcd9919d Enable port forwarding to be directed at a specific adapter (NIC), prevented entirely making standard use of TCP/IP and ensuring that port forwarding is only attempted when the NIC is using the VirtualBox NAT. 2010-05-25 19:15:05 -07:00
Mitchell Hashimoto cce82305ee When util is included, extend the class as well [closes GH-83] 2010-05-25 13:19:38 -07:00
Mitchell Hashimoto a5648abe92 Do not worry about key permissions on windows [closes GH-79] 2010-05-24 01:10:27 -07:00
John Bender 74aefa5c3d corrected bit mask for package output on windows 2010-05-22 22:46:42 -07:00
Mitchell Hashimoto b949861186 Changed semantics of 'up.' 'up' will now only provision when the VM is being created from scratch. Otherwise, it simply starts the VM. [closes GH-78] 2010-05-22 18:55:00 -07:00
Mitchell Hashimoto 156149824d Remove parallelism for now. Caused too many issues with too little benefit. 2010-05-22 15:43:27 -07:00
Andrew Clay Shafer c863457157 Added provision command
Will rerun provisioner on running vms
2010-05-22 00:52:30 -07:00
Mitchell Hashimoto 3360c37fc7 Parallelize the commands. There are some issues with this but in general it works so far. More polish needs to be done. 2010-05-22 00:33:57 -07:00
Mitchell Hashimoto 12b8ab4516 Refactor the "all or single" behavior of many commands into the base. 2010-05-21 23:38:44 -07:00
Mitchell Hashimoto a5cb80f396 Removed old progress meter module from util 2010-05-20 22:54:48 -07:00
Mitchell Hashimoto b2c2d2a4cc Downloader progress reporter now uses the environment logger 2010-05-20 22:37:39 -07:00
Mitchell Hashimoto 6e7af31616 Resource logger now has a thread-safe progress meter built-in 2010-05-20 22:28:28 -07:00
Mitchell Hashimoto 3cef90cfb9 Remove util.rb and that logger 2010-05-20 20:54:34 -07:00
Mitchell Hashimoto 377fa1f7cc Systems base now uses new environment logger. 2010-05-20 20:46:20 -07:00
Mitchell Hashimoto 504b709f2d Provisioners use new logger on environment 2010-05-20 20:44:58 -07:00
Mitchell Hashimoto 6e757e7ab7 Remove logger from the VM and put it on the environment 2010-05-20 20:35:15 -07:00
Mitchell Hashimoto 4a20bfe7fc Plain logger should emit a newline 2010-05-20 16:47:25 -07:00
Mitchell Hashimoto 91ae6178df Runner loggers now use their @runner.logger instead of "global" logger 2010-05-20 16:46:23 -07:00
Mitchell Hashimoto 470c8de099 Environment uses new logger 2010-05-20 16:36:17 -07:00
Mitchell Hashimoto 75b1df2f2f Got rid of parent modules for stringhelper/outputhelper. Removed error/wrap_output from util.rb 2010-05-20 16:15:43 -07:00
Mitchell Hashimoto 398e254c39 Moved error_and_exit and wrap_output to their own mixins 2010-05-20 16:09:00 -07:00
Mitchell Hashimoto a1794dca80 VMs have their own loggers 2010-05-20 15:49:27 -07:00
Mitchell Hashimoto fa9bdad175 Added the ResourceLogger, which will handle logging in the near future 2010-05-20 13:05:01 -07:00
Mitchell Hashimoto e6f628b98b Check key permissions on SSH execute (must be 0600) 2010-05-20 01:01:17 -07:00
John Bender af07bd0d3b renamed crontab entry template, switched to proper ssh 2010-05-19 00:19:32 -07:00
John Bender 007ecc5f1c system testing 2010-05-18 23:50:53 -07:00
John Bender ce6d95c131 rsync mostly complete, few tests left 2010-05-18 23:50:04 -07:00
John Bender 7ac7af15d3 rsync for shared folders added 2010-05-18 23:45:07 -07:00
Mitchell Hashimoto 6397ac579c Fixed "busticated" provisioning due to internal changes from multivm [closes GH-65] 2010-05-18 19:23:08 -07:00
Mitchell Hashimoto 5251d89241 Fix packaging. Broke due to internal changes from multivm. [closes GH-64] 2010-05-18 19:08:26 -07:00
Mitchell Hashimoto 19be5f141e `vagrant package` works with multi-VM environments 2010-05-17 14:12:11 -07:00
Mitchell Hashimoto f30645a967 `vagrant ssh-config` is now multi-vm friendly 2010-05-17 10:52:07 -07:00
Mitchell Hashimoto 586a56b5b5 `vagrant reload` works with multi-vm 2010-05-17 10:41:19 -07:00
Mitchell Hashimoto 38d485c29b `vagrant resume` with multiple VMs 2010-05-17 10:36:34 -07:00
Mitchell Hashimoto 228327c0ca `vagrant suspend` works with multi-vms 2010-05-17 01:45:57 -07:00
Mitchell Hashimoto fd12018114 `vagrant ssh` works with multi-VM 2010-05-17 01:07:42 -07:00
Mitchell Hashimoto 81e1e8932a Can now specify which VMs to up with `vagrant up` or will up all by default 2010-05-16 18:34:35 -07:00
Mitchell Hashimoto 3b4d2ab795 `vagrant halt` updated to work with multi-VM 2010-05-16 18:22:28 -07:00