Uploaded image for project: 'Puppet'
  1. Puppet
  2. PUP-3995

Prevent node resource names from overlapping with other resources

    XMLWordPrintable

    Details

    • Template:
      PUP Bug Template
    • Team:
      Coremunity
    • Story Points:
      3
    • Sprint:
      Platform Core KANBAN
    • Release Notes:
      Bug Fix
    • Release Notes Summary:
      If a node statement has the same name as an included class "node 'abc' { include abc }", the Puppet used to silently ignore the class, as it thought the class had already been included.

      Description

      Before the pull request for PUP-3167 was submitted, if a node with a regex name matched the name of of another resource (like a class), then it was possible that the two would step on each other. This is pretty clearly illustrated by the example given in the original ticket:

       class foo {
        $bar = 'one'
      }
       
      node /foo/ {
        $bar = 'two'
        include foo
        notice("${::foo::bar}")
      } 

      Although the issue was fixed for nodes specified with a regex, we were unable to fix the issue for all node names, since that fix would have been significantly more complicated than the one we implemented for regular expressions (see Henrik's comment on PUP-3167). As such, we need to find a way to prevent resource names for non-regex nodes and other resources from overlapping.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              josh Josh Cooper
              Reporter:
              hailee Hailee Kenney
              QA Contact:
              Kurt Wall Kurt Wall
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Zendesk Support