diff --git a/internal/core/machine.go b/internal/core/machine.go index 9bac5d04a..f4f4bba30 100644 --- a/internal/core/machine.go +++ b/internal/core/machine.go @@ -98,6 +98,17 @@ func (m *Machine) Box() (b core.Box, err error) { // Guest implements core.Machine func (m *Machine) Guest() (g core.Guest, err error) { + comm, err := m.Communicate() + if err != nil { + return nil, err + } + isReady, err := comm.Ready(m) + if err != nil { + return nil, err + } + if !isReady { + return nil, fmt.Errorf("unable to communicate with guest") + } defer func() { if g != nil { err = seedPlugin(g, m) diff --git a/lib/vagrant/machine/remote.rb b/lib/vagrant/machine/remote.rb index 60014db88..225c96589 100644 --- a/lib/vagrant/machine/remote.rb +++ b/lib/vagrant/machine/remote.rb @@ -85,7 +85,6 @@ module Vagrant end def guest - # require "pry-remote"; binding.pry_remote raise Errors::MachineGuestNotReady if !communicate.ready? if !@guest @guest = Guest.new(self, nil, nil) diff --git a/plugins/commands/serve/client/target/machine.rb b/plugins/commands/serve/client/target/machine.rb index 3551835f9..a64f7ec0f 100644 --- a/plugins/commands/serve/client/target/machine.rb +++ b/plugins/commands/serve/client/target/machine.rb @@ -37,7 +37,6 @@ module VagrantPlugins end # @return [Guest] machine guest - # TODO: This needs to be loaded properly def guest g = client.guest(Empty.new) Guest.load(g, broker: broker)