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
@@ -69,8 +69,10 @@ module VagrantPlugins
|
|
69
69
|
b.use ForwardPorts
|
70
70
|
b.use SetHostname
|
71
71
|
b.use SaneDefaults
|
72
|
-
b.use Customize
|
72
|
+
b.use Customize, "pre-boot"
|
73
73
|
b.use Boot
|
74
|
+
b.use Customize, "post-boot"
|
75
|
+
b.use WaitForCommunicator, [:starting, :running]
|
74
76
|
b.use CheckGuestAdditions
|
75
77
|
end
|
76
78
|
end
|
@@ -96,6 +98,7 @@ module VagrantPlugins
|
|
96
98
|
b3.use Destroy
|
97
99
|
b3.use CleanMachineFolder
|
98
100
|
b3.use DestroyUnusedNetworkInterfaces
|
101
|
+
b3.use ProvisionerCleanup
|
99
102
|
else
|
100
103
|
b3.use MessageWillNotDestroy
|
101
104
|
end
|
@@ -293,12 +296,22 @@ module VagrantPlugins
|
|
293
296
|
def self.action_up
|
294
297
|
Vagrant::Action::Builder.new.tap do |b|
|
295
298
|
b.use CheckVirtualbox
|
299
|
+
|
300
|
+
# Handle box_url downloading early so that if the Vagrantfile
|
301
|
+
# references any files in the box or something it all just
|
302
|
+
# works fine.
|
303
|
+
b.use Call, Created do |env, b2|
|
304
|
+
if !env[:result]
|
305
|
+
b2.use HandleBoxUrl
|
306
|
+
end
|
307
|
+
end
|
308
|
+
|
296
309
|
b.use ConfigValidate
|
297
310
|
b.use Call, Created do |env, b2|
|
298
311
|
# If the VM is NOT created yet, then do the setup steps
|
299
312
|
if !env[:result]
|
300
313
|
b2.use CheckAccessible
|
301
|
-
b2.use
|
314
|
+
b2.use Customize, "pre-import"
|
302
315
|
b2.use Import
|
303
316
|
b2.use MatchMACAddress
|
304
317
|
end
|
@@ -14,35 +14,9 @@ module VagrantPlugins
|
|
14
14
|
# Start up the VM and wait for it to boot.
|
15
15
|
env[:ui].info I18n.t("vagrant.actions.vm.boot.booting")
|
16
16
|
env[:machine].provider.driver.start(boot_mode)
|
17
|
-
raise Vagrant::Errors::VMFailedToBoot if !wait_for_boot
|
18
17
|
|
19
18
|
@app.call(env)
|
20
19
|
end
|
21
|
-
|
22
|
-
def wait_for_boot
|
23
|
-
@env[:ui].info I18n.t("vagrant.actions.vm.boot.waiting")
|
24
|
-
|
25
|
-
@env[:machine].config.ssh.max_tries.to_i.times do |i|
|
26
|
-
if @env[:machine].communicate.ready?
|
27
|
-
@env[:ui].info I18n.t("vagrant.actions.vm.boot.ready")
|
28
|
-
return true
|
29
|
-
end
|
30
|
-
|
31
|
-
# Return true so that the vm_failed_to_boot error doesn't
|
32
|
-
# get shown
|
33
|
-
return true if @env[:interrupted]
|
34
|
-
|
35
|
-
# If the VM is not starting or running, something went wrong
|
36
|
-
# and we need to show a useful error.
|
37
|
-
state = @env[:machine].provider.state.id
|
38
|
-
raise Vagrant::Errors::VMFailedToRun if state != :starting && state != :running
|
39
|
-
|
40
|
-
sleep 2 if !@env["vagrant.test"]
|
41
|
-
end
|
42
|
-
|
43
|
-
@env[:ui].error I18n.t("vagrant.actions.vm.boot.failed")
|
44
|
-
false
|
45
|
-
end
|
46
20
|
end
|
47
21
|
end
|
48
22
|
end
|
@@ -12,7 +12,7 @@ module VagrantPlugins
|
|
12
12
|
# excluding the NAT adapter on port 1 which Vagrant always
|
13
13
|
# expects to exist.
|
14
14
|
adapters = []
|
15
|
-
2.upto(
|
15
|
+
2.upto(env[:machine].provider.driver.max_network_adapters).each do |i|
|
16
16
|
adapters << {
|
17
17
|
:adapter => i,
|
18
18
|
:type => :none
|
@@ -2,14 +2,21 @@ module VagrantPlugins
|
|
2
2
|
module ProviderVirtualBox
|
3
3
|
module Action
|
4
4
|
class Customize
|
5
|
-
def initialize(app, env)
|
5
|
+
def initialize(app, env, event)
|
6
6
|
@app = app
|
7
|
+
@event = event
|
7
8
|
end
|
8
9
|
|
9
10
|
def call(env)
|
10
|
-
customizations =
|
11
|
+
customizations = []
|
12
|
+
env[:machine].provider_config.customizations.each do |event, command|
|
13
|
+
if event == @event
|
14
|
+
customizations << command
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
11
18
|
if !customizations.empty?
|
12
|
-
env[:ui].info I18n.t("vagrant.actions.vm.customize.running")
|
19
|
+
env[:ui].info I18n.t("vagrant.actions.vm.customize.running", event: @event)
|
13
20
|
|
14
21
|
# Execute each customization command.
|
15
22
|
customizations.each do |command|
|
@@ -1,13 +1,20 @@
|
|
1
|
+
require "log4r"
|
2
|
+
|
1
3
|
module VagrantPlugins
|
2
4
|
module ProviderVirtualBox
|
3
5
|
module Action
|
4
6
|
class DestroyUnusedNetworkInterfaces
|
5
7
|
def initialize(app, env)
|
6
8
|
@app = app
|
9
|
+
@logger = Log4r::Logger.new("vagrant::plugins::virtualbox::destroy_unused_netifs")
|
7
10
|
end
|
8
11
|
|
9
12
|
def call(env)
|
10
|
-
env[:machine].
|
13
|
+
if env[:machine].provider_config.destroy_unused_network_interfaces
|
14
|
+
@logger.info("Destroying unused network interfaces...")
|
15
|
+
env[:machine].provider.driver.delete_unused_host_only_networks
|
16
|
+
end
|
17
|
+
|
11
18
|
@app.call(env)
|
12
19
|
end
|
13
20
|
end
|
@@ -36,6 +36,9 @@ module VagrantPlugins
|
|
36
36
|
if env[:machine].provider.state.id != :not_created
|
37
37
|
return if env["vagrant.error"].is_a?(Vagrant::Errors::VagrantError)
|
38
38
|
|
39
|
+
# If we're not supposed to destroy on error then just return
|
40
|
+
return if !env[:destroy_on_error]
|
41
|
+
|
39
42
|
# Interrupted, destroy the VM. We note that we don't want to
|
40
43
|
# validate the configuration here, and we don't want to confirm
|
41
44
|
# we want to destroy.
|
@@ -202,6 +202,17 @@ module VagrantPlugins
|
|
202
202
|
end
|
203
203
|
|
204
204
|
def bridged_network_config(config)
|
205
|
+
if config[:ip]
|
206
|
+
options = {
|
207
|
+
:auto_config => true,
|
208
|
+
:mac => nil,
|
209
|
+
:netmask => "255.255.255.0",
|
210
|
+
:type => :static
|
211
|
+
}.merge(config)
|
212
|
+
options[:type] = options[:type].to_sym
|
213
|
+
return options
|
214
|
+
end
|
215
|
+
|
205
216
|
return {
|
206
217
|
:type => :dhcp,
|
207
218
|
:use_dhcp_assigned_default_route => config[:use_dhcp_assigned_default_route]
|
@@ -212,6 +223,7 @@ module VagrantPlugins
|
|
212
223
|
options = {
|
213
224
|
:auto_config => true,
|
214
225
|
:mac => nil,
|
226
|
+
:nic_type => nil,
|
215
227
|
:netmask => "255.255.255.0",
|
216
228
|
:type => :static
|
217
229
|
}.merge(options)
|
@@ -220,7 +232,7 @@ module VagrantPlugins
|
|
220
232
|
options[:type] = options[:type].to_sym
|
221
233
|
|
222
234
|
# Default IP is in the 20-bit private network block for DHCP based networks
|
223
|
-
options[:ip] = "172.28.128.1" if options[:type] == :dhcp
|
235
|
+
options[:ip] = "172.28.128.1" if options[:type] == :dhcp && !options[:ip]
|
224
236
|
|
225
237
|
# Calculate our network address for the given IP/netmask
|
226
238
|
netaddr = network_address(options[:ip], options[:netmask])
|
@@ -271,7 +283,7 @@ module VagrantPlugins
|
|
271
283
|
:ip => options[:ip],
|
272
284
|
:mac => options[:mac],
|
273
285
|
:netmask => options[:netmask],
|
274
|
-
:nic_type =>
|
286
|
+
:nic_type => options[:nic_type],
|
275
287
|
:type => options[:type]
|
276
288
|
}.merge(dhcp_options)
|
277
289
|
end
|
@@ -50,13 +50,18 @@ module VagrantPlugins
|
|
50
50
|
#
|
51
51
|
# @return [String]
|
52
52
|
def read_machine_ip(machine)
|
53
|
+
ips = []
|
53
54
|
machine.config.vm.networks.each do |type, options|
|
54
55
|
if type == :private_network && options[:ip].is_a?(String)
|
55
|
-
|
56
|
+
ips << options[:ip]
|
56
57
|
end
|
57
58
|
end
|
58
59
|
|
59
|
-
|
60
|
+
if ips.empty?
|
61
|
+
return nil
|
62
|
+
end
|
63
|
+
|
64
|
+
ips
|
60
65
|
end
|
61
66
|
end
|
62
67
|
end
|
@@ -12,9 +12,16 @@ module VagrantPlugins
|
|
12
12
|
def call(env)
|
13
13
|
name = env[:machine].provider_config.name
|
14
14
|
|
15
|
+
# If we already set the name before, then don't do anything
|
16
|
+
sentinel = env[:machine].data_dir.join("action_set_name")
|
17
|
+
if !name && sentinel.file?
|
18
|
+
@logger.info("Default name was already set before, not doing it again.")
|
19
|
+
return @app.call(env)
|
20
|
+
end
|
21
|
+
|
15
22
|
# If no name was manually set, then use a default
|
16
23
|
if !name
|
17
|
-
prefix = env[:root_path].basename.to_s
|
24
|
+
prefix = "#{env[:root_path].basename.to_s}_#{env[:machine].name}"
|
18
25
|
prefix.gsub!(/[^-a-z0-9_]/i, "")
|
19
26
|
name = prefix + "_#{Time.now.to_i}"
|
20
27
|
end
|
@@ -32,6 +39,11 @@ module VagrantPlugins
|
|
32
39
|
env[:machine].provider.driver.set_name(name)
|
33
40
|
end
|
34
41
|
|
42
|
+
# Create the sentinel
|
43
|
+
sentinel.open("w") do |f|
|
44
|
+
f.write(Time.now.to_i.to_s)
|
45
|
+
end
|
46
|
+
|
35
47
|
@app.call(env)
|
36
48
|
end
|
37
49
|
end
|
@@ -13,6 +13,14 @@ module VagrantPlugins
|
|
13
13
|
# @return [Array]
|
14
14
|
attr_reader :customizations
|
15
15
|
|
16
|
+
# If true, unused network interfaces will automatically be deleted.
|
17
|
+
# This defaults to false because the detection does not work across
|
18
|
+
# multiple users, and because on Windows this operation requires
|
19
|
+
# administrative privileges.
|
20
|
+
#
|
21
|
+
# @return [Boolean]
|
22
|
+
attr_accessor :destroy_unused_network_interfaces
|
23
|
+
|
16
24
|
# If set to `true`, then VirtualBox will be launched with a GUI.
|
17
25
|
#
|
18
26
|
# @return [Boolean]
|
@@ -32,6 +40,7 @@ module VagrantPlugins
|
|
32
40
|
def initialize
|
33
41
|
@auto_nat_dns_proxy = UNSET_VALUE
|
34
42
|
@customizations = []
|
43
|
+
@destroy_unused_network_interfaces = UNSET_VALUE
|
35
44
|
@name = UNSET_VALUE
|
36
45
|
@network_adapters = {}
|
37
46
|
@gui = UNSET_VALUE
|
@@ -52,8 +61,10 @@ module VagrantPlugins
|
|
52
61
|
#
|
53
62
|
# @param [Array] command An array of arguments to pass to
|
54
63
|
# VBoxManage.
|
55
|
-
def customize(command)
|
56
|
-
|
64
|
+
def customize(*command)
|
65
|
+
event = command.first.is_a?(String) ? command.shift : "pre-boot"
|
66
|
+
command = command[0]
|
67
|
+
@customizations << [event, command]
|
57
68
|
end
|
58
69
|
|
59
70
|
# This defines a network adapter that will be added to the VirtualBox
|
@@ -71,6 +82,10 @@ module VagrantPlugins
|
|
71
82
|
# Default is to auto the DNS proxy
|
72
83
|
@auto_nat_dns_proxy = true if @auto_nat_dns_proxy == UNSET_VALUE
|
73
84
|
|
85
|
+
if @destroy_unused_network_interfaces == UNSET_VALUE
|
86
|
+
@destroy_unused_network_interfaces = false
|
87
|
+
end
|
88
|
+
|
74
89
|
# Default is to not show a GUI
|
75
90
|
@gui = false if @gui == UNSET_VALUE
|
76
91
|
|
@@ -78,6 +93,28 @@ module VagrantPlugins
|
|
78
93
|
@name = nil if @name == UNSET_VALUE
|
79
94
|
end
|
80
95
|
|
96
|
+
def validate(machine)
|
97
|
+
errors = []
|
98
|
+
|
99
|
+
valid_events = ["pre-import", "pre-boot", "post-boot"]
|
100
|
+
@customizations.each do |event, _|
|
101
|
+
if !valid_events.include?(event)
|
102
|
+
errors << I18n.t(
|
103
|
+
"vagrant.virtualbox.config.invalid_event",
|
104
|
+
event: event.to_s,
|
105
|
+
valid_events: valid_events.join(", "))
|
106
|
+
end
|
107
|
+
end
|
108
|
+
|
109
|
+
@customizations.each do |event, command|
|
110
|
+
if event == "pre-import" && command.index(:id)
|
111
|
+
errors << I18n.t("vagrant.virtualbox.config.id_in_pre_import")
|
112
|
+
end
|
113
|
+
end
|
114
|
+
|
115
|
+
{ "VirtualBox Provider" => errors }
|
116
|
+
end
|
117
|
+
|
81
118
|
def to_s
|
82
119
|
"VirtualBox"
|
83
120
|
end
|
@@ -153,6 +153,11 @@ module VagrantPlugins
|
|
153
153
|
def import(ovf)
|
154
154
|
end
|
155
155
|
|
156
|
+
# Returns the maximum number of network adapters.
|
157
|
+
def max_network_adapters
|
158
|
+
8
|
159
|
+
end
|
160
|
+
|
156
161
|
# Returns a list of forwarded ports for a VM.
|
157
162
|
#
|
158
163
|
# @param [String] uuid UUID of the VM to read from, or `nil` if this
|
@@ -32,7 +32,8 @@ module VagrantPlugins
|
|
32
32
|
# specific driver to instantiate.
|
33
33
|
begin
|
34
34
|
@version = read_version || ""
|
35
|
-
rescue Vagrant::
|
35
|
+
rescue Vagrant::Errors::CommandUnavailable,
|
36
|
+
Vagrant::Errors::CommandUnavailableWindows
|
36
37
|
# This means that VirtualBox was not found, so we raise this
|
37
38
|
# error here.
|
38
39
|
raise Vagrant::Errors::VirtualBoxNotDetected
|
@@ -46,6 +47,11 @@ module VagrantPlugins
|
|
46
47
|
"4.2" => Version_4_2
|
47
48
|
}
|
48
49
|
|
50
|
+
if @version.start_with?("4.2.14")
|
51
|
+
# VirtualBox 4.2.14 just doesn't work with Vagrant, so show error
|
52
|
+
raise Vagrant::Errors::VirtualBoxBrokenVersion040214
|
53
|
+
end
|
54
|
+
|
49
55
|
driver_klass = nil
|
50
56
|
driver_map.each do |key, klass|
|
51
57
|
if @version.start_with?(key)
|
@@ -142,9 +142,9 @@ module VagrantPlugins
|
|
142
142
|
ports.each do |options|
|
143
143
|
pf_builder = [options[:name],
|
144
144
|
options[:protocol] || "tcp",
|
145
|
-
"",
|
145
|
+
options[:hostip] || "",
|
146
146
|
options[:hostport],
|
147
|
-
"",
|
147
|
+
options[:guestip] || "",
|
148
148
|
options[:guestport]]
|
149
149
|
|
150
150
|
args.concat(["--natpf#{options[:adapter] || 1}",
|
@@ -142,9 +142,9 @@ module VagrantPlugins
|
|
142
142
|
ports.each do |options|
|
143
143
|
pf_builder = [options[:name],
|
144
144
|
options[:protocol] || "tcp",
|
145
|
-
"",
|
145
|
+
options[:hostip] || "",
|
146
146
|
options[:hostport],
|
147
|
-
"",
|
147
|
+
options[:guestip] || "",
|
148
148
|
options[:guestport]]
|
149
149
|
|
150
150
|
args.concat(["--natpf#{options[:adapter] || 1}",
|
@@ -202,6 +202,10 @@ module VagrantPlugins
|
|
202
202
|
nil
|
203
203
|
end
|
204
204
|
|
205
|
+
def max_network_adapters
|
206
|
+
36
|
207
|
+
end
|
208
|
+
|
205
209
|
def read_forwarded_ports(uuid=nil, active_only=false)
|
206
210
|
uuid ||= @uuid
|
207
211
|
|
@@ -326,6 +330,19 @@ module VagrantPlugins
|
|
326
330
|
nil
|
327
331
|
end
|
328
332
|
|
333
|
+
def read_mac_addresses
|
334
|
+
macs = {}
|
335
|
+
info = execute("showvminfo", @uuid, "--machinereadable", :retryable => true)
|
336
|
+
info.split("\n").each do |line|
|
337
|
+
if matcher = /^macaddress(\d+)="(.+?)"$/.match(line)
|
338
|
+
adapter = matcher[1].to_i
|
339
|
+
mac = matcher[2].to_s
|
340
|
+
macs[adapter] = mac
|
341
|
+
end
|
342
|
+
end
|
343
|
+
macs
|
344
|
+
end
|
345
|
+
|
329
346
|
def read_machine_folder
|
330
347
|
execute("list", "systemproperties", :retryable => true).split("\n").each do |line|
|
331
348
|
if line =~ /^Default machine folder:\s+(.+?)$/i
|
@@ -24,6 +24,11 @@ module VagrantPlugins
|
|
24
24
|
# @return [String]
|
25
25
|
attr_reader :protocol
|
26
26
|
|
27
|
+
# The IP that the forwarded port will connect to on the guest machine.
|
28
|
+
#
|
29
|
+
# @return [String]
|
30
|
+
attr_reader :guest_ip
|
31
|
+
|
27
32
|
# The port on the guest to be exposed on the host.
|
28
33
|
#
|
29
34
|
# @return [Integer]
|
@@ -45,9 +50,10 @@ module VagrantPlugins
|
|
45
50
|
@host_port = host_port
|
46
51
|
|
47
52
|
options ||= {}
|
48
|
-
@auto_correct =
|
53
|
+
@auto_correct = false
|
49
54
|
@auto_correct = options[:auto_correct] if options.has_key?(:auto_correct)
|
50
55
|
@adapter = (options[:adapter] || 1).to_i
|
56
|
+
@guest_ip = options[:guest_ip] || nil
|
51
57
|
@host_ip = options[:host_ip] || nil
|
52
58
|
@protocol = options[:protocol] || "tcp"
|
53
59
|
end
|