Puppet: System Administration Automated

Support

Ticket #604 (new enhancement)

Opened 2 years ago

Provide more fine-tuned ordering in the parser

Reported by: luke Assigned to: luke
Priority: normal Milestone: unplanned
Component: language Version:
Severity: normal Keywords: parser class node
Cc: Triage Stage: Needs design decision
Attached Patches: None Complexity: Hard

Description

As discussed on the mailing list, there are limitations in the current parser preventing us from creating a nodevar method because classes that call it would get evaluated before the node itself.

This enhancement needs a complete specification, because there's still design work to do, but the basic requirements are that we be able to specify that once class requires another (probably with a distinction between requiring the class during parsing and requiring the class during execution) and that all assignments happen throughout an inheritance tree before any function calls are evaluated.

The best option would be to be able to come up with a list of all of the classes being evaluated and to do the same kind of topological sort as we do on the client.