Skip to content

Commit 4ecf23e

Browse files
authored
Merge pull request #127 from lcharreau/fix/pson-to-json
Replace PSON with JSON for compatibility with Puppet 8
2 parents 2a20ab5 + dd77260 commit 4ecf23e

File tree

2 files changed

+13
-13
lines changed

2 files changed

+13
-13
lines changed

lib/puppet/catalog-diff/compilecatalog.rb

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@ def initialize(node_name, save_directory, server, certless, catalog_from_puppetd
2222
clean_nested_sensitive_parameters!(catalog)
2323
catalog
2424
end
25-
catalog = render_pson(catalog)
25+
catalog = render_json(catalog)
2626
begin
27-
save_catalog_to_disk(save_directory, node_name, catalog, 'pson')
27+
save_catalog_to_disk(save_directory, node_name, catalog, 'json')
2828
rescue Exception => e
2929
Puppet.err("Server returned invalid catalog for #{node_name}")
3030
save_catalog_to_disk(save_directory, node_name, catalog, 'error')
@@ -60,8 +60,8 @@ def get_catalog_from_puppetdb(node_name, server, puppetdb, puppetdb_tls_cert, pu
6060
raise "HTTP request to PuppetDB failed with: HTTP #{ret.code} - #{ret.reason}" unless ret.success?
6161

6262
begin
63-
catalog = PSON.parse(ret.body)
64-
rescue PSON::ParserError => e
63+
catalog = JSON.parse(ret.body)
64+
rescue JSON::ParserError => e
6565
raise "Error parsing json output of puppetdb catalog query for #{node_name}: #{e.message}\ncontent: #{ret.body}"
6666
end
6767

@@ -75,7 +75,7 @@ def compile_catalog(node_name, server, certless, tls_cert, tls_key, tls_ca, deri
7575
server, port = server.split(':')
7676
port ||= '8140'
7777
headers = {
78-
'Accept' => 'pson',
78+
'Accept' => 'application/json',
7979
}
8080

8181
if certless
@@ -122,8 +122,8 @@ def compile_catalog(node_name, server, certless, tls_cert, tls_key, tls_ca, deri
122122
end
123123

124124
begin
125-
catalog = PSON.parse(ret.body)
126-
rescue PSON::ParserError => e
125+
catalog = JSON.parse(ret.body)
126+
rescue JSON::ParserError => e
127127
raise "Error parsing json output of puppet catalog query for #{node_name}: #{e.message}. Content: #{ret.body}"
128128
end
129129
raise catalog['message'] if catalog.key?('issue_kind')
@@ -132,11 +132,11 @@ def compile_catalog(node_name, server, certless, tls_cert, tls_key, tls_ca, deri
132132
catalog
133133
end
134134

135-
def render_pson(catalog)
136-
pson = PSON.pretty_generate(catalog, allow_nan: true, max_nesting: false)
137-
raise "Could not render catalog as pson, #{catalog}" unless pson
135+
def render_json(catalog)
136+
json = JSON.pretty_generate(catalog, allow_nan: true, max_nesting: false)
137+
raise "Could not render catalog as json, #{catalog}" unless json
138138

139-
pson
139+
json
140140
end
141141

142142
def clean_sensitive_parameters!(catalog)

lib/puppet/catalog-diff/searchfacts.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,8 +77,8 @@ def find_nodes_puppetdb(env, puppetdb, puppetdb_tls_cert, puppetdb_tls_key, pupp
7777
json_query = URI.encode_www_form_component(query.to_json)
7878
result = Puppet.runtime[:http].get(URI("#{puppetdb}/pdb/query/v4/nodes?query=#{json_query}"), headers: headers)
7979
end
80-
filtered = PSON.parse(result.body)
81-
rescue PSON::ParserError => e
80+
filtered = JSON.parse(result.body)
81+
rescue JSON::ParserError => e
8282
raise "Error parsing json output of puppet search: #{e.message}"
8383
end
8484
filtered.map { |node| node['certname'] }

0 commit comments

Comments
 (0)