vagrant-fixed-ssh 1.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +46 -0
- data/.yardopts +1 -0
- data/CHANGELOG.md +723 -0
- data/Gemfile +3 -0
- data/LICENSE +22 -0
- data/README.md +121 -0
- data/Rakefile +18 -0
- data/bin/vagrant +60 -0
- data/config/default.rb +30 -0
- data/contrib/README.md +12 -0
- data/contrib/emacs/vagrant.el +8 -0
- data/contrib/vim/vagrantfile.vim +9 -0
- data/keys/README.md +17 -0
- data/keys/vagrant +27 -0
- data/keys/vagrant.pub +1 -0
- data/lib/vagrant.rb +197 -0
- data/lib/vagrant/action.rb +63 -0
- data/lib/vagrant/action/box/destroy.rb +25 -0
- data/lib/vagrant/action/box/download.rb +84 -0
- data/lib/vagrant/action/box/package.rb +19 -0
- data/lib/vagrant/action/box/unpackage.rb +61 -0
- data/lib/vagrant/action/box/verify.rb +23 -0
- data/lib/vagrant/action/builder.rb +128 -0
- data/lib/vagrant/action/builtin.rb +171 -0
- data/lib/vagrant/action/env/set.rb +21 -0
- data/lib/vagrant/action/environment.rb +12 -0
- data/lib/vagrant/action/general/check_virtualbox.rb +28 -0
- data/lib/vagrant/action/general/package.rb +101 -0
- data/lib/vagrant/action/general/validate.rb +18 -0
- data/lib/vagrant/action/runner.rb +53 -0
- data/lib/vagrant/action/vm/boot.rb +53 -0
- data/lib/vagrant/action/vm/check_accessible.rb +23 -0
- data/lib/vagrant/action/vm/check_box.rb +33 -0
- data/lib/vagrant/action/vm/check_guest_additions.rb +38 -0
- data/lib/vagrant/action/vm/check_port_collisions.rb +89 -0
- data/lib/vagrant/action/vm/clean_machine_folder.rb +43 -0
- data/lib/vagrant/action/vm/clear_forwarded_ports.rb +18 -0
- data/lib/vagrant/action/vm/clear_network_interfaces.rb +31 -0
- data/lib/vagrant/action/vm/clear_shared_folders.rb +18 -0
- data/lib/vagrant/action/vm/customize.rb +36 -0
- data/lib/vagrant/action/vm/default_name.rb +22 -0
- data/lib/vagrant/action/vm/destroy.rb +19 -0
- data/lib/vagrant/action/vm/destroy_unused_network_interfaces.rb +20 -0
- data/lib/vagrant/action/vm/discard_state.rb +22 -0
- data/lib/vagrant/action/vm/export.rb +57 -0
- data/lib/vagrant/action/vm/forward_ports.rb +92 -0
- data/lib/vagrant/action/vm/halt.rb +32 -0
- data/lib/vagrant/action/vm/host_name.rb +21 -0
- data/lib/vagrant/action/vm/import.rb +48 -0
- data/lib/vagrant/action/vm/match_mac_address.rb +21 -0
- data/lib/vagrant/action/vm/network.rb +403 -0
- data/lib/vagrant/action/vm/nfs.rb +196 -0
- data/lib/vagrant/action/vm/package.rb +23 -0
- data/lib/vagrant/action/vm/package_vagrantfile.rb +36 -0
- data/lib/vagrant/action/vm/provision.rb +61 -0
- data/lib/vagrant/action/vm/provisioner_cleanup.rb +26 -0
- data/lib/vagrant/action/vm/prune_nfs_exports.rb +20 -0
- data/lib/vagrant/action/vm/resume.rb +20 -0
- data/lib/vagrant/action/vm/sane_defaults.rb +78 -0
- data/lib/vagrant/action/vm/setup_package_files.rb +54 -0
- data/lib/vagrant/action/vm/share_folders.rb +114 -0
- data/lib/vagrant/action/vm/suspend.rb +20 -0
- data/lib/vagrant/action/warden.rb +92 -0
- data/lib/vagrant/box.rb +44 -0
- data/lib/vagrant/box_collection.rb +58 -0
- data/lib/vagrant/cli.rb +76 -0
- data/lib/vagrant/command.rb +24 -0
- data/lib/vagrant/command/base.rb +167 -0
- data/lib/vagrant/command/box.rb +58 -0
- data/lib/vagrant/command/box_add.rb +37 -0
- data/lib/vagrant/command/box_list.rb +28 -0
- data/lib/vagrant/command/box_remove.rb +27 -0
- data/lib/vagrant/command/box_repackage.rb +27 -0
- data/lib/vagrant/command/destroy.rb +64 -0
- data/lib/vagrant/command/gem.rb +39 -0
- data/lib/vagrant/command/halt.rb +39 -0
- data/lib/vagrant/command/init.rb +40 -0
- data/lib/vagrant/command/package.rb +75 -0
- data/lib/vagrant/command/provision.rb +40 -0
- data/lib/vagrant/command/reload.rb +39 -0
- data/lib/vagrant/command/resume.rb +33 -0
- data/lib/vagrant/command/ssh.rb +90 -0
- data/lib/vagrant/command/ssh_config.rb +51 -0
- data/lib/vagrant/command/start_mixins.rb +26 -0
- data/lib/vagrant/command/status.rb +36 -0
- data/lib/vagrant/command/suspend.rb +33 -0
- data/lib/vagrant/command/up.rb +40 -0
- data/lib/vagrant/communication.rb +7 -0
- data/lib/vagrant/communication/base.rb +56 -0
- data/lib/vagrant/communication/ssh.rb +230 -0
- data/lib/vagrant/config.rb +49 -0
- data/lib/vagrant/config/base.rb +82 -0
- data/lib/vagrant/config/container.rb +37 -0
- data/lib/vagrant/config/error_recorder.rb +19 -0
- data/lib/vagrant/config/loader.rb +127 -0
- data/lib/vagrant/config/nfs.rb +8 -0
- data/lib/vagrant/config/package.rb +7 -0
- data/lib/vagrant/config/ssh.rb +27 -0
- data/lib/vagrant/config/top.rb +72 -0
- data/lib/vagrant/config/vagrant.rb +14 -0
- data/lib/vagrant/config/vm.rb +168 -0
- data/lib/vagrant/config/vm/provisioner.rb +52 -0
- data/lib/vagrant/config/vm/sub_vm.rb +17 -0
- data/lib/vagrant/data_store.rb +92 -0
- data/lib/vagrant/downloaders.rb +7 -0
- data/lib/vagrant/downloaders/base.rb +25 -0
- data/lib/vagrant/downloaders/file.rb +22 -0
- data/lib/vagrant/downloaders/http.rb +97 -0
- data/lib/vagrant/driver.rb +8 -0
- data/lib/vagrant/driver/virtualbox.rb +134 -0
- data/lib/vagrant/driver/virtualbox_4_0.rb +459 -0
- data/lib/vagrant/driver/virtualbox_4_1.rb +459 -0
- data/lib/vagrant/driver/virtualbox_4_2.rb +606 -0
- data/lib/vagrant/driver/virtualbox_base.rb +326 -0
- data/lib/vagrant/environment.rb +522 -0
- data/lib/vagrant/errors.rb +445 -0
- data/lib/vagrant/guest.rb +18 -0
- data/lib/vagrant/guest/arch.rb +56 -0
- data/lib/vagrant/guest/base.rb +99 -0
- data/lib/vagrant/guest/debian.rb +64 -0
- data/lib/vagrant/guest/fedora.rb +66 -0
- data/lib/vagrant/guest/freebsd.rb +86 -0
- data/lib/vagrant/guest/gentoo.rb +46 -0
- data/lib/vagrant/guest/linux.rb +118 -0
- data/lib/vagrant/guest/linux/config.rb +19 -0
- data/lib/vagrant/guest/linux/error.rb +9 -0
- data/lib/vagrant/guest/openbsd.rb +20 -0
- data/lib/vagrant/guest/redhat.rb +67 -0
- data/lib/vagrant/guest/solaris.rb +118 -0
- data/lib/vagrant/guest/suse.rb +17 -0
- data/lib/vagrant/guest/ubuntu.rb +23 -0
- data/lib/vagrant/hosts.rb +37 -0
- data/lib/vagrant/hosts/arch.rb +55 -0
- data/lib/vagrant/hosts/base.rb +66 -0
- data/lib/vagrant/hosts/bsd.rb +97 -0
- data/lib/vagrant/hosts/fedora.rb +47 -0
- data/lib/vagrant/hosts/freebsd.rb +41 -0
- data/lib/vagrant/hosts/gentoo.rb +20 -0
- data/lib/vagrant/hosts/linux.rb +94 -0
- data/lib/vagrant/hosts/opensuse.rb +30 -0
- data/lib/vagrant/hosts/windows.rb +16 -0
- data/lib/vagrant/plugin.rb +81 -0
- data/lib/vagrant/provisioners.rb +12 -0
- data/lib/vagrant/provisioners/base.rb +44 -0
- data/lib/vagrant/provisioners/chef.rb +168 -0
- data/lib/vagrant/provisioners/chef_client.rb +132 -0
- data/lib/vagrant/provisioners/chef_solo.rb +234 -0
- data/lib/vagrant/provisioners/puppet.rb +176 -0
- data/lib/vagrant/provisioners/puppet_server.rb +78 -0
- data/lib/vagrant/provisioners/shell.rb +103 -0
- data/lib/vagrant/registry.rb +52 -0
- data/lib/vagrant/ssh.rb +126 -0
- data/lib/vagrant/test_helpers.rb +154 -0
- data/lib/vagrant/ui.rb +168 -0
- data/lib/vagrant/util.rb +12 -0
- data/lib/vagrant/util/ansi_escape_code_remover.rb +34 -0
- data/lib/vagrant/util/busy.rb +59 -0
- data/lib/vagrant/util/counter.rb +24 -0
- data/lib/vagrant/util/file_checksum.rb +38 -0
- data/lib/vagrant/util/file_mode.rb +12 -0
- data/lib/vagrant/util/hash_with_indifferent_access.rb +63 -0
- data/lib/vagrant/util/is_port_open.rb +38 -0
- data/lib/vagrant/util/line_ending_helpers.rb +14 -0
- data/lib/vagrant/util/network_ip.rb +28 -0
- data/lib/vagrant/util/platform.rb +68 -0
- data/lib/vagrant/util/retryable.rb +25 -0
- data/lib/vagrant/util/safe_exec.rb +36 -0
- data/lib/vagrant/util/safe_puts.rb +31 -0
- data/lib/vagrant/util/stacked_proc_runner.rb +35 -0
- data/lib/vagrant/util/subprocess.rb +247 -0
- data/lib/vagrant/util/template_renderer.rb +83 -0
- data/lib/vagrant/version.rb +6 -0
- data/lib/vagrant/vm.rb +195 -0
- data/tasks/acceptance.rake +113 -0
- data/tasks/bundler.rake +3 -0
- data/tasks/test.rake +20 -0
- data/templates/commands/init/Vagrantfile.erb +99 -0
- data/templates/commands/ssh_config/config.erb +15 -0
- data/templates/config/validation_failed.erb +7 -0
- data/templates/guests/arch/network_dhcp.erb +7 -0
- data/templates/guests/arch/network_static.erb +7 -0
- data/templates/guests/debian/network_dhcp.erb +6 -0
- data/templates/guests/debian/network_static.erb +7 -0
- data/templates/guests/fedora/network_dhcp.erb +6 -0
- data/templates/guests/fedora/network_static.erb +13 -0
- data/templates/guests/freebsd/network_dhcp.erb +3 -0
- data/templates/guests/freebsd/network_static.erb +3 -0
- data/templates/guests/gentoo/network_dhcp.erb +4 -0
- data/templates/guests/gentoo/network_static.erb +4 -0
- data/templates/guests/redhat/network_dhcp.erb +6 -0
- data/templates/guests/redhat/network_static.erb +7 -0
- data/templates/locales/en.yml +759 -0
- data/templates/nfs/exports.erb +5 -0
- data/templates/nfs/exports_freebsd.erb +5 -0
- data/templates/nfs/exports_linux.erb +5 -0
- data/templates/package_Vagrantfile.erb +11 -0
- data/templates/provisioners/chef_client/client.erb +32 -0
- data/templates/provisioners/chef_solo/solo.erb +25 -0
- data/test/acceptance/base.rb +48 -0
- data/test/acceptance/box_test.rb +99 -0
- data/test/acceptance/destroy_test.rb +37 -0
- data/test/acceptance/halt_test.rb +72 -0
- data/test/acceptance/init_test.rb +33 -0
- data/test/acceptance/networking/host_only_test.rb +37 -0
- data/test/acceptance/networking/port_forward_test.rb +125 -0
- data/test/acceptance/package_test.rb +46 -0
- data/test/acceptance/provisioning/basic_test.rb +61 -0
- data/test/acceptance/provisioning/chef_solo_test.rb +37 -0
- data/test/acceptance/provisioning/shell_test.rb +53 -0
- data/test/acceptance/resume_test.rb +17 -0
- data/test/acceptance/shared_folders_test.rb +84 -0
- data/test/acceptance/skeletons/chef_solo_basic/README.md +3 -0
- data/test/acceptance/skeletons/chef_solo_basic/cookbooks/basic/recipes/default.rb +5 -0
- data/test/acceptance/skeletons/chef_solo_json/README.md +3 -0
- data/test/acceptance/skeletons/chef_solo_json/cookbooks/basic/recipes/default.rb +6 -0
- data/test/acceptance/skeletons/provisioner_multi/README.md +3 -0
- data/test/acceptance/skeletons/provisioner_multi/cookbooks/basic/recipes/default.rb +5 -0
- data/test/acceptance/ssh_test.rb +46 -0
- data/test/acceptance/support/config.rb +42 -0
- data/test/acceptance/support/isolated_environment.rb +117 -0
- data/test/acceptance/support/matchers/have_color.rb +9 -0
- data/test/acceptance/support/matchers/match_output.rb +14 -0
- data/test/acceptance/support/matchers/succeed.rb +14 -0
- data/test/acceptance/support/network_tests.rb +29 -0
- data/test/acceptance/support/output.rb +95 -0
- data/test/acceptance/support/shared/base_context.rb +72 -0
- data/test/acceptance/support/shared/command_examples.rb +33 -0
- data/test/acceptance/support/virtualbox.rb +36 -0
- data/test/acceptance/suspend_test.rb +56 -0
- data/test/acceptance/up_basic_test.rb +33 -0
- data/test/acceptance/up_with_box_url.rb +40 -0
- data/test/acceptance/vagrant_test.rb +47 -0
- data/test/acceptance/version_test.rb +15 -0
- data/test/buildbot/README.md +72 -0
- data/test/buildbot/buildbot_config/__init__.py +0 -0
- data/test/buildbot/buildbot_config/config/__init__.py +0 -0
- data/test/buildbot/buildbot_config/config/loader.py +24 -0
- data/test/buildbot/buildbot_config/config/master.py +24 -0
- data/test/buildbot/buildbot_config/config/slave.py +22 -0
- data/test/buildbot/buildbot_config/master/__init__.py +6 -0
- data/test/buildbot/buildbot_config/master/builders.py +78 -0
- data/test/buildbot/buildbot_config/master/buildsteps.py +100 -0
- data/test/buildbot/buildbot_config/master/change_sources.py +8 -0
- data/test/buildbot/buildbot_config/master/schedulers.py +32 -0
- data/test/buildbot/buildbot_config/master/slaves.py +60 -0
- data/test/buildbot/buildbot_config/master/status.py +52 -0
- data/test/buildbot/master/Makefile.sample +28 -0
- data/test/buildbot/master/buildbot.tac +36 -0
- data/test/buildbot/master/master.cfg +67 -0
- data/test/buildbot/master/public_html/bg_gradient.jpg +0 -0
- data/test/buildbot/master/public_html/default.css +545 -0
- data/test/buildbot/master/public_html/favicon.ico +0 -0
- data/test/buildbot/master/public_html/robots.txt +10 -0
- data/test/buildbot/master/public_html/static/css/bootstrap-1.4.0.min.css +356 -0
- data/test/buildbot/master/public_html/static/css/prettify.css +97 -0
- data/test/buildbot/master/public_html/static/css/syntax.css +60 -0
- data/test/buildbot/master/public_html/static/css/vagrant.base.css +205 -0
- data/test/buildbot/master/public_html/static/images/base_box_mac.jpg +0 -0
- data/test/buildbot/master/public_html/static/images/getting-started/success.jpg +0 -0
- data/test/buildbot/master/public_html/static/images/icons/error.png +0 -0
- data/test/buildbot/master/public_html/static/images/vagrant_chilling.png +0 -0
- data/test/buildbot/master/public_html/static/images/vagrant_holding.png +0 -0
- data/test/buildbot/master/public_html/static/images/vagrant_looking.png +0 -0
- data/test/buildbot/master/public_html/static/images/windows/alter_path.jpg +0 -0
- data/test/buildbot/master/public_html/static/images/windows/edit_path.jpg +0 -0
- data/test/buildbot/master/public_html/static/images/windows/environment_variables_button.jpg +0 -0
- data/test/buildbot/master/public_html/static/images/windows/port_and_ppk_path.jpg +0 -0
- data/test/buildbot/master/public_html/static/images/windows/ppk_selection.jpg +0 -0
- data/test/buildbot/master/public_html/static/images/windows/putty_first_screen.jpg +0 -0
- data/test/buildbot/master/public_html/static/images/windows/save_result.jpg +0 -0
- data/test/buildbot/master/public_html/static/images/windows/vbox_manage_default_location.jpg +0 -0
- data/test/buildbot/master/public_html/static/js/bootstrap-tabs.js +80 -0
- data/test/buildbot/master/public_html/static/js/jquery-1.7.min.js +4 -0
- data/test/buildbot/master/templates/authfail.html +9 -0
- data/test/buildbot/master/templates/build.html +205 -0
- data/test/buildbot/master/templates/builder.html +118 -0
- data/test/buildbot/master/templates/builders.html +33 -0
- data/test/buildbot/master/templates/buildslave.html +72 -0
- data/test/buildbot/master/templates/buildslaves.html +70 -0
- data/test/buildbot/master/templates/change.html +15 -0
- data/test/buildbot/master/templates/layouts/base.html +58 -0
- data/test/buildbot/master/templates/macros/box.html +37 -0
- data/test/buildbot/master/templates/macros/build_line.html +50 -0
- data/test/buildbot/master/templates/macros/change.html +81 -0
- data/test/buildbot/master/templates/macros/forms.html +300 -0
- data/test/buildbot/master/templates/root.html +42 -0
- data/test/buildbot/master/templates/waterfall.html +53 -0
- data/test/buildbot/requirements.txt +4 -0
- data/test/buildbot/scripts/deploy.sh +38 -0
- data/test/buildbot/scripts/setup.sh +107 -0
- data/test/buildbot/slave/buildbot.tac +43 -0
- data/test/buildbot/slave/info/admin +1 -0
- data/test/buildbot/slave/info/host +1 -0
- data/test/buildbot/tests/__init__.py +0 -0
- data/test/buildbot/tests/master/__init__.py +0 -0
- data/test/buildbot/tests/master/test_slaves.py +41 -0
- data/test/buildbot/vendor/choices-0.4.0.tar.gz +0 -0
- data/test/config/acceptance_boxes.yml +7 -0
- data/test/support/isolated_environment.rb +46 -0
- data/test/support/tempdir.rb +34 -0
- data/test/unit/base.rb +21 -0
- data/test/unit/support/isolated_environment.rb +47 -0
- data/test/unit/support/shared/base_context.rb +30 -0
- data/test/unit/vagrant/action/builder_test.rb +156 -0
- data/test/unit/vagrant/action/environment_test.rb +16 -0
- data/test/unit/vagrant/action/runner_test.rb +65 -0
- data/test/unit/vagrant/action/warden_test.rb +92 -0
- data/test/unit/vagrant/box_collection_test.rb +56 -0
- data/test/unit/vagrant/box_test.rb +34 -0
- data/test/unit/vagrant/command/base_test.rb +150 -0
- data/test/unit/vagrant/config/base_test.rb +48 -0
- data/test/unit/vagrant/config/loader_test.rb +79 -0
- data/test/unit/vagrant/config/ssh_test.rb +17 -0
- data/test/unit/vagrant/config/top_test.rb +69 -0
- data/test/unit/vagrant/config/vm_test.rb +71 -0
- data/test/unit/vagrant/config_test.rb +27 -0
- data/test/unit/vagrant/data_store_test.rb +79 -0
- data/test/unit/vagrant/downloaders/base_test.rb +18 -0
- data/test/unit/vagrant/downloaders/file_test.rb +75 -0
- data/test/unit/vagrant/downloaders/http_test.rb +19 -0
- data/test/unit/vagrant/environment_test.rb +220 -0
- data/test/unit/vagrant/hosts_test.rb +36 -0
- data/test/unit/vagrant/registry_test.rb +74 -0
- data/test/unit/vagrant/util/ansi_escape_code_remover_test.rb +16 -0
- data/test/unit/vagrant/util/file_checksum_test.rb +23 -0
- data/test/unit/vagrant/util/hash_with_indifferent_access_test.rb +38 -0
- data/test/unit/vagrant/util/is_port_open_test.rb +53 -0
- data/test/unit/vagrant/util/line_endings_helper_test.rb +16 -0
- data/test/unit/vagrant/util/network_ip_test.rb +17 -0
- data/test/unit/vagrant/util/retryable_test.rb +106 -0
- data/test/unit/vagrant_test.rb +27 -0
- data/test/unit_legacy/locales/en.yml +8 -0
- data/test/unit_legacy/test_helper.rb +32 -0
- data/test/unit_legacy/vagrant/action/box/destroy_test.rb +18 -0
- data/test/unit_legacy/vagrant/action/box/download_test.rb +125 -0
- data/test/unit_legacy/vagrant/action/box/package_test.rb +25 -0
- data/test/unit_legacy/vagrant/action/box/unpackage_test.rb +84 -0
- data/test/unit_legacy/vagrant/action/box/verify_test.rb +30 -0
- data/test/unit_legacy/vagrant/action/env/set_test.rb +24 -0
- data/test/unit_legacy/vagrant/action/general/package_test.rb +268 -0
- data/test/unit_legacy/vagrant/action/general/validate_test.rb +31 -0
- data/test/unit_legacy/vagrant/action/vm/boot_test.rb +66 -0
- data/test/unit_legacy/vagrant/action/vm/check_accessible_test.rb +61 -0
- data/test/unit_legacy/vagrant/action/vm/check_box_test.rb +61 -0
- data/test/unit_legacy/vagrant/action/vm/check_guest_additions_test.rb +9 -0
- data/test/unit_legacy/vagrant/action/vm/clean_machine_folder_test.rb +84 -0
- data/test/unit_legacy/vagrant/action/vm/clear_forwarded_ports_test.rb +52 -0
- data/test/unit_legacy/vagrant/action/vm/clear_nfs_exports_test.rb +22 -0
- data/test/unit_legacy/vagrant/action/vm/clear_shared_folders_test.rb +40 -0
- data/test/unit_legacy/vagrant/action/vm/customize_test.rb +37 -0
- data/test/unit_legacy/vagrant/action/vm/destroy_test.rb +25 -0
- data/test/unit_legacy/vagrant/action/vm/destroy_unused_network_interfaces_test.rb +49 -0
- data/test/unit_legacy/vagrant/action/vm/discard_state_test.rb +45 -0
- data/test/unit_legacy/vagrant/action/vm/export_test.rb +107 -0
- data/test/unit_legacy/vagrant/action/vm/forward_ports_helpers_test.rb +77 -0
- data/test/unit_legacy/vagrant/action/vm/forward_ports_test.rb +197 -0
- data/test/unit_legacy/vagrant/action/vm/halt_test.rb +79 -0
- data/test/unit_legacy/vagrant/action/vm/host_name_test.rb +36 -0
- data/test/unit_legacy/vagrant/action/vm/import_test.rb +66 -0
- data/test/unit_legacy/vagrant/action/vm/match_mac_address_test.rb +40 -0
- data/test/unit_legacy/vagrant/action/vm/modify_test.rb +38 -0
- data/test/unit_legacy/vagrant/action/vm/network_test.rb +286 -0
- data/test/unit_legacy/vagrant/action/vm/nfs_helpers_test.rb +26 -0
- data/test/unit_legacy/vagrant/action/vm/nfs_test.rb +260 -0
- data/test/unit_legacy/vagrant/action/vm/package_test.rb +25 -0
- data/test/unit_legacy/vagrant/action/vm/package_vagrantfile_test.rb +46 -0
- data/test/unit_legacy/vagrant/action/vm/provision_test.rb +65 -0
- data/test/unit_legacy/vagrant/action/vm/provisioner_cleanup_test.rb +56 -0
- data/test/unit_legacy/vagrant/action/vm/resume_test.rb +35 -0
- data/test/unit_legacy/vagrant/action/vm/share_folders_test.rb +144 -0
- data/test/unit_legacy/vagrant/action/vm/suspend_test.rb +35 -0
- data/test/unit_legacy/vagrant/action_test.rb +89 -0
- data/test/unit_legacy/vagrant/box_collection_test.rb +45 -0
- data/test/unit_legacy/vagrant/box_test.rb +74 -0
- data/test/unit_legacy/vagrant/cli_test.rb +35 -0
- data/test/unit_legacy/vagrant/command/base_test.rb +23 -0
- data/test/unit_legacy/vagrant/command/group_base_test.rb +15 -0
- data/test/unit_legacy/vagrant/command/helpers_test.rb +88 -0
- data/test/unit_legacy/vagrant/command/init_test.rb +10 -0
- data/test/unit_legacy/vagrant/command/package_test.rb +27 -0
- data/test/unit_legacy/vagrant/config/base_test.rb +52 -0
- data/test/unit_legacy/vagrant/config/error_recorder_test.rb +18 -0
- data/test/unit_legacy/vagrant/config/ssh_test.rb +12 -0
- data/test/unit_legacy/vagrant/config/vagrant_test.rb +35 -0
- data/test/unit_legacy/vagrant/config/vm/provisioner_test.rb +92 -0
- data/test/unit_legacy/vagrant/config/vm_test.rb +47 -0
- data/test/unit_legacy/vagrant/config_test.rb +148 -0
- data/test/unit_legacy/vagrant/downloaders/http_test.rb +93 -0
- data/test/unit_legacy/vagrant/environment_test.rb +539 -0
- data/test/unit_legacy/vagrant/errors_test.rb +42 -0
- data/test/unit_legacy/vagrant/hosts/base_test.rb +46 -0
- data/test/unit_legacy/vagrant/hosts/bsd_test.rb +53 -0
- data/test/unit_legacy/vagrant/hosts/linux_test.rb +54 -0
- data/test/unit_legacy/vagrant/plugin_test.rb +9 -0
- data/test/unit_legacy/vagrant/provisioners/base_test.rb +63 -0
- data/test/unit_legacy/vagrant/provisioners/chef_client_test.rb +190 -0
- data/test/unit_legacy/vagrant/provisioners/chef_solo_test.rb +115 -0
- data/test/unit_legacy/vagrant/provisioners/chef_test.rb +209 -0
- data/test/unit_legacy/vagrant/provisioners/puppet_server_test.rb +68 -0
- data/test/unit_legacy/vagrant/provisioners/puppet_test.rb +182 -0
- data/test/unit_legacy/vagrant/provisioners/shell_test.rb +79 -0
- data/test/unit_legacy/vagrant/ssh/session_test.rb +40 -0
- data/test/unit_legacy/vagrant/ssh_test.rb +304 -0
- data/test/unit_legacy/vagrant/systems/base_test.rb +18 -0
- data/test/unit_legacy/vagrant/systems/linux_test.rb +104 -0
- data/test/unit_legacy/vagrant/util/busy_test.rb +106 -0
- data/test/unit_legacy/vagrant/util/counter_test.rb +29 -0
- data/test/unit_legacy/vagrant/util/platform_test.rb +18 -0
- data/test/unit_legacy/vagrant/util/stacked_proc_runner_test.rb +43 -0
- data/test/unit_legacy/vagrant/util/template_renderer_test.rb +145 -0
- data/test/unit_legacy/vagrant/vm_test.rb +300 -0
- data/vagrant-fixed-ssh.gemspec +70 -0
- metadata +712 -0
@@ -0,0 +1,445 @@
|
|
1
|
+
# This file contains all of the internal errors in Vagrant's core
|
2
|
+
# commands, actions, etc.
|
3
|
+
|
4
|
+
module Vagrant
|
5
|
+
# This module contains all of the internal errors in Vagrant's core.
|
6
|
+
# These errors are _expected_ errors and as such don't typically represent
|
7
|
+
# bugs in Vagrant itself. These are meant as a way to detect errors and
|
8
|
+
# display them in a user-friendly way.
|
9
|
+
#
|
10
|
+
# # Defining a new Error
|
11
|
+
#
|
12
|
+
# To define a new error, inherit from {VagrantError}, which lets Vagrant
|
13
|
+
# know that this is an expected error, and also gives you some helpers for
|
14
|
+
# providing exit codes and error messages. An example is shown below, then
|
15
|
+
# it is explained:
|
16
|
+
#
|
17
|
+
# class MyError < Vagrant::Errors::VagrantError
|
18
|
+
# error_key "my_error"
|
19
|
+
# end
|
20
|
+
#
|
21
|
+
# This creates an error with an I18n error key of "my_error." {VagrantError}
|
22
|
+
# uses I18n to look up error messages, in the "vagrant.errors" namespace. So
|
23
|
+
# in the above, the error message would be the translation of "vagrant.errors.my_error"
|
24
|
+
#
|
25
|
+
# If you don't want to use I18n, you can override the {#initialize} method and
|
26
|
+
# set your own error message.
|
27
|
+
#
|
28
|
+
# # Raising an Error
|
29
|
+
#
|
30
|
+
# To raise an error, it is nothing special, just raise it like any normal
|
31
|
+
# exception:
|
32
|
+
#
|
33
|
+
# raise MyError.new
|
34
|
+
#
|
35
|
+
# Eventually this exception will bubble out to the `vagrant` binary which
|
36
|
+
# will show a nice error message. And if it is raised in the middle of a
|
37
|
+
# middleware sequence, then {Action::Warden} will catch it and begin the
|
38
|
+
# recovery process prior to exiting.
|
39
|
+
module Errors
|
40
|
+
# Main superclass of any errors in Vagrant. This provides some
|
41
|
+
# convenience methods for setting the status code and error key.
|
42
|
+
# The status code is used by the `vagrant` executable as the
|
43
|
+
# error code, and the error key is used as a default message from
|
44
|
+
# I18n.
|
45
|
+
class VagrantError < StandardError
|
46
|
+
@@used_codes = []
|
47
|
+
|
48
|
+
def self.status_code(code = nil)
|
49
|
+
if code
|
50
|
+
raise "Status code already in use: #{code}" if @@used_codes.include?(code)
|
51
|
+
@@used_codes << code
|
52
|
+
end
|
53
|
+
|
54
|
+
define_method(:status_code) { code }
|
55
|
+
end
|
56
|
+
|
57
|
+
def self.error_key(key=nil, namespace=nil)
|
58
|
+
define_method(:error_key) { key }
|
59
|
+
error_namespace(namespace) if namespace
|
60
|
+
end
|
61
|
+
|
62
|
+
def self.error_namespace(namespace)
|
63
|
+
define_method(:error_namespace) { namespace }
|
64
|
+
end
|
65
|
+
|
66
|
+
def initialize(message=nil, *args)
|
67
|
+
message = { :_key => message } if message && !message.is_a?(Hash)
|
68
|
+
message = { :_key => error_key, :_namespace => error_namespace }.merge(message || {})
|
69
|
+
message = translate_error(message)
|
70
|
+
|
71
|
+
super
|
72
|
+
end
|
73
|
+
|
74
|
+
# The default error namespace which is used for the error key.
|
75
|
+
# This can be overridden here or by calling the "error_namespace"
|
76
|
+
# class method.
|
77
|
+
def error_namespace; "vagrant.errors"; end
|
78
|
+
|
79
|
+
# The key for the error message. This should be set using the
|
80
|
+
# {error_key} method but can be overridden here if needed.
|
81
|
+
def error_key; nil; end
|
82
|
+
|
83
|
+
protected
|
84
|
+
|
85
|
+
def translate_error(opts)
|
86
|
+
return nil if !opts[:_key]
|
87
|
+
I18n.t("#{opts[:_namespace]}.#{opts[:_key]}", opts)
|
88
|
+
end
|
89
|
+
end
|
90
|
+
|
91
|
+
class BaseVMNotFound < VagrantError
|
92
|
+
status_code(18)
|
93
|
+
error_key(:base_vm_not_found)
|
94
|
+
end
|
95
|
+
|
96
|
+
class BoxAlreadyExists < VagrantError
|
97
|
+
status_code(14)
|
98
|
+
error_key(:already_exists, "vagrant.actions.box.unpackage")
|
99
|
+
end
|
100
|
+
|
101
|
+
class BoxDownloadUnknownType < VagrantError
|
102
|
+
status_code(13)
|
103
|
+
error_key(:unknown_type, "vagrant.actions.box.download")
|
104
|
+
end
|
105
|
+
|
106
|
+
class BoxNotFound < VagrantError
|
107
|
+
status_code(2)
|
108
|
+
error_key(:box_not_found)
|
109
|
+
end
|
110
|
+
|
111
|
+
class BoxNotSpecified < VagrantError
|
112
|
+
status_code(22)
|
113
|
+
error_key(:not_specified, "vagrant.actions.vm.check_box")
|
114
|
+
end
|
115
|
+
|
116
|
+
class BoxSpecifiedDoesntExist < VagrantError
|
117
|
+
status_code(23)
|
118
|
+
error_key(:does_not_exist, "vagrant.actions.vm.check_box")
|
119
|
+
end
|
120
|
+
|
121
|
+
class BoxUnpackageFailure < VagrantError
|
122
|
+
status_code(57)
|
123
|
+
error_key(:untar_failure, "vagrant.actions.box.unpackage")
|
124
|
+
end
|
125
|
+
|
126
|
+
class BoxVerificationFailed < VagrantError
|
127
|
+
status_code(15)
|
128
|
+
error_key(:failed, "vagrant.actions.box.verify")
|
129
|
+
end
|
130
|
+
|
131
|
+
class CLIInvalidUsage < VagrantError
|
132
|
+
status_code(69)
|
133
|
+
error_key(:cli_invalid_usage)
|
134
|
+
end
|
135
|
+
|
136
|
+
class CLIInvalidOptions < VagrantError
|
137
|
+
status_code(1)
|
138
|
+
error_key(:cli_invalid_options)
|
139
|
+
end
|
140
|
+
|
141
|
+
class ConfigValidationFailed < VagrantError
|
142
|
+
status_code(42)
|
143
|
+
error_key(:config_validation)
|
144
|
+
end
|
145
|
+
|
146
|
+
class DeprecationError < VagrantError
|
147
|
+
status_code(60)
|
148
|
+
error_key(:deprecation)
|
149
|
+
end
|
150
|
+
|
151
|
+
class DestroyRequiresForce < VagrantError
|
152
|
+
status_code(74)
|
153
|
+
error_key(:destroy_requires_force)
|
154
|
+
end
|
155
|
+
|
156
|
+
class DotfileIsDirectory < VagrantError
|
157
|
+
status_code(46)
|
158
|
+
error_key(:dotfile_is_directory)
|
159
|
+
end
|
160
|
+
|
161
|
+
class DownloaderFileDoesntExist < VagrantError
|
162
|
+
status_code(37)
|
163
|
+
error_key(:file_missing, "vagrant.downloaders.file")
|
164
|
+
end
|
165
|
+
|
166
|
+
class DownloaderHTTPSocketError < VagrantError
|
167
|
+
status_code(38)
|
168
|
+
error_key(:socket_error, "vagrant.downloaders.http")
|
169
|
+
end
|
170
|
+
|
171
|
+
class DownloaderHTTPStatusError < VagrantError
|
172
|
+
status_code(51)
|
173
|
+
error_key(:status_error, "vagrant.downloaders.http")
|
174
|
+
end
|
175
|
+
|
176
|
+
class EnvironmentNonExistentCWD < VagrantError
|
177
|
+
status_code(75)
|
178
|
+
error_key(:environment_non_existent_cwd)
|
179
|
+
end
|
180
|
+
|
181
|
+
class EnvironmentLockedError < VagrantError
|
182
|
+
status_code(52)
|
183
|
+
error_key(:environment_locked)
|
184
|
+
end
|
185
|
+
|
186
|
+
class GemCommandInBundler < VagrantError
|
187
|
+
status_code(71)
|
188
|
+
error_key(:gem_command_in_bundler)
|
189
|
+
end
|
190
|
+
|
191
|
+
class HomeDirectoryMigrationFailed < VagrantError
|
192
|
+
status_code(53)
|
193
|
+
error_key(:home_dir_migration_failed)
|
194
|
+
end
|
195
|
+
|
196
|
+
class HomeDirectoryNotAccessible < VagrantError
|
197
|
+
status_code(55)
|
198
|
+
error_key(:home_dir_not_accessible)
|
199
|
+
end
|
200
|
+
|
201
|
+
class IncompatibleWithFutureVersion < VagrantError
|
202
|
+
error_key(:incompatible_with_future_version)
|
203
|
+
end
|
204
|
+
|
205
|
+
class ForwardPortAutolistEmpty < VagrantError
|
206
|
+
status_code(27)
|
207
|
+
error_key(:auto_empty, "vagrant.actions.vm.forward_ports")
|
208
|
+
end
|
209
|
+
|
210
|
+
class ForwardPortCollision < VagrantError
|
211
|
+
status_code(26)
|
212
|
+
error_key(:collision_error, "vagrant.actions.vm.forward_ports")
|
213
|
+
end
|
214
|
+
|
215
|
+
class ForwardPortCollisionResume < VagrantError
|
216
|
+
status_code(62)
|
217
|
+
error_key(:port_collision_resume)
|
218
|
+
end
|
219
|
+
|
220
|
+
class MultiVMEnvironmentRequired < VagrantError
|
221
|
+
status_code(5)
|
222
|
+
error_key(:multi_vm_required)
|
223
|
+
end
|
224
|
+
|
225
|
+
class MultiVMTargetRequired < VagrantError
|
226
|
+
status_code(7)
|
227
|
+
error_key(:multi_vm_target_required)
|
228
|
+
end
|
229
|
+
|
230
|
+
class NetworkAdapterCollision < VagrantError
|
231
|
+
status_code(65)
|
232
|
+
error_key(:adapter_collision, "vagrant.actions.vm.network")
|
233
|
+
end
|
234
|
+
|
235
|
+
class NetworkCollision < VagrantError
|
236
|
+
status_code(29)
|
237
|
+
error_key(:collides, "vagrant.actions.vm.host_only_network")
|
238
|
+
end
|
239
|
+
|
240
|
+
class NetworkNoAdapters < VagrantError
|
241
|
+
status_code(64)
|
242
|
+
error_key(:no_adapters, "vagrant.actions.vm.network")
|
243
|
+
end
|
244
|
+
|
245
|
+
class NetworkDHCPAlreadyAttached < VagrantError
|
246
|
+
status_code(68)
|
247
|
+
error_key(:dhcp_already_attached, "vagrant.actions.vm.network")
|
248
|
+
end
|
249
|
+
|
250
|
+
class NetworkNotFound < VagrantError
|
251
|
+
status_code(30)
|
252
|
+
error_key(:not_found, "vagrant.actions.vm.host_only_network")
|
253
|
+
end
|
254
|
+
|
255
|
+
class NFSHostRequired < VagrantError
|
256
|
+
status_code(31)
|
257
|
+
error_key(:host_required, "vagrant.actions.vm.nfs")
|
258
|
+
end
|
259
|
+
|
260
|
+
class NFSNotSupported < VagrantError
|
261
|
+
status_code(32)
|
262
|
+
error_key(:not_supported, "vagrant.actions.vm.nfs")
|
263
|
+
end
|
264
|
+
|
265
|
+
class NFSNoHostNetwork < VagrantError
|
266
|
+
status_code(33)
|
267
|
+
error_key(:no_host_network, "vagrant.actions.vm.nfs")
|
268
|
+
end
|
269
|
+
|
270
|
+
class NoEnvironmentError < VagrantError
|
271
|
+
status_code(3)
|
272
|
+
error_key(:no_env)
|
273
|
+
end
|
274
|
+
|
275
|
+
class PackageIncludeMissing < VagrantError
|
276
|
+
status_code(20)
|
277
|
+
error_key(:include_file_missing, "vagrant.actions.general.package")
|
278
|
+
end
|
279
|
+
|
280
|
+
class PackageOutputDirectory < VagrantError
|
281
|
+
status_code(72)
|
282
|
+
error_key(:output_is_directory, "vagrant.actions.general.package")
|
283
|
+
end
|
284
|
+
|
285
|
+
class PackageOutputExists < VagrantError
|
286
|
+
status_code(16)
|
287
|
+
error_key(:output_exists, "vagrant.actions.general.package")
|
288
|
+
end
|
289
|
+
|
290
|
+
class PackageRequiresDirectory < VagrantError
|
291
|
+
status_code(19)
|
292
|
+
error_key(:requires_directory, "vagrant.actions.general.package")
|
293
|
+
end
|
294
|
+
|
295
|
+
class PersistDotfileExists < VagrantError
|
296
|
+
status_code(34)
|
297
|
+
error_key(:dotfile_error, "vagrant.actions.vm.persist")
|
298
|
+
end
|
299
|
+
|
300
|
+
class SCPUnavailable < VagrantError
|
301
|
+
status_code(56)
|
302
|
+
error_key(:scp_unavailable)
|
303
|
+
end
|
304
|
+
|
305
|
+
class SharedFolderCreateFailed < VagrantError
|
306
|
+
status_code(66)
|
307
|
+
error_key(:shared_folder_create_failed)
|
308
|
+
end
|
309
|
+
|
310
|
+
class SSHAuthenticationFailed < VagrantError
|
311
|
+
status_code(11)
|
312
|
+
error_key(:ssh_authentication_failed)
|
313
|
+
end
|
314
|
+
|
315
|
+
class SSHConnectionRefused < VagrantError
|
316
|
+
status_code(43)
|
317
|
+
error_key(:ssh_connection_refused)
|
318
|
+
end
|
319
|
+
|
320
|
+
class SSHKeyBadPermissions < VagrantError
|
321
|
+
status_code(12)
|
322
|
+
error_key(:ssh_key_bad_permissions)
|
323
|
+
end
|
324
|
+
|
325
|
+
class SSHKeyTypeNotSupported < VagrantError
|
326
|
+
status_code(76)
|
327
|
+
error_key(:ssh_key_type_not_supported)
|
328
|
+
end
|
329
|
+
|
330
|
+
class SSHPortNotDetected < VagrantError
|
331
|
+
status_code(50)
|
332
|
+
error_key(:ssh_port_not_detected)
|
333
|
+
end
|
334
|
+
|
335
|
+
class SSHUnavailable < VagrantError
|
336
|
+
status_code(45)
|
337
|
+
error_key(:ssh_unavailable)
|
338
|
+
end
|
339
|
+
|
340
|
+
class SSHUnavailableWindows < VagrantError
|
341
|
+
status_code(10)
|
342
|
+
error_key(:ssh_unavailable_windows)
|
343
|
+
end
|
344
|
+
|
345
|
+
class UIExpectsTTY < VagrantError
|
346
|
+
status_code(73)
|
347
|
+
error_key(:ui_expects_tty)
|
348
|
+
end
|
349
|
+
|
350
|
+
class VagrantInterrupt < VagrantError
|
351
|
+
status_code(40)
|
352
|
+
error_key(:interrupted)
|
353
|
+
end
|
354
|
+
|
355
|
+
class VagrantfileExistsError < VagrantError
|
356
|
+
status_code(58)
|
357
|
+
error_key(:vagrantfile_exists)
|
358
|
+
end
|
359
|
+
|
360
|
+
class VagrantfileSyntaxError < VagrantError
|
361
|
+
status_code(41)
|
362
|
+
error_key(:vagrantfile_syntax_error)
|
363
|
+
end
|
364
|
+
|
365
|
+
class VBoxManageError < VagrantError
|
366
|
+
status_code(59)
|
367
|
+
error_key(:vboxmanage_error)
|
368
|
+
end
|
369
|
+
|
370
|
+
class VirtualBoxInvalidVersion < VagrantError
|
371
|
+
status_code(17)
|
372
|
+
error_key(:virtualbox_invalid_version)
|
373
|
+
end
|
374
|
+
|
375
|
+
class VirtualBoxNotDetected < VagrantError
|
376
|
+
status_code(8)
|
377
|
+
error_key(:virtualbox_not_detected)
|
378
|
+
end
|
379
|
+
|
380
|
+
class VirtualBoxKernelModuleNotLoaded < VagrantError
|
381
|
+
status_code(70)
|
382
|
+
error_key(:virtualbox_kernel_module_not_loaded)
|
383
|
+
end
|
384
|
+
|
385
|
+
class VMBaseMacNotSpecified < VagrantError
|
386
|
+
status_code(47)
|
387
|
+
error_key(:no_base_mac, "vagrant.actions.vm.match_mac")
|
388
|
+
end
|
389
|
+
|
390
|
+
class VMCustomizationFailed < VagrantError
|
391
|
+
status_code(61)
|
392
|
+
error_key(:failure, "vagrant.actions.vm.customize")
|
393
|
+
end
|
394
|
+
|
395
|
+
class VMFailedToBoot < VagrantError
|
396
|
+
status_code(21)
|
397
|
+
error_key(:failed_to_boot, "vagrant.actions.vm.boot")
|
398
|
+
end
|
399
|
+
|
400
|
+
class VMFailedToRun < VagrantError
|
401
|
+
status_code(77)
|
402
|
+
error_key(:failed_to_run, "vagrant.actions.vm.boot")
|
403
|
+
end
|
404
|
+
|
405
|
+
class VMGuestError < VagrantError
|
406
|
+
status_code(39)
|
407
|
+
error_namespace("vagrant.errors.guest")
|
408
|
+
end
|
409
|
+
|
410
|
+
class VMImportFailure < VagrantError
|
411
|
+
status_code(28)
|
412
|
+
error_key(:failure, "vagrant.actions.vm.import")
|
413
|
+
end
|
414
|
+
|
415
|
+
class VMInaccessible < VagrantError
|
416
|
+
status_code(54)
|
417
|
+
error_key(:vm_inaccessible)
|
418
|
+
end
|
419
|
+
|
420
|
+
class VMNoMatchError < VagrantError
|
421
|
+
status_code(63)
|
422
|
+
error_key(:vm_no_match)
|
423
|
+
end
|
424
|
+
|
425
|
+
class VMNotCreatedError < VagrantError
|
426
|
+
status_code(6)
|
427
|
+
error_key(:vm_creation_required)
|
428
|
+
end
|
429
|
+
|
430
|
+
class VMNotFoundError < VagrantError
|
431
|
+
status_code(4)
|
432
|
+
error_key(:vm_not_found)
|
433
|
+
end
|
434
|
+
|
435
|
+
class VMNotRunningError < VagrantError
|
436
|
+
status_code(44)
|
437
|
+
error_key(:vm_not_running)
|
438
|
+
end
|
439
|
+
|
440
|
+
class VMPowerOffToPackage < VagrantError
|
441
|
+
status_code(24)
|
442
|
+
error_key(:power_off, "vagrant.actions.vm.export")
|
443
|
+
end
|
444
|
+
end
|
445
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
module Vagrant
|
2
|
+
module Guest
|
3
|
+
autoload :Base, 'vagrant/guest/base'
|
4
|
+
|
5
|
+
# Specific guests
|
6
|
+
autoload :Arch, 'vagrant/guest/arch'
|
7
|
+
autoload :Debian, 'vagrant/guest/debian'
|
8
|
+
autoload :Fedora, 'vagrant/guest/fedora'
|
9
|
+
autoload :FreeBSD, 'vagrant/guest/freebsd'
|
10
|
+
autoload :Gentoo, 'vagrant/guest/gentoo'
|
11
|
+
autoload :Linux, 'vagrant/guest/linux'
|
12
|
+
autoload :OpenBSD, 'vagrant/guest/openbsd'
|
13
|
+
autoload :Redhat, 'vagrant/guest/redhat'
|
14
|
+
autoload :Solaris, 'vagrant/guest/solaris'
|
15
|
+
autoload :Suse, 'vagrant/guest/suse'
|
16
|
+
autoload :Ubuntu, 'vagrant/guest/ubuntu'
|
17
|
+
end
|
18
|
+
end
|