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
@@ -0,0 +1,16 @@
|
|
1
|
+
module VagrantPlugins
|
2
|
+
module GuestDarwin
|
3
|
+
module Cap
|
4
|
+
class Halt
|
5
|
+
def self.halt(machine)
|
6
|
+
begin
|
7
|
+
machine.communicate.sudo("shutdown -h now")
|
8
|
+
rescue IOError
|
9
|
+
# Do nothing because SSH connection closed and it probably
|
10
|
+
# means the VM just shut down really fast.
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
require "vagrant/util/retryable"
|
2
|
+
|
3
|
+
module VagrantPlugins
|
4
|
+
module GuestDarwin
|
5
|
+
module Cap
|
6
|
+
class MountNFSFolder
|
7
|
+
extend Vagrant::Util::Retryable
|
8
|
+
def self.mount_nfs_folder(machine, ip, folders)
|
9
|
+
folders.each do |name, opts|
|
10
|
+
# Expand the guest path so we can handle things like "~/vagrant"
|
11
|
+
expanded_guest_path = machine.guest.capability(
|
12
|
+
:shell_expand_guest_path, opts[:guestpath])
|
13
|
+
|
14
|
+
machine.communicate.sudo("if [ ! -d #{expanded_guest_path} ]; then mkdir -p #{expanded_guest_path};fi")
|
15
|
+
|
16
|
+
mount_command = "mount -t nfs '#{ip}:#{opts[:hostpath]}' '#{expanded_guest_path}'"
|
17
|
+
retryable(:on => Vagrant::Errors::DarwinNFSMountFailed, :tries => 10, :sleep => 5) do
|
18
|
+
machine.communicate.sudo(mount_command, :error_class => Vagrant::Errors::DarwinNFSMountFailed)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
module VagrantPlugins
|
2
|
+
module GuestDarwin
|
3
|
+
module Cap
|
4
|
+
class MountVmwareSharedFolder
|
5
|
+
|
6
|
+
# we seem to be unable to ask 'mount -t vmhgfs' to mount the roots
|
7
|
+
# of specific shares, so instead we symlink from what is already
|
8
|
+
# mounted by the guest tools
|
9
|
+
# (ie. the behaviour of the VMware_fusion provider prior to 0.8.x)
|
10
|
+
|
11
|
+
def self.mount_vmware_shared_folder(machine, name, guestpath, options)
|
12
|
+
machine.communicate.tap do |comm|
|
13
|
+
# clear prior symlink
|
14
|
+
if comm.test("test -L \"#{guestpath}\"", :sudo => true)
|
15
|
+
comm.sudo("rm \"#{guestpath}\"")
|
16
|
+
end
|
17
|
+
|
18
|
+
# clear prior directory if exists
|
19
|
+
if comm.test("test -d \"#{guestpath}\"", :sudo => true)
|
20
|
+
comm.sudo("rm -Rf \"#{guestpath}\"")
|
21
|
+
end
|
22
|
+
|
23
|
+
# create intermediate directories if needed
|
24
|
+
intermediate_dir = File.dirname(guestpath)
|
25
|
+
if !comm.test("test -d \"#{intermediate_dir}\"", :sudo => true)
|
26
|
+
comm.sudo("mkdir -p \"#{intermediate_dir}\"")
|
27
|
+
end
|
28
|
+
|
29
|
+
# finally make the symlink
|
30
|
+
comm.sudo("ln -s \"/Volumes/VMware Shared Folders/#{name}\" \"#{guestpath}\"")
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module VagrantPlugins
|
2
|
+
module GuestDarwin
|
3
|
+
module Cap
|
4
|
+
class ShellExpandGuestPath
|
5
|
+
def self.shell_expand_guest_path(machine, path)
|
6
|
+
real_path = nil
|
7
|
+
machine.communicate.execute("printf #{path}") do |type, data|
|
8
|
+
if type == :stdout
|
9
|
+
real_path ||= ""
|
10
|
+
real_path += data
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
if !real_path
|
15
|
+
# If no real guest path was detected, this is really strange
|
16
|
+
# and we raise an exception because this is a bug.
|
17
|
+
raise DarwinShellExpandFailed
|
18
|
+
end
|
19
|
+
|
20
|
+
# Chomp the string so that any trailing newlines are killed
|
21
|
+
return real_path.chomp
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
module VagrantPlugins
|
2
|
+
module GuestDarwin
|
3
|
+
module Cap
|
4
|
+
class VerifyVmwareHgfs
|
5
|
+
def self.verify_vmware_hgfs(machine)
|
6
|
+
kext_bundle_id = "com.vmware.kext.vmhgfs"
|
7
|
+
machine.communicate.test("kextstat -b #{kext_bundle_id} -l | grep #{kext_bundle_id}")
|
8
|
+
end
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'vagrant/util/template_renderer'
|
2
|
+
|
3
|
+
module VagrantPlugins
|
4
|
+
module GuestDarwin
|
5
|
+
# A general Vagrant system implementation for OS X (ie. "Darwin").
|
6
|
+
#
|
7
|
+
# Contributed by: - Brian Johnson <b2jrock@gmail.com>
|
8
|
+
# - Tim Sutton <tim@synthist.net>
|
9
|
+
class Guest < Vagrant.plugin("2", :guest)
|
10
|
+
def detect?(machine)
|
11
|
+
machine.communicate.test("uname -s | grep 'Darwin'")
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,50 @@
|
|
1
|
+
require "vagrant"
|
2
|
+
|
3
|
+
module VagrantPlugins
|
4
|
+
module GuestDarwin
|
5
|
+
class Plugin < Vagrant.plugin("2")
|
6
|
+
name "Darwin guest"
|
7
|
+
description "Darwin guest support."
|
8
|
+
|
9
|
+
guest("darwin") do
|
10
|
+
require File.expand_path("../guest", __FILE__)
|
11
|
+
Guest
|
12
|
+
end
|
13
|
+
|
14
|
+
guest_capability("darwin", "change_host_name") do
|
15
|
+
require_relative "cap/change_host_name"
|
16
|
+
Cap::ChangeHostName
|
17
|
+
end
|
18
|
+
|
19
|
+
guest_capability("darwin", "configure_networks") do
|
20
|
+
require_relative "cap/configure_networks"
|
21
|
+
Cap::ConfigureNetworks
|
22
|
+
end
|
23
|
+
|
24
|
+
guest_capability("darwin", "halt") do
|
25
|
+
require_relative "cap/halt"
|
26
|
+
Cap::Halt
|
27
|
+
end
|
28
|
+
|
29
|
+
guest_capability("darwin", "mount_nfs_folder") do
|
30
|
+
require_relative "cap/mount_nfs_folder"
|
31
|
+
Cap::MountNFSFolder
|
32
|
+
end
|
33
|
+
|
34
|
+
guest_capability("darwin", "mount_vmware_shared_folder") do
|
35
|
+
require_relative "cap/mount_vmware_shared_folder"
|
36
|
+
Cap::MountVmwareSharedFolder
|
37
|
+
end
|
38
|
+
|
39
|
+
guest_capability("darwin", "shell_expand_guest_path") do
|
40
|
+
require_relative "cap/shell_expand_guest_path"
|
41
|
+
Cap::ShellExpandGuestPath
|
42
|
+
end
|
43
|
+
|
44
|
+
guest_capability("darwin", "verify_vmware_hgfs") do
|
45
|
+
require_relative "cap/verify_vmware_hgfs"
|
46
|
+
Cap::VerifyVmwareHgfs
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
@@ -16,8 +16,16 @@ module VagrantPlugins
|
|
16
16
|
machine.communicate.sudo("mkdir -p #{expanded_guest_path}")
|
17
17
|
|
18
18
|
# Mount
|
19
|
-
|
19
|
+
hostpath = opts[:hostpath].dup
|
20
|
+
hostpath.gsub!("'", "'\\\\''")
|
20
21
|
|
22
|
+
# Figure out any options
|
23
|
+
mount_opts = ["vers=#{opts[:nfs_version]}", "udp"]
|
24
|
+
if opts[:mount_options]
|
25
|
+
mount_opts = opts[:mount_options].dup
|
26
|
+
end
|
27
|
+
|
28
|
+
mount_command = "mount -o '#{mount_opts.join(",")}' #{ip}:'#{hostpath}' #{expanded_guest_path}"
|
21
29
|
retryable(:on => Vagrant::Errors::LinuxNFSMountFailed, :tries => 5, :sleep => 2) do
|
22
30
|
machine.communicate.sudo(mount_command,
|
23
31
|
:error_class => Vagrant::Errors::LinuxNFSMountFailed)
|
@@ -6,10 +6,17 @@ module VagrantPlugins
|
|
6
6
|
expanded_guest_path = machine.guest.capability(
|
7
7
|
:shell_expand_guest_path, guestpath)
|
8
8
|
|
9
|
-
|
9
|
+
mount_commands = []
|
10
|
+
|
11
|
+
# First mount command uses getent to get the group
|
12
|
+
mount_options = "-o uid=`id -u #{options[:owner]}`,gid=`getent group #{options[:group]} | cut -d: -f3`"
|
13
|
+
mount_options += ",#{options[:mount_options].join(",")}" if options[:mount_options]
|
14
|
+
mount_commands << "mount -t vboxsf #{mount_options} #{name} #{expanded_guest_path}"
|
15
|
+
|
16
|
+
# Second mount command uses the old style `id -g`
|
10
17
|
mount_options = "-o uid=`id -u #{options[:owner]}`,gid=`id -g #{options[:group]}`"
|
11
|
-
mount_options += ",#{options[:
|
12
|
-
|
18
|
+
mount_options += ",#{options[:mount_options].join(",")}" if options[:mount_options]
|
19
|
+
mount_commands << "mount -t vboxsf #{mount_options} #{name} #{expanded_guest_path}"
|
13
20
|
|
14
21
|
# Create the guest path if it doesn't exist
|
15
22
|
machine.communicate.sudo("mkdir -p #{expanded_guest_path}")
|
@@ -19,8 +26,13 @@ module VagrantPlugins
|
|
19
26
|
attempts = 0
|
20
27
|
while true
|
21
28
|
success = true
|
22
|
-
|
23
|
-
|
29
|
+
|
30
|
+
mount_commands.each do |command|
|
31
|
+
machine.communicate.sudo(command) do |type, data|
|
32
|
+
success = false if type == :stderr && data =~ /No such device/i
|
33
|
+
end
|
34
|
+
|
35
|
+
break if success
|
24
36
|
end
|
25
37
|
|
26
38
|
break if success
|
@@ -31,8 +43,15 @@ module VagrantPlugins
|
|
31
43
|
end
|
32
44
|
|
33
45
|
# Chown the directory to the proper user
|
34
|
-
|
35
|
-
|
46
|
+
chown_commands = []
|
47
|
+
chown_commands << "chown `id -u #{options[:owner]}`:`getent group #{options[:group]} " +
|
48
|
+
"| cut -d: -f3` #{expanded_guest_path}"
|
49
|
+
chown_commands << "chown `id -u #{options[:owner]}`:`id -g #{options[:group]} " +
|
50
|
+
"#{expanded_guest_path}"
|
51
|
+
|
52
|
+
exit_status = machine.communicate.sudo(chown_commands[0], error_check: false)
|
53
|
+
return if exit_status == 0
|
54
|
+
machine.communicate.sudo(chown_commands[1])
|
36
55
|
end
|
37
56
|
end
|
38
57
|
end
|
@@ -4,13 +4,16 @@ module VagrantPlugins
|
|
4
4
|
class ShellExpandGuestPath
|
5
5
|
def self.shell_expand_guest_path(machine, path)
|
6
6
|
real_path = nil
|
7
|
-
machine.communicate.execute("printf #{path}") do |type, data|
|
7
|
+
machine.communicate.execute("echo; printf #{path}") do |type, data|
|
8
8
|
if type == :stdout
|
9
9
|
real_path ||= ""
|
10
10
|
real_path += data
|
11
11
|
end
|
12
12
|
end
|
13
13
|
|
14
|
+
# The last line is the path we care about
|
15
|
+
real_path = real_path.split("\n").last.chomp
|
16
|
+
|
14
17
|
if !real_path
|
15
18
|
# If no real guest path was detected, this is really strange
|
16
19
|
# and we raise an exception because this is a bug.
|
@@ -0,0 +1,14 @@
|
|
1
|
+
module VagrantPlugins
|
2
|
+
module GuestOpenBSD
|
3
|
+
module Cap
|
4
|
+
class ChangeHostName
|
5
|
+
def self.change_host_name(machine, name)
|
6
|
+
if !machine.communicate.test("hostname | grep '^#{name}$'")
|
7
|
+
machine.communicate.sudo("sh -c \"echo '#{name}' > /etc/myname\"")
|
8
|
+
machine.communicate.sudo("hostname #{name}")
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
require "tempfile"
|
2
|
+
|
3
|
+
require "vagrant/util/template_renderer"
|
4
|
+
|
5
|
+
module VagrantPlugins
|
6
|
+
module GuestOpenBSD
|
7
|
+
module Cap
|
8
|
+
class ConfigureNetworks
|
9
|
+
include Vagrant::Util
|
10
|
+
|
11
|
+
def self.configure_networks(machine, networks)
|
12
|
+
networks.each do |network|
|
13
|
+
entry = TemplateRenderer.render("guests/openbsd/network_#{network[:type]}",
|
14
|
+
:options => network)
|
15
|
+
|
16
|
+
temp = Tempfile.new("vagrant")
|
17
|
+
temp.binmode
|
18
|
+
temp.write(entry)
|
19
|
+
temp.close
|
20
|
+
|
21
|
+
ifname = "em#{network[:interface]}"
|
22
|
+
|
23
|
+
machine.communicate.upload(temp.path, "/tmp/vagrant-network-entry")
|
24
|
+
machine.communicate.sudo("mv /tmp/vagrant-network-entry /etc/hostname.#{ifname}")
|
25
|
+
|
26
|
+
# remove old configurations
|
27
|
+
machine.communicate.sudo("sudo ifconfig #{ifname} inet delete", { :error_check => false })
|
28
|
+
machine.communicate.sudo("pkill -f 'dhclient: #{ifname}'", { :error_check => false })
|
29
|
+
|
30
|
+
if network[:type].to_sym == :static
|
31
|
+
machine.communicate.sudo("ifconfig #{ifname} inet #{network[:ip]} netmask #{network[:netmask]}")
|
32
|
+
elsif network[:type].to_sym == :dhcp
|
33
|
+
machine.communicate.sudo("dhclient #{ifname}")
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
module VagrantPlugins
|
2
|
+
module GuestOpenBSD
|
3
|
+
module Cap
|
4
|
+
class MountNFSFolder
|
5
|
+
def self.mount_nfs_folder(machine, ip, folders)
|
6
|
+
folders.each do |name, opts|
|
7
|
+
machine.communicate.sudo("mkdir -p #{opts[:guestpath]}")
|
8
|
+
machine.communicate.sudo("mount '#{ip}:#{opts[:hostpath]}' '#{opts[:guestpath]}'")
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -11,10 +11,25 @@ module VagrantPlugins
|
|
11
11
|
Guest
|
12
12
|
end
|
13
13
|
|
14
|
+
guest_capability("openbsd", "change_host_name") do
|
15
|
+
require_relative "cap/change_host_name"
|
16
|
+
Cap::ChangeHostName
|
17
|
+
end
|
18
|
+
|
19
|
+
guest_capability("openbsd", "configure_networks") do
|
20
|
+
require_relative "cap/configure_networks"
|
21
|
+
Cap::ConfigureNetworks
|
22
|
+
end
|
23
|
+
|
14
24
|
guest_capability("openbsd", "halt") do
|
15
25
|
require_relative "cap/halt"
|
16
26
|
Cap::Halt
|
17
27
|
end
|
28
|
+
|
29
|
+
guest_capability("openbsd", "mount_nfs_folder") do
|
30
|
+
require_relative "cap/mount_nfs_folder"
|
31
|
+
Cap::MountNFSFolder
|
32
|
+
end
|
18
33
|
end
|
19
34
|
end
|
20
35
|
end
|
@@ -9,7 +9,8 @@ module VagrantPlugins
|
|
9
9
|
#
|
10
10
|
# does not exist in /etc/user_attr. TODO
|
11
11
|
begin
|
12
|
-
machine.communicate.execute(
|
12
|
+
machine.communicate.execute(
|
13
|
+
"#{machine.config.solaris.suexec_cmd} /usr/sbin/shutdown -y -i5 -g0")
|
13
14
|
rescue IOError
|
14
15
|
# Ignore, this probably means connection closed because it
|
15
16
|
# shut down.
|
@@ -16,7 +16,10 @@ module VagrantPlugins
|
|
16
16
|
|
17
17
|
# Mount the folder with the proper owner/group
|
18
18
|
mount_options = "-o uid=`#{id_cmd} -u #{owner}`,gid=`#{id_cmd} -g #{group}`"
|
19
|
-
|
19
|
+
if options[:mount_options]
|
20
|
+
mount_options += ",#{options[:mount_options].join(",")}"
|
21
|
+
end
|
22
|
+
|
20
23
|
machine.communicate.execute("#{machine.config.solaris.suexec_cmd} /sbin/mount -F vboxfs #{mount_options} #{name} #{guestpath}")
|
21
24
|
|
22
25
|
# chown the folder to the proper owner/group
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# A general Vagrant system implementation for "solaris 11".
|
2
|
+
#
|
3
|
+
# Contributed by Jan Thomas Moldung <janth@moldung.no>
|
4
|
+
|
5
|
+
module VagrantPlugins
|
6
|
+
module GuestSolaris11
|
7
|
+
module Cap
|
8
|
+
class ChangeHostName
|
9
|
+
def self.change_host_name(machine, name)
|
10
|
+
su_cmd = machine.config.solaris11.suexec_cmd
|
11
|
+
|
12
|
+
# Only do this if the hostname is not already set
|
13
|
+
if !machine.communicate.test("/usr/sbin/svccfg -s system/identity:node listprop config/nodename | /usr/bin/grep '#{name}'")
|
14
|
+
#machine.communicate.execute("#{su_cmd} sh -c \"echo '#{name}' > /etc/nodename\"")
|
15
|
+
#machine.communicate.execute("#{su_cmd} uname -S #{name}")
|
16
|
+
machine.communicate.execute("#{su_cmd} /usr/sbin/svccfg -s system/identity:node setprop config/nodename=\"#{name}\"")
|
17
|
+
machine.communicate.execute("#{su_cmd} /usr/sbin/svccfg -s system/identity:node setprop config/loopback=\"#{name}\"")
|
18
|
+
machine.communicate.execute("#{su_cmd} /usr/sbin/svccfg -s system/identity:node refresh ")
|
19
|
+
machine.communicate.execute("#{su_cmd} /usr/sbin/svcadm restart system/identity:node ")
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|