module TestLab::Container::Support
Public Instance Methods
clone_args()
click to toggle source
Returns arguments for lxc-start-ephemeral
@return [Array<String>] An array of arguments for lxc-start-ephemeral
# File lib/testlab/container/support.rb, line 41 def clone_args arguments = Array.new arguments << %W(-o #{self.lxc_clone.name} -n #{self.lxc.name} -d) arguments << %W(--keep-data) if self.persist arguments.flatten.compact end
create_args()
click to toggle source
Returns arguments for lxc-create based on our distro
@return [Array<String>] An array of arguments for lxc-create
# File lib/testlab/container/support.rb, line 9 def create_args case self.distro.downcase when "ubuntu" then %W(-f /etc/lxc/#{self.id} -t #{self.distro} -- --release #{self.release} --arch #{self.arch}) when "fedora" then %W(-f /etc/lxc/#{self.id} -t #{self.distro} -- --release #{self.release}) end end
detect_arch()
click to toggle source
Attempt to detect the architecture of the node. The value returned is respective to the container distro.
@return [String] The arch of the node in the context of the container
distro
# File lib/testlab/container/support.rb, line 55 def detect_arch case self.distro.downcase when "ubuntu" then ((self.node.arch =~ /x86_64/) ? "amd64" : "i386") when "fedora" then ((self.node.arch =~ /x86_64/) ? "amd64" : "i686") end end
start_args()
click to toggle source
Returns arguments for lxc-start
@return [Array<String>] An array of arguments for lxc-start
# File lib/testlab/container/support.rb, line 21 def start_args arguments = Array.new unless self.aa_profile.nil? arguments << %W(-s lxc.aa_profile="#{self.aa_profile}") end unless self.cap_drop.nil? cap_drop = [self.cap_drop].flatten.compact.map(&:downcase).join(' ') arguments << %W(-s lxc.cap.drop="#{cap_drop}") end arguments << %W(-d -l DEBUG) arguments.flatten.compact end