tnargav 1.2.3 → 1.3.3
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +19 -3
- data/CHANGELOG.md +311 -0
- data/bin/vagrant +12 -0
- data/config/default.rb +2 -4
- data/keys/README.md +0 -7
- data/lib/vagrant.rb +7 -0
- data/lib/vagrant/action.rb +2 -0
- data/lib/vagrant/action/builtin/box_add.rb +12 -1
- data/lib/vagrant/action/builtin/confirm.rb +1 -0
- data/lib/vagrant/action/builtin/graceful_halt.rb +9 -5
- data/lib/vagrant/action/builtin/handle_box_url.rb +16 -7
- data/lib/vagrant/action/builtin/handle_forwarded_port_collisions.rb +1 -1
- data/lib/vagrant/action/builtin/mixin_provisioners.rb +43 -0
- data/lib/vagrant/action/builtin/nfs.rb +18 -8
- data/lib/vagrant/action/builtin/provision.rb +30 -21
- data/lib/vagrant/action/builtin/provisioner_cleanup.rb +35 -0
- data/lib/vagrant/action/builtin/wait_for_communicator.rb +84 -0
- data/lib/vagrant/action/warden.rb +2 -1
- data/lib/vagrant/box_collection.rb +62 -44
- data/lib/vagrant/cli.rb +1 -9
- data/lib/vagrant/config/v2/root.rb +6 -0
- data/lib/vagrant/environment.rb +27 -51
- data/lib/vagrant/errors.rb +33 -1
- data/lib/vagrant/guest.rb +2 -2
- data/lib/vagrant/machine.rb +14 -22
- data/lib/vagrant/plugin/v2/command.rb +4 -1
- data/lib/vagrant/plugin/v2/communicator.rb +21 -0
- data/lib/vagrant/plugin/v2/guest.rb +1 -56
- data/lib/vagrant/plugin/v2/provisioner.rb +6 -0
- data/lib/vagrant/util/downloader.rb +7 -2
- data/lib/vagrant/util/platform.rb +43 -0
- data/lib/vagrant/util/ssh.rb +5 -0
- data/lib/vagrant/util/subprocess.rb +16 -2
- data/lib/vagrant/version.rb +1 -1
- data/plugins/commands/box/command/remove.rb +22 -2
- data/plugins/commands/box/command/repackage.rb +1 -1
- data/plugins/commands/destroy/command.rb +8 -3
- data/plugins/commands/help/command.rb +12 -0
- data/plugins/commands/help/plugin.rb +17 -0
- data/plugins/commands/plugin/action.rb +11 -0
- data/plugins/commands/plugin/action/install_gem.rb +26 -1
- data/plugins/commands/plugin/action/plugin_exists_check.rb +26 -0
- data/plugins/commands/plugin/command/install.rb +4 -21
- data/plugins/commands/plugin/command/mixin_install_opts.rb +30 -0
- data/plugins/commands/plugin/command/root.rb +5 -0
- data/plugins/commands/plugin/command/update.rb +41 -0
- data/plugins/commands/reload/command.rb +4 -0
- data/plugins/commands/status/command.rb +6 -1
- data/plugins/commands/up/command.rb +10 -0
- data/plugins/commands/up/start_mixins.rb +12 -1
- data/plugins/communicators/ssh/communicator.rb +61 -6
- data/plugins/guests/arch/cap/change_host_name.rb +1 -2
- data/plugins/guests/arch/cap/configure_networks.rb +6 -0
- data/plugins/guests/coreos/cap/change_host_name.rb +15 -0
- data/plugins/guests/coreos/cap/configure_networks.rb +72 -0
- data/plugins/guests/coreos/guest.rb +9 -0
- data/plugins/guests/coreos/plugin.rb +25 -0
- data/plugins/guests/darwin/cap/change_host_name.rb +14 -0
- data/plugins/guests/darwin/cap/configure_networks.rb +52 -0
- data/plugins/guests/darwin/cap/halt.rb +16 -0
- data/plugins/guests/darwin/cap/mount_nfs_folder.rb +25 -0
- data/plugins/guests/darwin/cap/mount_vmware_shared_folder.rb +36 -0
- data/plugins/guests/darwin/cap/shell_expand_guest_path.rb +26 -0
- data/plugins/guests/darwin/cap/verify_vmware_hgfs.rb +12 -0
- data/plugins/guests/darwin/guest.rb +15 -0
- data/plugins/guests/darwin/plugin.rb +50 -0
- data/plugins/guests/debian/cap/change_host_name.rb +1 -0
- data/plugins/guests/gentoo/guest.rb +1 -1
- data/plugins/guests/linux/cap/mount_nfs.rb +9 -1
- data/plugins/guests/linux/cap/mount_virtualbox_shared_folder.rb +26 -7
- data/plugins/guests/linux/cap/shell_expand_guest_path.rb +4 -1
- data/plugins/guests/openbsd/cap/change_host_name.rb +14 -0
- data/plugins/guests/openbsd/cap/configure_networks.rb +40 -0
- data/plugins/guests/openbsd/cap/mount_nfs_folder.rb +14 -0
- data/plugins/guests/openbsd/plugin.rb +15 -0
- data/plugins/guests/solaris/cap/halt.rb +2 -1
- data/plugins/guests/solaris/cap/mount_virtualbox_shared_folder.rb +4 -1
- data/plugins/guests/solaris11/cap/change_host_name.rb +25 -0
- data/plugins/guests/solaris11/cap/configure_networks.rb +32 -0
- data/plugins/guests/solaris11/cap/halt.rb +26 -0
- data/plugins/guests/solaris11/cap/mount_virtualbox_shared_folder.rb +35 -0
- data/plugins/guests/solaris11/config.rb +22 -0
- data/plugins/guests/solaris11/guest.rb +15 -0
- data/plugins/guests/solaris11/plugin.rb +44 -0
- data/plugins/guests/suse/cap/configure_networks.rb +60 -0
- data/plugins/guests/suse/plugin.rb +5 -0
- data/plugins/guests/ubuntu/cap/change_host_name.rb +1 -0
- data/plugins/guests/ubuntu/cap/mount_nfs.rb +19 -0
- data/plugins/guests/ubuntu/cap/mount_virtualbox_shared_folder.rb +14 -0
- data/plugins/guests/ubuntu/guest.rb +0 -19
- data/plugins/guests/ubuntu/plugin.rb +10 -0
- data/plugins/hosts/arch/host.rb +5 -28
- data/plugins/hosts/bsd/host.rb +83 -7
- data/plugins/hosts/fedora/host.rb +12 -6
- data/plugins/hosts/gentoo/host.rb +3 -1
- data/plugins/hosts/linux/host.rb +42 -9
- data/plugins/hosts/opensuse/host.rb +3 -1
- data/plugins/hosts/slackware/host.rb +26 -0
- data/plugins/hosts/slackware/plugin.rb +15 -0
- data/plugins/kernel_v1/config/ssh.rb +2 -2
- data/plugins/kernel_v2/config/ssh.rb +8 -16
- data/plugins/kernel_v2/config/vm.rb +68 -11
- data/plugins/providers/virtualbox/action.rb +15 -2
- data/plugins/providers/virtualbox/action/boot.rb +0 -26
- data/plugins/providers/virtualbox/action/clear_network_interfaces.rb +1 -1
- data/plugins/providers/virtualbox/action/customize.rb +10 -3
- data/plugins/providers/virtualbox/action/destroy_unused_network_interfaces.rb +8 -1
- data/plugins/providers/virtualbox/action/forward_ports.rb +1 -0
- data/plugins/providers/virtualbox/action/import.rb +3 -0
- data/plugins/providers/virtualbox/action/network.rb +14 -2
- data/plugins/providers/virtualbox/action/prepare_nfs_settings.rb +7 -2
- data/plugins/providers/virtualbox/action/set_name.rb +13 -1
- data/plugins/providers/virtualbox/config.rb +39 -2
- data/plugins/providers/virtualbox/driver/base.rb +5 -0
- data/plugins/providers/virtualbox/driver/meta.rb +7 -1
- data/plugins/providers/virtualbox/driver/version_4_0.rb +2 -2
- data/plugins/providers/virtualbox/driver/version_4_1.rb +2 -2
- data/plugins/providers/virtualbox/driver/version_4_2.rb +17 -0
- data/plugins/providers/virtualbox/model/forwarded_port.rb +7 -1
- data/plugins/providers/virtualbox/util/compile_forwarded_ports.rb +5 -1
- data/plugins/provisioners/ansible/config.rb +40 -23
- data/plugins/provisioners/ansible/provisioner.rb +68 -13
- data/plugins/provisioners/cfengine/cap/debian/cfengine_install.rb +1 -1
- data/plugins/provisioners/cfengine/cap/redhat/cfengine_install.rb +1 -1
- data/plugins/provisioners/cfengine/config.rb +7 -1
- data/plugins/provisioners/cfengine/provisioner.rb +4 -5
- data/plugins/provisioners/chef/config/base.rb +31 -0
- data/plugins/provisioners/chef/config/chef_client.rb +15 -6
- data/plugins/provisioners/chef/config/chef_solo.rb +18 -11
- data/plugins/provisioners/chef/provisioner/base.rb +23 -3
- data/plugins/provisioners/chef/provisioner/chef_client.rb +25 -6
- data/plugins/provisioners/chef/provisioner/chef_solo.rb +16 -13
- data/plugins/provisioners/file/config.rb +29 -0
- data/plugins/provisioners/file/plugin.rb +23 -0
- data/plugins/provisioners/file/provisioner.rb +16 -0
- data/plugins/provisioners/puppet/config/puppet.rb +4 -1
- data/plugins/provisioners/puppet/provisioner/puppet.rb +15 -9
- data/plugins/provisioners/puppet/provisioner/puppet_server.rb +9 -2
- data/plugins/provisioners/salt/bootstrap-salt.sh +6 -0
- data/plugins/provisioners/salt/config.rb +105 -0
- data/plugins/provisioners/salt/errors.rb +11 -0
- data/plugins/provisioners/salt/plugin.rb +22 -0
- data/plugins/provisioners/salt/provisioner.rb +249 -0
- data/plugins/provisioners/shell/config.rb +11 -2
- data/plugins/provisioners/shell/provisioner.rb +15 -3
- data/scripts/website_push_docs.sh +12 -0
- data/scripts/website_push_www.sh +12 -0
- data/templates/commands/init/Vagrantfile.erb +5 -2
- data/templates/commands/ssh_config/config.erb +4 -0
- data/templates/guests/coreos/etcd.service.erb +10 -0
- data/templates/guests/fedora/network_static.erb +2 -3
- data/templates/guests/openbsd/network_dhcp.erb +1 -0
- data/templates/guests/openbsd/network_static.erb +1 -0
- data/templates/guests/suse/network_dhcp.erb +6 -0
- data/templates/guests/suse/network_static.erb +10 -0
- data/templates/locales/en.yml +123 -13
- data/templates/nfs/exports.erb +4 -4
- data/templates/nfs/exports_freebsd.erb +4 -4
- data/templates/nfs/exports_linux.erb +5 -3
- data/templates/provisioners/chef_client/client.erb +9 -0
- data/templates/provisioners/chef_solo/solo.erb +19 -1
- data/test/unit/vagrant/action/builtin/graceful_halt_test.rb +1 -2
- data/test/unit/vagrant/cli_test.rb +1 -0
- data/test/unit/vagrant/config/v2/root_test.rb +18 -0
- data/test/unit/vagrant/environment_test.rb +25 -0
- data/test/unit/vagrant/util/downloader_test.rb +4 -4
- data/test/unit/vagrant_test.rb +18 -0
- data/website/docs/.buildpacks +2 -0
- data/website/docs/Gemfile +13 -0
- data/website/docs/Gemfile.lock +141 -0
- data/website/docs/Procfile +1 -0
- data/website/docs/README.md +26 -0
- data/website/docs/config.rb +78 -0
- data/website/docs/config.ru +44 -0
- data/website/docs/helpers/sidebar_helpers.rb +19 -0
- data/website/docs/lib/redirect_to_latest.rb +25 -0
- data/website/docs/lib/redirect_v1_docs.rb +26 -0
- data/website/docs/source/404.html.erb +7 -0
- data/website/docs/source/images/bullet_1.png +0 -0
- data/website/docs/source/images/bullet_2.png +0 -0
- data/website/docs/source/images/bullet_3.png +0 -0
- data/website/docs/source/images/customers.png +0 -0
- data/website/docs/source/images/customers_small.png +0 -0
- data/website/docs/source/images/footer_background.png +0 -0
- data/website/docs/source/images/footer_hashi_logo.png +0 -0
- data/website/docs/source/images/footer_vagrant_logo.png +0 -0
- data/website/docs/source/images/get_started_background.png +0 -0
- data/website/docs/source/images/icon_caution.png +0 -0
- data/website/docs/source/images/logo_docs.png +0 -0
- data/website/docs/source/images/logo_docs_small.png +0 -0
- data/website/docs/source/images/logo_small.png +0 -0
- data/website/docs/source/images/logo_vagrant.png +0 -0
- data/website/docs/source/images/open_close.png +0 -0
- data/website/docs/source/images/search_icon.png +0 -0
- data/website/docs/source/images/sidebar_background_docs.png +0 -0
- data/website/docs/source/images/sidebar_background_inner.png +0 -0
- data/website/docs/source/images/steps_background.png +0 -0
- data/website/docs/source/images/vagrant_header_background.png +0 -0
- data/website/docs/source/index.html.erb +0 -0
- data/website/docs/source/javascripts/backstretch.js +4 -0
- data/website/docs/source/javascripts/bootstrap.min.js +7 -0
- data/website/docs/source/javascripts/fittext.js +43 -0
- data/website/docs/source/javascripts/grid-overlay.js +161 -0
- data/website/docs/source/javascripts/jquery.js +2 -0
- data/website/docs/source/javascripts/less-1.3.0.min.js +9 -0
- data/website/docs/source/javascripts/modernizr.js +1384 -0
- data/website/docs/source/javascripts/vagrantup.js +15 -0
- data/website/docs/source/layouts/layout.erb +266 -0
- data/website/docs/source/stylesheets/_base.less +317 -0
- data/website/docs/source/stylesheets/_components.less +74 -0
- data/website/docs/source/stylesheets/_footer.less +101 -0
- data/website/docs/source/stylesheets/_media-queries.less +452 -0
- data/website/docs/source/stylesheets/_mixins.less +174 -0
- data/website/docs/source/stylesheets/_nav.less +71 -0
- data/website/docs/source/stylesheets/_pages.less +276 -0
- data/website/docs/source/stylesheets/_sidebar.less +136 -0
- data/website/docs/source/stylesheets/_type.less +36 -0
- data/website/docs/source/stylesheets/_variables.less +39 -0
- data/website/docs/source/stylesheets/bootstrap.css +5946 -0
- data/website/docs/source/stylesheets/vagrantup.less +16 -0
- data/website/docs/source/v2/boxes.html.md +78 -0
- data/website/docs/source/v2/boxes/format.html.md +32 -0
- data/website/docs/source/v2/cli/box.html.md +62 -0
- data/website/docs/source/v2/cli/destroy.html.md +20 -0
- data/website/docs/source/v2/cli/halt.html.md +19 -0
- data/website/docs/source/v2/cli/index.html.md +24 -0
- data/website/docs/source/v2/cli/init.html.md +18 -0
- data/website/docs/source/v2/cli/package.html.md +43 -0
- data/website/docs/source/v2/cli/plugin.html.md +56 -0
- data/website/docs/source/v2/cli/provision.html.md +24 -0
- data/website/docs/source/v2/cli/reload.html.md +27 -0
- data/website/docs/source/v2/cli/resume.html.md +11 -0
- data/website/docs/source/v2/cli/ssh.html.md +24 -0
- data/website/docs/source/v2/cli/ssh_config.html.md +16 -0
- data/website/docs/source/v2/cli/status.html.md +14 -0
- data/website/docs/source/v2/cli/suspend.html.md +19 -0
- data/website/docs/source/v2/cli/up.html.md +34 -0
- data/website/docs/source/v2/debugging.html.md +42 -0
- data/website/docs/source/v2/getting-started/boxes.html.md +56 -0
- data/website/docs/source/v2/getting-started/index.html.md +43 -0
- data/website/docs/source/v2/getting-started/networking.html.md +45 -0
- data/website/docs/source/v2/getting-started/project_setup.html.md +38 -0
- data/website/docs/source/v2/getting-started/providers.html.md +37 -0
- data/website/docs/source/v2/getting-started/provisioning.html.md +75 -0
- data/website/docs/source/v2/getting-started/rebuild.html.md +17 -0
- data/website/docs/source/v2/getting-started/synced_folders.html.md +42 -0
- data/website/docs/source/v2/getting-started/teardown.html.md +41 -0
- data/website/docs/source/v2/getting-started/up.html.md +35 -0
- data/website/docs/source/v2/index.html.md +10 -0
- data/website/docs/source/v2/installation/backwards-compatibility.html.md +35 -0
- data/website/docs/source/v2/installation/index.html.md +28 -0
- data/website/docs/source/v2/installation/uninstallation.html.md +39 -0
- data/website/docs/source/v2/installation/upgrading-from-1-0.html.md +26 -0
- data/website/docs/source/v2/installation/upgrading.html.md +20 -0
- data/website/docs/source/v2/multi-machine/index.html.md +105 -0
- data/website/docs/source/v2/networking/basic_usage.html.md +43 -0
- data/website/docs/source/v2/networking/forwarded_ports.html.md +57 -0
- data/website/docs/source/v2/networking/index.html.md +40 -0
- data/website/docs/source/v2/networking/private_network.html.md +48 -0
- data/website/docs/source/v2/networking/public_network.html.md +53 -0
- data/website/docs/source/v2/plugins/commands.html.md +116 -0
- data/website/docs/source/v2/plugins/configuration.html.md +166 -0
- data/website/docs/source/v2/plugins/development-basics.html.md +139 -0
- data/website/docs/source/v2/plugins/guest-capabilities.html.md +100 -0
- data/website/docs/source/v2/plugins/guests.html.md +99 -0
- data/website/docs/source/v2/plugins/hosts.html.md +46 -0
- data/website/docs/source/v2/plugins/index.html.md +21 -0
- data/website/docs/source/v2/plugins/packaging.html.md +102 -0
- data/website/docs/source/v2/plugins/providers.html.md +234 -0
- data/website/docs/source/v2/plugins/provisioners.html.md +64 -0
- data/website/docs/source/v2/plugins/usage.html.md +58 -0
- data/website/docs/source/v2/providers/basic_usage.html.md +67 -0
- data/website/docs/source/v2/providers/configuration.html.md +89 -0
- data/website/docs/source/v2/providers/custom.html.md +9 -0
- data/website/docs/source/v2/providers/default.html.md +22 -0
- data/website/docs/source/v2/providers/index.html.md +23 -0
- data/website/docs/source/v2/providers/installation.html.md +11 -0
- data/website/docs/source/v2/provisioning/ansible.html.md +144 -0
- data/website/docs/source/v2/provisioning/basic_usage.html.md +67 -0
- data/website/docs/source/v2/provisioning/chef_client.html.md +109 -0
- data/website/docs/source/v2/provisioning/chef_solo.html.md +156 -0
- data/website/docs/source/v2/provisioning/index.html.md +28 -0
- data/website/docs/source/v2/provisioning/puppet_agent.html.md +70 -0
- data/website/docs/source/v2/provisioning/puppet_apply.html.md +114 -0
- data/website/docs/source/v2/provisioning/shell.html.md +88 -0
- data/website/docs/source/v2/synced-folders/basic_usage.html.md +53 -0
- data/website/docs/source/v2/synced-folders/index.html.md +17 -0
- data/website/docs/source/v2/synced-folders/nfs.html.md +53 -0
- data/website/docs/source/v2/vagrantfile/index.html.md +75 -0
- data/website/docs/source/v2/vagrantfile/machine_settings.html.md +84 -0
- data/website/docs/source/v2/vagrantfile/ssh_settings.html.md +61 -0
- data/website/docs/source/v2/vagrantfile/vagrant_settings.html.md +19 -0
- data/website/docs/source/v2/vagrantfile/version.html.md +64 -0
- data/website/docs/source/v2/virtualbox/boxes.html.md +71 -0
- data/website/docs/source/v2/virtualbox/configuration.html.md +63 -0
- data/website/docs/source/v2/virtualbox/index.html.md +21 -0
- data/website/docs/source/v2/virtualbox/usage.html.md +12 -0
- data/website/docs/source/v2/vmware/boxes.html.md +107 -0
- data/website/docs/source/v2/vmware/configuration.html.md +91 -0
- data/website/docs/source/v2/vmware/index.html.md +30 -0
- data/website/docs/source/v2/vmware/installation.html.md +40 -0
- data/website/docs/source/v2/vmware/known-issues.html.md +21 -0
- data/website/docs/source/v2/vmware/usage.html.md +27 -0
- data/website/docs/source/v2/why-vagrant/index.html.md +46 -0
- data/website/www/.buildpacks +2 -0
- data/website/www/Gemfile +15 -0
- data/website/www/Gemfile.lock +123 -0
- data/website/www/Procfile +1 -0
- data/website/www/README.md +26 -0
- data/website/www/config.rb +88 -0
- data/website/www/config.ru +39 -0
- data/website/www/helpers/sidebar_helpers.rb +12 -0
- data/website/www/lib/legacy_redirect.rb +32 -0
- data/website/www/source/404.html.erb +11 -0
- data/website/www/source/_sidebar_about.erb +5 -0
- data/website/www/source/_sidebar_blog.erb +11 -0
- data/website/www/source/_sidebar_support.html.erb +6 -0
- data/website/www/source/about.html.markdown +16 -0
- data/website/www/source/blog.html.erb +34 -0
- data/website/www/source/blog/2013-09-16-test.html.markdown +26 -0
- data/website/www/source/blog_feed.xml.builder +23 -0
- data/website/www/source/images/bullet_1.png +0 -0
- data/website/www/source/images/bullet_2.png +0 -0
- data/website/www/source/images/bullet_3.png +0 -0
- data/website/www/source/images/customers.png +0 -0
- data/website/www/source/images/customers_small.png +0 -0
- data/website/www/source/images/footer_background.png +0 -0
- data/website/www/source/images/footer_hashi_logo.png +0 -0
- data/website/www/source/images/footer_vagrant_logo.png +0 -0
- data/website/www/source/images/get_started_background.png +0 -0
- data/website/www/source/images/icon_caution.png +0 -0
- data/website/www/source/images/logo_docs.png +0 -0
- data/website/www/source/images/logo_docs_small.png +0 -0
- data/website/www/source/images/logo_small.png +0 -0
- data/website/www/source/images/logo_vagrant.png +0 -0
- data/website/www/source/images/open_close.png +0 -0
- data/website/www/source/images/search_icon.png +0 -0
- data/website/www/source/images/sidebar_background_docs.png +0 -0
- data/website/www/source/images/sidebar_background_inner.png +0 -0
- data/website/www/source/images/sponsors/fastly.png +0 -0
- data/website/www/source/images/sponsors/kiip.png +0 -0
- data/website/www/source/images/sponsors/softlayer.jpg +0 -0
- data/website/www/source/images/sponsors/typekit.png +0 -0
- data/website/www/source/images/steps_background.png +0 -0
- data/website/www/source/images/vagrant_header_background.png +0 -0
- data/website/www/source/images/vagrant_vmware_background.png +0 -0
- data/website/www/source/index.html.erb +109 -0
- data/website/www/source/javascripts/backstretch.js +4 -0
- data/website/www/source/javascripts/bootstrap.min.js +7 -0
- data/website/www/source/javascripts/fittext.js +43 -0
- data/website/www/source/javascripts/grid-overlay.js +161 -0
- data/website/www/source/javascripts/jquery.js +2 -0
- data/website/www/source/javascripts/less-1.3.0.min.js +9 -0
- data/website/www/source/javascripts/modernizr.js +1384 -0
- data/website/www/source/javascripts/vagrantup.js +58 -0
- data/website/www/source/layouts/blog_post.erb +42 -0
- data/website/www/source/layouts/inner.erb +34 -0
- data/website/www/source/layouts/layout.erb +107 -0
- data/website/www/source/sponsors.html.erb +23 -0
- data/website/www/source/stylesheets/_base.less +326 -0
- data/website/www/source/stylesheets/_components.less +74 -0
- data/website/www/source/stylesheets/_footer.less +101 -0
- data/website/www/source/stylesheets/_media-queries.less +549 -0
- data/website/www/source/stylesheets/_mixins.less +175 -0
- data/website/www/source/stylesheets/_modules.less +37 -0
- data/website/www/source/stylesheets/_nav.less +74 -0
- data/website/www/source/stylesheets/_pages.less +467 -0
- data/website/www/source/stylesheets/_sidebar.less +137 -0
- data/website/www/source/stylesheets/_type.less +36 -0
- data/website/www/source/stylesheets/_variables.less +39 -0
- data/website/www/source/stylesheets/bootstrap.css +5946 -0
- data/website/www/source/stylesheets/vagrantup.less +17 -0
- data/website/www/source/support.html.erb +25 -0
- data/website/www/source/support/community.html.erb +28 -0
- data/website/www/source/support/professional.html.erb +17 -0
- data/website/www/source/vmware/eula.html.md +21 -0
- data/website/www/source/vmware/index.html.erb +185 -0
- data/website/www/source/vmware/privacy-policy.html.md +71 -0
- data/website/www/source/vmware/terms-of-service.html.md +50 -0
- metadata +436 -186
data/lib/vagrant/cli.rb
CHANGED
@@ -14,15 +14,7 @@ module Vagrant
|
|
14
14
|
end
|
15
15
|
|
16
16
|
def execute
|
17
|
-
if @main_args.include?("-
|
18
|
-
# Version short-circuits the whole thing. Just print
|
19
|
-
# the version and exit.
|
20
|
-
@env.ui.info(I18n.t("vagrant.commands.version.output",
|
21
|
-
:version => Vagrant::VERSION),
|
22
|
-
:prefix => false)
|
23
|
-
|
24
|
-
return 0
|
25
|
-
elsif @main_args.include?("-h") || @main_args.include?("--help")
|
17
|
+
if @main_args.include?("-h") || @main_args.include?("--help")
|
26
18
|
# Help is next in short-circuiting everything. Print
|
27
19
|
# the help and exit.
|
28
20
|
help
|
@@ -40,6 +40,12 @@ module Vagrant
|
|
40
40
|
# the Vagrant system. The "!" signifies that this is expected to
|
41
41
|
# mutate itself.
|
42
42
|
def finalize!
|
43
|
+
@config_map.each do |key, klass|
|
44
|
+
if !@keys.has_key?(key)
|
45
|
+
@keys[key] = klass.new
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
43
49
|
@keys.each do |_key, instance|
|
44
50
|
instance.finalize!
|
45
51
|
end
|
data/lib/vagrant/environment.rb
CHANGED
@@ -74,7 +74,9 @@ module Vagrant
|
|
74
74
|
opts[:cwd] ||= ENV["VAGRANT_CWD"] if ENV.has_key?("VAGRANT_CWD")
|
75
75
|
opts[:cwd] ||= Dir.pwd
|
76
76
|
opts[:cwd] = Pathname.new(opts[:cwd])
|
77
|
-
|
77
|
+
if !opts[:cwd].directory?
|
78
|
+
raise Errors::EnvironmentNonExistentCWD, cwd: opts[:cwd].to_s
|
79
|
+
end
|
78
80
|
|
79
81
|
# Set the default ui class
|
80
82
|
opts[:ui_class] ||= UI::Silent
|
@@ -83,9 +85,8 @@ module Vagrant
|
|
83
85
|
# those continue to work as well, but anything custom will take precedence.
|
84
86
|
opts[:vagrantfile_name] ||= ENV["VAGRANT_VAGRANTFILE"] if \
|
85
87
|
ENV.has_key?("VAGRANT_VAGRANTFILE")
|
86
|
-
opts[:vagrantfile_name] ||= ["Vagrantfile", "vagrantfile"]
|
87
88
|
opts[:vagrantfile_name] = [opts[:vagrantfile_name]] if \
|
88
|
-
!opts[:vagrantfile_name].is_a?(Array)
|
89
|
+
opts[:vagrantfile_name] && !opts[:vagrantfile_name].is_a?(Array)
|
89
90
|
|
90
91
|
# Set instance variables for all the configuration parameters.
|
91
92
|
@cwd = opts[:cwd]
|
@@ -115,11 +116,10 @@ module Vagrant
|
|
115
116
|
# Setup the local data directory. If a configuration path is given,
|
116
117
|
# then it is expanded relative to the working directory. Otherwise,
|
117
118
|
# we use the default which is expanded relative to the root path.
|
118
|
-
|
119
|
+
opts[:local_data_path] ||= ENV["VAGRANT_DOTFILE_PATH"]
|
120
|
+
opts[:local_data_path] ||= root_path.join(DEFAULT_LOCAL_DATA) if !root_path.nil?
|
119
121
|
if opts[:local_data_path]
|
120
122
|
@local_data_path = Pathname.new(File.expand_path(opts[:local_data_path], @cwd))
|
121
|
-
elsif !root_path.nil?
|
122
|
-
@local_data_path = root_path.join(DEFAULT_LOCAL_DATA)
|
123
123
|
end
|
124
124
|
|
125
125
|
setup_local_data_path
|
@@ -244,7 +244,7 @@ module Vagrant
|
|
244
244
|
home_vagrantfile = nil
|
245
245
|
root_vagrantfile = nil
|
246
246
|
home_vagrantfile = find_vagrantfile(home_path) if home_path
|
247
|
-
root_vagrantfile = find_vagrantfile(root_path) if root_path
|
247
|
+
root_vagrantfile = find_vagrantfile(root_path, @vagrantfile_name) if root_path
|
248
248
|
|
249
249
|
# Create the configuration loader and set the sources that are global.
|
250
250
|
# We use this to load the configuration, and the list of machines we are
|
@@ -338,7 +338,17 @@ module Vagrant
|
|
338
338
|
box_changed = false
|
339
339
|
|
340
340
|
load_box_and_overrides = lambda do
|
341
|
-
box =
|
341
|
+
box = nil
|
342
|
+
if config.vm.box
|
343
|
+
begin
|
344
|
+
box = boxes.find(config.vm.box, box_formats)
|
345
|
+
rescue Errors::BoxUpgradeRequired
|
346
|
+
# Upgrade the box if we must
|
347
|
+
@logger.info("Upgrading box during config load: #{config.vm.box}")
|
348
|
+
boxes.upgrade(config.vm.box)
|
349
|
+
retry
|
350
|
+
end
|
351
|
+
end
|
342
352
|
|
343
353
|
# If a box was found, then we attempt to load the Vagrantfile for
|
344
354
|
# that box. We don't require a box since we allow providers to download
|
@@ -405,8 +415,9 @@ module Vagrant
|
|
405
415
|
"config/messages",
|
406
416
|
:warnings => config_warnings,
|
407
417
|
:errors => config_errors).chomp
|
408
|
-
|
409
|
-
|
418
|
+
@ui.send(level, I18n.t("vagrant.general.config_upgrade_messages",
|
419
|
+
name: name,
|
420
|
+
:output => output))
|
410
421
|
|
411
422
|
# If we had errors, then we bail
|
412
423
|
raise Errors::ConfigUpgradeErrors if !config_errors.empty?
|
@@ -521,11 +532,8 @@ module Vagrant
|
|
521
532
|
root_finder = lambda do |path|
|
522
533
|
# Note: To remain compatible with Ruby 1.8, we have to use
|
523
534
|
# a `find` here instead of an `each`.
|
524
|
-
|
525
|
-
|
526
|
-
end
|
527
|
-
|
528
|
-
return path if found
|
535
|
+
vf = find_vagrantfile(path, @vagrantfile_name)
|
536
|
+
return path if vf
|
529
537
|
return nil if path.root? || !File.exist?(path)
|
530
538
|
root_finder.call(path.parent)
|
531
539
|
end
|
@@ -693,47 +701,15 @@ module Vagrant
|
|
693
701
|
Pathname.new(path)
|
694
702
|
end
|
695
703
|
|
696
|
-
# This finds a box for the given name and formats, or returns nil
|
697
|
-
# if the box isn't found.
|
698
|
-
#
|
699
|
-
# @param [String] name Name of the box
|
700
|
-
# @param [Array<Symbol>] formats The formats to search for the box.
|
701
|
-
# @return [Box]
|
702
|
-
def find_box(name, formats)
|
703
|
-
# Determine the box formats we support
|
704
|
-
formats = [formats] if !formats.is_a?(Array)
|
705
|
-
|
706
|
-
@logger.info("Provider-supported box formats: #{formats.inspect}")
|
707
|
-
formats.each do |format|
|
708
|
-
box = nil
|
709
|
-
|
710
|
-
begin
|
711
|
-
box = boxes.find(name, format.to_s)
|
712
|
-
rescue Errors::BoxUpgradeRequired
|
713
|
-
# Upgrade the box if we must
|
714
|
-
@logger.info("Upgrading box during config load: #{name}")
|
715
|
-
boxes.upgrade(name)
|
716
|
-
retry
|
717
|
-
end
|
718
|
-
|
719
|
-
# If a box was found, we exit
|
720
|
-
if box
|
721
|
-
@logger.info("Box found with format: #{format}")
|
722
|
-
return box
|
723
|
-
end
|
724
|
-
end
|
725
|
-
|
726
|
-
nil
|
727
|
-
end
|
728
|
-
|
729
704
|
# Finds the Vagrantfile in the given directory.
|
730
705
|
#
|
731
706
|
# @param [Pathname] path Path to search in.
|
732
707
|
# @return [Pathname]
|
733
|
-
def find_vagrantfile(search_path)
|
734
|
-
|
708
|
+
def find_vagrantfile(search_path, filenames=nil)
|
709
|
+
filenames ||= ["Vagrantfile", "vagrantfile"]
|
710
|
+
filenames.each do |vagrantfile|
|
735
711
|
current_path = search_path.join(vagrantfile)
|
736
|
-
return current_path if current_path.
|
712
|
+
return current_path if current_path.file?
|
737
713
|
end
|
738
714
|
|
739
715
|
nil
|
data/lib/vagrant/errors.rb
CHANGED
@@ -87,6 +87,10 @@ module Vagrant
|
|
87
87
|
error_key(:active_machine_with_different_provider)
|
88
88
|
end
|
89
89
|
|
90
|
+
class AnsibleFailed < VagrantError
|
91
|
+
error_key(:ansible_failed)
|
92
|
+
end
|
93
|
+
|
90
94
|
class AnsiblePlaybookAppNotFound < VagrantError
|
91
95
|
error_key(:ansible_playbook_app_not_found)
|
92
96
|
end
|
@@ -167,7 +171,7 @@ module Vagrant
|
|
167
171
|
error_key(:command_unavailable)
|
168
172
|
end
|
169
173
|
|
170
|
-
class CommandUnavailableWindows <
|
174
|
+
class CommandUnavailableWindows < CommandUnavailable
|
171
175
|
error_key(:command_unavailable_windows)
|
172
176
|
end
|
173
177
|
|
@@ -183,6 +187,10 @@ module Vagrant
|
|
183
187
|
error_key(:copy_private_key_failed)
|
184
188
|
end
|
185
189
|
|
190
|
+
class DarwinNFSMountFailed < VagrantError
|
191
|
+
error_key(:darwin_nfs_mount_failed)
|
192
|
+
end
|
193
|
+
|
186
194
|
class DestroyRequiresForce < VagrantError
|
187
195
|
error_key(:destroy_requires_force)
|
188
196
|
end
|
@@ -327,6 +335,10 @@ module Vagrant
|
|
327
335
|
error_key(:not_found, "vagrant.actions.vm.host_only_network")
|
328
336
|
end
|
329
337
|
|
338
|
+
class NFSCantReadExports < VagrantError
|
339
|
+
error_key(:nfs_cant_read_exports)
|
340
|
+
end
|
341
|
+
|
330
342
|
class NFSNoGuestIP < VagrantError
|
331
343
|
error_key(:nfs_no_guest_ip)
|
332
344
|
end
|
@@ -367,6 +379,10 @@ module Vagrant
|
|
367
379
|
error_key(:provider_not_found)
|
368
380
|
end
|
369
381
|
|
382
|
+
class ProvisionerFlagInvalid < VagrantError
|
383
|
+
error_key(:provisioner_flag_invalid)
|
384
|
+
end
|
385
|
+
|
370
386
|
class PluginGemError < VagrantError
|
371
387
|
error_key(:plugin_gem_error)
|
372
388
|
end
|
@@ -399,6 +415,10 @@ module Vagrant
|
|
399
415
|
error_key(:plugin_not_found)
|
400
416
|
end
|
401
417
|
|
418
|
+
class PluginNotInstalled < VagrantError
|
419
|
+
error_key(:plugin_not_installed)
|
420
|
+
end
|
421
|
+
|
402
422
|
class SCPPermissionDenied < VagrantError
|
403
423
|
error_key(:scp_permission_denied)
|
404
424
|
end
|
@@ -507,6 +527,10 @@ module Vagrant
|
|
507
527
|
error_key(:vboxmanage_not_found_error)
|
508
528
|
end
|
509
529
|
|
530
|
+
class VirtualBoxBrokenVersion040214 < VagrantError
|
531
|
+
error_key(:virtualbox_broken_version_040214)
|
532
|
+
end
|
533
|
+
|
510
534
|
class VirtualBoxInvalidVersion < VagrantError
|
511
535
|
error_key(:virtualbox_invalid_version)
|
512
536
|
end
|
@@ -531,6 +555,14 @@ module Vagrant
|
|
531
555
|
error_key(:no_base_mac, "vagrant.actions.vm.match_mac")
|
532
556
|
end
|
533
557
|
|
558
|
+
class VMBootBadState < VagrantError
|
559
|
+
error_key(:boot_bad_state)
|
560
|
+
end
|
561
|
+
|
562
|
+
class VMBootTimeout < VagrantError
|
563
|
+
error_key(:boot_timeout)
|
564
|
+
end
|
565
|
+
|
534
566
|
class VMCustomizationFailed < VagrantError
|
535
567
|
error_key(:failure, "vagrant.actions.vm.customize")
|
536
568
|
end
|
data/lib/vagrant/guest.rb
CHANGED
@@ -84,7 +84,7 @@ module Vagrant
|
|
84
84
|
@name = name
|
85
85
|
|
86
86
|
# Build the proper chain of parents if there are any.
|
87
|
-
# This allows us to do "
|
87
|
+
# This allows us to do "inheritance" of capabilities later
|
88
88
|
if guest_info[1]
|
89
89
|
parent_name = guest_info[1]
|
90
90
|
parent_info = @guests[parent_name]
|
@@ -113,7 +113,7 @@ module Vagrant
|
|
113
113
|
#
|
114
114
|
# @return [Boolean]
|
115
115
|
def capability?(cap_name)
|
116
|
-
!capability_module(cap_name).nil?
|
116
|
+
!capability_module(cap_name.to_sym).nil?
|
117
117
|
end
|
118
118
|
|
119
119
|
# Executes the capability with the given name, optionally passing
|
data/lib/vagrant/machine.rb
CHANGED
@@ -108,7 +108,7 @@ module Vagrant
|
|
108
108
|
# Read the id file from the data directory if it exists as the
|
109
109
|
# ID for the pre-existing physical representation of this machine.
|
110
110
|
id_file = @data_dir.join("id")
|
111
|
-
@id = id_file.read if id_file.file?
|
111
|
+
@id = id_file.read.chomp if id_file.file?
|
112
112
|
end
|
113
113
|
|
114
114
|
# Initializes the provider last so that it has access to all the
|
@@ -207,6 +207,16 @@ module Vagrant
|
|
207
207
|
else
|
208
208
|
# Delete the file, since the machine is now destroyed
|
209
209
|
id_file.delete if id_file.file?
|
210
|
+
|
211
|
+
# Delete the entire data directory contents since all state
|
212
|
+
# associated with the VM is now gone.
|
213
|
+
@data_dir.children.each do |child|
|
214
|
+
begin
|
215
|
+
child.rmtree
|
216
|
+
rescue Errno::EACCES
|
217
|
+
@logger.info("EACCESS deleting file: #{child}")
|
218
|
+
end
|
219
|
+
end
|
210
220
|
end
|
211
221
|
|
212
222
|
# Store the ID locally
|
@@ -275,6 +285,9 @@ module Vagrant
|
|
275
285
|
info[:forward_agent] = @config.ssh.forward_agent
|
276
286
|
info[:forward_x11] = @config.ssh.forward_x11
|
277
287
|
|
288
|
+
# Add in provided proxy command config
|
289
|
+
info[:proxy_command] = @config.ssh.proxy_command if @config.ssh.proxy_command
|
290
|
+
|
278
291
|
# Set the private key path. If a specific private key is given in
|
279
292
|
# the Vagrantfile we set that. Otherwise, we use the default (insecure)
|
280
293
|
# private key, but only if the provider didn't give us one.
|
@@ -302,26 +315,5 @@ module Vagrant
|
|
302
315
|
raise Errors::MachineStateInvalid if !result.is_a?(MachineState)
|
303
316
|
result
|
304
317
|
end
|
305
|
-
|
306
|
-
protected
|
307
|
-
|
308
|
-
# Given a guest name (such as `:windows`), this will load the associated
|
309
|
-
# guest implementation and return an instance.
|
310
|
-
#
|
311
|
-
# @param [Symbol] guest The name of the guest implementation.
|
312
|
-
# @return [Object]
|
313
|
-
def load_guest(guest)
|
314
|
-
@logger.info("Loading guest: #{guest}")
|
315
|
-
|
316
|
-
klass = Vagrant.plugin("2").manager.guests[guest]
|
317
|
-
|
318
|
-
if klass.nil?
|
319
|
-
raise Errors::VMGuestError,
|
320
|
-
:_key => :unknown_type,
|
321
|
-
:guest => guest.to_s
|
322
|
-
end
|
323
|
-
|
324
|
-
return klass.new(self)
|
325
|
-
end
|
326
318
|
end
|
327
319
|
end
|
@@ -84,6 +84,9 @@ module Vagrant
|
|
84
84
|
names ||= []
|
85
85
|
names = [names] if !names.is_a?(Array)
|
86
86
|
|
87
|
+
# Cache the active machines outside the loop
|
88
|
+
active_machines = @env.active_machines
|
89
|
+
|
87
90
|
# This is a helper that gets a single machine with the proper
|
88
91
|
# provider. The "proper provider" in this case depends on what was
|
89
92
|
# given:
|
@@ -101,7 +104,7 @@ module Vagrant
|
|
101
104
|
provider_to_use = options[:provider]
|
102
105
|
provider_to_use = provider_to_use.to_sym if provider_to_use
|
103
106
|
|
104
|
-
|
107
|
+
active_machines.each do |active_name, active_provider|
|
105
108
|
if name == active_name
|
106
109
|
# We found an active machine with the same name
|
107
110
|
|
@@ -1,3 +1,5 @@
|
|
1
|
+
require "timeout"
|
2
|
+
|
1
3
|
module Vagrant
|
2
4
|
module Plugin
|
3
5
|
module V2
|
@@ -44,6 +46,25 @@ module Vagrant
|
|
44
46
|
false
|
45
47
|
end
|
46
48
|
|
49
|
+
# wait_for_ready waits until the communicator is ready, blocking
|
50
|
+
# until then. It will wait up to the given duration or raise an
|
51
|
+
# exception if something goes wrong.
|
52
|
+
def wait_for_ready(duration)
|
53
|
+
# By default, we implement a naive solution.
|
54
|
+
begin
|
55
|
+
Timeout.timeout(duration) do
|
56
|
+
while true
|
57
|
+
return true if ready?
|
58
|
+
sleep 0.5
|
59
|
+
end
|
60
|
+
end
|
61
|
+
rescue Timeout::Error
|
62
|
+
# We timed out, we failed.
|
63
|
+
end
|
64
|
+
|
65
|
+
return false
|
66
|
+
end
|
67
|
+
|
47
68
|
# Download a file from the remote machine to the local machine.
|
48
69
|
#
|
49
70
|
# @param [String] from Path of the file on the remote machine.
|
@@ -14,64 +14,9 @@ module Vagrant
|
|
14
14
|
# is running within the machine.
|
15
15
|
#
|
16
16
|
# @return [Boolean]
|
17
|
-
def
|
17
|
+
def detect?(machine)
|
18
18
|
false
|
19
19
|
end
|
20
|
-
|
21
|
-
# Halt the machine. This method should gracefully shut down the
|
22
|
-
# operating system. This method will cause `vagrant halt` and associated
|
23
|
-
# commands to _block_, meaning that if the machine doesn't halt
|
24
|
-
# in a reasonable amount of time, this method should just return.
|
25
|
-
#
|
26
|
-
# If when this method returns, the machine's state isn't "powered_off,"
|
27
|
-
# Vagrant will proceed to forcefully shut the machine down.
|
28
|
-
def halt
|
29
|
-
raise BaseError, :_key => :unsupported_halt
|
30
|
-
end
|
31
|
-
|
32
|
-
# Mounts a shared folder.
|
33
|
-
#
|
34
|
-
# This method should create, mount, and properly set permissions
|
35
|
-
# on the shared folder. This method should also properly
|
36
|
-
# adhere to any configuration values such as `shared_folder_uid`
|
37
|
-
# on `config.vm`.
|
38
|
-
#
|
39
|
-
# @param [String] name The name of the shared folder.
|
40
|
-
# @param [String] guestpath The path on the machine which the user
|
41
|
-
# wants the folder mounted.
|
42
|
-
# @param [Hash] options Additional options for the shared folder
|
43
|
-
# which can be honored.
|
44
|
-
def mount_shared_folder(name, guestpath, options)
|
45
|
-
raise BaseError, :_key => :unsupported_shared_folder
|
46
|
-
end
|
47
|
-
|
48
|
-
# Mounts a shared folder via NFS. This assumes that the exports
|
49
|
-
# via the host are already done.
|
50
|
-
def mount_nfs(ip, folders)
|
51
|
-
raise BaseError, :_key => :unsupported_nfs
|
52
|
-
end
|
53
|
-
|
54
|
-
# Configures the given list of networks on the virtual machine.
|
55
|
-
#
|
56
|
-
# The networks parameter will be an array of hashes where the hashes
|
57
|
-
# represent the configuration of a network interface. The structure
|
58
|
-
# of the hash will be roughly the following:
|
59
|
-
#
|
60
|
-
# {
|
61
|
-
# :type => :static,
|
62
|
-
# :ip => "192.168.33.10",
|
63
|
-
# :netmask => "255.255.255.0",
|
64
|
-
# :interface => 1
|
65
|
-
# }
|
66
|
-
#
|
67
|
-
def configure_networks(networks)
|
68
|
-
raise BaseError, :_key => :unsupported_configure_networks
|
69
|
-
end
|
70
|
-
|
71
|
-
# Called to change the hostname of the virtual machine.
|
72
|
-
def change_host_name(name)
|
73
|
-
raise BaseError, :_key => :unsupported_host_name
|
74
|
-
end
|
75
20
|
end
|
76
21
|
end
|
77
22
|
end
|