diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/puppet/metatype/instances.rb | 5 | ||||
-rw-r--r-- | lib/puppet/server/servlet.rb | 15 |
2 files changed, 15 insertions, 5 deletions
diff --git a/lib/puppet/metatype/instances.rb b/lib/puppet/metatype/instances.rb index 9e953a1dd..a26c30686 100644 --- a/lib/puppet/metatype/instances.rb +++ b/lib/puppet/metatype/instances.rb @@ -24,9 +24,9 @@ class Puppet::Type raise Puppet::DevError, "must pass a Puppet::Type object" end - if exobj = @objects.has_key?(name) and self.isomorphic? + if exobj = @objects[name] and self.isomorphic? msg = "Object '%s[%s]' already exists" % - [name, newobj.class.name] + [newobj.class.name, name] if exobj.file and exobj.line msg += ("in file %s at line %s" % @@ -37,6 +37,7 @@ class Puppet::Type [object.file, object.line]) end error = Puppet::Error.new(msg) + raise error else #Puppet.info("adding %s of type %s to class list" % # [name,object.class]) diff --git a/lib/puppet/server/servlet.rb b/lib/puppet/server/servlet.rb index 136bbb933..d562078e1 100644 --- a/lib/puppet/server/servlet.rb +++ b/lib/puppet/server/servlet.rb @@ -137,16 +137,25 @@ class Server rescue Puppet::Error => detail #Puppet.warning obj.inspect #Puppet.warning args.inspect + if Puppet[:trace] + puts detail.backtrace + end Puppet.err detail.to_s - raise XMLRPC::FaultException.new( + error = XMLRPC::FaultException.new( 1, detail.to_s ) + error.set_backtrace = detail.backtrace + raise error rescue => detail #Puppet.warning obj.inspect #Puppet.warning args.inspect - puts detail.inspect + if Puppet[:trace] + puts detail.backtrace + end Puppet.err "Could not call: %s" % detail.to_s - raise XMLRPC::FaultException.new(1, detail.to_s) + error = XMLRPC::FaultException.new(1, detail.to_s) + error.set_backtrace detail.backtrace + raise error end } end |