[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:50 UTC 2010
The following commit has been merged in the upstream branch:
commit 16658a0403135bc23ce18bcf2c72c4725ac25faf
Author: Jesse Wolfe <jes5199 at gmail.com>
Date: Wed Mar 17 13:28:44 2010 -0700
Feature #3383 Part 2: Remove RAL XMLRPC
The XMLRPC interface for RAL resources was broken, and has been
completely replaced by the REST interface.
Signed-off-by: Jesse Wolfe <jes5199 at gmail.com>
diff --git a/lib/puppet/network/handler/resource.rb b/lib/puppet/network/handler/resource.rb
deleted file mode 100755
index 6f8d3df..0000000
--- a/lib/puppet/network/handler/resource.rb
+++ /dev/null
@@ -1,190 +0,0 @@
-require 'puppet'
-require 'puppet/network/handler'
-
-# Serve Puppet elements. Useful for querying, copying, and, um, other stuff.
-class Puppet::Network::Handler
- class Resource < Handler
- desc "An interface for interacting with client-based resources that can
- be used for querying or managing remote machines without using Puppet's
- central server tools.
-
- The ``describe`` and ``list`` methods return TransBuckets containing
- TransObject instances (``describe`` returns a single TransBucket),
- and the ``apply`` method accepts a TransBucket of TransObjects and
- applies them locally.
- "
-
- attr_accessor :local
-
- @interface = XMLRPC::Service::Interface.new("resource") { |iface|
- iface.add_method("string apply(string, string)")
- iface.add_method("string describe(string, string, array, array)")
- iface.add_method("string list(string, array, string)")
- }
-
- side :client
-
- # Apply a TransBucket as a transaction.
- def apply(bucket, format = "yaml", client = nil, clientip = nil)
- unless local?
- begin
- case format
- when "yaml"
- bucket = YAML::load(Base64.decode64(bucket))
- else
- raise Puppet::Error, "Unsupported format '%s'" % format
- end
- rescue => detail
- raise Puppet::Error, "Could not load YAML TransBucket: %s" % detail
- end
- end
-
- catalog = bucket.to_catalog
-
- # And then apply the catalog. This way we're reusing all
- # the code in there. It should probably just be separated out, though.
- transaction = catalog.apply
-
- # And then clean up
- catalog.clear(true)
-
- # It'd be nice to return some kind of report, but... at this point
- # we have no such facility.
- return "success"
- end
-
- # Describe a given object. This returns the 'is' values for every property
- # available on the object type.
- def describe(type, name, retrieve = nil, ignore = [], format = "yaml", client = nil, clientip = nil)
- Puppet.info "Describing %s[%s]" % [type.to_s.capitalize, name]
- @local = true unless client
- typeklass = nil
- unless typeklass = Puppet::Type.type(type)
- raise Puppet::Error, "Puppet type %s is unsupported" % type
- end
-
- obj = nil
-
- retrieve ||= :all
- ignore ||= []
-
- begin
- obj = typeklass.create(:name => name, :check => retrieve)
- rescue Puppet::Error => detail
- raise Puppet::Error, "%s[%s] could not be created: %s" %
- [type, name, detail]
- end
-
- unless obj
- raise XMLRPC::FaultException.new(
- 1, "Could not create %s[%s]" % [type, name]
- )
- end
-
- trans = obj.to_trans
-
- # Now get rid of any attributes they specifically don't want
- ignore.each do |st|
- if trans.include? st
- trans.delete(st)
- end
- end
-
- # And get rid of any attributes that are nil
- trans.each do |attr, value|
- if value.nil?
- trans.delete(attr)
- end
- end
-
- unless @local
- case format
- when "yaml"
- trans = Base64.encode64(YAML::dump(trans))
- else
- raise XMLRPC::FaultException.new(
- 1, "Unavailable config format %s" % format
- )
- end
- end
-
- return trans
- end
-
- # Create a new fileserving module.
- def initialize(hash = {})
- if hash[:Local]
- @local = hash[:Local]
- else
- @local = false
- end
- end
-
- # List all of the elements of a given type.
- def list(type, ignore = [], base = nil, format = "yaml", client = nil, clientip = nil)
- @local = true unless client
- typeklass = nil
- unless typeklass = Puppet::Type.type(type)
- raise Puppet::Error, "Puppet type %s is unsupported" % type
- end
-
- # They can pass in false
- ignore ||= []
- ignore = [ignore] unless ignore.is_a? Array
- bucket = Puppet::TransBucket.new
- bucket.type = typeklass.name
-
- typeklass.instances.each do |obj|
- next if ignore.include? obj.name
-
- #object = Puppet::TransObject.new(obj.name, typeklass.name)
- bucket << obj.to_trans
- end
-
- unless @local
- case format
- when "yaml"
- begin
- bucket = Base64.encode64(YAML::dump(bucket))
- rescue => detail
- Puppet.err detail
- raise XMLRPC::FaultException.new(
- 1, detail.to_s
- )
- end
- else
- raise XMLRPC::FaultException.new(
- 1, "Unavailable config format %s" % format
- )
- end
- end
-
- return bucket
- end
-
- private
-
- def authcheck(file, mount, client, clientip)
- unless mount.allowed?(client, clientip)
- mount.warning "%s cannot access %s" %
- [client, file]
- raise Puppet::AuthorizationError, "Cannot access %s" % mount
- end
- end
-
- # Deal with ignore parameters.
- def handleignore(children, path, ignore)
- ignore.each { |ignore|
- Dir.glob(File.join(path,ignore), File::FNM_DOTMATCH) { |match|
- children.delete(File.basename(match))
- }
- }
- return children
- end
-
- def to_s
- "resource"
- end
- end
-end
-
diff --git a/spec/integration/network/client.rb b/spec/integration/network/client.rb
index fe1524e..06d145a 100755
--- a/spec/integration/network/client.rb
+++ b/spec/integration/network/client.rb
@@ -5,7 +5,7 @@ require File.dirname(__FILE__) + '/../../spec_helper'
require 'puppet/network/client'
describe Puppet::Network::Client do
- %w{ca file report resource runner status}.each do |name|
+ %w{ca file report runner status}.each do |name|
it "should have a #{name} client" do
Puppet::Network::Client.client(name).should be_instance_of(Class)
end
diff --git a/spec/integration/network/handler.rb b/spec/integration/network/handler.rb
index 44152da..1c2e605 100755
--- a/spec/integration/network/handler.rb
+++ b/spec/integration/network/handler.rb
@@ -5,7 +5,7 @@ require File.dirname(__FILE__) + '/../../spec_helper'
require 'puppet/network/client'
describe Puppet::Network::Handler do
- %w{ca filebucket fileserver master report resource runner status}.each do |name|
+ %w{ca filebucket fileserver master report runner status}.each do |name|
it "should have a #{name} client" do
Puppet::Network::Handler.handler(name).should be_instance_of(Class)
end
--
Puppet packaging for Debian
More information about the Pkg-puppet-devel
mailing list