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
@@ -41,6 +41,12 @@ module Vagrant
|
|
41
41
|
# No return value is expected.
|
42
42
|
def provision
|
43
43
|
end
|
44
|
+
|
45
|
+
# This is the method called when destroying a machine that allows
|
46
|
+
# for any state related to the machine created by the provisioner
|
47
|
+
# to be cleaned up.
|
48
|
+
def cleanup
|
49
|
+
end
|
44
50
|
end
|
45
51
|
end
|
46
52
|
end
|
@@ -7,8 +7,12 @@ module Vagrant
|
|
7
7
|
module Util
|
8
8
|
# This class downloads files using various protocols by subprocessing
|
9
9
|
# to cURL. cURL is a much more capable and complete download tool than
|
10
|
-
# a hand-rolled Ruby library, so we defer to
|
10
|
+
# a hand-rolled Ruby library, so we defer to its expertise.
|
11
11
|
class Downloader
|
12
|
+
# Custom user agent provided to cURL so that requests to URL shorteners
|
13
|
+
# are properly tracked.
|
14
|
+
USER_AGENT = "Vagrant/#{VERSION}"
|
15
|
+
|
12
16
|
def initialize(source, destination, options=nil)
|
13
17
|
@logger = Log4r::Logger.new("vagrant::util::downloader")
|
14
18
|
@source = source.to_s
|
@@ -21,7 +25,7 @@ module Vagrant
|
|
21
25
|
end
|
22
26
|
|
23
27
|
# This executes the actual download, downloading the source file
|
24
|
-
# to the destination with the given
|
28
|
+
# to the destination with the given options used to initialize this
|
25
29
|
# class.
|
26
30
|
#
|
27
31
|
# If this method returns without an exception, the download
|
@@ -32,6 +36,7 @@ module Vagrant
|
|
32
36
|
"--fail",
|
33
37
|
"--location",
|
34
38
|
"--max-redirs", "10",
|
39
|
+
"--user-agent", USER_AGENT,
|
35
40
|
"--output", @destination
|
36
41
|
]
|
37
42
|
|
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'rbconfig'
|
2
|
+
require 'tmpdir'
|
2
3
|
|
3
4
|
require "vagrant/util/subprocess"
|
4
5
|
|
@@ -39,6 +40,48 @@ module Vagrant
|
|
39
40
|
process.stdout.chomp
|
40
41
|
end
|
41
42
|
|
43
|
+
# This checks if the filesystem is case sensitive. This is not a
|
44
|
+
# 100% correct check, since it is possible that the temporary
|
45
|
+
# directory runs a different filesystem than the root directory.
|
46
|
+
# However, this works in many cases.
|
47
|
+
def fs_case_sensitive?
|
48
|
+
tmp_dir = Dir.mktmpdir("vagrant")
|
49
|
+
tmp_file = File.join(tmp_dir, "FILE")
|
50
|
+
File.open(tmp_file, "w") do |f|
|
51
|
+
f.write("foo")
|
52
|
+
end
|
53
|
+
|
54
|
+
# The filesystem is case sensitive if the lowercased version
|
55
|
+
# of the filename is NOT reported as existing.
|
56
|
+
return !File.file?(File.join(tmp_dir, "file"))
|
57
|
+
end
|
58
|
+
|
59
|
+
# This expands the path and ensures proper casing of each part
|
60
|
+
# of the path.
|
61
|
+
def fs_real_path(path)
|
62
|
+
path = Pathname.new(File.expand_path(path))
|
63
|
+
raise "Path must exist for path expansion" if !path.exist?
|
64
|
+
return path if fs_case_sensitive?
|
65
|
+
|
66
|
+
# Build up all the parts of the path
|
67
|
+
original = []
|
68
|
+
while !path.root?
|
69
|
+
original.unshift(path.basename.to_s)
|
70
|
+
path = path.parent
|
71
|
+
end
|
72
|
+
|
73
|
+
# Traverse each part and join it into the resulting path
|
74
|
+
original.each do |single|
|
75
|
+
Dir.entries(path).each do |entry|
|
76
|
+
if entry.downcase == single.downcase
|
77
|
+
path = path.join(entry)
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
path
|
83
|
+
end
|
84
|
+
|
42
85
|
# Returns a boolean noting whether the terminal supports color.
|
43
86
|
# output.
|
44
87
|
def terminal_supports_colors?
|
data/lib/vagrant/util/ssh.rb
CHANGED
@@ -100,6 +100,7 @@ module Vagrant
|
|
100
100
|
# Command line options
|
101
101
|
command_options = [
|
102
102
|
"-p", options[:port].to_s,
|
103
|
+
"-o", "DSAAuthentication=yes",
|
103
104
|
"-o", "LogLevel=FATAL",
|
104
105
|
"-o", "StrictHostKeyChecking=no",
|
105
106
|
"-o", "UserKnownHostsFile=/dev/null"]
|
@@ -121,6 +122,10 @@ module Vagrant
|
|
121
122
|
"-o", "ForwardX11Trusted=yes"]
|
122
123
|
end
|
123
124
|
|
125
|
+
if ssh_info[:proxy_command]
|
126
|
+
command_options += ["-o", "ProxyCommand=#{ssh_info[:proxy_command]}"]
|
127
|
+
end
|
128
|
+
|
124
129
|
# Configurables -- extra_args should always be last due to the way the
|
125
130
|
# ssh args parser works. e.g. if the user wants to use the -t option,
|
126
131
|
# any shell command(s) she'd like to run on the remote server would
|
@@ -26,8 +26,8 @@ module Vagrant
|
|
26
26
|
|
27
27
|
def initialize(*command)
|
28
28
|
@options = command.last.is_a?(Hash) ? command.pop : {}
|
29
|
-
@command = command
|
30
|
-
@command[0] = Which.which(@command[0]) if !File.file?
|
29
|
+
@command = command.dup
|
30
|
+
@command[0] = Which.which(@command[0]) if !File.file?(@command[0])
|
31
31
|
if !@command[0]
|
32
32
|
raise Errors::CommandUnavailableWindows, file: command[0] if Platform.windows?
|
33
33
|
raise Errors::CommandUnavailable, file: command[0]
|
@@ -73,6 +73,20 @@ module Vagrant
|
|
73
73
|
process.io.stderr = stderr_writer
|
74
74
|
process.duplex = true
|
75
75
|
|
76
|
+
# If we're in the installer and the command is NOT included
|
77
|
+
# in the installer (external), then remove the DYLD_IMPORT_PATH
|
78
|
+
# environmental variable to run into linker issues. [GH-2219]
|
79
|
+
if Vagrant.in_installer? && ENV["VAGRANT_ORIGINAL_DYLD_LIBRARY_PATH"]
|
80
|
+
installer_dir = ENV["VAGRANT_INSTALLER_EMBEDDED_DIR"].to_s.downcase
|
81
|
+
if !@command[0].downcase.include?(installer_dir)
|
82
|
+
@logger.info("Command not in the installer. Removing DYLD_LIBRARY_PATH")
|
83
|
+
process.environment["DYLD_LIBRARY_PATH"] =
|
84
|
+
ENV["VAGRANT_ORIGINAL_DYLD_LIBRARY_PATH"]
|
85
|
+
else
|
86
|
+
@logger.debug("Command in installer, not touching env vars.")
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
76
90
|
# Set the environment on the process if we must
|
77
91
|
if @options[:env]
|
78
92
|
@options[:env].each do |k, v|
|
data/lib/vagrant/version.rb
CHANGED
@@ -12,7 +12,27 @@ module VagrantPlugins
|
|
12
12
|
# Parse the options
|
13
13
|
argv = parse_options(opts)
|
14
14
|
return if !argv
|
15
|
-
raise Vagrant::Errors::CLIInvalidUsage, :help => opts.help.chomp if argv.length <
|
15
|
+
raise Vagrant::Errors::CLIInvalidUsage, :help => opts.help.chomp if argv.length < 1
|
16
|
+
|
17
|
+
if !argv[1]
|
18
|
+
# Try to automatically determine the provider.
|
19
|
+
providers = []
|
20
|
+
@env.boxes.all.each do |name, provider|
|
21
|
+
if name == argv[0]
|
22
|
+
providers << provider
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
if providers.length > 1
|
27
|
+
@env.ui.error(
|
28
|
+
I18n.t("vagrant.commands.box.remove_must_specify_provider",
|
29
|
+
name: argv[0],
|
30
|
+
providers: providers.join(", ")))
|
31
|
+
return 1
|
32
|
+
end
|
33
|
+
|
34
|
+
argv[1] = providers[0] || ""
|
35
|
+
end
|
16
36
|
|
17
37
|
b = nil
|
18
38
|
begin
|
@@ -22,7 +42,7 @@ module VagrantPlugins
|
|
22
42
|
retry
|
23
43
|
end
|
24
44
|
|
25
|
-
raise Vagrant::Errors::BoxNotFound, :name => argv[0] if !b
|
45
|
+
raise Vagrant::Errors::BoxNotFound, :name => argv[0], :provider => argv[1].to_sym if !b
|
26
46
|
@env.ui.info(I18n.t("vagrant.commands.box.removing",
|
27
47
|
:name => argv[0],
|
28
48
|
:provider => argv[1]))
|
@@ -28,7 +28,7 @@ module VagrantPlugins
|
|
28
28
|
retry
|
29
29
|
end
|
30
30
|
|
31
|
-
raise Vagrant::Errors::BoxNotFound, :name => box_name if !box
|
31
|
+
raise Vagrant::Errors::BoxNotFound, :name => box_name, :provider => box_provider if !box
|
32
32
|
|
33
33
|
# Repackage the box
|
34
34
|
output_path = Pathname.new(File.expand_path(@env.config_global.package.name, FileUtils.pwd))
|
@@ -19,12 +19,17 @@ module VagrantPlugins
|
|
19
19
|
return if !argv
|
20
20
|
|
21
21
|
@logger.debug("'Destroy' each target VM...")
|
22
|
+
declined = false
|
22
23
|
with_target_vms(argv, :reverse => true) do |vm|
|
23
|
-
vm.action(
|
24
|
+
action_env = vm.action(
|
25
|
+
:destroy, :force_confirm_destroy => options[:force])
|
26
|
+
|
27
|
+
declined = true if action_env.has_key?(:force_confirm_destroy_result) &&
|
28
|
+
action_env[:force_confirm_destroy_result] == false
|
24
29
|
end
|
25
30
|
|
26
|
-
# Success
|
27
|
-
0
|
31
|
+
# Success if no confirms were declined
|
32
|
+
declined ? 1 : 0
|
28
33
|
end
|
29
34
|
end
|
30
35
|
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
require "vagrant"
|
2
|
+
|
3
|
+
module VagrantPlugins
|
4
|
+
module CommandHelp
|
5
|
+
class Plugin < Vagrant.plugin("2")
|
6
|
+
name "help command"
|
7
|
+
description <<-DESC
|
8
|
+
The `help` command shows help for the given command.
|
9
|
+
DESC
|
10
|
+
|
11
|
+
command("help") do
|
12
|
+
require File.expand_path("../command", __FILE__)
|
13
|
+
Command
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -39,12 +39,23 @@ module VagrantPlugins
|
|
39
39
|
end
|
40
40
|
end
|
41
41
|
|
42
|
+
# This middleware sequence will update a plugin.
|
43
|
+
def self.action_update
|
44
|
+
Vagrant::Action::Builder.new.tap do |b|
|
45
|
+
b.use BundlerCheck
|
46
|
+
b.use PluginExistsCheck
|
47
|
+
b.use InstallGem
|
48
|
+
b.use PruneGems
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
42
52
|
# The autoload farm
|
43
53
|
action_root = Pathname.new(File.expand_path("../action", __FILE__))
|
44
54
|
autoload :BundlerCheck, action_root.join("bundler_check")
|
45
55
|
autoload :InstallGem, action_root.join("install_gem")
|
46
56
|
autoload :LicensePlugin, action_root.join("license_plugin")
|
47
57
|
autoload :ListPlugins, action_root.join("list_plugins")
|
58
|
+
autoload :PluginExistsCheck, action_root.join("plugin_exists_check")
|
48
59
|
autoload :PruneGems, action_root.join("prune_gems")
|
49
60
|
autoload :UninstallPlugin, action_root.join("uninstall_plugin")
|
50
61
|
end
|
@@ -1,5 +1,6 @@
|
|
1
1
|
require "rubygems"
|
2
2
|
require "rubygems/dependency_installer"
|
3
|
+
require "rubygems/format"
|
3
4
|
|
4
5
|
require "log4r"
|
5
6
|
|
@@ -19,6 +20,16 @@ module VagrantPlugins
|
|
19
20
|
prerelease = env[:plugin_prerelease]
|
20
21
|
version = env[:plugin_version]
|
21
22
|
|
23
|
+
# Determine the plugin name we'll look for in the installed set
|
24
|
+
# in order to determine the version and all that.
|
25
|
+
find_plugin_name = plugin_name
|
26
|
+
if plugin_name =~ /\.gem$/
|
27
|
+
# If we're installing from a gem file, determine the name
|
28
|
+
# based on the spec in the file.
|
29
|
+
pkg = Gem::Format.from_file_by_path(plugin_name)
|
30
|
+
find_plugin_name = pkg.spec.name
|
31
|
+
end
|
32
|
+
|
22
33
|
# Install the gem
|
23
34
|
plugin_name_label = plugin_name
|
24
35
|
plugin_name_label += ' --prerelease' if prerelease
|
@@ -45,7 +56,9 @@ module VagrantPlugins
|
|
45
56
|
# The plugin spec is the last installed gem since RubyGems
|
46
57
|
# currently always installed the requested gem last.
|
47
58
|
@logger.debug("Installed #{installed_gems.length} gems.")
|
48
|
-
plugin_spec = installed_gems.
|
59
|
+
plugin_spec = installed_gems.find do |gem|
|
60
|
+
gem.name.downcase == find_plugin_name.downcase
|
61
|
+
end
|
49
62
|
|
50
63
|
# Store the installed name so we can uninstall it if things go
|
51
64
|
# wrong.
|
@@ -60,6 +73,18 @@ module VagrantPlugins
|
|
60
73
|
:name => plugin_spec.name,
|
61
74
|
:version => plugin_spec.version.to_s))
|
62
75
|
|
76
|
+
# If the plugin's spec includes a post-install message display it
|
77
|
+
post_install_message = plugin_spec.post_install_message
|
78
|
+
if post_install_message
|
79
|
+
if post_install_message.is_a?(Array)
|
80
|
+
post_install_message = post_install_message.join(" ")
|
81
|
+
end
|
82
|
+
|
83
|
+
env[:ui].info(I18n.t("vagrant.commands.plugin.post_install",
|
84
|
+
:name => plugin_spec.name,
|
85
|
+
:message => post_install_message.to_s))
|
86
|
+
end
|
87
|
+
|
63
88
|
# Continue
|
64
89
|
@app.call(env)
|
65
90
|
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
require "set"
|
2
|
+
|
3
|
+
module VagrantPlugins
|
4
|
+
module CommandPlugin
|
5
|
+
module Action
|
6
|
+
# This class checks to see if the plugin is installed already, and
|
7
|
+
# if so, raises an exception/error to output to the user.
|
8
|
+
class PluginExistsCheck
|
9
|
+
def initialize(app, env)
|
10
|
+
@app = app
|
11
|
+
end
|
12
|
+
|
13
|
+
def call(env)
|
14
|
+
# Get the list of installed plugins according to the state file
|
15
|
+
installed = Set.new(env[:plugin_state_file].installed_plugins)
|
16
|
+
if !installed.include?(env[:plugin_name])
|
17
|
+
raise Vagrant::Errors::PluginNotInstalled,
|
18
|
+
name: env[:plugin_name]
|
19
|
+
end
|
20
|
+
|
21
|
+
@app.call(env)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -1,38 +1,21 @@
|
|
1
1
|
require 'optparse'
|
2
2
|
|
3
3
|
require_relative "base"
|
4
|
+
require_relative "mixin_install_opts"
|
4
5
|
|
5
6
|
module VagrantPlugins
|
6
7
|
module CommandPlugin
|
7
8
|
module Command
|
8
9
|
class Install < Base
|
10
|
+
include MixinInstallOpts
|
11
|
+
|
9
12
|
def execute
|
10
13
|
options = {}
|
11
14
|
|
12
15
|
opts = OptionParser.new do |o|
|
13
16
|
o.banner = "Usage: vagrant plugin install <name> [-h]"
|
14
17
|
o.separator ""
|
15
|
-
|
16
|
-
o.on("--entry-point NAME", String,
|
17
|
-
"The name of the entry point file for loading the plugin.") do |entry_point|
|
18
|
-
options[:entry_point] = entry_point
|
19
|
-
end
|
20
|
-
|
21
|
-
o.on("--plugin-prerelease",
|
22
|
-
"Allow prerelease versions of this plugin.") do |plugin_prerelease|
|
23
|
-
options[:plugin_prerelease] = plugin_prerelease
|
24
|
-
end
|
25
|
-
|
26
|
-
o.on("--plugin-source PLUGIN_SOURCE", String,
|
27
|
-
"Add a RubyGems repository source") do |plugin_source|
|
28
|
-
options[:plugin_sources] ||= []
|
29
|
-
options[:plugin_sources] << plugin_source
|
30
|
-
end
|
31
|
-
|
32
|
-
o.on("--plugin-version PLUGIN_VERSION", String,
|
33
|
-
"Install a specific version of the plugin") do |plugin_version|
|
34
|
-
options[:plugin_version] = plugin_version
|
35
|
-
end
|
18
|
+
build_install_opts(o, options)
|
36
19
|
end
|
37
20
|
|
38
21
|
# Parse the options
|
@@ -0,0 +1,30 @@
|
|
1
|
+
module VagrantPlugins
|
2
|
+
module CommandPlugin
|
3
|
+
module Command
|
4
|
+
module MixinInstallOpts
|
5
|
+
def build_install_opts(o, options)
|
6
|
+
o.on("--entry-point NAME", String,
|
7
|
+
"The name of the entry point file for loading the plugin.") do |entry_point|
|
8
|
+
options[:entry_point] = entry_point
|
9
|
+
end
|
10
|
+
|
11
|
+
o.on("--plugin-prerelease",
|
12
|
+
"Allow prerelease versions of this plugin.") do |plugin_prerelease|
|
13
|
+
options[:plugin_prerelease] = plugin_prerelease
|
14
|
+
end
|
15
|
+
|
16
|
+
o.on("--plugin-source PLUGIN_SOURCE", String,
|
17
|
+
"Add a RubyGems repository source") do |plugin_source|
|
18
|
+
options[:plugin_sources] ||= []
|
19
|
+
options[:plugin_sources] << plugin_source
|
20
|
+
end
|
21
|
+
|
22
|
+
o.on("--plugin-version PLUGIN_VERSION", String,
|
23
|
+
"Install a specific version of the plugin") do |plugin_version|
|
24
|
+
options[:plugin_version] = plugin_version
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|