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 -~----------~----~----~----~------~----~------~--~---
