Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Won't Fix
    • Affects Version/s: PUP 2.7.23
    • Fix Version/s: None
    • Component/s: None
    • Labels:
      None
    • Environment:

      master => debian 7.2
      node => centos 5.8

    • Template:

      Description

      Puppet add autorequire in unexpected places.
      Very simple to reproduce :

      1/ extract the attached module
      2/ add somewhere in your "site.pp" :
      class

      { "testrecurse::test": }

      3/ run agent

      Result :
      err: Could not apply complete catalog: Found dependency cycles in the following relationships: File[/tmp/whatever2] => Exec[/xxx], Exec[/xxx] => File[/tmp/whatever2]; try using the '--graph' option and open the '.dot' files in OmniGraffle or GraphViz

      the problem is because
      1/ test2 depends on test1
      2/ test2 declare a File["/path/to/a/file"]
      file

      { "/tmp/whatever2": ensure => directory }

      3/ test1 have a exec {} wth attribute unless that contains then string "/path/to/a/file" AND (important) a carriage return :
      exec

      { "/xxx": unless => "/tmp/whatever2 '" }

      Those kinds of autorequire are very hard to debug.
      In my opinion, there should be an option to disable them.
      When I made an application with funct A calling funct B, I didn't expect funct A to call funct C before

      Note : If I put all together in the same class, no problem ! That's strange because it means that ordering 2 classes doesn't not have the same result as ordering their components ...

      Thanks.

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              mbaroukh Mike Baroukh
              QA Contact:
              Kurt Wall
            • Votes:
              1 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Zendesk Support