module TestLab::Container::LXC

Public Instance Methods

console() click to toggle source

Container Console

Opens an LXC console into the container.

This command will replace the current process with an SSH session that will execute the appropriate LXC console command on the parent node of this container.

# File lib/testlab/container/lxc.rb, line 13
def console
  @ui.stdout.puts("Press CTRL-A Q to exit the console.  (CTRL-A CTRL-A to enter a CTRL-A itself)".red.bold)
  self.node.ssh.console(%(-t 'sudo lxc-console -n #{self.id}'))
end
exists?() click to toggle source

Does the container exist?

@return [Boolean] True if the containers exists, false otherwise.

# File lib/testlab/container/lxc.rb, line 31
def exists?
  @ui.logger.debug { "Container Exists?: #{self.id} " }

  self.lxc.exists?
end
fs_root() click to toggle source

Container root filesystem path

@return [String] The path to the containers root filesystem.

# File lib/testlab/container/lxc.rb, line 40
def fs_root
  self.lxc.fs_root(self.lxc_clone.exists?)
end
lxc() click to toggle source

LXC::Container object

Returns a LXC::Container class instance configured for this container.

@return [LXC] An instance of LXC::Container configured for this

container.
# File lib/testlab/container/lxc.rb, line 24
def lxc
  @lxc ||= self.node.lxc.container(self.id)
end