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

Resolve Deferred values on demand instead of at catalog read time

    XMLWordPrintable

Details

    • New Feature
    • Status: Resolved
    • Normal
    • Resolution: Fixed
    • None
    • PUP 7.17.0
    • None
    • Hide

      Install the dependencies needed for a deferred function and call the deferred function in the same run.

      The current behavior should be preserved by default, the new behavior can be turned on with a configuration.

      Show
      Install the dependencies needed for a deferred function and call the deferred function in the same run. The current behavior should be preserved by default, the new behavior can be turned on with a configuration.
    • Phoenix
    • 4
    • Phoenix 2022-05-11, Phoenix 2022-05-25
    • Enhancement
    • Hide
      It's now possible for deferred functions to be called on-demand instead of being preprocessed. This way other resources in the catalog can serve as inputs to the deferred function. If the deferred function fails, then only that resource will fail, while unrelated resources will be applied. To enable this behavior set "Puppet[:preprocess_deferred] = false" or use "--no-preprocess_deferred" on the command line.
      Show
      It's now possible for deferred functions to be called on-demand instead of being preprocessed. This way other resources in the catalog can serve as inputs to the deferred function. If the deferred function fails, then only that resource will fail, while unrelated resources will be applied. To enable this behavior set "Puppet[:preprocess_deferred] = false" or use "--no-preprocess_deferred" on the command line.
    • Needs Assessment

    Description

      Instead of (as in Puppet 6.0) resolve all Deferred values at catalog read time it would be much better if Deferred values were resolved as they are needed by resources. The big benefit is that this would enable additional use cases - where it is possible to let changes earlier in the apply cycle affect the values for later resources.

      From the perspective of a resource this change would not matter, it simply would not see the Deferred instance (just as when it is deferred up front).

      Attachments

        Issue Links

          Activity

            People

              josh Josh Cooper
              henrik.lindberg Henrik Lindberg
              Votes:
              4 Vote for this issue
              Watchers:
              14 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Zendesk Support