class TestLab class Provisioner # Shell Provisioner Error Class class ShellError < ProvisionerError; end # Shell Provisioner Class # # @author Zachary Patten class Shell require 'tempfile' def initialize(config={}, ui=nil) @ui = (ui || TestLab.ui) @config = (config || Hash.new) end # Shell Provisioner Container Setup # # Renders the defined script to a temporary file on the target container # and proceeds to execute said script as root via *lxc-attach*. # # @param [TestLab::Container] container The container which we want to # provision. # @return [Boolean] True if successful. def on_container_setup(container) @config[:script].nil? and raise ShellError, "You must supply a script to bootstrap!" container.bootstrap(@config[:script]) true end end end end