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

              jsd-sla-details-panel

                People

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

                  Dates

                  • Created:
                    Updated:
                    Resolved: