Issue #1674 has been updated by luke.

Subject changed from Puppet compares string to array if 'groups' attribute of 
user type is changed accordingly. to String/array comparisons cause language 
failures
Category changed from user to language
Status changed from Rejected to Accepted
Priority changed from High to Normal

This is just a language problem:  If you have a case or selector statement and 
you try to use both arrays and strings, you'll get a failure. Strings and 
arrays should be treated as not equal (although *maybe* an array should be 
considered equal to a string if its only item is equivalent to that string), 
but they shouldn't cause failures.
----------------------------------------
Bug #1674: String/array comparisons cause language failures
http://projects.reductivelabs.com/issues/show/1674

Author: rgsteele
Status: Accepted
Priority: Normal
Assigned to: andrew
Category: language
Target version: 
Complexity: Unknown
Affected version: 0.24.5
Keywords: 


If the 'groups' attribute for a user is first stored as a string, but then 
later changed to an array, Puppet throws an exception and complains that it 
can't compare a string to an array.  Here's a trace:

/usr/lib/ruby/1.8/puppet/type/user.rb:192:in `sort'
/usr/lib/ruby/1.8/puppet/type/user.rb:192:in `should'
/usr/lib/ruby/1.8/puppet/type/user.rb:320
/usr/lib/ruby/1.8/puppet/metatype/relationships.rb:27:in `instance_eval'
/usr/lib/ruby/1.8/puppet/metatype/relationships.rb:27:in `autorequire'
/usr/lib/ruby/1.8/puppet/metatype/relationships.rb:14:in `eachautorequire'
/usr/lib/ruby/1.8/puppet/metatype/relationships.rb:13:in `each'
/usr/lib/ruby/1.8/puppet/metatype/relationships.rb:13:in `eachautorequire'
/usr/lib/ruby/1.8/puppet/metatype/relationships.rb:22:in `autorequire'
/usr/lib/ruby/1.8/puppet/node/catalog.rb:346:in `relationship_graph'
/usr/lib/ruby/1.8/puppet/node/catalog.rb:345:in `each'
/usr/lib/ruby/1.8/puppet/node/catalog.rb:345:in `relationship_graph'
/usr/lib/ruby/1.8/puppet/transaction.rb:515:in `relationship_graph'
/usr/lib/ruby/1.8/puppet/transaction.rb:511:in `prepare'
/usr/lib/ruby/1.8/puppet/transaction.rb:300:in `evaluate'
/usr/lib/ruby/1.8/puppet/node/catalog.rb:124:in `apply'
/usr/lib/ruby/1.8/puppet/network/client/master.rb:255:in `run'
/usr/lib/ruby/1.8/puppet/util.rb:212:in `benchmark'
/usr/lib/ruby/1.8/benchmark.rb:293:in `measure'
/usr/lib/ruby/1.8/benchmark.rb:307:in `realtime'
/usr/lib/ruby/1.8/puppet/util.rb:211:in `benchmark'
/usr/lib/ruby/1.8/puppet/network/client/master.rb:254:in `run'
/usr/lib/ruby/1.8/sync.rb:230:in `synchronize'
/usr/lib/ruby/1.8/puppet/network/client/master.rb:236:in `run'
/usr/sbin/puppetd:417
err: Got an uncaught exception of type ArgumentError: comparison of String with 
Array failed
debug: Storing state
debug: Stored state in 0.04 seconds
notice: Finished catalog run in 0.18 seconds


----------------------------------------
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://reductivelabs.com/redmine/my/account

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Puppet Bugs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/puppet-bugs?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to