Jira (PUP-11785) Don't fallback if catalog rendering fails

25 views
Skip to first unread message

Josh Cooper (Jira)

unread,
Mar 22, 2023, 2:10:01 PM3/22/23
to puppe...@googlegroups.com
Josh Cooper updated an issue
 
Puppet / Improvement PUP-11785
Don't fallback if catalog rendering fails
Change By: Josh Cooper
Summary: Don't fallback to PSON if catalog rendering fails
Add Comment Add Comment
 
This message was sent by Atlassian Jira (v8.20.11#820011-sha1:0629dd8)
Atlassian logo

Josh Cooper (Jira)

unread,
Mar 22, 2023, 2:11:02 PM3/22/23
to puppe...@googlegroups.com
Josh Cooper updated an issue
If puppetserver fails to serialize a catalog to JSON it will fallback to PSON, because there was a time where rich data wasn't supported end-to-end between server and agents. However, rich data is now enabled by default and supported end-to-end. And it required when using Deferred or Sensitive parameters. Therefore, if puppetserver downgrades to PSON it can lead to surprising behavior as described in PUP-10928.

In Puppet 8, we will no longer fallback
to PSON. If a user wants binary data in the if catalog , such as a Kerberos keytab file, then they should use `content => binary_file( rendering/serialization fails . ..)` in a file resource.

Josh Cooper (Jira)

unread,
Mar 23, 2023, 1:30:01 PM3/23/23
to puppe...@googlegroups.com
Josh Cooper updated an issue
Change By: Josh Cooper
Story Points: 2

Josh Cooper (Jira)

unread,
Apr 6, 2023, 1:30:02 PM4/6/23
to puppe...@googlegroups.com
Josh Cooper updated an issue
If puppetserver fails to serialize a catalog to JSON it will fallback to PSON, because there was a time where rich data wasn't supported end-to-end between server and agents. However, rich data is now enabled by default and supported end-to-end. And it required when using Deferred or Sensitive parameters. Therefore, if puppetserver downgrades to PSON it can lead to surprising behavior as described in PUP-10928.

In Puppet 8, we will no longer fallback if catalog rendering/serialization fails.

A new puppet setting will be added to 7.x in PUP-10928. For this ticket, the default value should be changed to not fallback and to raise an exception failing compilation (even if the puppet-pson gem has been installed).

Michael Hashizume (Jira)

unread,
Apr 12, 2023, 1:48:05 PM4/12/23
to puppe...@googlegroups.com
Michael Hashizume updated an issue
Change By: Michael Hashizume
Sprint: Phoenix 2023-04-26

Aria Li (Jira)

unread,
Apr 12, 2023, 6:22:02 PM4/12/23
to puppe...@googlegroups.com
Aria Li assigned an issue to Aria Li
Change By: Aria Li
Assignee: Aria Li

Aria Li (Jira)

unread,
Apr 17, 2023, 5:10:01 PM4/17/23
to puppe...@googlegroups.com
Aria Li updated an issue
Change By: Aria Li
Release Notes Summary: 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. catalo

Aria Li (Jira)

unread,
Apr 17, 2023, 5:10:02 PM4/17/23
to puppe...@googlegroups.com
Aria Li updated an issue
 
Puppet / Improvement PUP-11785
Don't fallback if catalog rendering fails
Change By: Aria Li
Release Notes Summary: 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.

Aria Li (Jira)

unread,
Apr 17, 2023, 5:11:01 PM4/17/23
to puppe...@googlegroups.com
Aria Li updated an issue
Change By: Aria Li
Release Notes Summary:
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 catalo catalog

Aria Li (Jira)

unread,
Apr 17, 2023, 5:20:01 PM4/17/23
to puppe...@googlegroups.com
Aria Li updated an issue
Change By: Aria Li
Release Notes: Enhancement

Aria Li (Jira)

unread,
Apr 18, 2023, 5:54:02 PM4/18/23
to puppe...@googlegroups.com
Aria Li updated an issue
Change By: Aria Li
Fix Version/s: PUP 8.0.0

Aria Li (Jira)

unread,
Apr 19, 2023, 1:08:02 PM4/19/23
to puppe...@googlegroups.com
Aria Li updated an issue
Change By: Aria Li
Release Notes Summary: allow_pson_serialization defaults to false in Puppet 8. This means an error will be raised when attempting to serialize fall back to PSON.

Aria Li (Jira)

unread,
Apr 19, 2023, 1:08:03 PM4/19/23
to puppe...@googlegroups.com
Aria Li updated an issue
Change By: Aria Li
Release Notes Summary: 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 This means an error will be raised when falling back attempting to PSON and when set serialize to true, an error will be raised instead PSON . This option affects both puppetserver's configuration management service responses and when the agent saves its cached catalog
Reply all
Reply to author
Forward
0 new messages