If a catalog contains binary data, such as kerberos keytab files, then puppetserver will fallback to PSON. However, if the catalog also contains Sensitive/Binary/Deferred etc data types, then they will not work properly since rich data can't be serialized via PSON currently. Falling back also makes troubleshooting more difficult, because the failure occurs on the agent when applying the catalog, when storing the cached catalog or updating the persistence store. Failing compilation makes it easier to debug what's going on and more quickly identify the resource that caused serialization to fail.
PUP-11787 will add a warning when fallback occurs. In this ticket, we'll add a setting to prevent fallback.
The setting, allow_pson_serialization, was first introduced in Puppet 7.x. This setting allows users to turn PSON serialization on or off using a boolean. allow_pson_serialization defaults to true in Puppet 7.x and defaults to false in Puppet 8. When set to false, a warning will be raised when falling back to PSON and when set to true, an error will be raised instead. This option affects both puppetserver's configuration management service responses and when the agent saves its cached catalog.
TheBefore, Puppet fell back to PSON when unable to serialize to JSON however this causes issues because rich data types cannot be serialized vis PSON. Due to this, the setting, allow_pson_serialization, was first introduced in Puppet 7.x. This setting allows users to turn PSON serialization on or off using a boolean.
allow_pson_serialization defaults to true in Puppet 7.x and defaults to false in Puppet 8. When set to false, a warning will be raised when falling back to PSON and when set to true, an error will be raised instead. This option affects both puppetserver's configuration management service responses and when the agent saves its cached catalog.
Before, Puppet fell back to PSON when unable to serialize to JSON however this causes issues because rich data types cannot be serialized vis PSON. Due to this, the setting, allow_pson_serialization, was introduced in Puppet 7.x. This setting allows users to turn PSON serialization on or off using a boolean.
allow_pson_serialization defaults to true in Puppet 7.x and defaults to false in Puppet 8. When set to false, a warning will be raised when falling back to PSON and when set to true, an error will be raised instead. This option affects both puppetserver's configuration management service responses and when the agent saves its cached catalog.
Puppet 7.25.0 introduces the allow_pson_serialization setting. By default, this setting is set to true for Puppet 7.25.0 but PSON will eventually be deprecated and removed in future releases. When set to true, a warning will be raised when falling back to PSON and when set to false, an error will be raised instead. This setting affects both puppetserver's configuration management service responses and when the agent saves its cached catalog.
Puppet 7.25.0 and 8.0.0 introduces the allow_pson_serialization setting. By default, this setting is set to true for Puppet 7.25.0 but PSON will eventually be deprecated and removed in future releases false for Puppet 8. When set to true, a warning will be raised when falling back to PSON and when set to false, an error will be raised instead. This setting affects both puppetserver's configuration management service responses and when the agent saves its cached catalog.
Before,Puppet 7 fell back to PSON when unable to serialize to JSON however this causes issues because rich data types cannot be serialized vis PSON.25 Due to this, the setting, allow_pson_serialization, was added in Puppet 8.0 and 8.0 and 7.25.0 introduces the allow_pson_serialization setting. By default, this This setting is set allows users to turn PSON serialization on or off using a boolean.
allow_pson_serialization defaults to true for in Puppet 7.x and defaults to false for in Puppet 8. When set to true false, a warning will be raised when falling back to PSON and when set to false true, an error will be raised instead. This setting option affects both puppetserver's configuration management service responses and when the agent saves its cached catalog.