diff --git a/plugins/commands/serve/client/guest.rb b/plugins/commands/serve/client/guest.rb index ab8db423c..5b73c23d0 100644 --- a/plugins/commands/serve/client/guest.rb +++ b/plugins/commands/serve/client/guest.rb @@ -6,33 +6,17 @@ module VagrantPlugins class Guest include CapabilityPlatform - extend Util::Connector - - attr_reader :broker - attr_reader :client - attr_reader :proto - - def initialize(conn, proto, broker=nil) - @logger = Log4r::Logger.new("vagrant::command::serve::client::guest") - @logger.debug("connecting to guest service on #{conn}") - @client = SDK::GuestService::Stub.new(conn, :this_channel_is_insecure) - @broker = broker - @proto = proto - end - - def self.load(raw_guest, broker:) - g = raw_guest.is_a?(String) ? SDK::Args::Guest.decode(raw_guest) : raw_guest - self.new(connect(proto: g, broker: broker), g, broker) - end + prepend Util::ClientSetup + prepend Util::HasLogger # @return [] parents def parents - @logger.debug("getting parents") + logger.debug("getting parents") req = SDK::FuncSpec::Args.new( args: [] ) res = client.parents(req) - @logger.debug("got parents #{res}") + logger.debug("got parents #{res}") res.parents end end diff --git a/plugins/commands/serve/client/host.rb b/plugins/commands/serve/client/host.rb index a40a142f8..2d62d50bf 100644 --- a/plugins/commands/serve/client/host.rb +++ b/plugins/commands/serve/client/host.rb @@ -6,24 +6,8 @@ module VagrantPlugins class Host include CapabilityPlatform - extend Util::Connector - - attr_reader :broker - attr_reader :client - attr_reader :proto - - def initialize(conn, proto, broker=nil) - @logger = Log4r::Logger.new("vagrant::command::serve::client::host") - @logger.debug("connecting to host service on #{conn}") - @client = SDK::HostService::Stub.new(conn, :this_channel_is_insecure) - @broker = broker - @proto = proto - end - - def self.load(raw_host, broker:) - g = raw_host.is_a?(String) ? SDK::Args::Host.decode(raw_host) : raw_host - self.new(connect(proto: g, broker: broker), g, broker) - end + prepend Util::ClientSetup + prepend Util::HasLogger # @return [] parents def parents diff --git a/plugins/commands/serve/client/machine.rb b/plugins/commands/serve/client/machine.rb index a8d702d0d..d6c54eeee 100644 --- a/plugins/commands/serve/client/machine.rb +++ b/plugins/commands/serve/client/machine.rb @@ -6,24 +6,8 @@ module VagrantPlugins # targets class Machine < Target - extend Util::Connector - - attr_reader :broker - attr_reader :client - attr_reader :proto - - def initialize(conn, proto, broker=nil) - @logger = Log4r::Logger.new("vagrant::command::serve::client::machine") - @logger.debug("connecting to target machine service on #{conn}") - @client = SDK::TargetMachineService::Stub.new(conn, :this_channel_is_insecure) - @broker = broker - @proto = proto - end - - def self.load(raw_machine, broker:) - m = raw_machine.is_a?(String) ? SDK::Args::Target::Machine.decode(raw_machine) : raw_machine - self.new(connect(proto: m, broker: broker), m, broker) - end + prepend Util::ClientSetup + prepend Util::HasLogger # @return [String] resource identifier for this target def ref @@ -49,9 +33,9 @@ module VagrantPlugins # @return [Guest] machine guest # TODO: This needs to be loaded properly def guest - @logger.debug("Getting guest from remote machine") + logger.debug("Getting guest from remote machine") g = client.guest(Empty.new) - Guest.load(g, broker: @broker) + Guest.load(g, broker: broker) end # @return [String] machine identifier diff --git a/plugins/commands/serve/client/project.rb b/plugins/commands/serve/client/project.rb index f9130661e..8e7f7fc22 100644 --- a/plugins/commands/serve/client/project.rb +++ b/plugins/commands/serve/client/project.rb @@ -2,24 +2,8 @@ module VagrantPlugins module CommandServe module Client class Project - extend Util::Connector - - attr_reader :broker - attr_reader :client - attr_reader :proto - - def initialize(conn, proto, broker=nil) - @logger = Log4r::Logger.new("vagrant::command::serve::client::project") - @logger.debug("connecting to project service on #{conn}") - @client = SDK::ProjectService::Stub.new(conn, :this_channel_is_insecure) - @broker = broker - @proto = proto - end - - def self.load(raw_project, broker:) - p = raw_project.is_a?(String) ? SDK::Args::Project.decode(raw_project) : raw_project - self.new(connect(proto: p, broker: broker), p, broker) - end + prepend Util::ClientSetup + prepend Util::HasLogger # return [String] def cache_dir @@ -33,72 +17,72 @@ module VagrantPlugins # return [String] def cwd - resp = @client.cwd(Google::Protobuf::Empty.new) + resp = client.cwd(Empty.new) resp.path end # return [Sdk::Args::DataDir::Project] def data_dirs - resp = @client.data_dir(Google::Protobuf::Empty.new) + resp = client.data_dir(Empty.new) resp end # return [String] - def data_dir + def data_dir data_dirs.data_dir end # return [String] def default_private_key - resp = @client.default_private_key(Google::Protobuf::Empty.new) + resp = client.default_private_key(Empty.new) resp.key end # return [String] def local_data - resp = @client.local_data(Google::Protobuf::Empty.new) + resp = client.local_data(Empty.new) resp.path end # return [String] def home - resp = @client.home(Google::Protobuf::Empty.new) + resp = client.home(Empty.new) resp.path end # TODO def host - h = @client.host(Google::Protobuf::Empty.new) - Host.load(h, broker: @broker) + h = client.host(Empty.new) + Host.load(h, broker: broker) end # return [] def target_names - resp = @client.target_names(Google::Protobuf::Empty.new) + resp = client.target_names(Empty.new) resp.names end # return [VagrantPlugins::CommandServe::Client::TargetIndex] def target_index TargetIndex.load( - @client.target_index(Empty.new), + client.target_index(Empty.new), broker: broker ) end # return [] def target_ids - resp = @client.target_ids(Google::Protobuf::Empty.new) + resp = client.target_ids(Empty.new) resp.ids end # Returns a machine client for the given name # return [VagrantPlugins::CommandServe::Client::Machine] def target(name) - @logger.debug("searching for target #{name}") + logger.debug("searching for target #{name}") target = Target.load( client.target(SDK::Project::TargetRequest.new(name: name)), - broker: @broker + broker: broker ) target.to_machine end @@ -110,7 +94,7 @@ module VagrantPlugins # return [String] def tmp - resp = @client.tmp(Google::Protobuf::Empty.new) + resp = client.tmp(Empty.new) resp.path end diff --git a/plugins/commands/serve/client/state_bag.rb b/plugins/commands/serve/client/state_bag.rb index f7bacfa39..9ca6c5046 100644 --- a/plugins/commands/serve/client/state_bag.rb +++ b/plugins/commands/serve/client/state_bag.rb @@ -4,25 +4,8 @@ module VagrantPlugins module CommandServe module Client class StateBag - - extend Util::Connector - - attr_reader :broker - attr_reader :client - attr_reader :proto - - def initialize(conn, proto, broker=nil) - @logger = Log4r::Logger.new("vagrant::command::serve::client::statebag") - @logger.debug("connecting to state ba service on #{conn}") - @client = SDK::StateBagService::Stub.new(conn, :this_channel_is_insecure) - @broker = broker - @proto = proto - end - - def self.load(raw_statebag, broker:) - s = raw_statebag.is_a?(String) ? SDK::Args::StateBag.decode(raw_statebag) : raw_statebag - self.new(connect(proto: s, broker: broker), s, broker) - end + prepend Util::ClientSetup + prepend Util::HasLogger # @param [String] # @return [String] diff --git a/plugins/commands/serve/client/target.rb b/plugins/commands/serve/client/target.rb index ead069337..1856d9d6b 100644 --- a/plugins/commands/serve/client/target.rb +++ b/plugins/commands/serve/client/target.rb @@ -5,7 +5,8 @@ module VagrantPlugins module Client class Target - extend Util::Connector + prepend Util::ClientSetup + prepend Util::HasLogger STATES = [ :UNKNOWN, @@ -14,23 +15,6 @@ module VagrantPlugins :DESTROYED, ].freeze - attr_reader :broker - attr_reader :client - attr_reader :proto - - def initialize(conn, proto, broker=nil) - @logger = Log4r::Logger.new("vagrant::command::serve::client::target") - @logger.debug("connecting to target on #{conn}") - @client = SDK::TargetService::Stub.new(conn, :this_channel_is_insecure) - @broker = broker - @proto = proto - end - - def self.load(raw_target, broker:) - t = raw_target.is_a?(String) ? SDK::Args::Target.decode(raw_target) : raw_target - self.new(connect(proto: t, broker: broker), t, broker) - end - # @return [SDK::Ref::Target] proto reference for this target def ref SDK::Ref::Target.new(resource_id: resource_id) diff --git a/plugins/commands/serve/client/target_index.rb b/plugins/commands/serve/client/target_index.rb index 44ee141a3..2baa9f09c 100644 --- a/plugins/commands/serve/client/target_index.rb +++ b/plugins/commands/serve/client/target_index.rb @@ -3,29 +3,13 @@ module VagrantPlugins module Client class TargetIndex - extend Util::Connector - - attr_reader :broker - attr_reader :client - attr_reader :proto - - def initialize(conn, proto, broker=nil) - @logger = Log4r::Logger.new("vagrant::command::serve::client::targetindex") - @logger.debug("connecting to target index service on #{conn}") - @client = SDK::TargetIndexService::Stub.new(conn, :this_channel_is_insecure) - @broker = broker - @proto = proto - end - - def self.load(raw_index, broker:) - m = raw_index.is_a?(String) ? SDK::Args::TargetIndex.decode(raw_index) : raw_index - self.new(connect(proto: m, broker: broker), m, broker) - end + prepend Util::ClientSetup + prepend Util::HasLogger # @param [string] # @return [Boolean] true if delete is successful def delete(ident) - @logger.debug("deleting machine with id #{ident} from index") + logger.debug("deleting machine with id #{ident} from index") client.delete( SDK::TargetIndex::TargetIdentifier.new( id: ident @@ -37,7 +21,7 @@ module VagrantPlugins # @param [string] # @return [MachineIndex::Entry] def get(ident) - @logger.debug("getting machine with id #{ident} from index") + logger.debug("getting machine with id #{ident} from index") begin resp = client.get( SDK::TargetIndex::TargetIdentifier.new( @@ -54,7 +38,7 @@ module VagrantPlugins # @param [string] # @return [Boolean] def include?(ident) - @logger.debug("checking for machine with id #{ident} in index") + logger.debug("checking for machine with id #{ident} in index") client.includes( SDK::TargetIndex::TargetIdentifier.new( id: ident @@ -65,7 +49,7 @@ module VagrantPlugins # @param [MachineIndex::Entry] # @return [MachineIndex::Entry] def set(entry) - @logger.debug("setting machine #{entry} in index") + logger.debug("setting machine #{entry} in index") if entry.id.to_s.empty? raise ArgumentError, "Entry id must be set" @@ -84,7 +68,7 @@ module VagrantPlugins # Get all targets # @return [Array] def all - @logger.debug("getting all machines") + logger.debug("getting all machines") client.all(Empty.new).targets.map do |t_ref| machine = Target.load(t_ref, broker: broker).to_machine Vagrant::MachineIndex::Entry.load(machine) diff --git a/plugins/commands/serve/client/terminal.rb b/plugins/commands/serve/client/terminal.rb index 08f56215b..a0291d14e 100644 --- a/plugins/commands/serve/client/terminal.rb +++ b/plugins/commands/serve/client/terminal.rb @@ -5,23 +5,9 @@ module VagrantPlugins module CommandServe module Client class Terminal - extend Util::Connector - attr_reader :broker - attr_reader :client - attr_reader :proto - - # @params [String] endpoint for the core service - def initialize(server_endpoint, proto, broker=nil) - @client = SDK::TerminalUIService::Stub.new(server_endpoint, :this_channel_is_insecure) - @broker = broker - @proto = proto - end - - def self.load(raw_terminal, broker:) - t = raw_terminal.is_a?(String) ? SDK::Args::TerminalUI.decode(raw_terminal) : raw_terminal - self.new(connect(proto: t, broker: broker), t, broker) - end + prepend Util::ClientSetup + prepend Util::HasLogger # @param [Array] lines Lines to print def output(lines, **opts)