Module: TestLab::Container::LXC

Included in:
TestLab::Container
Defined in:
lib/testlab/container/lxc.rb

Instance Method Summary collapse

Instance Method Details

#consoleObject

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.



13
14
15
16
# 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?Boolean

Does the container exist?

Returns:

  • (Boolean)

    True if the containers exists, false otherwise.



31
32
33
34
35
# File 'lib/testlab/container/lxc.rb', line 31

def exists?
  @ui.logger.debug { "Container Exists?: #{self.id} " }

  self.lxc.exists?
end

#fs_rootString

Container root filesystem path

Returns:

  • (String)

    The path to the containers root filesystem.



40
41
42
# File 'lib/testlab/container/lxc.rb', line 40

def fs_root
  self.lxc.fs_root(self.lxc_clone.exists?)
end

#lxcLXC

LXC::Container object

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

Returns:

  • (LXC)

    An instance of LXC::Container configured for this container.



24
25
26
# File 'lib/testlab/container/lxc.rb', line 24

def lxc
  @lxc ||= self.node.lxc.container(self.id)
end