vagrant-lxc 0.0.1 → 0.0.2
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.
- checksums.yaml +14 -6
- data/Gemfile +19 -14
- data/Gemfile.lock +10 -5
- data/README.md +18 -42
- data/development/Vagrantfile.1.0 +3 -2
- data/lib/vagrant-lxc/version.rb +1 -1
- data/lib/vagrant-lxc.rb +0 -2
- data/vagrant-lxc.gemspec +1 -14
- metadata +7 -540
- data/.gitmodules +0 -3
- data/bin/vagrant-lxc +0 -9
- data/lib/vendored_vagrant.rb +0 -9
- data/vendor/.gitkeep +0 -0
- data/vendor/vagrant/.gitignore +0 -31
- data/vendor/vagrant/.travis.yml +0 -7
- data/vendor/vagrant/.yardopts +0 -1
- data/vendor/vagrant/CHANGELOG.md +0 -803
- data/vendor/vagrant/Gemfile +0 -3
- data/vendor/vagrant/LICENSE +0 -21
- data/vendor/vagrant/README.md +0 -89
- data/vendor/vagrant/Rakefile +0 -18
- data/vendor/vagrant/bin/vagrant +0 -84
- data/vendor/vagrant/config/default.rb +0 -35
- data/vendor/vagrant/contrib/README.md +0 -12
- data/vendor/vagrant/contrib/bash/completion.sh +0 -3
- data/vendor/vagrant/contrib/emacs/vagrant.el +0 -8
- data/vendor/vagrant/contrib/vim/vagrantfile.vim +0 -9
- data/vendor/vagrant/keys/README.md +0 -17
- data/vendor/vagrant/keys/vagrant +0 -27
- data/vendor/vagrant/keys/vagrant.pub +0 -1
- data/vendor/vagrant/lib/vagrant/action/builder.rb +0 -154
- data/vendor/vagrant/lib/vagrant/action/builtin/box_add.rb +0 -79
- data/vendor/vagrant/lib/vagrant/action/builtin/call.rb +0 -67
- data/vendor/vagrant/lib/vagrant/action/builtin/config_validate.rb +0 -30
- data/vendor/vagrant/lib/vagrant/action/builtin/confirm.rb +0 -38
- data/vendor/vagrant/lib/vagrant/action/builtin/env_set.rb +0 -24
- data/vendor/vagrant/lib/vagrant/action/builtin/graceful_halt.rb +0 -73
- data/vendor/vagrant/lib/vagrant/action/builtin/handle_box_url.rb +0 -43
- data/vendor/vagrant/lib/vagrant/action/builtin/handle_forwarded_port_collisions.rb +0 -117
- data/vendor/vagrant/lib/vagrant/action/builtin/lock.rb +0 -57
- data/vendor/vagrant/lib/vagrant/action/builtin/nfs.rb +0 -117
- data/vendor/vagrant/lib/vagrant/action/builtin/provision.rb +0 -70
- data/vendor/vagrant/lib/vagrant/action/builtin/set_hostname.rb +0 -27
- data/vendor/vagrant/lib/vagrant/action/builtin/ssh_exec.rb +0 -42
- data/vendor/vagrant/lib/vagrant/action/builtin/ssh_run.rb +0 -43
- data/vendor/vagrant/lib/vagrant/action/general/package.rb +0 -102
- data/vendor/vagrant/lib/vagrant/action/hook.rb +0 -103
- data/vendor/vagrant/lib/vagrant/action/runner.rb +0 -69
- data/vendor/vagrant/lib/vagrant/action/warden.rb +0 -103
- data/vendor/vagrant/lib/vagrant/action.rb +0 -42
- data/vendor/vagrant/lib/vagrant/box.rb +0 -93
- data/vendor/vagrant/lib/vagrant/box_collection.rb +0 -315
- data/vendor/vagrant/lib/vagrant/cli.rb +0 -82
- data/vendor/vagrant/lib/vagrant/config/container.rb +0 -37
- data/vendor/vagrant/lib/vagrant/config/loader.rb +0 -222
- data/vendor/vagrant/lib/vagrant/config/v1/dummy_config.rb +0 -13
- data/vendor/vagrant/lib/vagrant/config/v1/loader.rb +0 -105
- data/vendor/vagrant/lib/vagrant/config/v1/root.rb +0 -60
- data/vendor/vagrant/lib/vagrant/config/v1.rb +0 -9
- data/vendor/vagrant/lib/vagrant/config/v2/dummy_config.rb +0 -13
- data/vendor/vagrant/lib/vagrant/config/v2/loader.rb +0 -141
- data/vendor/vagrant/lib/vagrant/config/v2/root.rb +0 -105
- data/vendor/vagrant/lib/vagrant/config/v2/util.rb +0 -21
- data/vendor/vagrant/lib/vagrant/config/v2.rb +0 -9
- data/vendor/vagrant/lib/vagrant/config/version_base.rb +0 -80
- data/vendor/vagrant/lib/vagrant/config.rb +0 -63
- data/vendor/vagrant/lib/vagrant/downloaders/base.rb +0 -22
- data/vendor/vagrant/lib/vagrant/downloaders/file.rb +0 -28
- data/vendor/vagrant/lib/vagrant/downloaders/http.rb +0 -116
- data/vendor/vagrant/lib/vagrant/downloaders.rb +0 -7
- data/vendor/vagrant/lib/vagrant/environment.rb +0 -729
- data/vendor/vagrant/lib/vagrant/errors.rb +0 -486
- data/vendor/vagrant/lib/vagrant/hosts.rb +0 -28
- data/vendor/vagrant/lib/vagrant/machine.rb +0 -325
- data/vendor/vagrant/lib/vagrant/machine_state.rb +0 -45
- data/vendor/vagrant/lib/vagrant/plugin/v1/command.rb +0 -169
- data/vendor/vagrant/lib/vagrant/plugin/v1/communicator.rb +0 -98
- data/vendor/vagrant/lib/vagrant/plugin/v1/config.rb +0 -112
- data/vendor/vagrant/lib/vagrant/plugin/v1/errors.rb +0 -15
- data/vendor/vagrant/lib/vagrant/plugin/v1/guest.rb +0 -92
- data/vendor/vagrant/lib/vagrant/plugin/v1/host.rb +0 -66
- data/vendor/vagrant/lib/vagrant/plugin/v1/manager.rb +0 -131
- data/vendor/vagrant/lib/vagrant/plugin/v1/plugin.rb +0 -229
- data/vendor/vagrant/lib/vagrant/plugin/v1/provider.rb +0 -68
- data/vendor/vagrant/lib/vagrant/plugin/v1/provisioner.rb +0 -50
- data/vendor/vagrant/lib/vagrant/plugin/v1.rb +0 -19
- data/vendor/vagrant/lib/vagrant/plugin/v2/command.rb +0 -234
- data/vendor/vagrant/lib/vagrant/plugin/v2/communicator.rb +0 -98
- data/vendor/vagrant/lib/vagrant/plugin/v2/components.rb +0 -29
- data/vendor/vagrant/lib/vagrant/plugin/v2/config.rb +0 -101
- data/vendor/vagrant/lib/vagrant/plugin/v2/errors.rb +0 -15
- data/vendor/vagrant/lib/vagrant/plugin/v2/guest.rb +0 -92
- data/vendor/vagrant/lib/vagrant/plugin/v2/host.rb +0 -66
- data/vendor/vagrant/lib/vagrant/plugin/v2/manager.rb +0 -158
- data/vendor/vagrant/lib/vagrant/plugin/v2/plugin.rb +0 -217
- data/vendor/vagrant/lib/vagrant/plugin/v2/provider.rb +0 -69
- data/vendor/vagrant/lib/vagrant/plugin/v2/provisioner.rb +0 -47
- data/vendor/vagrant/lib/vagrant/plugin/v2.rb +0 -22
- data/vendor/vagrant/lib/vagrant/plugin.rb +0 -6
- data/vendor/vagrant/lib/vagrant/registry.rb +0 -78
- data/vendor/vagrant/lib/vagrant/ssh.rb +0 -132
- data/vendor/vagrant/lib/vagrant/test_helpers.rb +0 -154
- data/vendor/vagrant/lib/vagrant/ui.rb +0 -170
- data/vendor/vagrant/lib/vagrant/util/ansi_escape_code_remover.rb +0 -34
- data/vendor/vagrant/lib/vagrant/util/busy.rb +0 -59
- data/vendor/vagrant/lib/vagrant/util/counter.rb +0 -24
- data/vendor/vagrant/lib/vagrant/util/file_checksum.rb +0 -38
- data/vendor/vagrant/lib/vagrant/util/file_mode.rb +0 -12
- data/vendor/vagrant/lib/vagrant/util/hash_with_indifferent_access.rb +0 -63
- data/vendor/vagrant/lib/vagrant/util/is_port_open.rb +0 -38
- data/vendor/vagrant/lib/vagrant/util/line_ending_helpers.rb +0 -14
- data/vendor/vagrant/lib/vagrant/util/network_ip.rb +0 -28
- data/vendor/vagrant/lib/vagrant/util/platform.rb +0 -68
- data/vendor/vagrant/lib/vagrant/util/retryable.rb +0 -31
- data/vendor/vagrant/lib/vagrant/util/safe_exec.rb +0 -36
- data/vendor/vagrant/lib/vagrant/util/safe_puts.rb +0 -31
- data/vendor/vagrant/lib/vagrant/util/scoped_hash_override.rb +0 -45
- data/vendor/vagrant/lib/vagrant/util/ssh.rb +0 -126
- data/vendor/vagrant/lib/vagrant/util/stacked_proc_runner.rb +0 -35
- data/vendor/vagrant/lib/vagrant/util/string_block_editor.rb +0 -75
- data/vendor/vagrant/lib/vagrant/util/subprocess.rb +0 -270
- data/vendor/vagrant/lib/vagrant/util/template_renderer.rb +0 -83
- data/vendor/vagrant/lib/vagrant/util/which.rb +0 -43
- data/vendor/vagrant/lib/vagrant/util.rb +0 -12
- data/vendor/vagrant/lib/vagrant/version.rb +0 -6
- data/vendor/vagrant/lib/vagrant.rb +0 -251
- data/vendor/vagrant/plugins/README.md +0 -5
- data/vendor/vagrant/plugins/commands/box/command/add.rb +0 -52
- data/vendor/vagrant/plugins/commands/box/command/list.rb +0 -41
- data/vendor/vagrant/plugins/commands/box/command/remove.rb +0 -37
- data/vendor/vagrant/plugins/commands/box/command/repackage.rb +0 -43
- data/vendor/vagrant/plugins/commands/box/command/root.rb +0 -75
- data/vendor/vagrant/plugins/commands/box/plugin.rb +0 -15
- data/vendor/vagrant/plugins/commands/destroy/command.rb +0 -31
- data/vendor/vagrant/plugins/commands/destroy/plugin.rb +0 -18
- data/vendor/vagrant/plugins/commands/halt/command.rb +0 -33
- data/vendor/vagrant/plugins/commands/halt/plugin.rb +0 -18
- data/vendor/vagrant/plugins/commands/init/command.rb +0 -40
- data/vendor/vagrant/plugins/commands/init/plugin.rb +0 -18
- data/vendor/vagrant/plugins/commands/package/command.rb +0 -78
- data/vendor/vagrant/plugins/commands/package/plugin.rb +0 -18
- data/vendor/vagrant/plugins/commands/plugin/action/bundler_check.rb +0 -25
- data/vendor/vagrant/plugins/commands/plugin/action/install_gem.rb +0 -70
- data/vendor/vagrant/plugins/commands/plugin/action/license_plugin.rb +0 -54
- data/vendor/vagrant/plugins/commands/plugin/action/list_plugins.rb +0 -54
- data/vendor/vagrant/plugins/commands/plugin/action/prune_gems.rb +0 -149
- data/vendor/vagrant/plugins/commands/plugin/action/uninstall_plugin.rb +0 -23
- data/vendor/vagrant/plugins/commands/plugin/action.rb +0 -52
- data/vendor/vagrant/plugins/commands/plugin/command/base.rb +0 -22
- data/vendor/vagrant/plugins/commands/plugin/command/install.rb +0 -39
- data/vendor/vagrant/plugins/commands/plugin/command/license.rb +0 -31
- data/vendor/vagrant/plugins/commands/plugin/command/list.rb +0 -28
- data/vendor/vagrant/plugins/commands/plugin/command/root.rb +0 -75
- data/vendor/vagrant/plugins/commands/plugin/command/uninstall.rb +0 -28
- data/vendor/vagrant/plugins/commands/plugin/gem_helper.rb +0 -74
- data/vendor/vagrant/plugins/commands/plugin/plugin.rb +0 -22
- data/vendor/vagrant/plugins/commands/plugin/state_file.rb +0 -57
- data/vendor/vagrant/plugins/commands/provision/command.rb +0 -34
- data/vendor/vagrant/plugins/commands/provision/plugin.rb +0 -18
- data/vendor/vagrant/plugins/commands/reload/command.rb +0 -37
- data/vendor/vagrant/plugins/commands/reload/plugin.rb +0 -18
- data/vendor/vagrant/plugins/commands/resume/command.rb +0 -25
- data/vendor/vagrant/plugins/commands/resume/plugin.rb +0 -17
- data/vendor/vagrant/plugins/commands/ssh/command.rb +0 -66
- data/vendor/vagrant/plugins/commands/ssh/plugin.rb +0 -17
- data/vendor/vagrant/plugins/commands/ssh_config/command.rb +0 -49
- data/vendor/vagrant/plugins/commands/ssh_config/plugin.rb +0 -18
- data/vendor/vagrant/plugins/commands/status/command.rb +0 -39
- data/vendor/vagrant/plugins/commands/status/plugin.rb +0 -18
- data/vendor/vagrant/plugins/commands/suspend/command.rb +0 -25
- data/vendor/vagrant/plugins/commands/suspend/plugin.rb +0 -18
- data/vendor/vagrant/plugins/commands/up/command.rb +0 -45
- data/vendor/vagrant/plugins/commands/up/plugin.rb +0 -17
- data/vendor/vagrant/plugins/commands/up/start_mixins.rb +0 -26
- data/vendor/vagrant/plugins/communicators/ssh/communicator.rb +0 -317
- data/vendor/vagrant/plugins/communicators/ssh/plugin.rb +0 -19
- data/vendor/vagrant/plugins/guests/arch/guest.rb +0 -41
- data/vendor/vagrant/plugins/guests/arch/plugin.rb +0 -15
- data/vendor/vagrant/plugins/guests/debian/guest.rb +0 -72
- data/vendor/vagrant/plugins/guests/debian/plugin.rb +0 -15
- data/vendor/vagrant/plugins/guests/fedora/guest.rb +0 -71
- data/vendor/vagrant/plugins/guests/fedora/plugin.rb +0 -15
- data/vendor/vagrant/plugins/guests/freebsd/config.rb +0 -13
- data/vendor/vagrant/plugins/guests/freebsd/guest.rb +0 -70
- data/vendor/vagrant/plugins/guests/freebsd/plugin.rb +0 -20
- data/vendor/vagrant/plugins/guests/gentoo/guest.rb +0 -51
- data/vendor/vagrant/plugins/guests/gentoo/plugin.rb +0 -15
- data/vendor/vagrant/plugins/guests/linux/config.rb +0 -13
- data/vendor/vagrant/plugins/guests/linux/guest.rb +0 -118
- data/vendor/vagrant/plugins/guests/linux/plugin.rb +0 -20
- data/vendor/vagrant/plugins/guests/openbsd/guest.rb +0 -13
- data/vendor/vagrant/plugins/guests/openbsd/plugin.rb +0 -15
- data/vendor/vagrant/plugins/guests/redhat/guest.rb +0 -74
- data/vendor/vagrant/plugins/guests/redhat/plugin.rb +0 -15
- data/vendor/vagrant/plugins/guests/solaris/config.rb +0 -18
- data/vendor/vagrant/plugins/guests/solaris/guest.rb +0 -73
- data/vendor/vagrant/plugins/guests/solaris/plugin.rb +0 -20
- data/vendor/vagrant/plugins/guests/suse/guest.rb +0 -24
- data/vendor/vagrant/plugins/guests/suse/plugin.rb +0 -15
- data/vendor/vagrant/plugins/guests/ubuntu/guest.rb +0 -44
- data/vendor/vagrant/plugins/guests/ubuntu/plugin.rb +0 -15
- data/vendor/vagrant/plugins/hosts/arch/host.rb +0 -68
- data/vendor/vagrant/plugins/hosts/arch/plugin.rb +0 -15
- data/vendor/vagrant/plugins/hosts/bsd/host.rb +0 -102
- data/vendor/vagrant/plugins/hosts/bsd/plugin.rb +0 -15
- data/vendor/vagrant/plugins/hosts/fedora/host.rb +0 -51
- data/vendor/vagrant/plugins/hosts/fedora/plugin.rb +0 -15
- data/vendor/vagrant/plugins/hosts/freebsd/host.rb +0 -43
- data/vendor/vagrant/plugins/hosts/freebsd/plugin.rb +0 -15
- data/vendor/vagrant/plugins/hosts/gentoo/host.rb +0 -24
- data/vendor/vagrant/plugins/hosts/gentoo/plugin.rb +0 -15
- data/vendor/vagrant/plugins/hosts/linux/host.rb +0 -95
- data/vendor/vagrant/plugins/hosts/linux/plugin.rb +0 -15
- data/vendor/vagrant/plugins/hosts/opensuse/host.rb +0 -34
- data/vendor/vagrant/plugins/hosts/opensuse/plugin.rb +0 -15
- data/vendor/vagrant/plugins/hosts/windows/host.rb +0 -17
- data/vendor/vagrant/plugins/hosts/windows/plugin.rb +0 -15
- data/vendor/vagrant/plugins/kernel_v1/config/nfs.rb +0 -20
- data/vendor/vagrant/plugins/kernel_v1/config/package.rb +0 -17
- data/vendor/vagrant/plugins/kernel_v1/config/ssh.rb +0 -46
- data/vendor/vagrant/plugins/kernel_v1/config/vagrant.rb +0 -31
- data/vendor/vagrant/plugins/kernel_v1/config/vm.rb +0 -184
- data/vendor/vagrant/plugins/kernel_v1/plugin.rb +0 -44
- data/vendor/vagrant/plugins/kernel_v2/config/nfs.rb +0 -10
- data/vendor/vagrant/plugins/kernel_v2/config/package.rb +0 -9
- data/vendor/vagrant/plugins/kernel_v2/config/ssh.rb +0 -35
- data/vendor/vagrant/plugins/kernel_v2/config/vagrant.rb +0 -9
- data/vendor/vagrant/plugins/kernel_v2/config/vm.rb +0 -314
- data/vendor/vagrant/plugins/kernel_v2/config/vm_provisioner.rb +0 -40
- data/vendor/vagrant/plugins/kernel_v2/config/vm_subvm.rb +0 -30
- data/vendor/vagrant/plugins/kernel_v2/plugin.rb +0 -44
- data/vendor/vagrant/plugins/providers/virtualbox/action/boot.rb +0 -49
- data/vendor/vagrant/plugins/providers/virtualbox/action/check_accessible.rb +0 -23
- data/vendor/vagrant/plugins/providers/virtualbox/action/check_created.rb +0 -21
- data/vendor/vagrant/plugins/providers/virtualbox/action/check_guest_additions.rb +0 -45
- data/vendor/vagrant/plugins/providers/virtualbox/action/check_running.rb +0 -21
- data/vendor/vagrant/plugins/providers/virtualbox/action/check_virtualbox.rb +0 -22
- data/vendor/vagrant/plugins/providers/virtualbox/action/clean_machine_folder.rb +0 -43
- data/vendor/vagrant/plugins/providers/virtualbox/action/clear_forwarded_ports.rb +0 -18
- data/vendor/vagrant/plugins/providers/virtualbox/action/clear_network_interfaces.rb +0 -31
- data/vendor/vagrant/plugins/providers/virtualbox/action/clear_shared_folders.rb +0 -17
- data/vendor/vagrant/plugins/providers/virtualbox/action/created.rb +0 -20
- data/vendor/vagrant/plugins/providers/virtualbox/action/customize.rb +0 -36
- data/vendor/vagrant/plugins/providers/virtualbox/action/destroy.rb +0 -19
- data/vendor/vagrant/plugins/providers/virtualbox/action/destroy_confirm.rb +0 -17
- data/vendor/vagrant/plugins/providers/virtualbox/action/destroy_unused_network_interfaces.rb +0 -16
- data/vendor/vagrant/plugins/providers/virtualbox/action/discard_state.rb +0 -20
- data/vendor/vagrant/plugins/providers/virtualbox/action/export.rb +0 -57
- data/vendor/vagrant/plugins/providers/virtualbox/action/forced_halt.rb +0 -25
- data/vendor/vagrant/plugins/providers/virtualbox/action/forward_ports.rb +0 -79
- data/vendor/vagrant/plugins/providers/virtualbox/action/import.rb +0 -51
- data/vendor/vagrant/plugins/providers/virtualbox/action/is_paused.rb +0 -20
- data/vendor/vagrant/plugins/providers/virtualbox/action/is_running.rb +0 -20
- data/vendor/vagrant/plugins/providers/virtualbox/action/is_saved.rb +0 -20
- data/vendor/vagrant/plugins/providers/virtualbox/action/match_mac_address.rb +0 -21
- data/vendor/vagrant/plugins/providers/virtualbox/action/message_not_created.rb +0 -16
- data/vendor/vagrant/plugins/providers/virtualbox/action/message_not_running.rb +0 -16
- data/vendor/vagrant/plugins/providers/virtualbox/action/message_will_not_destroy.rb +0 -17
- data/vendor/vagrant/plugins/providers/virtualbox/action/network.rb +0 -366
- data/vendor/vagrant/plugins/providers/virtualbox/action/package.rb +0 -20
- data/vendor/vagrant/plugins/providers/virtualbox/action/package_vagrantfile.rb +0 -33
- data/vendor/vagrant/plugins/providers/virtualbox/action/prepare_forwarded_port_collision_params.rb +0 -35
- data/vendor/vagrant/plugins/providers/virtualbox/action/prepare_nfs_settings.rb +0 -51
- data/vendor/vagrant/plugins/providers/virtualbox/action/prune_nfs_exports.rb +0 -20
- data/vendor/vagrant/plugins/providers/virtualbox/action/resume.rb +0 -25
- data/vendor/vagrant/plugins/providers/virtualbox/action/sane_defaults.rb +0 -87
- data/vendor/vagrant/plugins/providers/virtualbox/action/set_name.rb +0 -40
- data/vendor/vagrant/plugins/providers/virtualbox/action/setup_package_files.rb +0 -51
- data/vendor/vagrant/plugins/providers/virtualbox/action/share_folders.rb +0 -113
- data/vendor/vagrant/plugins/providers/virtualbox/action/suspend.rb +0 -20
- data/vendor/vagrant/plugins/providers/virtualbox/action.rb +0 -308
- data/vendor/vagrant/plugins/providers/virtualbox/config.rb +0 -82
- data/vendor/vagrant/plugins/providers/virtualbox/driver/base.rb +0 -344
- data/vendor/vagrant/plugins/providers/virtualbox/driver/meta.rb +0 -141
- data/vendor/vagrant/plugins/providers/virtualbox/driver/version_4_0.rb +0 -481
- data/vendor/vagrant/plugins/providers/virtualbox/driver/version_4_1.rb +0 -481
- data/vendor/vagrant/plugins/providers/virtualbox/driver/version_4_2.rb +0 -471
- data/vendor/vagrant/plugins/providers/virtualbox/model/forwarded_port.rb +0 -58
- data/vendor/vagrant/plugins/providers/virtualbox/plugin.rb +0 -42
- data/vendor/vagrant/plugins/providers/virtualbox/provider.rb +0 -92
- data/vendor/vagrant/plugins/providers/virtualbox/util/compile_forwarded_ports.rb +0 -31
- data/vendor/vagrant/plugins/provisioners/chef/config/base.rb +0 -65
- data/vendor/vagrant/plugins/provisioners/chef/config/chef_client.rb +0 -39
- data/vendor/vagrant/plugins/provisioners/chef/config/chef_solo.rb +0 -87
- data/vendor/vagrant/plugins/provisioners/chef/plugin.rb +0 -33
- data/vendor/vagrant/plugins/provisioners/chef/provisioner/base.rb +0 -91
- data/vendor/vagrant/plugins/provisioners/chef/provisioner/chef_client.rb +0 -103
- data/vendor/vagrant/plugins/provisioners/chef/provisioner/chef_solo.rb +0 -182
- data/vendor/vagrant/plugins/provisioners/puppet/config/puppet.rb +0 -70
- data/vendor/vagrant/plugins/provisioners/puppet/config/puppet_server.rb +0 -16
- data/vendor/vagrant/plugins/provisioners/puppet/plugin.rb +0 -33
- data/vendor/vagrant/plugins/provisioners/puppet/provisioner/puppet.rb +0 -110
- data/vendor/vagrant/plugins/provisioners/puppet/provisioner/puppet_server.rb +0 -67
- data/vendor/vagrant/plugins/provisioners/shell/config.rb +0 -46
- data/vendor/vagrant/plugins/provisioners/shell/plugin.rb +0 -23
- data/vendor/vagrant/plugins/provisioners/shell/provisioner.rb +0 -66
- data/vendor/vagrant/tasks/acceptance.rake +0 -113
- data/vendor/vagrant/tasks/bundler.rake +0 -3
- data/vendor/vagrant/tasks/test.rake +0 -20
- data/vendor/vagrant/templates/commands/init/Vagrantfile.erb +0 -111
- data/vendor/vagrant/templates/commands/ssh_config/config.erb +0 -16
- data/vendor/vagrant/templates/config/messages.erb +0 -14
- data/vendor/vagrant/templates/config/validation_failed.erb +0 -7
- data/vendor/vagrant/templates/guests/arch/network_dhcp.erb +0 -4
- data/vendor/vagrant/templates/guests/arch/network_static.erb +0 -6
- data/vendor/vagrant/templates/guests/debian/network_dhcp.erb +0 -11
- data/vendor/vagrant/templates/guests/debian/network_static.erb +0 -7
- data/vendor/vagrant/templates/guests/fedora/network_dhcp.erb +0 -6
- data/vendor/vagrant/templates/guests/fedora/network_static.erb +0 -13
- data/vendor/vagrant/templates/guests/freebsd/network_dhcp.erb +0 -3
- data/vendor/vagrant/templates/guests/freebsd/network_static.erb +0 -3
- data/vendor/vagrant/templates/guests/gentoo/network_dhcp.erb +0 -4
- data/vendor/vagrant/templates/guests/gentoo/network_static.erb +0 -4
- data/vendor/vagrant/templates/guests/redhat/network_dhcp.erb +0 -6
- data/vendor/vagrant/templates/guests/redhat/network_static.erb +0 -7
- data/vendor/vagrant/templates/locales/en.yml +0 -993
- data/vendor/vagrant/templates/nfs/exports.erb +0 -5
- data/vendor/vagrant/templates/nfs/exports_freebsd.erb +0 -5
- data/vendor/vagrant/templates/nfs/exports_linux.erb +0 -5
- data/vendor/vagrant/templates/package_Vagrantfile.erb +0 -11
- data/vendor/vagrant/templates/provisioners/chef_client/client.erb +0 -32
- data/vendor/vagrant/templates/provisioners/chef_solo/solo.erb +0 -25
- data/vendor/vagrant/templates/rgloader.rb +0 -9
- data/vendor/vagrant/test/acceptance/base.rb +0 -48
- data/vendor/vagrant/test/acceptance/box_test.rb +0 -99
- data/vendor/vagrant/test/acceptance/destroy_test.rb +0 -37
- data/vendor/vagrant/test/acceptance/halt_test.rb +0 -72
- data/vendor/vagrant/test/acceptance/init_test.rb +0 -33
- data/vendor/vagrant/test/acceptance/networking/host_only_test.rb +0 -37
- data/vendor/vagrant/test/acceptance/networking/port_forward_test.rb +0 -125
- data/vendor/vagrant/test/acceptance/package_test.rb +0 -46
- data/vendor/vagrant/test/acceptance/provisioning/basic_test.rb +0 -61
- data/vendor/vagrant/test/acceptance/provisioning/chef_solo_test.rb +0 -37
- data/vendor/vagrant/test/acceptance/provisioning/shell_test.rb +0 -53
- data/vendor/vagrant/test/acceptance/resume_test.rb +0 -17
- data/vendor/vagrant/test/acceptance/shared_folders_test.rb +0 -84
- data/vendor/vagrant/test/acceptance/skeletons/chef_solo_basic/README.md +0 -3
- data/vendor/vagrant/test/acceptance/skeletons/chef_solo_basic/cookbooks/basic/recipes/default.rb +0 -5
- data/vendor/vagrant/test/acceptance/skeletons/chef_solo_json/README.md +0 -3
- data/vendor/vagrant/test/acceptance/skeletons/chef_solo_json/cookbooks/basic/recipes/default.rb +0 -6
- data/vendor/vagrant/test/acceptance/skeletons/provisioner_multi/README.md +0 -3
- data/vendor/vagrant/test/acceptance/skeletons/provisioner_multi/cookbooks/basic/recipes/default.rb +0 -5
- data/vendor/vagrant/test/acceptance/ssh_test.rb +0 -46
- data/vendor/vagrant/test/acceptance/support/config.rb +0 -42
- data/vendor/vagrant/test/acceptance/support/isolated_environment.rb +0 -118
- data/vendor/vagrant/test/acceptance/support/matchers/have_color.rb +0 -9
- data/vendor/vagrant/test/acceptance/support/matchers/match_output.rb +0 -14
- data/vendor/vagrant/test/acceptance/support/matchers/succeed.rb +0 -14
- data/vendor/vagrant/test/acceptance/support/network_tests.rb +0 -29
- data/vendor/vagrant/test/acceptance/support/output.rb +0 -95
- data/vendor/vagrant/test/acceptance/support/shared/base_context.rb +0 -72
- data/vendor/vagrant/test/acceptance/support/shared/command_examples.rb +0 -33
- data/vendor/vagrant/test/acceptance/support/virtualbox.rb +0 -36
- data/vendor/vagrant/test/acceptance/suspend_test.rb +0 -56
- data/vendor/vagrant/test/acceptance/up_basic_test.rb +0 -33
- data/vendor/vagrant/test/acceptance/up_with_box_url.rb +0 -40
- data/vendor/vagrant/test/acceptance/vagrant_test.rb +0 -47
- data/vendor/vagrant/test/acceptance/version_test.rb +0 -15
- data/vendor/vagrant/test/config/acceptance_boxes.yml +0 -7
- data/vendor/vagrant/test/support/isolated_environment.rb +0 -46
- data/vendor/vagrant/test/support/tempdir.rb +0 -43
- data/vendor/vagrant/test/unit/base.rb +0 -27
- data/vendor/vagrant/test/unit/support/dummy_provider.rb +0 -16
- data/vendor/vagrant/test/unit/support/isolated_environment.rb +0 -177
- data/vendor/vagrant/test/unit/support/shared/base_context.rb +0 -104
- data/vendor/vagrant/test/unit/vagrant/action/builder_test.rb +0 -196
- data/vendor/vagrant/test/unit/vagrant/action/builtin/call_test.rb +0 -145
- data/vendor/vagrant/test/unit/vagrant/action/builtin/confirm_test.rb +0 -36
- data/vendor/vagrant/test/unit/vagrant/action/builtin/env_set_test.rb +0 -20
- data/vendor/vagrant/test/unit/vagrant/action/builtin/graceful_halt_test.rb +0 -61
- data/vendor/vagrant/test/unit/vagrant/action/builtin/lock_test.rb +0 -98
- data/vendor/vagrant/test/unit/vagrant/action/builtin/ssh_exec_test.rb +0 -57
- data/vendor/vagrant/test/unit/vagrant/action/hook_test.rb +0 -101
- data/vendor/vagrant/test/unit/vagrant/action/runner_test.rb +0 -71
- data/vendor/vagrant/test/unit/vagrant/action/warden_test.rb +0 -92
- data/vendor/vagrant/test/unit/vagrant/box_collection_test.rb +0 -224
- data/vendor/vagrant/test/unit/vagrant/box_test.rb +0 -109
- data/vendor/vagrant/test/unit/vagrant/cli_test.rb +0 -27
- data/vendor/vagrant/test/unit/vagrant/config/loader_test.rb +0 -184
- data/vendor/vagrant/test/unit/vagrant/config/v1/dummy_config_test.rb +0 -24
- data/vendor/vagrant/test/unit/vagrant/config/v1/loader_test.rb +0 -145
- data/vendor/vagrant/test/unit/vagrant/config/v1/root_test.rb +0 -40
- data/vendor/vagrant/test/unit/vagrant/config/v2/dummy_config_test.rb +0 -24
- data/vendor/vagrant/test/unit/vagrant/config/v2/loader_test.rb +0 -151
- data/vendor/vagrant/test/unit/vagrant/config/v2/root_test.rb +0 -97
- data/vendor/vagrant/test/unit/vagrant/config/v2/util_test.rb +0 -21
- data/vendor/vagrant/test/unit/vagrant/config_test.rb +0 -66
- data/vendor/vagrant/test/unit/vagrant/downloaders/base_test.rb +0 -14
- data/vendor/vagrant/test/unit/vagrant/downloaders/file_test.rb +0 -87
- data/vendor/vagrant/test/unit/vagrant/downloaders/http_test.rb +0 -23
- data/vendor/vagrant/test/unit/vagrant/environment_test.rb +0 -571
- data/vendor/vagrant/test/unit/vagrant/hosts_test.rb +0 -37
- data/vendor/vagrant/test/unit/vagrant/machine_state_test.rb +0 -26
- data/vendor/vagrant/test/unit/vagrant/machine_test.rb +0 -418
- data/vendor/vagrant/test/unit/vagrant/plugin/v1/command_test.rb +0 -143
- data/vendor/vagrant/test/unit/vagrant/plugin/v1/communicator_test.rb +0 -9
- data/vendor/vagrant/test/unit/vagrant/plugin/v1/config_test.rb +0 -50
- data/vendor/vagrant/test/unit/vagrant/plugin/v1/host_test.rb +0 -5
- data/vendor/vagrant/test/unit/vagrant/plugin/v1/manager_test.rb +0 -114
- data/vendor/vagrant/test/unit/vagrant/plugin/v1/plugin_test.rb +0 -267
- data/vendor/vagrant/test/unit/vagrant/plugin/v1/provider_test.rb +0 -18
- data/vendor/vagrant/test/unit/vagrant/plugin/v2/command_test.rb +0 -238
- data/vendor/vagrant/test/unit/vagrant/plugin/v2/communicator_test.rb +0 -9
- data/vendor/vagrant/test/unit/vagrant/plugin/v2/components_test.rb +0 -17
- data/vendor/vagrant/test/unit/vagrant/plugin/v2/config_test.rb +0 -60
- data/vendor/vagrant/test/unit/vagrant/plugin/v2/host_test.rb +0 -5
- data/vendor/vagrant/test/unit/vagrant/plugin/v2/manager_test.rb +0 -157
- data/vendor/vagrant/test/unit/vagrant/plugin/v2/plugin_test.rb +0 -287
- data/vendor/vagrant/test/unit/vagrant/plugin/v2/provider_test.rb +0 -18
- data/vendor/vagrant/test/unit/vagrant/registry_test.rb +0 -128
- data/vendor/vagrant/test/unit/vagrant/util/ansi_escape_code_remover_test.rb +0 -16
- data/vendor/vagrant/test/unit/vagrant/util/file_checksum_test.rb +0 -23
- data/vendor/vagrant/test/unit/vagrant/util/hash_with_indifferent_access_test.rb +0 -38
- data/vendor/vagrant/test/unit/vagrant/util/is_port_open_test.rb +0 -53
- data/vendor/vagrant/test/unit/vagrant/util/line_endings_helper_test.rb +0 -16
- data/vendor/vagrant/test/unit/vagrant/util/network_ip_test.rb +0 -17
- data/vendor/vagrant/test/unit/vagrant/util/retryable_test.rb +0 -106
- data/vendor/vagrant/test/unit/vagrant/util/scoped_hash_override_test.rb +0 -48
- data/vendor/vagrant/test/unit/vagrant/util/ssh_test.rb +0 -30
- data/vendor/vagrant/test/unit/vagrant/util/string_block_editor_test.rb +0 -98
- data/vendor/vagrant/test/unit/vagrant/util/which_test.rb +0 -43
- data/vendor/vagrant/test/unit/vagrant_test.rb +0 -56
- data/vendor/vagrant/vagrant.gemspec +0 -69
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
require "log4r"
|
|
2
|
-
|
|
3
|
-
require "vagrant/util/platform"
|
|
4
|
-
|
|
5
|
-
module Vagrant
|
|
6
|
-
module Action
|
|
7
|
-
module Builtin
|
|
8
|
-
# This middleware will download a remote box and add it to the
|
|
9
|
-
# given box collection.
|
|
10
|
-
class BoxAdd
|
|
11
|
-
def initialize(app, env)
|
|
12
|
-
@app = app
|
|
13
|
-
@logger = Log4r::Logger.new("vagrant::action::builtin::box_add")
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
def call(env)
|
|
17
|
-
# Instantiate the downloader
|
|
18
|
-
downloader = download_klass(env[:box_url]).new(env[:ui])
|
|
19
|
-
env[:ui].info I18n.t("vagrant.actions.box.download.with",
|
|
20
|
-
:class => downloader.class.to_s)
|
|
21
|
-
|
|
22
|
-
# Download the box to a temporary path. We store the temporary
|
|
23
|
-
# path as an instance variable so that the `#recover` method can
|
|
24
|
-
# access it.
|
|
25
|
-
@temp_path = env[:tmp_path].join("box" + Time.now.to_i.to_s)
|
|
26
|
-
@logger.info("Downloading box to: #{@temp_path}")
|
|
27
|
-
File.open(@temp_path, Vagrant::Util::Platform.tar_file_options) do |f|
|
|
28
|
-
downloader.download!(env[:box_url], f)
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
# Add the box
|
|
32
|
-
env[:ui].info I18n.t("vagrant.actions.box.add.adding", :name => env[:box_name])
|
|
33
|
-
begin
|
|
34
|
-
env[:box_collection].add(@temp_path, env[:box_name], env[:box_provider])
|
|
35
|
-
rescue Vagrant::Errors::BoxUpgradeRequired
|
|
36
|
-
# Upgrade the box
|
|
37
|
-
env[:box_collection].upgrade(env[:box_name])
|
|
38
|
-
|
|
39
|
-
# Try adding it again
|
|
40
|
-
retry
|
|
41
|
-
end
|
|
42
|
-
|
|
43
|
-
# Call the 'recover' method in all cases to clean up the
|
|
44
|
-
# downloaded temporary file.
|
|
45
|
-
recover(env)
|
|
46
|
-
|
|
47
|
-
# Carry on!
|
|
48
|
-
@app.call(env)
|
|
49
|
-
end
|
|
50
|
-
|
|
51
|
-
def download_klass(url)
|
|
52
|
-
# This is hardcoded for now. In the future I'd like to make this
|
|
53
|
-
# pluginnable as well.
|
|
54
|
-
classes = [Downloaders::HTTP, Downloaders::File]
|
|
55
|
-
|
|
56
|
-
# Find the class to use.
|
|
57
|
-
classes.each_index do |i|
|
|
58
|
-
klass = classes[i]
|
|
59
|
-
|
|
60
|
-
# Use the class if it matches the given URI or if this
|
|
61
|
-
# is the last class...
|
|
62
|
-
return klass if classes.length == (i + 1) || klass.match?(url)
|
|
63
|
-
end
|
|
64
|
-
|
|
65
|
-
# If no downloader knows how to download this file, then we
|
|
66
|
-
# raise an exception.
|
|
67
|
-
raise Errors::BoxDownloadUnknownType
|
|
68
|
-
end
|
|
69
|
-
|
|
70
|
-
def recover(env)
|
|
71
|
-
if @temp_path && File.exist?(@temp_path)
|
|
72
|
-
env[:ui].info I18n.t("vagrant.actions.box.download.cleaning")
|
|
73
|
-
File.unlink(@temp_path)
|
|
74
|
-
end
|
|
75
|
-
end
|
|
76
|
-
end
|
|
77
|
-
end
|
|
78
|
-
end
|
|
79
|
-
end
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
module Vagrant
|
|
2
|
-
module Action
|
|
3
|
-
module Builtin
|
|
4
|
-
# This middleware class allows a sort of "conditional" run within
|
|
5
|
-
# a single middlware sequence. It takes another middleware runnable,
|
|
6
|
-
# runs it with the same environment, then yields the resulting env to a block,
|
|
7
|
-
# allowing that block to determine the next course of action in the
|
|
8
|
-
# middleware sequence.
|
|
9
|
-
#
|
|
10
|
-
# The first argument to this middleware sequence is anywhere middleware
|
|
11
|
-
# runnable, whether it be a class, lambda, or something else that
|
|
12
|
-
# responds to `call`. This middleware runnable is run with the same
|
|
13
|
-
# environment as this class.
|
|
14
|
-
#
|
|
15
|
-
# After running, {Call} takes the environment and yields it to a block
|
|
16
|
-
# given to initialize the class, along with an instance of {Builder}.
|
|
17
|
-
# The result is used to build up a new sequence on the given builder.
|
|
18
|
-
# This builder is then run.
|
|
19
|
-
class Call
|
|
20
|
-
# For documentation, read the description of the {Call} class.
|
|
21
|
-
#
|
|
22
|
-
# @param [Object] callable A valid middleware runnable object. This
|
|
23
|
-
# can be a class, a lambda, or an object that responds to `call`.
|
|
24
|
-
# @yield [result, builder] This block is expected to build on `builder`
|
|
25
|
-
# which is the next middleware sequence that will be run.
|
|
26
|
-
def initialize(app, env, callable, *callable_args, &block)
|
|
27
|
-
raise ArgumentError, "A block must be given to Call" if !block
|
|
28
|
-
|
|
29
|
-
@app = app
|
|
30
|
-
@callable = callable
|
|
31
|
-
@callable_args = callable_args
|
|
32
|
-
@block = block
|
|
33
|
-
@child_app = nil
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
def call(env)
|
|
37
|
-
runner = Runner.new
|
|
38
|
-
|
|
39
|
-
# Build the callable that we'll run
|
|
40
|
-
callable = Builder.build(@callable, *@callable_args)
|
|
41
|
-
|
|
42
|
-
# Run our callable with our environment
|
|
43
|
-
new_env = runner.run(callable, env)
|
|
44
|
-
|
|
45
|
-
# Build our new builder based on the result
|
|
46
|
-
builder = Builder.new
|
|
47
|
-
@block.call(new_env, builder)
|
|
48
|
-
|
|
49
|
-
# Run the result with our new environment
|
|
50
|
-
@child_app = builder.to_app(new_env)
|
|
51
|
-
final_env = runner.run(@child_app, new_env)
|
|
52
|
-
|
|
53
|
-
# Merge the environment into our original environment
|
|
54
|
-
env.merge!(final_env)
|
|
55
|
-
|
|
56
|
-
# Call the next step using our final environment
|
|
57
|
-
@app.call(env)
|
|
58
|
-
end
|
|
59
|
-
|
|
60
|
-
def recover(env)
|
|
61
|
-
# Call back into our compiled application and recover it.
|
|
62
|
-
@child_app.recover(env) if @child_app
|
|
63
|
-
end
|
|
64
|
-
end
|
|
65
|
-
end
|
|
66
|
-
end
|
|
67
|
-
end
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
require "vagrant/util/template_renderer"
|
|
2
|
-
|
|
3
|
-
module Vagrant
|
|
4
|
-
module Action
|
|
5
|
-
module Builtin
|
|
6
|
-
# This class validates the configuration and raises an exception
|
|
7
|
-
# if there are any validation errors.
|
|
8
|
-
class ConfigValidate
|
|
9
|
-
def initialize(app, env)
|
|
10
|
-
@app = app
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
def call(env)
|
|
14
|
-
if !env.has_key?(:config_validate) || env[:config_validate]
|
|
15
|
-
errors = env[:machine].config.validate(env[:machine])
|
|
16
|
-
|
|
17
|
-
if errors && !errors.empty?
|
|
18
|
-
raise Errors::ConfigInvalid,
|
|
19
|
-
:errors => Util::TemplateRenderer.render(
|
|
20
|
-
"config/validation_failed",
|
|
21
|
-
:errors => errors)
|
|
22
|
-
end
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
@app.call(env)
|
|
26
|
-
end
|
|
27
|
-
end
|
|
28
|
-
end
|
|
29
|
-
end
|
|
30
|
-
end
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
module Vagrant
|
|
2
|
-
module Action
|
|
3
|
-
module Builtin
|
|
4
|
-
# This class asks the user to confirm some sort of question with
|
|
5
|
-
# a "Y/N" question. The only parameter is the text to ask the user.
|
|
6
|
-
# The result is placed in `env[:result]` so that it can be used
|
|
7
|
-
# with the {Call} class.
|
|
8
|
-
class Confirm
|
|
9
|
-
# For documentation, read the description of the {Confirm} class.
|
|
10
|
-
#
|
|
11
|
-
# @param [String] message The message to ask the user.
|
|
12
|
-
# @param [Symbol] force_key The key that if present and true in
|
|
13
|
-
# the environment hash will skip the confirmation question.
|
|
14
|
-
def initialize(app, env, message, force_key=nil)
|
|
15
|
-
@app = app
|
|
16
|
-
@message = message
|
|
17
|
-
@force_key = force_key
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
def call(env)
|
|
21
|
-
choice = nil
|
|
22
|
-
|
|
23
|
-
# If we have a force key set and we're forcing, then set
|
|
24
|
-
# the result to "Y"
|
|
25
|
-
choice = "Y" if @force_key && env[@force_key]
|
|
26
|
-
|
|
27
|
-
# If we haven't chosen yes, then ask the user via TTY
|
|
28
|
-
choice = env[:ui].ask(@message) if !choice
|
|
29
|
-
|
|
30
|
-
# The result is only true if the user said "Y"
|
|
31
|
-
env[:result] = choice && choice.upcase == "Y"
|
|
32
|
-
|
|
33
|
-
@app.call(env)
|
|
34
|
-
end
|
|
35
|
-
end
|
|
36
|
-
end
|
|
37
|
-
end
|
|
38
|
-
end
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
module Vagrant
|
|
2
|
-
module Action
|
|
3
|
-
module Builtin
|
|
4
|
-
# This middleware class allows you to modify the environment hash
|
|
5
|
-
# in the middle of a middleware sequence. The new environmental data
|
|
6
|
-
# will take affect at this stage in the middleware and will persist
|
|
7
|
-
# through.
|
|
8
|
-
class EnvSet
|
|
9
|
-
def initialize(app, env, new_env=nil)
|
|
10
|
-
@app = app
|
|
11
|
-
@new_env = new_env || {}
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
def call(env)
|
|
15
|
-
# Merge in the new data
|
|
16
|
-
env.merge!(@new_env)
|
|
17
|
-
|
|
18
|
-
# Carry on
|
|
19
|
-
@app.call(env)
|
|
20
|
-
end
|
|
21
|
-
end
|
|
22
|
-
end
|
|
23
|
-
end
|
|
24
|
-
end
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
require "log4r"
|
|
2
|
-
|
|
3
|
-
module Vagrant
|
|
4
|
-
module Action
|
|
5
|
-
module Builtin
|
|
6
|
-
# This middleware class will attempt to perform a graceful shutdown
|
|
7
|
-
# of the machine using the guest implementation. This middleware is
|
|
8
|
-
# compatible with the {Call} middleware so you can branch based on
|
|
9
|
-
# the result, which is true if the halt succeeded and false otherwise.
|
|
10
|
-
class GracefulHalt
|
|
11
|
-
# Note: Any of the arguments can be arrays as well.
|
|
12
|
-
#
|
|
13
|
-
# @param [Symbol] target_state The target state ID that means that
|
|
14
|
-
# the machine was properly shut down.
|
|
15
|
-
# @param [Symbol] source_state The source state ID that the machine
|
|
16
|
-
# must be in to be shut down.
|
|
17
|
-
def initialize(app, env, target_state, source_state=nil)
|
|
18
|
-
@app = app
|
|
19
|
-
@logger = Log4r::Logger.new("vagrant::action::builtin::graceful_halt")
|
|
20
|
-
@source_state = source_state
|
|
21
|
-
@target_state = target_state
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
def call(env)
|
|
25
|
-
graceful = true
|
|
26
|
-
graceful = !env[:force_halt] if env.has_key?(:force_halt)
|
|
27
|
-
|
|
28
|
-
# By default, we didn't succeed.
|
|
29
|
-
env[:result] = false
|
|
30
|
-
|
|
31
|
-
if graceful && @source_state
|
|
32
|
-
@logger.info("Verifying source state of machine: #{@source_state.inspect}")
|
|
33
|
-
|
|
34
|
-
# If we're not in the proper source state, then we don't
|
|
35
|
-
# attempt to halt the machine
|
|
36
|
-
current_state = env[:machine].state.id
|
|
37
|
-
if current_state != @source_state
|
|
38
|
-
@logger.info("Invalid source state, not halting: #{current_state}")
|
|
39
|
-
graceful = false
|
|
40
|
-
end
|
|
41
|
-
end
|
|
42
|
-
|
|
43
|
-
# Only attempt to perform graceful shutdown under certain cases
|
|
44
|
-
# checked above.
|
|
45
|
-
if graceful
|
|
46
|
-
env[:ui].info I18n.t("vagrant.actions.vm.halt.graceful")
|
|
47
|
-
env[:machine].guest.halt
|
|
48
|
-
|
|
49
|
-
@logger.debug("Waiting for target graceful halt state: #{@target_state}")
|
|
50
|
-
count = 0
|
|
51
|
-
while env[:machine].state.id != @target_state
|
|
52
|
-
count += 1
|
|
53
|
-
return if count >= env[:machine].config.vm.graceful_halt_retry_count
|
|
54
|
-
sleep env[:machine].config.vm.graceful_halt_retry_interval
|
|
55
|
-
end
|
|
56
|
-
|
|
57
|
-
# The result of this matters on whether we reached our
|
|
58
|
-
# proper target state or not.
|
|
59
|
-
env[:result] = env[:machine].state.id == @target_state
|
|
60
|
-
|
|
61
|
-
if env[:result]
|
|
62
|
-
@logger.info("Gracefully halted.")
|
|
63
|
-
else
|
|
64
|
-
@logger.info("Graceful halt failed.")
|
|
65
|
-
end
|
|
66
|
-
end
|
|
67
|
-
|
|
68
|
-
@app.call(env)
|
|
69
|
-
end
|
|
70
|
-
end
|
|
71
|
-
end
|
|
72
|
-
end
|
|
73
|
-
end
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
module Vagrant
|
|
2
|
-
module Action
|
|
3
|
-
module Builtin
|
|
4
|
-
# This built-in middleware handles the `box_url` setting, downloading
|
|
5
|
-
# the box if necessary. You should place this early in your middleware
|
|
6
|
-
# sequence for a provider after configuration validation but before
|
|
7
|
-
# you attempt to use any box.
|
|
8
|
-
class HandleBoxUrl
|
|
9
|
-
def initialize(app, env)
|
|
10
|
-
@app = app
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
def call(env)
|
|
14
|
-
if !env[:machine].box
|
|
15
|
-
# We can assume a box URL is set because the Vagrantfile
|
|
16
|
-
# validation should do this for us. If not, though, we do
|
|
17
|
-
# raise a terrible runtime error.
|
|
18
|
-
box_name = env[:machine].config.vm.box
|
|
19
|
-
box_url = env[:machine].config.vm.box_url
|
|
20
|
-
|
|
21
|
-
# Add the box then reload the box collection so that it becomes
|
|
22
|
-
# aware of it.
|
|
23
|
-
env[:ui].info I18n.t(
|
|
24
|
-
"vagrant.actions.vm.check_box.not_found",
|
|
25
|
-
:name => box_name,
|
|
26
|
-
:provider => env[:machine].provider_name)
|
|
27
|
-
env[:action_runner].run(Vagrant::Action.action_box_add, {
|
|
28
|
-
:box_name => box_name,
|
|
29
|
-
:box_provider => env[:machine].provider_name,
|
|
30
|
-
:box_url => box_url
|
|
31
|
-
})
|
|
32
|
-
|
|
33
|
-
# Reload the environment and set the VM to be the new loaded VM.
|
|
34
|
-
env[:machine] = env[:machine].env.machine(
|
|
35
|
-
env[:machine].name, env[:machine].provider_name, true)
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
@app.call(env)
|
|
39
|
-
end
|
|
40
|
-
end
|
|
41
|
-
end
|
|
42
|
-
end
|
|
43
|
-
end
|
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
require "set"
|
|
2
|
-
|
|
3
|
-
require "log4r"
|
|
4
|
-
|
|
5
|
-
require "vagrant/util/is_port_open"
|
|
6
|
-
|
|
7
|
-
module Vagrant
|
|
8
|
-
module Action
|
|
9
|
-
module Builtin
|
|
10
|
-
# This middleware class will detect and handle collisions with
|
|
11
|
-
# forwarded ports, whether that means raising an error or repairing
|
|
12
|
-
# them automatically.
|
|
13
|
-
#
|
|
14
|
-
# Parameters it takes from the environment hash:
|
|
15
|
-
#
|
|
16
|
-
# * `:port_collision_repair` - If true, it will attempt to repair
|
|
17
|
-
# port collisions. If false, it will raise an exception when
|
|
18
|
-
# there is a collision.
|
|
19
|
-
#
|
|
20
|
-
# * `:port_collision_extra_in_use` - An array of ports that are
|
|
21
|
-
# considered in use.
|
|
22
|
-
#
|
|
23
|
-
# * `:port_collision_remap` - A hash remapping certain host ports
|
|
24
|
-
# to other host ports.
|
|
25
|
-
#
|
|
26
|
-
class HandleForwardedPortCollisions
|
|
27
|
-
include Util::IsPortOpen
|
|
28
|
-
|
|
29
|
-
def initialize(app, env)
|
|
30
|
-
@app = app
|
|
31
|
-
@logger = Log4r::Logger.new("vagrant::action::builtin::handle_port_collisions")
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
def call(env)
|
|
35
|
-
@logger.debug("Detecting any forwarded port collisions...")
|
|
36
|
-
|
|
37
|
-
# Get the extra ports we consider in use
|
|
38
|
-
extra_in_use = env[:port_collision_extra_in_use] || []
|
|
39
|
-
|
|
40
|
-
# Get the remap
|
|
41
|
-
remap = env[:port_collision_remap] || {}
|
|
42
|
-
|
|
43
|
-
# Determine the handler we'll use if we have any port collisions
|
|
44
|
-
repair = !!env[:port_collision_repair]
|
|
45
|
-
|
|
46
|
-
# Determine a list of usable ports for repair
|
|
47
|
-
usable_ports = Set.new(env[:machine].config.vm.usable_port_range)
|
|
48
|
-
usable_ports.subtract(extra_in_use)
|
|
49
|
-
|
|
50
|
-
# Pass one, remove all defined host ports from usable ports
|
|
51
|
-
with_forwarded_ports(env) do |options|
|
|
52
|
-
usable_ports.delete(options[:host])
|
|
53
|
-
end
|
|
54
|
-
|
|
55
|
-
# Pass two, detect/handle any collisions
|
|
56
|
-
with_forwarded_ports(env) do |options|
|
|
57
|
-
guest_port = options[:guest]
|
|
58
|
-
host_port = options[:host]
|
|
59
|
-
|
|
60
|
-
if remap[host_port]
|
|
61
|
-
remap_port = remap[host_port]
|
|
62
|
-
@logger.debug("Remap port override: #{host_port} => #{remap_port}")
|
|
63
|
-
host_port = remap_port
|
|
64
|
-
end
|
|
65
|
-
|
|
66
|
-
# If the port is open (listening for TCP connections)
|
|
67
|
-
if extra_in_use.include?(host_port) || is_port_open?("127.0.0.1", host_port)
|
|
68
|
-
if !repair
|
|
69
|
-
raise Errors::ForwardPortCollision,
|
|
70
|
-
:guest_port => guest_port.to_s,
|
|
71
|
-
:host_port => host_port.to_s
|
|
72
|
-
end
|
|
73
|
-
|
|
74
|
-
@logger.info("Attempting to repair FP collision: #{host_port}")
|
|
75
|
-
|
|
76
|
-
# If we have no usable ports then we can't repair
|
|
77
|
-
if usable_ports.empty?
|
|
78
|
-
raise Errors::ForwardPortAutolistEmpty,
|
|
79
|
-
:vm_name => env[:machine].name,
|
|
80
|
-
:guest_port => guest_port.to_s,
|
|
81
|
-
:host_port => host_port.to_s
|
|
82
|
-
end
|
|
83
|
-
|
|
84
|
-
# Attempt to repair the forwarded port
|
|
85
|
-
repaired_port = usable_ports.to_a.sort[0]
|
|
86
|
-
usable_ports.delete(repaired_port)
|
|
87
|
-
|
|
88
|
-
# Modify the args in place
|
|
89
|
-
options[:host] = repaired_port
|
|
90
|
-
|
|
91
|
-
@logger.info("Repaired FP collision: #{host_port} to #{repaired_port}")
|
|
92
|
-
|
|
93
|
-
# Notify the user
|
|
94
|
-
env[:ui].info(I18n.t("vagrant.actions.vm.forward_ports.fixed_collision",
|
|
95
|
-
:host_port => host_port.to_s,
|
|
96
|
-
:guest_port => guest_port.to_s,
|
|
97
|
-
:new_port => repaired_port.to_s))
|
|
98
|
-
end
|
|
99
|
-
end
|
|
100
|
-
|
|
101
|
-
@app.call(env)
|
|
102
|
-
end
|
|
103
|
-
|
|
104
|
-
protected
|
|
105
|
-
|
|
106
|
-
def with_forwarded_ports(env)
|
|
107
|
-
env[:machine].config.vm.networks.each do |type, options|
|
|
108
|
-
# Ignore anything but forwarded ports
|
|
109
|
-
next if type != :forwarded_port
|
|
110
|
-
|
|
111
|
-
yield options
|
|
112
|
-
end
|
|
113
|
-
end
|
|
114
|
-
end
|
|
115
|
-
end
|
|
116
|
-
end
|
|
117
|
-
end
|