Issue #7867 has been updated by James Turnbull.

Status changed from Unreviewed to Needs Decision
Assignee set to Nigel Kersten


----------------------------------------
Bug #7867: node names should work consistently across all supported 
configurations and platforms
https://projects.puppetlabs.com/issues/7867

Author: Jeff McCune
Status: Needs Decision
Priority: Normal
Assignee: Nigel Kersten
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.

Reply via email to