Sha256: ac9f2e12a1c097b706e35d93c81079695436dea24469021ef224b1c2637d70cf

Contents?: true

Size: 1.45 KB

Versions: 33

Compression:

Stored size: 1.45 KB

Contents

class TestLab

  class Provider

    # BareMetal Provider Error Class
    class BareMetalError < ProviderError; end

    # BareMetal Provider Class
    #
    # @author Zachary Patten <zachary AT jovelabs DOT com>
    class BareMetal

      def initialize(config={}, ui=nil)
        @config = (config || Hash.new)
        @ui     = (ui     || TestLab.ui)

        # ensure our bare_metal key exists
        @config[:bare_metal] ||= Hash.new
      end

      # This is a NO-OP
      def create
        true
      end

      # This is a NO-OP
      def destroy
        true
      end

      # This is a NO-OP
      def up
        true
      end

      # This is a NO-OP
      def down
        true
      end

      # This is a NO-OP
      def reload
        self.down
        self.up

        true
      end

      # This is a NO-OP
      def state
        :running
      end

      # This is a NO-OP
      def exists?
        true
      end

      # This is a NO-OP
      def alive?
        true
      end

      # This is a NO-OP
      def dead?
        false
      end

      def instance_id
        TestLab.hostname
      end

      def user
        (@config[:bare_metal][:user] || ENV['USER'])
      end

      def identity
        (@config[:bare_metal][:identity] || File.join(ENV['HOME'], ".ssh", "id_rsa"))
      end

      def ip
        (@config[:bare_metal][:ip] || "127.0.0.1")
      end

      def port
        (@config[:bare_metal][:port] || 22)
      end

    end

  end
end

Version data entries

33 entries across 33 versions & 1 rubygems

Version Path
testlab-1.15.1 lib/testlab/providers/bare_metal.rb
testlab-1.15.0 lib/testlab/providers/bare_metal.rb
testlab-1.14.0 lib/testlab/providers/bare_metal.rb
testlab-1.13.0 lib/testlab/providers/bare_metal.rb
testlab-1.12.0 lib/testlab/providers/bare_metal.rb
testlab-1.11.7 lib/testlab/providers/bare_metal.rb
testlab-1.11.6 lib/testlab/providers/bare_metal.rb
testlab-1.11.5 lib/testlab/providers/bare_metal.rb
testlab-1.11.4 lib/testlab/providers/bare_metal.rb
testlab-1.11.3 lib/testlab/providers/bare_metal.rb
testlab-1.11.2 lib/testlab/providers/bare_metal.rb
testlab-1.11.1 lib/testlab/providers/bare_metal.rb
testlab-1.11.0 lib/testlab/providers/bare_metal.rb