vagrant-unbundled 1.9.7.1 → 1.9.8.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +36 -0
- data/Gemfile.lock +10 -6
- data/contrib/bash/completion.sh +1 -1
- data/contrib/sudoers/linux-ubuntu +3 -4
- data/lib/vagrant/errors.rb +8 -0
- data/lib/vagrant/machine.rb +2 -0
- data/lib/vagrant/util/platform.rb +1 -1
- data/lib/vagrant/util/powershell.rb +42 -13
- data/lib/vagrant/util/safe_exec.rb +13 -2
- data/lib/vagrant/util/ssh.rb +11 -1
- data/plugins/commands/box/command/update.rb +12 -7
- data/plugins/commands/login/client.rb +15 -6
- data/plugins/commands/login/command.rb +13 -3
- data/plugins/commands/up/command.rb +9 -0
- data/plugins/commands/validate/command.rb +4 -4
- data/plugins/guests/darwin/cap/shell_expand_guest_path.rb +2 -2
- data/plugins/guests/freebsd/cap/configure_networks.rb +1 -1
- data/plugins/guests/freebsd/cap/shell_expand_guest_path.rb +2 -2
- data/plugins/guests/linux/cap/shell_expand_guest_path.rb +2 -2
- data/plugins/guests/netbsd/cap/shell_expand_guest_path.rb +2 -2
- data/plugins/guests/openbsd/cap/shell_expand_guest_path.rb +2 -2
- data/plugins/guests/windows/cap/public_key.rb +21 -45
- data/plugins/kernel_v2/config/ssh_connect.rb +3 -0
- data/plugins/providers/docker/config.rb +4 -0
- data/plugins/providers/docker/driver/compose.rb +11 -4
- data/plugins/providers/hyperv/action/wait_for_ip_address.rb +15 -11
- data/plugins/providers/hyperv/scripts/get_network_config.ps1 +24 -9
- data/plugins/providers/virtualbox/action/prepare_nfs_settings.rb +18 -0
- data/plugins/provisioners/ansible/provisioner/host.rb +1 -1
- data/plugins/provisioners/chef/cap/debian/chef_install.rb +2 -2
- data/plugins/provisioners/chef/cap/freebsd/chef_install.rb +2 -2
- data/plugins/provisioners/chef/cap/omnios/chef_install.rb +2 -2
- data/plugins/provisioners/chef/cap/redhat/chef_install.rb +2 -2
- data/plugins/provisioners/chef/cap/suse/chef_install.rb +2 -2
- data/plugins/provisioners/chef/cap/windows/chef_install.rb +2 -2
- data/plugins/provisioners/chef/config/base.rb +17 -0
- data/plugins/provisioners/chef/config/chef_zero.rb +7 -0
- data/plugins/provisioners/chef/installer.rb +8 -7
- data/plugins/provisioners/chef/omnibus.rb +4 -6
- data/plugins/provisioners/chef/provisioner/base.rb +1 -0
- data/plugins/provisioners/chef/provisioner/chef_solo.rb +2 -1
- data/plugins/provisioners/file/provisioner.rb +18 -2
- data/plugins/provisioners/puppet/provisioner/puppet.rb +0 -2
- data/plugins/provisioners/salt/bootstrap-salt.sh +9 -5
- data/plugins/provisioners/shell/provisioner.rb +1 -1
- data/plugins/synced_folders/rsync/command/rsync_auto.rb +6 -1
- data/plugins/synced_folders/rsync/helper.rb +10 -0
- data/templates/locales/en.yml +27 -1
- data/templates/locales/providers_docker.yml +2 -0
- data/test/unit/base.rb +1 -3
- data/test/unit/plugins/commands/box/command/add_test.rb +3 -3
- data/test/unit/plugins/commands/box/command/remove_test.rb +6 -6
- data/test/unit/plugins/commands/box/command/repackage_test.rb +2 -4
- data/test/unit/plugins/commands/box/command/update_test.rb +36 -14
- data/test/unit/plugins/commands/init/command_test.rb +1 -1
- data/test/unit/plugins/commands/list-commands/command_test.rb +2 -2
- data/test/unit/plugins/commands/login/client_test.rb +5 -1
- data/test/unit/plugins/commands/package/command_test.rb +1 -1
- data/test/unit/plugins/commands/plugin/action/expunge_plugins_test.rb +1 -1
- data/test/unit/plugins/commands/plugin/action/install_gem_test.rb +3 -3
- data/test/unit/plugins/commands/plugin/action/plugin_exists_check_test.rb +3 -3
- data/test/unit/plugins/commands/plugin/action/uninstall_plugin_test.rb +1 -1
- data/test/unit/plugins/commands/plugin/action/update_gems_test.rb +2 -2
- data/test/unit/plugins/commands/port/command_test.rb +3 -3
- data/test/unit/plugins/commands/push/command_test.rb +1 -1
- data/test/unit/plugins/commands/snapshot/command/list_test.rb +2 -3
- data/test/unit/plugins/commands/ssh_config/command_test.rb +1 -1
- data/test/unit/plugins/commands/up/command_test.rb +69 -2
- data/test/unit/plugins/commands/validate/command_test.rb +47 -1
- data/test/unit/plugins/communicators/ssh/communicator_test.rb +5 -5
- data/test/unit/plugins/communicators/winrm/communicator_test.rb +6 -6
- data/test/unit/plugins/communicators/winrm/helper_test.rb +24 -23
- data/test/unit/plugins/communicators/winssh/communicator_test.rb +5 -5
- data/test/unit/plugins/guests/darwin/cap/shell_expand_guest_path_test.rb +43 -0
- data/test/unit/plugins/guests/freebsd/cap/configure_networks_test.rb +1 -1
- data/test/unit/plugins/guests/freebsd/cap/shell_expand_guest_path_test.rb +44 -0
- data/test/unit/plugins/guests/linux/cap/shell_expand_guest_path_test.rb +43 -0
- data/test/unit/plugins/guests/netbsd/cap/shell_expand_guest_path_test.rb +43 -0
- data/test/unit/plugins/guests/omnios/cap/mount_nfs_folder_test.rb +1 -3
- data/test/unit/plugins/guests/openbsd/cap/shell_expand_guest_path_test.rb +43 -0
- data/test/unit/plugins/guests/smartos/cap/change_host_name_test.rb +2 -2
- data/test/unit/plugins/guests/smartos/cap/configure_networks_test.rb +2 -2
- data/test/unit/plugins/guests/smartos/cap/halt_test.rb +2 -2
- data/test/unit/plugins/guests/smartos/cap/insert_public_key_test.rb +1 -1
- data/test/unit/plugins/guests/smartos/cap/mount_nfs_test.rb +2 -2
- data/test/unit/plugins/guests/smartos/cap/rsync_test.rb +2 -2
- data/test/unit/plugins/guests/windows/cap/insert_public_key_test.rb +2 -2
- data/test/unit/plugins/guests/windows/cap/remove_public_key_test.rb +4 -3
- data/test/unit/plugins/guests/windows/config_test.rb +1 -1
- data/test/unit/plugins/guests/windows/guest_network_test.rb +2 -2
- data/test/unit/plugins/hosts/linux/cap/nfs_test.rb +2 -0
- data/test/unit/plugins/kernel_v2/config/push_test.rb +1 -1
- data/test/unit/plugins/kernel_v2/config/vm_test.rb +7 -7
- data/test/unit/plugins/providers/docker/action/create_test.rb +1 -1
- data/test/unit/plugins/providers/docker/command/exec_test.rb +1 -1
- data/test/unit/plugins/providers/docker/config_test.rb +23 -4
- data/test/unit/plugins/providers/docker/driver_compose_test.rb +60 -30
- data/test/unit/plugins/providers/docker/driver_test.rb +31 -31
- data/test/unit/plugins/providers/docker/synced_folder_test.rb +3 -3
- data/test/unit/plugins/providers/hyperv/provider_test.rb +19 -19
- data/test/unit/plugins/providers/virtualbox/action/network_fix_ipv6_test.rb +2 -2
- data/test/unit/plugins/providers/virtualbox/action/network_test.rb +1 -1
- data/test/unit/plugins/providers/virtualbox/action/prepare_nfs_settings_test.rb +34 -8
- data/test/unit/plugins/providers/virtualbox/action/prepare_nfs_valid_ids_test.rb +3 -3
- data/test/unit/plugins/providers/virtualbox/cap_test.rb +2 -2
- data/test/unit/plugins/providers/virtualbox/config_test.rb +6 -6
- data/test/unit/plugins/providers/virtualbox/synced_folder_test.rb +6 -8
- data/test/unit/plugins/provisioners/ansible/config/guest_test.rb +1 -1
- data/test/unit/plugins/provisioners/ansible/config/host_test.rb +4 -4
- data/test/unit/plugins/provisioners/ansible/config/shared.rb +2 -2
- data/test/unit/plugins/provisioners/ansible/provisioner_test.rb +165 -157
- data/test/unit/plugins/provisioners/chef/command_builder_test.rb +2 -2
- data/test/unit/plugins/provisioners/chef/config/base_test.rb +13 -0
- data/test/unit/plugins/provisioners/chef/config/chef_zero_test.rb +11 -0
- data/test/unit/plugins/provisioners/chef/omnibus_test.rb +17 -7
- data/test/unit/plugins/provisioners/docker/config_test.rb +2 -1
- data/test/unit/plugins/provisioners/docker/provisioner_test.rb +13 -13
- data/test/unit/plugins/provisioners/file/provisioner_test.rb +32 -14
- data/test/unit/plugins/provisioners/puppet/provisioner/puppet_test.rb +51 -0
- data/test/unit/plugins/provisioners/salt/provisioner_test.rb +5 -5
- data/test/unit/plugins/provisioners/shell/provisioner_test.rb +35 -4
- data/test/unit/plugins/pushes/ftp/adapter_test.rb +1 -0
- data/test/unit/plugins/synced_folders/nfs/action_cleanup_test.rb +1 -1
- data/test/unit/plugins/synced_folders/nfs/config_test.rb +1 -1
- data/test/unit/plugins/synced_folders/rsync/command/rsync_auto_test.rb +44 -12
- data/test/unit/plugins/synced_folders/rsync/command/rsync_test.rb +5 -5
- data/test/unit/plugins/synced_folders/rsync/helper_test.rb +47 -29
- data/test/unit/plugins/synced_folders/rsync/synced_folder_test.rb +5 -5
- data/test/unit/vagrant/action/builtin/box_add_test.rb +27 -27
- data/test/unit/vagrant/action/builtin/box_check_outdated_test.rb +10 -10
- data/test/unit/vagrant/action/builtin/box_remove_test.rb +15 -15
- data/test/unit/vagrant/action/builtin/confirm_test.rb +1 -1
- data/test/unit/vagrant/action/builtin/graceful_halt_test.rb +2 -2
- data/test/unit/vagrant/action/builtin/handle_box_test.rb +8 -8
- data/test/unit/vagrant/action/builtin/handle_forwarded_port_collisions_test.rb +1 -1
- data/test/unit/vagrant/action/builtin/is_env_set_test.rb +2 -2
- data/test/unit/vagrant/action/builtin/is_state_test.rb +6 -6
- data/test/unit/vagrant/action/builtin/mixin_synced_folders_test.rb +6 -6
- data/test/unit/vagrant/action/builtin/provision_test.rb +1 -1
- data/test/unit/vagrant/action/builtin/provisioner_cleanup_test.rb +1 -1
- data/test/unit/vagrant/action/builtin/synced_folder_cleanup_test.rb +6 -6
- data/test/unit/vagrant/action/builtin/synced_folders_test.rb +3 -3
- data/test/unit/vagrant/batch_action_test.rb +2 -2
- data/test/unit/vagrant/box_collection_test.rb +1 -1
- data/test/unit/vagrant/box_test.rb +6 -6
- data/test/unit/vagrant/capability_host_test.rb +3 -3
- data/test/unit/vagrant/cli_test.rb +3 -3
- data/test/unit/vagrant/environment_test.rb +21 -20
- data/test/unit/vagrant/guest_test.rb +7 -7
- data/test/unit/vagrant/machine_index_test.rb +4 -4
- data/test/unit/vagrant/machine_test.rb +28 -17
- data/test/unit/vagrant/plugin/manager_test.rb +12 -12
- data/test/unit/vagrant/plugin/state_file_test.rb +2 -2
- data/test/unit/vagrant/plugin/v1/command_test.rb +9 -8
- data/test/unit/vagrant/plugin/v2/command_test.rb +54 -43
- data/test/unit/vagrant/plugin/v2/plugin_test.rb +4 -3
- data/test/unit/vagrant/plugin/v2/provider_test.rb +3 -3
- data/test/unit/vagrant/shared_helpers_test.rb +6 -6
- data/test/unit/vagrant/ui_test.rb +21 -21
- data/test/unit/vagrant/util/downloader_test.rb +7 -7
- data/test/unit/vagrant/util/ssh_test.rb +41 -5
- data/test/unit/vagrant/util/subprocess_test.rb +7 -7
- data/test/unit/vagrant_test.rb +9 -9
- data/vagrant.gemspec +3 -2
- data/vendor/bundle/ruby/2.4.0/bundler/gems/vagrant-spec-af86757912f7/vagrant-spec.gemspec +1 -1
- data/vendor/bundle/ruby/2.4.0/gems/fake_ftp-0.1.1/.gitignore +7 -0
- data/vendor/bundle/ruby/2.4.0/gems/fake_ftp-0.1.1/.rspec +2 -0
- data/vendor/bundle/ruby/2.4.0/gems/fake_ftp-0.1.1/.travis.yml +5 -0
- data/vendor/bundle/ruby/2.4.0/gems/fake_ftp-0.1.1/CONTRIBUTORS.md +19 -0
- data/vendor/bundle/ruby/2.4.0/gems/fake_ftp-0.1.1/Gemfile +12 -0
- data/vendor/bundle/ruby/2.4.0/gems/fake_ftp-0.1.1/Gemfile.lock +44 -0
- data/vendor/bundle/ruby/2.4.0/gems/fake_ftp-0.1.1/Guardfile +10 -0
- data/vendor/bundle/ruby/2.4.0/gems/fake_ftp-0.1.1/README.md +134 -0
- data/vendor/bundle/ruby/2.4.0/gems/fake_ftp-0.1.1/Rakefile +10 -0
- data/vendor/bundle/ruby/2.4.0/gems/fake_ftp-0.1.1/fake_ftp.gemspec +22 -0
- data/vendor/bundle/ruby/2.4.0/gems/fake_ftp-0.1.1/lib/fake_ftp.rb +5 -0
- data/vendor/bundle/ruby/2.4.0/gems/fake_ftp-0.1.1/lib/fake_ftp/file.rb +34 -0
- data/vendor/bundle/ruby/2.4.0/gems/fake_ftp-0.1.1/lib/fake_ftp/server.rb +340 -0
- data/vendor/bundle/ruby/2.4.0/gems/fake_ftp-0.1.1/lib/fake_ftp/version.rb +3 -0
- data/vendor/bundle/ruby/2.4.0/gems/fake_ftp-0.1.1/spec/fixtures/invisible_bike.jpg +0 -0
- data/vendor/bundle/ruby/2.4.0/gems/fake_ftp-0.1.1/spec/fixtures/text_file.txt +1 -0
- data/vendor/bundle/ruby/2.4.0/gems/fake_ftp-0.1.1/spec/functional/server_spec.rb +468 -0
- data/vendor/bundle/ruby/2.4.0/gems/fake_ftp-0.1.1/spec/integration/server_spec.rb +81 -0
- data/vendor/bundle/ruby/2.4.0/gems/fake_ftp-0.1.1/spec/models/fake_ftp/file_spec.rb +102 -0
- data/vendor/bundle/ruby/2.4.0/gems/fake_ftp-0.1.1/spec/models/fake_ftp/server_spec.rb +76 -0
- data/vendor/bundle/ruby/2.4.0/gems/fake_ftp-0.1.1/spec/spec_helper.rb +18 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/.gitignore +14 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/.rubocop.yml +57 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/.travis.yml +21 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/CONTRIBUTING.rdoc +36 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/Gemfile +3 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/History.rdoc +2247 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/MIT-LICENSE +21 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/README.rdoc +156 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/Rakefile +38 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/appveyor.yml +21 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/bin/console +7 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/bin/setup +6 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/doc/command_line_usage.rdoc +158 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/doc/example/Rakefile1 +38 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/doc/example/Rakefile2 +35 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/doc/example/a.c +6 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/doc/example/b.c +6 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/doc/example/main.c +11 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/doc/glossary.rdoc +42 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/doc/jamis.rb +591 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/doc/proto_rake.rdoc +127 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/doc/rake.1 +156 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/doc/rakefile.rdoc +622 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/doc/rational.rdoc +151 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/exe/rake +27 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake.rb +70 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/application.rb +785 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/backtrace.rb +23 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/clean.rb +77 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/cloneable.rb +16 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/cpu_counter.rb +106 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/default_loader.rb +14 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/dsl_definition.rb +194 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/early_time.rb +21 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/ext/core.rb +25 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/ext/string.rb +175 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/file_creation_task.rb +24 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/file_list.rb +434 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/file_task.rb +46 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/file_utils.rb +136 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/file_utils_ext.rb +144 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/invocation_chain.rb +56 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/invocation_exception_mixin.rb +16 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/late_time.rb +17 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/linked_list.rb +111 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/loaders/makefile.rb +53 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/multi_task.rb +49 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/name_space.rb +37 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/packagetask.rb +210 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/phony.rb +15 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/private_reader.rb +20 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/promise.rb +99 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/pseudo_status.rb +29 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/rake_module.rb +38 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/rake_test_loader.rb +21 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/rule_recursion_overflow_error.rb +19 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/scope.rb +42 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/task.rb +390 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/task_argument_error.rb +7 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/task_arguments.rb +108 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/task_manager.rb +303 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/tasklib.rb +11 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/testtask.rb +222 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/thread_history_display.rb +48 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/thread_pool.rb +162 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/trace_output.rb +22 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/version.rb +9 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/win32.rb +50 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/rake.gemspec +39 -0
- data/vendor/bundle/ruby/2.4.0/gems/rspec-its-1.2.0/.gitignore +19 -0
- data/vendor/bundle/ruby/2.4.0/gems/rspec-its-1.2.0/.rspec +3 -0
- data/vendor/bundle/ruby/2.4.0/gems/rspec-its-1.2.0/.travis.yml +24 -0
- data/vendor/bundle/ruby/2.4.0/gems/rspec-its-1.2.0/Changelog.md +49 -0
- data/vendor/bundle/ruby/2.4.0/gems/rspec-its-1.2.0/Gemfile +26 -0
- data/vendor/bundle/ruby/2.4.0/gems/rspec-its-1.2.0/LICENSE.txt +27 -0
- data/vendor/bundle/ruby/2.4.0/gems/rspec-its-1.2.0/README.md +72 -0
- data/vendor/bundle/ruby/2.4.0/gems/rspec-its-1.2.0/Rakefile +16 -0
- data/vendor/bundle/ruby/2.4.0/gems/rspec-its-1.2.0/cucumber.yml +2 -0
- data/vendor/bundle/ruby/2.4.0/gems/rspec-its-1.2.0/features/its.feature +125 -0
- data/vendor/bundle/ruby/2.4.0/gems/rspec-its-1.2.0/features/step_definitions/additional_cli_steps.rb +21 -0
- data/vendor/bundle/ruby/2.4.0/gems/rspec-its-1.2.0/features/support/env.rb +23 -0
- data/vendor/bundle/ruby/2.4.0/gems/rspec-its-1.2.0/lib/rspec/its.rb +149 -0
- data/vendor/bundle/ruby/2.4.0/gems/rspec-its-1.2.0/lib/rspec/its/version.rb +5 -0
- data/vendor/bundle/ruby/2.4.0/gems/rspec-its-1.2.0/rspec-its.gemspec +28 -0
- data/vendor/bundle/ruby/2.4.0/gems/rspec-its-1.2.0/script/test_all +20 -0
- data/vendor/bundle/ruby/2.4.0/gems/rspec-its-1.2.0/spec/rspec/its_spec.rb +237 -0
- data/vendor/bundle/ruby/2.4.0/gems/rspec-its-1.2.0/spec/spec_helper.rb +15 -0
- data/vendor/bundle/ruby/2.4.0/specifications/fake_ftp-0.1.1.gemspec +20 -0
- data/vendor/bundle/ruby/2.4.0/specifications/rake-12.0.0.gemspec +43 -0
- data/vendor/bundle/ruby/2.4.0/specifications/rspec-its-1.2.0.gemspec +47 -0
- data/version.txt +1 -1
- metadata +137 -7
- data/2.14.0 +0 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cbfc0426952400e2cf50440f9e33da65b96de1bf
|
4
|
+
data.tar.gz: 6b5376cf7c8971923fa2da01b9e5cb5597cf98b2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3ffe827d8f83715f2f085a458acd2b6052f34691922ba71468cc9cca2794e5217471493a2c4d02b8b0becb17d060e07637de7ecb1ce63674808fb19d1a557272
|
7
|
+
data.tar.gz: b0033fcd286a3445ee1acb2344e34e41419fe8551dc5ceef615eabcad07f70478f392f51ef1a950500879f621b0ced555a1a8bd63844aca79ca7630ca61afd48
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,37 @@
|
|
1
|
+
## 1.9.8 (August 23, 2017)
|
2
|
+
|
3
|
+
IMPROVEMENTS:
|
4
|
+
|
5
|
+
- bash: Add box prune to contrib bash completion [GH-8806]
|
6
|
+
- commands/login: Ask for description of Vagrant Cloud token [GH-8876]
|
7
|
+
- commands/validate: Improve functionality of the validate command [GH-8889]n
|
8
|
+
- core: Updated Vagrants rspec gem to 3.5.0 [GH-8850]
|
9
|
+
- core: Validate powershell availability and version before use [GH-8839]
|
10
|
+
- core: Introduce extra_args setting for ssh configs [GH-8895]
|
11
|
+
- docs: Align contrib/sudoers file for ubuntu linux with docs [GH-8842]
|
12
|
+
- provider/hyperv: Prefer IPv4 guest address [GH-8831, GH-8759]
|
13
|
+
- provisioners/chef: Add config option omnibus_url for chef provisioners [GH-8682]
|
14
|
+
- provisioners/chef: Improve exception handling around missing folder paths [GH-8775]
|
15
|
+
|
16
|
+
BUG FIXES:
|
17
|
+
|
18
|
+
- box/update: Add force flag for box upgrade command [GH-8871]
|
19
|
+
- commands/rsync-auto: Ensure relative dirs are still rsync'd if defined [GH-8781]
|
20
|
+
- commands/up: Disable install providers when using global id on vagrant up [GH-8910]
|
21
|
+
- communicators/winssh: Fix public key insertion to retain ACL [GH-8790]
|
22
|
+
- core: Update util/ssh to use `-o` for identity files [GH-8786]
|
23
|
+
- guests/freebsd: Fix regex for listing network devices on some FreeBSD boxes. [GH-8760]
|
24
|
+
- hosts/windows: Prevent control characters in version check for WSL [GH-8902, GH-8901]
|
25
|
+
- providers/docker: Split String type links into Array when using compose [GH-8837, GH-8821]
|
26
|
+
- providers/docker: Expand relative volume paths correctly [GH-8838, GH-8822]
|
27
|
+
- providers/docker: Error when compose option enabled with force_host_vm [GH-8911]
|
28
|
+
- provisioners/ansible: Update to use `-o` for identity files [GH-8786]
|
29
|
+
- provisioners/file: Ensure remote folder exists prior to scp file or folder [GH-8880]
|
30
|
+
- provisioners/salt: Fix error case when github is unreachable for installer [GH-8864]
|
31
|
+
- provisioners/shell: Allow frozen string scripts [GH-8875]
|
32
|
+
- provisioners/puppet: Remove `--manifestdir` flag from puppet apply in provisioner [GH-8797]
|
33
|
+
- synced_folders/rsync: Correctly format IPv6 host [GH-8840, GH-8809]
|
34
|
+
|
1
35
|
## 1.9.7 (July 7, 2017)
|
2
36
|
|
3
37
|
FEATURES:
|
@@ -9,6 +43,8 @@ IMPROVEMENTS:
|
|
9
43
|
- guests/bsd: Invoke `tee` with explicit path [GH-8740]
|
10
44
|
- guests/smartos: Guest updates for host name and nfs capabilities [GH-8695]
|
11
45
|
- guests/windows: Add public key capabilities for WinSSH communicator [GH-8761]
|
46
|
+
- hosts/windows: Log command exec encoding failures and use original string on failure [GH-8820]
|
47
|
+
- providers/virtualbox: Filter machine IPs when preparing NFS settings [GH-8819]
|
12
48
|
|
13
49
|
BUG FIXES:
|
14
50
|
|
data/Gemfile.lock
CHANGED
@@ -11,7 +11,7 @@ GIT
|
|
11
11
|
PATH
|
12
12
|
remote: .
|
13
13
|
specs:
|
14
|
-
vagrant-unbundled (1.9.
|
14
|
+
vagrant-unbundled (1.9.8.1)
|
15
15
|
childprocess (~> 0.6.0)
|
16
16
|
erubis (~> 2.7.0)
|
17
17
|
hashicorp-checkpoint (~> 0.1.1)
|
@@ -43,7 +43,7 @@ GEM
|
|
43
43
|
domain_name (0.5.20170404)
|
44
44
|
unf (>= 0.0.5, < 1.0.0)
|
45
45
|
erubis (2.7.0)
|
46
|
-
fake_ftp (0.
|
46
|
+
fake_ftp (0.1.1)
|
47
47
|
ffi (1.9.18)
|
48
48
|
gssapi (1.2.0)
|
49
49
|
ffi (>= 1.0.1)
|
@@ -76,7 +76,7 @@ GEM
|
|
76
76
|
netrc (0.11.0)
|
77
77
|
nori (2.6.0)
|
78
78
|
public_suffix (2.0.5)
|
79
|
-
rake (
|
79
|
+
rake (12.0.0)
|
80
80
|
rb-fsevent (0.10.2)
|
81
81
|
rb-inotify (0.9.10)
|
82
82
|
ffi (>= 0.5.0, < 2)
|
@@ -95,6 +95,9 @@ GEM
|
|
95
95
|
rspec-expectations (3.5.0)
|
96
96
|
diff-lcs (>= 1.2.0, < 2.0)
|
97
97
|
rspec-support (~> 3.5.0)
|
98
|
+
rspec-its (1.2.0)
|
99
|
+
rspec-core (>= 3.0.0)
|
100
|
+
rspec-expectations (>= 3.0.0)
|
98
101
|
rspec-mocks (3.5.0)
|
99
102
|
diff-lcs (>= 1.2.0, < 2.0)
|
100
103
|
rspec-support (~> 3.5.0)
|
@@ -134,12 +137,13 @@ PLATFORMS
|
|
134
137
|
ruby
|
135
138
|
|
136
139
|
DEPENDENCIES
|
137
|
-
fake_ftp (~> 0.1)
|
138
|
-
rake (~>
|
140
|
+
fake_ftp (~> 0.1.1)
|
141
|
+
rake (~> 12.0.0)
|
139
142
|
rspec (~> 3.5.0)
|
143
|
+
rspec-its (~> 1.2.0)
|
140
144
|
vagrant-spec!
|
141
145
|
vagrant-unbundled!
|
142
146
|
webmock (~> 1.20)
|
143
147
|
|
144
148
|
BUNDLED WITH
|
145
|
-
1.15.
|
149
|
+
1.15.4
|
data/contrib/bash/completion.sh
CHANGED
@@ -1,9 +1,8 @@
|
|
1
1
|
# These work with Ubuntu - they might need tweaking for other distributions
|
2
2
|
|
3
|
-
Cmnd_Alias
|
3
|
+
Cmnd_Alias VAGRANT_EXPORTS_CHOWN = /bin/chown 0\:0 /tmp/*
|
4
|
+
Cmnd_Alias VAGRANT_EXPORTS_MV = /bin/mv -f /tmp/* /etc/exports
|
4
5
|
Cmnd_Alias VAGRANT_NFSD_CHECK = /etc/init.d/nfs-kernel-server status
|
5
6
|
Cmnd_Alias VAGRANT_NFSD_START = /etc/init.d/nfs-kernel-server start
|
6
7
|
Cmnd_Alias VAGRANT_NFSD_APPLY = /usr/sbin/exportfs -ar
|
7
|
-
|
8
|
-
Cmnd_Alias VAGRANT_EXPORTS_REMOVE_2 = /bin/cp /*/exports /etc/exports
|
9
|
-
%sudo ALL=(root) NOPASSWD: VAGRANT_EXPORTS_ADD, VAGRANT_NFSD_CHECK, VAGRANT_NFSD_START, VAGRANT_NFSD_APPLY, VAGRANT_EXPORTS_REMOVE, VAGRANT_EXPORTS_REMOVE_2
|
8
|
+
%sudo ALL=(root) NOPASSWD: VAGRANT_EXPORTS_CHOWN, VAGRANT_EXPORTS_MV, VAGRANT_NFSD_CHECK, VAGRANT_NFSD_START, VAGRANT_NFSD_APPLY
|
data/lib/vagrant/errors.rb
CHANGED
@@ -536,6 +536,14 @@ module Vagrant
|
|
536
536
|
error_key(:requires_directory, "vagrant.actions.general.package")
|
537
537
|
end
|
538
538
|
|
539
|
+
class PowerShellNotFound < VagrantError
|
540
|
+
error_key(:powershell_not_found)
|
541
|
+
end
|
542
|
+
|
543
|
+
class PowerShellInvalidVersion < VagrantError
|
544
|
+
error_key(:powershell_invalid_version)
|
545
|
+
end
|
546
|
+
|
539
547
|
class ProviderCantInstall < VagrantError
|
540
548
|
error_key(:provider_cant_install)
|
541
549
|
end
|
data/lib/vagrant/machine.rb
CHANGED
@@ -442,6 +442,7 @@ module Vagrant
|
|
442
442
|
info[:username] ||= @config.ssh.default.username
|
443
443
|
info[:compression] ||= @config.ssh.default.compression
|
444
444
|
info[:dsa_authentication] ||= @config.ssh.default.dsa_authentication
|
445
|
+
info[:extra_args] ||= @config.ssh.default.extra_args
|
445
446
|
|
446
447
|
# We set overrides if they are set. These take precedence over
|
447
448
|
# provider-returned data.
|
@@ -453,6 +454,7 @@ module Vagrant
|
|
453
454
|
info[:dsa_authentication] = @config.ssh.dsa_authentication
|
454
455
|
info[:username] = @config.ssh.username if @config.ssh.username
|
455
456
|
info[:password] = @config.ssh.password if @config.ssh.password
|
457
|
+
info[:extra_args] = @config.ssh.extra_args if @config.ssh.extra_args
|
456
458
|
|
457
459
|
# We also set some fields that are purely controlled by Varant
|
458
460
|
info[:forward_agent] = @config.ssh.forward_agent
|
@@ -397,7 +397,7 @@ module Vagrant
|
|
397
397
|
valid = false
|
398
398
|
result = Util::Subprocess.execute("vagrant.exe", "version")
|
399
399
|
if result.exit_code == 0
|
400
|
-
windows_version = result.stdout.match(/Installed Version: (?<version
|
400
|
+
windows_version = result.stdout.match(/Installed Version: (?<version>[\w.-]+)/)
|
401
401
|
if windows_version
|
402
402
|
windows_version = windows_version[:version].strip
|
403
403
|
valid = windows_version == Vagrant::VERSION
|
@@ -8,8 +8,15 @@ module Vagrant
|
|
8
8
|
# This is primarily a convenience wrapper around Subprocess that
|
9
9
|
# properly sets powershell flags for you.
|
10
10
|
class PowerShell
|
11
|
+
# NOTE: Version checks are only on Major
|
12
|
+
MINIMUM_REQUIRED_VERSION = 3
|
13
|
+
|
14
|
+
# @return [Boolean] powershell executable available on PATH
|
11
15
|
def self.available?
|
12
|
-
|
16
|
+
if !defined?(@_powershell_available)
|
17
|
+
@_powershell_available = !!Which.which("powershell")
|
18
|
+
end
|
19
|
+
@_powershell_available
|
13
20
|
end
|
14
21
|
|
15
22
|
# Execute a powershell script.
|
@@ -17,6 +24,7 @@ module Vagrant
|
|
17
24
|
# @param [String] path Path to the PowerShell script to execute.
|
18
25
|
# @return [Subprocess::Result]
|
19
26
|
def self.execute(path, *args, **opts, &block)
|
27
|
+
validate_install!
|
20
28
|
command = [
|
21
29
|
"powershell",
|
22
30
|
"-NoLogo",
|
@@ -39,6 +47,7 @@ module Vagrant
|
|
39
47
|
# @param [String] command PowerShell command to execute.
|
40
48
|
# @return [Subprocess::Result]
|
41
49
|
def self.execute_cmd(command)
|
50
|
+
validate_install!
|
42
51
|
c = [
|
43
52
|
"powershell",
|
44
53
|
"-NoLogo",
|
@@ -58,19 +67,39 @@ module Vagrant
|
|
58
67
|
#
|
59
68
|
# @return [String]
|
60
69
|
def self.version
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
+
if !defined?(@_powershell_version)
|
71
|
+
command = [
|
72
|
+
"powershell",
|
73
|
+
"-NoLogo",
|
74
|
+
"-NoProfile",
|
75
|
+
"-NonInteractive",
|
76
|
+
"-ExecutionPolicy", "Bypass",
|
77
|
+
"-Command",
|
78
|
+
"$PSVersionTable.PSVersion.Major"
|
79
|
+
].flatten
|
70
80
|
|
71
|
-
|
72
|
-
|
73
|
-
|
81
|
+
r = Subprocess.execute(*command)
|
82
|
+
@_powershell_version = r.exit_code != 0 ? nil : r.stdout.chomp
|
83
|
+
end
|
84
|
+
@_powershell_version
|
85
|
+
end
|
86
|
+
|
87
|
+
# Validates that powershell is installed, available, and
|
88
|
+
# at or above minimum required version
|
89
|
+
#
|
90
|
+
# @return [Boolean]
|
91
|
+
# @raises []
|
92
|
+
def self.validate_install!
|
93
|
+
if !defined?(@_powershell_validation)
|
94
|
+
raise Errors::PowerShellNotFound if !available?
|
95
|
+
if version.to_i < MINIMUM_REQUIRED_VERSION
|
96
|
+
raise Errors::PowerShellInvalidVersion,
|
97
|
+
minimum_version: MINIMUM_REQUIRED_VERSION,
|
98
|
+
installed_version: version ? version : "N/A"
|
99
|
+
end
|
100
|
+
@_powershell_validation = true
|
101
|
+
end
|
102
|
+
@_powershell_validation
|
74
103
|
end
|
75
104
|
end
|
76
105
|
end
|
@@ -44,8 +44,19 @@ module Vagrant
|
|
44
44
|
# Re-generate strings to ensure common encoding
|
45
45
|
@@logger.debug("Converting command and arguments to common UTF-8 encoding for exec.")
|
46
46
|
@@logger.debug("Command: `#{command.inspect}` Args: `#{args.inspect}`")
|
47
|
-
|
48
|
-
|
47
|
+
begin
|
48
|
+
command = "#{command}".encode("UTF-8")
|
49
|
+
rescue Encoding::UndefinedConversionError => e
|
50
|
+
@@logger.warn("Failed to convert command - #{e.class}: #{e} (`#{command}`)")
|
51
|
+
end
|
52
|
+
args = args.map do |arg|
|
53
|
+
begin
|
54
|
+
"#{arg}".encode("UTF-8")
|
55
|
+
rescue Encoding::UndefinedConversionError => e
|
56
|
+
@@logger.warn("Failed to convert command argument - #{e.class}: #{e} (`#{arg}`)")
|
57
|
+
arg
|
58
|
+
end
|
59
|
+
end
|
49
60
|
@@logger.debug("Converted - Command: `#{command.inspect}` Args: `#{args.inspect}`")
|
50
61
|
end
|
51
62
|
Kernel.exec(command, *args)
|
data/lib/vagrant/util/ssh.rb
CHANGED
@@ -135,7 +135,11 @@ module Vagrant
|
|
135
135
|
# If we're not in plain mode and :private_key_path is set attach the private key path(s).
|
136
136
|
if !plain_mode && options[:private_key_path]
|
137
137
|
options[:private_key_path].each do |path|
|
138
|
-
|
138
|
+
|
139
|
+
# Use '-o' instead of '-i' because '-i' does not call
|
140
|
+
# percent_expand in misc.c, but '-o' does. when passing the path,
|
141
|
+
# replace '%' in the path with '%%' to escape the '%'
|
142
|
+
command_options += ["-o", "IdentityFile=%s" % [path.to_s.gsub('%', '%%')]]
|
139
143
|
end
|
140
144
|
end
|
141
145
|
|
@@ -163,6 +167,12 @@ module Vagrant
|
|
163
167
|
#
|
164
168
|
# Without having extra_args be last, the user loses this ability
|
165
169
|
command_options += ["-o", "ForwardAgent=yes"] if ssh_info[:forward_agent]
|
170
|
+
|
171
|
+
# Note about :extra_args
|
172
|
+
# ssh_info[:extra_args] comes from a machines ssh config in a Vagrantfile,
|
173
|
+
# where as opts[:extra_args] comes from running the ssh command
|
174
|
+
command_options += Array(ssh_info[:extra_args]) if ssh_info[:extra_args]
|
175
|
+
|
166
176
|
command_options.concat(opts[:extra_args]) if opts[:extra_args]
|
167
177
|
|
168
178
|
# Build up the host string for connecting
|
@@ -33,6 +33,10 @@ module VagrantPlugins
|
|
33
33
|
options[:provider] = p.to_sym
|
34
34
|
end
|
35
35
|
|
36
|
+
o.on("-f", "--force", "Overwrite an existing box if it exists") do |f|
|
37
|
+
options[:force] = f
|
38
|
+
end
|
39
|
+
|
36
40
|
build_download_options(o, download_options)
|
37
41
|
end
|
38
42
|
|
@@ -40,15 +44,15 @@ module VagrantPlugins
|
|
40
44
|
return if !argv
|
41
45
|
|
42
46
|
if options[:box]
|
43
|
-
update_specific(options[:box], options[:provider], download_options)
|
47
|
+
update_specific(options[:box], options[:provider], download_options, options[:force])
|
44
48
|
else
|
45
|
-
update_vms(argv, options[:provider], download_options)
|
49
|
+
update_vms(argv, options[:provider], download_options, options[:force])
|
46
50
|
end
|
47
51
|
|
48
52
|
0
|
49
53
|
end
|
50
54
|
|
51
|
-
def update_specific(name, provider, download_options)
|
55
|
+
def update_specific(name, provider, download_options, force)
|
52
56
|
boxes = {}
|
53
57
|
@env.boxes.all.each do |n, v, p|
|
54
58
|
boxes[n] ||= {}
|
@@ -81,11 +85,11 @@ module VagrantPlugins
|
|
81
85
|
|
82
86
|
to_update.each do |n, p, v|
|
83
87
|
box = @env.boxes.find(n, p, v)
|
84
|
-
box_update(box, "> #{v}", @env.ui, download_options)
|
88
|
+
box_update(box, "> #{v}", @env.ui, download_options, force)
|
85
89
|
end
|
86
90
|
end
|
87
91
|
|
88
|
-
def update_vms(argv, provider, download_options)
|
92
|
+
def update_vms(argv, provider, download_options, force)
|
89
93
|
machines = {}
|
90
94
|
|
91
95
|
with_target_vms(argv, provider: provider) do |machine|
|
@@ -120,11 +124,11 @@ module VagrantPlugins
|
|
120
124
|
if download_options[:insecure].nil?
|
121
125
|
download_options[:insecure] = machine.config.vm.box_download_insecure
|
122
126
|
end
|
123
|
-
box_update(box, version, machine.ui, download_options)
|
127
|
+
box_update(box, version, machine.ui, download_options, force)
|
124
128
|
end
|
125
129
|
end
|
126
130
|
|
127
|
-
def box_update(box, version, ui, download_options)
|
131
|
+
def box_update(box, version, ui, download_options, force)
|
128
132
|
ui.output(I18n.t("vagrant.box_update_checking", name: box.name))
|
129
133
|
ui.detail("Latest installed version: #{box.version}")
|
130
134
|
ui.detail("Version constraints: #{version}")
|
@@ -149,6 +153,7 @@ module VagrantPlugins
|
|
149
153
|
box_provider: update[2].name,
|
150
154
|
box_version: update[1].version,
|
151
155
|
ui: ui,
|
156
|
+
box_force: force,
|
152
157
|
box_client_cert: download_options[:client_cert],
|
153
158
|
box_download_ca_cert: download_options[:ca_cert],
|
154
159
|
box_download_ca_path: download_options[:ca_path],
|
@@ -40,15 +40,24 @@ module VagrantPlugins
|
|
40
40
|
# Login logs a user in and returns the token for that user. The token
|
41
41
|
# is _not_ stored unless {#store_token} is called.
|
42
42
|
#
|
43
|
-
# @param [String]
|
44
|
-
# @param [String]
|
43
|
+
# @param [String] username_or_email
|
44
|
+
# @param [String] password
|
45
|
+
# @param [String] description
|
45
46
|
# @return [String] token The access token, or nil if auth failed.
|
46
|
-
def login(
|
47
|
-
@logger.info("Logging in '#{
|
47
|
+
def login(username_or_email, password, description: nil)
|
48
|
+
@logger.info("Logging in '#{username_or_email}'")
|
48
49
|
|
49
50
|
with_error_handling do
|
50
|
-
url
|
51
|
-
request
|
51
|
+
url = "#{Vagrant.server_url}/api/v1/authenticate"
|
52
|
+
request = {
|
53
|
+
user: {
|
54
|
+
login: username_or_email,
|
55
|
+
password: password
|
56
|
+
},
|
57
|
+
token: {
|
58
|
+
description: description
|
59
|
+
}
|
60
|
+
}
|
52
61
|
|
53
62
|
proxy = nil
|
54
63
|
proxy ||= ENV["HTTPS_PROXY"] || ENV["https_proxy"]
|
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'socket'
|
2
|
+
|
1
3
|
module VagrantPlugins
|
2
4
|
module LoginCommand
|
3
5
|
class Command < Vagrant.plugin("2", "command")
|
@@ -48,8 +50,9 @@ module VagrantPlugins
|
|
48
50
|
end
|
49
51
|
|
50
52
|
# Ask for the username
|
51
|
-
login
|
52
|
-
password
|
53
|
+
login = nil
|
54
|
+
password = nil
|
55
|
+
description = nil
|
53
56
|
while !login
|
54
57
|
login = @env.ui.ask("Vagrant Cloud Username: ")
|
55
58
|
end
|
@@ -58,7 +61,14 @@ module VagrantPlugins
|
|
58
61
|
password = @env.ui.ask("Password (will be hidden): ", echo: false)
|
59
62
|
end
|
60
63
|
|
61
|
-
|
64
|
+
description_default = "Vagrant login from #{Socket.gethostname}"
|
65
|
+
while !description
|
66
|
+
description =
|
67
|
+
@env.ui.ask("Token description (Defaults to #{description_default.inspect}): ")
|
68
|
+
end
|
69
|
+
description = description_default if description.empty?
|
70
|
+
|
71
|
+
token = @client.login(login, password, description: description)
|
62
72
|
if !token
|
63
73
|
@env.ui.error(I18n.t("login_command.invalid_login"))
|
64
74
|
return 1
|
@@ -78,6 +78,15 @@ module VagrantPlugins
|
|
78
78
|
# Build up the batch job of what we'll do
|
79
79
|
machines = []
|
80
80
|
if names
|
81
|
+
# To prevent vagrant from attempting to validate a global vms config
|
82
|
+
# (which doesn't exist within the local dir) when attempting to
|
83
|
+
# install a machines provider, this check below will disable the
|
84
|
+
# install_providers function if a user gives us a machine id instead
|
85
|
+
# of the machines name.
|
86
|
+
machine_names = []
|
87
|
+
with_target_vms(names, provider: options[:provider]){|m| machine_names << m.name }
|
88
|
+
options[:install_provider] = false if !(machine_names - names).empty?
|
89
|
+
|
81
90
|
# If we're installing providers, then do that. We don't
|
82
91
|
# parallelize this step because it is likely the same provider
|
83
92
|
# anyways.
|