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

Remove relative namespacing

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: PUP 3.7.0
    • Component/s: Compiler
    • Labels:
      None
    • Template:
    • Story Points:
      3
    • Sprint:
      Week 2014-5-21 to 2014-5-28, Week 2014-5-28 to 2014-6-4, Week 2014-6-4 to 2014-6-11, Week 2014-6-11 to 2014-6-18

      Description

      This is the issue where `include apache` actually means “try to declare class `<current namespace>::apache`, class `<parent of current namespace>::apache`, and so on, eventually declaring `apache` as a last resort."

      This bites people in the wild frequently, and seem to be getting a steady stream of customer complaints about it.

      We seem to have nearly universal agreement that this isn't how Puppet should work, but fixing it will break code in the wild. In redmine #2053, I suggested a deprecation plan:

      • In a mid-stream 3.x release, we start logging warnings when relative namespacing finds a class that doesn't match the provided name, and provide a setting to turn on a "strict mode" that kills relative namespacing completely.
      • In 4.0, we make the strict mode the only mode.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              Unassigned Unassigned
              Reporter:
              nick.fagerlund Nicholas Fagerlund
              QA Contact:
              Kurt Wall Kurt Wall
              Votes:
              2 Vote for this issue
              Watchers:
              19 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Zendesk Support