Issue #7867 has been updated by Daniel Pittman.
I would strongly advocate supporting the entire BMP, or as much of that as was reasonable. The IDN legal characters would be a good start and all. In the interim, until we have sanitized the system to make that safer, limiting text is a reasonable trade-off and all. The argument that the filesystem, or the target database, have *any* influence over what characters should be legal in the filename, seems crazy to me. The idea that we should limit our behaviour based on current implementation details seems ... strange, at least. :) ---------------------------------------- Bug #7867: node names should work consistently across all supported configurations and platforms https://projects.puppetlabs.com/issues/7867 Author: Jeff McCune Status: Unreviewed Priority: Normal Assignee: Category: node Target version: Affected Puppet version: Keywords: node name node_name posix nodename definition Branch: # Overview # Currently different values for a node's name are not consistently allowed or disallowed by Puppet. For example, a node name of foo::bar will work when using an ENC on a POSIX filesystem, but will not work if the user is running Puppet on an NTFS filesystem. Furthermore, this node name won't work if node definitions are being used, e.g: <pre> node foo::bar { # syntax error } </pre> # Expected Behavior # In order to support effective communication and documentation for the end user node names should be consistently valid regardless of the configuration or platform Puppet is running on. As an user, I expect that I can switch from an ENC to node definitions or from ext3 to NTFS and my system will still function. # Actual Behavior # Node names that are valid in some configurations will throw cryptic and difficult to diagnose errors. For example, node foo::bar { } will throw a parse error when used with node definitions and will throw a "could not write file" (or similar) error when used with NTFS. # Suggested Fix # The following implementation is only a suggestion. Any implementation that can be consistently used across all supported configurations of Puppet would be considered a valid fix to this bug. Please keep in mind the node_name value is used as a primary key when interfacing with third party systems. In this way, the solution should also avoid limiting the number of third party systems Puppet can communicate with. For example, a node name that is supported and could not be URL encoded would make it difficult to interface with a REST API. The current suggestion is to support some hybrid of POSIX "Fully portable filenames" and RFC 1034 section 3.5 hostnames as valid node names [http://en.wikipedia.org/wiki/Filename](http://en.wikipedia.org/wiki/Filename) These are: A–Za–z0–9._- where a hyphen must not be first character. -- 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://projects.puppetlabs.com/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.
