Uploaded image for project: 'Puppet Server'
  1. Puppet Server
  2. SERVER-1819

Change node_cache_terminus default to nil (Server ticket)

    Details

    • Type: Task
    • Status: Closed
    • Priority: Normal
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: SERVER 5.0.0
    • Component/s: None
    • Labels:
      None
    • Template:
    • Team:
      Systems Engineering
    • Sub-team:
    • Story Points:
      1
    • Sprint:
      Server 2017-05-31
    • Release Notes:
      Known Issue
    • Release Notes Summary:
      Hide

      In puppet 5.0, by default puppet will no longer write node yaml files to its cache. This cache was once used in workflows with external tooling needing a list of nodes, but with the advent of puppetdb that is now the best/correct way to retrieve information about nodes. If a user wishes to retain the 4.x behavior, add the setting `node_cache_terminus = write_only_yaml`. Note that `write_only_yaml` is deprecated, and users are encouraged to migrate to puppetdb based workflows for retrieving node information.
      Show
      In puppet 5.0, by default puppet will no longer write node yaml files to its cache. This cache was once used in workflows with external tooling needing a list of nodes, but with the advent of puppetdb that is now the best/correct way to retrieve information about nodes. If a user wishes to retain the 4.x behavior, add the setting `node_cache_terminus = write_only_yaml`. Note that `write_only_yaml` is deprecated, and users are encouraged to migrate to puppetdb based workflows for retrieving node information.

      Description

      This is the Puppet Server ticket tracking work related to PUP-6060. From that ticket:

      I recently had some conversations with Nick Walker and others about scaling PE to tens of thousands of nodes. One of the issues they ran into was that the disk got filled up by the YAML files containing the facts for nodes.

      My belief was that these YAML files were necessary because of the way the indirector works for the catalog terminus; that it would save the facts out to YAML and then later on load them back from the YAML file to use in the compile.

      However, in discussing this with Eric Sorenson, Henrik Lindberg and others, it seems like that is not actually the case. It seems like it's no longer required from a technical perspective, but was added back in because there were user workflows where people had built external tools that relied on scraping data from those YAML files.

      In today's world, it's much more likely that people would want to use PuppetDB for those sorts of tasks, which means there is probably not much value in those files for most users.

      We should consider having a setting to disable the creation of these files, or, if we already have some setting (node_cache_terminus?) that can do this, we should consider disabling them by default.

      Henrik Lindberg points out that this would also result in a performance improvement as these files can be rather large and we would no longer need to write them during catalog compiles.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                moses Moses Mendoza
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Zendesk Support