Class: Vagrant::Smartos::Zones::Command::Zlogin

Inherits:
Object
  • Object
show all
Defined in:
lib/vagrant/smartos/zones/commands/zlogin.rb

Constant Summary collapse

OPTION_PARSER =
OptionParser.new do |o|
  o.banner = 'Usage: vagrant zlogin [name]'
end

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.synopsisObject



15
16
17
# File 'lib/vagrant/smartos/zones/commands/zlogin.rb', line 15

def self.synopsis
  'Log into a SmartOS local zone'
end

Instance Method Details

#executeObject



19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/vagrant/smartos/zones/commands/zlogin.rb', line 19

def execute
  argv = parse_options(OPTION_PARSER)
  return unless argv

  zone_alias = argv.shift

  with_target_vms('default', single_target: true) do |machine|
    ssh_info = Util::GlobalZone::SSHInfo.new(machine.provider, machine.config, machine.env).to_hash
    zone = Models::Zone.find(machine, zone_alias)
    Vagrant::Util::SSH.exec(ssh_info, extra_args: ['-t', "pfexec zlogin -l vagrant #{zone.uuid}"])
  end
end