Sha256: d30dd5b67d7a5555b8467712e1a4d194c456646be4e491664fb23025b034ab5f

Contents?: true

Size: 1.4 KB

Versions: 13

Compression:

Stored size: 1.4 KB

Contents

class TestLab
  class Container

    module Provision

      # Provision the container
      #
      # Attempts to provision the container.  We first create the container,
      # then attempt to bring it online.  Afterwards the containers provisioner
      # is called.
      #
      # @return [Boolean] True if successful.
      def provision
        @ui.logger.debug { "Container Provision: #{self.id} " }

        (self.node.state != :running) and return false
        (self.state != :running) and return false

        please_wait(:ui => @ui, :message => format_object_action(self, :provision, :green)) do
          do_provisioner_callbacks(self, :provision, @ui)
        end

        true
      end

      # Deprovision the container
      #
      # Attempts to deprovision the container.  We first call the provisioner
      # deprovision method defined for the container, if any.  Next we attempt
      # to offline the container.  Afterwards the container is destroy.
      #
      # @return [Boolean] True if successful.
      def deprovision
        @ui.logger.debug { "Container Deprovision: #{self.id} " }

        (self.node.state != :running) and return false
        (self.state != :running) and return false

        please_wait(:ui => @ui, :message => format_object_action(self, :deprovision, :red)) do
          do_provisioner_callbacks(self, :deprovision, @ui)
        end

        true
      end

    end

  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
testlab-1.4.4 lib/testlab/container/provision.rb
testlab-1.4.3 lib/testlab/container/provision.rb
testlab-1.4.2 lib/testlab/container/provision.rb
testlab-1.4.1 lib/testlab/container/provision.rb
testlab-1.4.0 lib/testlab/container/provision.rb
testlab-1.3.2 lib/testlab/container/provision.rb
testlab-1.3.1 lib/testlab/container/provision.rb
testlab-1.3.0 lib/testlab/container/provision.rb
testlab-1.2.3 lib/testlab/container/provision.rb
testlab-1.2.2 lib/testlab/container/provision.rb
testlab-1.2.1 lib/testlab/container/provision.rb
testlab-1.2.0 lib/testlab/container/provision.rb
testlab-1.1.0 lib/testlab/container/provision.rb