Remove 'config' from ssh.defaults, and instead setup in '.connect'

This commit is contained in:
Gavin Williams 2018-09-27 12:44:18 +01:00 committed by Chris Roberts
parent 50a569747c
commit 87e38a0bed
4 changed files with 27 additions and 5 deletions

View File

@ -376,7 +376,7 @@ module VagrantPlugins
# Build the options we'll use to initiate the connection via Net::SSH
common_connect_opts = {
auth_methods: auth_methods,
config: ssh_info[:config],
config: false,
forward_agent: ssh_info[:forward_agent],
send_env: ssh_info[:forward_env],
keys_only: ssh_info[:keys_only],
@ -414,6 +414,10 @@ module VagrantPlugins
connect_opts[:proxy] = Net::SSH::Proxy::Command.new(ssh_info[:proxy_command])
end
if ssh_info[:config]
connect_opts[:config] = ssh_info[:config]
end
@logger.info("Attempting to connect to SSH...")
@logger.info(" - Host: #{ssh_info[:host]}")
@logger.info(" - Port: #{ssh_info[:port]}")

View File

@ -5,7 +5,6 @@ require_relative "ssh_connect"
module VagrantPlugins
module Kernel_V2
class SSHConfig < SSHConnectConfig
attr_accessor :config
attr_accessor :forward_agent
attr_accessor :forward_x11
attr_accessor :forward_env
@ -23,7 +22,6 @@ module VagrantPlugins
def initialize
super
@config = UNSET_VALUE
@forward_agent = UNSET_VALUE
@forward_x11 = UNSET_VALUE
@forward_env = UNSET_VALUE
@ -48,7 +46,6 @@ module VagrantPlugins
def finalize!
super
@config = false if @config == UNSET_VALUE
@forward_agent = false if @forward_agent == UNSET_VALUE
@forward_x11 = false if @forward_x11 == UNSET_VALUE
@forward_env = false if @forward_env == UNSET_VALUE

View File

@ -748,6 +748,28 @@ describe VagrantPlugins::CommunicatorSSH::Communicator do
communicator.send(:connect)
end
end
context "with config configured" do
before do
expect(machine).to receive(:ssh_info).and_return(
host: '127.0.0.1',
port: 2222,
config: './ssh_config',
keys_only: true,
verify_host_key: false
)
end
it "has password defined" do
expect(Net::SSH).to receive(:start).with(
anything, anything, hash_including(
config: './ssh_config'
)
).and_return(true)
communicator.send(:connect)
end
end
end
describe ".generate_environment_export" do

View File

@ -8,7 +8,6 @@ describe VagrantPlugins::Kernel_V2::SSHConfig do
describe "#default" do
it "defaults to vagrant username" do
subject.finalize!
expect(subject.default.config).to be_falsey
expect(subject.default.port).to eq(22)
expect(subject.default.username).to eq("vagrant")
end