[Pkg-puppet-devel] [SCM] Puppet packaging for Debian branch, upstream, updated. 0.25.5-639-g8f94f35

test branch puppet-dev at googlegroups.com
Wed Jul 14 10:31:35 UTC 2010


The following commit has been merged in the upstream branch:
commit 6bf19532710fdb0e5619e00d6656e6b535297247
Author: Luke Kanies <luke at reductivelabs.com>
Date:   Mon Jan 4 16:44:44 2010 -0800

    Removing old, never-used DSL code
    
    Signed-off-by: Luke Kanies <luke at reductivelabs.com>

diff --git a/lib/puppet/dsl.rb b/lib/puppet/dsl.rb
deleted file mode 100644
index ca01a9c..0000000
--- a/lib/puppet/dsl.rb
+++ /dev/null
@@ -1,275 +0,0 @@
-# Just quick mess-around to see what a DSL would look like.
-#
-# This is what the executable could look like:
-##!/usr/bin/env ruby
-#
-#require 'puppet'
-#require 'puppet/dsl'
-#
-#Puppet::DSL.import(ARGV[0])
-#
-#bucket = Puppet::TransBucket.new
-#bucket.type = "top"
-#bucket.keyword = "class"
-#
-#Puppet::DSL.find_all do |name, sub|
-#    sub.included
-#end.each do |name, sub|
-#    bucket.push sub.export
-#end
-#
-#puts bucket.to_manifest
-#
-# And here's what an example config could look like:
-#
-
-##!/usr/bin/env ruby
-#
-#
-# require 'puppet'
-# require 'puppet/dsl'
-#
-# include Puppet::DSL
-# init()
-#
-# aspect :webserver do
-#     file "/tmp/testone", :content => "yaytest"
-#
-#     exec "testing", :command => "/bin/echo this is a test"
-# end
-#
-# aspect :other, :inherits => :webserver do
-#     file "/tmp/testone", :mode => "755"
-# end
-#
-# acquire :other
-#
-# apply
-
-require 'puppet'
-
-# Provide the actual commands for acting like a language.
-module Puppet::DSL
-    def aspect(name, options = {}, &block)
-        Puppet::DSL::Aspect.new(name, options, &block)
-    end
-
-    def acquire(*names)
-        names.each do |name|
-            if aspect = Puppet::DSL::Aspect[name]
-                unless aspect.evaluated?
-                    aspect.evaluate
-                end
-            else
-                raise "Could not find aspect %s" % name
-            end
-        end
-    end
-
-    def apply
-        bucket = export()
-        catalog = bucket.to_catalog
-        catalog.apply
-    end
-
-    def export
-        objects = Puppet::DSL::Aspect.collect do |name, aspect|
-            if aspect.evaluated?
-                aspect.export
-            end
-        end.reject { |a| a.nil? }.flatten.collect do |obj|
-            obj.to_trans
-        end
-        bucket = Puppet::TransBucket.new(objects)
-        bucket.name = "top"
-        bucket.type = "class"
-
-        return bucket
-    end
-
-    def init
-        unless Process.uid == 0
-            Puppet[:confdir] = File.expand_path("~/.puppet")
-            Puppet[:vardir] = File.expand_path("~/.puppet/var")
-        end
-        Puppet[:user] = Process.uid
-        Puppet[:group] = Process.gid
-        Puppet::Util::Log.newdestination(:console)
-        Puppet::Util::Log.level = :info
-    end
-
-    class Aspect
-        Resource = Puppet::Parser::Resource
-
-        include Puppet::Util
-        include Puppet::DSL
-        extend Puppet::Util
-        extend Enumerable
-        attr_accessor :parent, :name, :evaluated
-
-        @aspects = {}
-
-        @@objects = Hash.new do |hash, key|
-            hash[key] = {}
-        end
-
-        # Create an instance method for every type
-        Puppet::Type.loadall
-        Puppet::Type.eachtype do |type|
-            define_method(type.name) do |*args|
-                newresource(type, *args)
-            end
-        end
-
-        def self.[]=(name, aspect)
-            name = symbolize(name)
-            @aspects[name] = aspect
-        end
-
-        def self.[](name)
-            name = symbolize(name)
-
-            # Make sure there's always a main.  This can get deleted in testing.
-            if name == :main and ! @aspects[name]
-                new(:main) {}
-            end
-            @aspects[name]
-        end
-
-        def self.clear
-            @aspects.clear
-            @@objects.clear
-        end
-
-        def self.delete(name)
-            name = symbolize(name)
-            if @aspects.has_key?(name)
-                @aspects.delete(name)
-            end
-        end
-
-        def self.each
-            @aspects.each do |name, a|
-                yield name, a
-            end
-        end
-
-        def child_of?(aspect)
-            unless aspect.is_a?(self.class)
-                obj = self.class[aspect]
-                unless obj
-                    raise "Could not find aspect %s" % aspect
-                end
-                aspect = obj
-            end
-            if self.parent
-                if self.parent == aspect
-                    return true
-                elsif self.parent.child_of?(aspect)
-                    return true
-                else
-                    return false
-                end
-            else
-                return false
-            end
-        end
-
-        def evaluate
-            if self.parent and ! self.parent.evaluated?
-                self.parent.evaluate
-            end
-
-            unless evaluated?
-                if defined? @block
-                    instance_eval(&@block)
-                end
-                @evaluated = true
-            end
-        end
-
-        def evaluated?
-            if self.evaluated
-                true
-            else
-                false
-            end
-        end
-
-        def export
-            @resources.dup
-        end
-
-        def initialize(name, options = {}, &block)
-            name = symbolize(name)
-            @name = name
-            if block
-                @block = block
-            end
-            if pname = options[:inherits]
-                if pname.is_a?(self.class)
-                    @parent = pname
-                elsif parent = self.class[pname]
-                    @parent = parent
-                else
-                    raise "Could not find parent aspect %s" % pname
-                end
-            end
-
-            @resources = []
-
-            self.class[name] = self
-        end
-
-        def newresource(type, name, params = {})
-            if self.is_a?(Puppet::DSL::Aspect)
-                source = self
-            else
-                source = Puppet::DSL::Aspect[:main]
-            end
-            unless obj = @@objects[type][name]
-                obj = Resource.new :title => name, :type => type.name,
-                    :source => source, :scope => scope
-                @@objects[type][name] = obj
-
-                @resources << obj
-            end
-
-            params.each do |name, value|
-                param = Resource::Param.new(
-                    :name => name,
-                    :value => value,
-                    :source => source
-                )
-
-                obj.send(:set_parameter, param)
-            end
-
-            obj
-        end
-
-        def scope
-            unless defined?(@scope)
-                # Set the code to something innocuous; we just need the
-                # scopes, not the interpreter.  Hackish, but true.
-                Puppet[:code] = " "
-                @interp = Puppet::Parser::Interpreter.new
-                require 'puppet/node'
-                @node = Puppet::Node.new(Facter.value(:hostname))
-                if env = Puppet[:environment] and env == ""
-                    env = nil
-                end
-                @node.parameters = Facter.to_hash
-                @compile = Puppet::Parser::Compiler.new(@node, @interp.send(:parser, env))
-                @scope = @compile.topscope
-            end
-            @scope
-        end
-
-        def type
-            self.name
-        end
-    end
-end
-
- at aspects = {}
diff --git a/test/other/dsl.rb b/test/other/dsl.rb
deleted file mode 100755
index deafca7..0000000
--- a/test/other/dsl.rb
+++ /dev/null
@@ -1,215 +0,0 @@
-#!/usr/bin/env ruby
-
-require File.dirname(__FILE__) + '/../lib/puppettest'
-
-require 'puppet'
-require 'puppet/dsl'
-require 'puppettest'
-
-class TestDSL < Test::Unit::TestCase
-    include PuppetTest
-    include Puppet::DSL
-
-    def teardown
-        super
-        Puppet::DSL::Aspect.clear
-    end
-
-    def test_aspect
-        a = nil
-        assert_nothing_raised do
-            a = aspect :yaytest do
-            end
-        end
-
-        assert_equal(a, Puppet::DSL::Aspect[:yaytest])
-
-        # Now make a child aspect
-        b = nil
-        assert_nothing_raised do
-            b = aspect :child, :inherits => :yaytest do
-            end
-        end
-
-        assert(b.child_of?(a), "Parentage not set up correctly")
-        assert(b.child_of?(:yaytest), "Parentage not set up for symbols")
-
-        # Now make another subclass
-        c = nil
-        assert_nothing_raised do
-            c = aspect :kid, :inherits => :child do
-            end
-        end
-
-        assert(c.child_of?(b), "Parentage not set up correctly")
-        assert(c.child_of?(a), "Parentage is not inherited")
-
-        # Lastly, make a separate aspect
-        x = nil
-        assert_nothing_raised do
-            x = aspect :other do
-            end
-        end
-
-        assert(! x.child_of?(a), "Parentage came from nowhere")
-        assert(! x.child_of?(b), "Parentage came from nowhere")
-        assert(! x.child_of?(c), "Parentage came from nowhere")
-
-        # Make sure we can specify the name or the aspect
-        y = nil
-        assert_nothing_raised do
-            x = aspect :naming, :inherits => a do
-            end
-        end
-        assert(x.child_of?(a), "Parentage not set up correctly")
-
-        # And make sure the parent must exist
-        z = nil
-        assert_raise(RuntimeError) do
-            z = aspect :noparent, :inherits => :nosuchaspect do
-            end
-        end
-        assert(x.child_of?(a), "Parentage not set up correctly")
-    end
-
-    def test_evaluate
-        parent = child = nil
-        parenteval = childeval = nil
-
-        assert_nothing_raised do
-            parent = aspect :parent do
-                if parenteval
-                    raise "parent already evaluated"
-                end
-                parenteval = true
-            end
-
-            child = aspect :child, :inherits => parent do
-                if childeval
-                    raise "child already evaluated"
-                end
-                childeval = true
-            end
-        end
-
-        assert_nothing_raised do
-            parent.evaluate()
-        end
-
-        assert(parenteval, "Parent was not evaluated")
-        assert(parent.evaluated?, "parent was not considered evaluated")
-
-        # Make sure evaluating twice silently does nothing
-        assert_nothing_raised do
-            parent.evaluate()
-        end
-
-        # Now evaluate the child
-        assert_nothing_raised do
-            child.evaluate
-        end
-
-        assert(childeval, "child was not evaluated")
-        assert(child.evaluated?, "child was not considered evaluated")
-
-        # Now reset them both
-        parenteval = childeval = nil
-        parent.evaluated = false
-        child.evaluated = false
-
-        # evaluate the child
-        assert_nothing_raised do
-            child.evaluate
-        end
-
-        # and make sure both get evaluated
-        assert(parenteval, "Parent was not evaluated")
-        assert(parent.evaluated?, "parent was not considered evaluated")
-        assert(childeval, "child was not evaluated")
-        assert(child.evaluated?, "child was not considered evaluated")
-    end
-
-    def test_acquire
-        evalled = false
-        a = aspect :test do
-            evalled = true
-        end
-
-        assert_nothing_raised do
-            acquire :test
-        end
-
-        assert(evalled, "Did not evaluate aspect")
-
-        assert_nothing_raised do
-            acquire :test
-        end
-    end
-
-    def test_newresource
-        filetype = Puppet::Type.type(:file)
-        path = tempfile()
-
-        a = aspect :testing
-
-        resource = nil
-        assert_nothing_raised do
-            resource = a.newresource filetype, path, :content => "yay", :mode => "640"
-        end
-
-        assert_instance_of(Puppet::Parser::Resource, resource)
-
-        assert_equal("yay", resource[:content])
-        assert_equal("640", resource[:mode])
-        assert_equal(:testing, resource.source.name)
-
-        # Now try exporting our aspect
-        assert_nothing_raised do
-            a.evaluate
-        end
-
-        result = nil
-        assert_nothing_raised do
-            result = a.export
-        end
-
-        assert_equal([resource], result)
-
-        # Then try the DSL export
-        assert_nothing_raised do
-            result = export
-        end
-
-        assert_instance_of(Puppet::TransBucket, result)
-
-        # And just for kicks, test applying everything
-        assert_nothing_raised do
-            apply()
-        end
-
-        assert(FileTest.exists?(path), "File did not get created")
-        assert_equal("yay", File.read(path))
-    end
-
-    def test_typemethods
-        Puppet::Type.loadall
-        filetype = Puppet::Type.type(:file)
-        path = tempfile()
-
-        a = aspect :testing
-
-        Puppet::Type.eachtype do |type|
-            next if type.name.to_s =~ /test/
-            assert(a.respond_to?(type.name),
-                "Aspects do not have a %s method" % type.name)
-        end
-
-        file = nil
-        assert_nothing_raised do
-            file = a.file path,
-                :content => "yay", :mode => "640"
-        end
-
-        assert_instance_of(Puppet::Parser::Resource, file)
-    end
-end

-- 
Puppet packaging for Debian



More information about the Pkg-puppet-devel mailing list