lib/testlab/container/lifecycle.rb in testlab-0.6.11 vs lib/testlab/container/lifecycle.rb in testlab-0.6.12
- old
+ new
@@ -13,11 +13,11 @@
def setup
@ui.logger.debug { "Container Setup: #{self.id} " }
please_wait(:ui => @ui, :message => format_object_action(self, 'Setup', :green)) do
- self.provisioners.each do |provisioner|
+ self.container_provisioners.each do |provisioner|
@ui.logger.info { ">>>>> CONTAINER PROVISIONER SETUP: #{provisioner} <<<<<" }
p = provisioner.new(self.config, @ui)
p.respond_to?(:on_container_setup) and p.on_container_setup(self)
end
@@ -38,11 +38,11 @@
(self.lxc.state == :not_created) and return false
please_wait(:ui => @ui, :message => format_object_action(self, 'Teardown', :red)) do
- self.provisioners.each do |provisioner|
+ self.container_provisioners.each do |provisioner|
@ui.logger.info { ">>>>> CONTAINER PROVISIONER TEARDOWN: #{provisioner} <<<<<" }
p = provisioner.new(self.config, @ui)
p.respond_to?(:on_container_teardown) and p.on_container_teardown(self)
end
@@ -56,9 +56,14 @@
self.create
self.up
self.setup
true
+ end
+
+ # Returns all defined provisioners for this container's networks and the container iteself.
+ def container_provisioners
+ [self.interfaces.map(&:network).map(&:provisioners), self.provisioners].flatten.compact.uniq
end
end
end