Skip to content

Commit 7229421

Browse files
committed
cleanup
1 parent 8b4db04 commit 7229421

File tree

2 files changed

+0
-109
lines changed

2 files changed

+0
-109
lines changed

lib/puppet/provider/base_dsc_lite/powershell.rb

Lines changed: 0 additions & 103 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,6 @@
22

33
require 'pathname'
44
require 'json'
5-
require 'erb' # ensure ERB is available
6-
require 'puppet'
7-
require 'puppet/node'
8-
require 'puppet/parser/script_compiler'
9-
require 'puppet/pops/evaluator/deferred_resolver'
105
require_relative '../../../puppet_x/puppetlabs/dsc_lite/powershell_hash_formatter'
116

127
Puppet::Type.type(:base_dsc_lite).provide(:powershell) do
@@ -36,10 +31,6 @@
3631
Puppet (including 3.x), or to a Puppet version newer than 3.x.
3732
UPGRADE
3833

39-
# ---------------------------
40-
# Class helpers
41-
# ---------------------------
42-
4334
def self.upgrade_message
4435
Puppet.warning DSC_LITE_MODULE_PUPPET_UPGRADE_MSG unless @upgrade_warning_issued
4536
@upgrade_warning_issued = true
@@ -157,92 +148,6 @@ def contains_deferred_values?(value)
157148
end
158149
end
159150

160-
# ---------------------------
161-
# Legacy deferred resolution methods (keeping for reference but not using)
162-
# ---------------------------
163-
164-
# 1) Catalog-wide resolve: replace all Deferreds/futures in the catalog
165-
def force_resolve_catalog_deferred!
166-
cat = resource&.catalog
167-
return unless cat
168-
169-
facts = Puppet.lookup(:facts) { nil }
170-
env = if cat.respond_to?(:environment_instance)
171-
cat.environment_instance
172-
else
173-
Puppet.lookup(:current_environment) { nil }
174-
end
175-
176-
begin
177-
Puppet::Pops::Evaluator::DeferredResolver.resolve_and_replace(facts, cat, env, true)
178-
Puppet.notice('DSC PROVIDER SENTINEL → resolve_and_replace invoked')
179-
rescue => e
180-
Puppet.notice("DSC PROVIDER resolve_and_replace error: #{e.class}: #{e.message}")
181-
end
182-
end
183-
184-
# Build a compiler on the agent for local resolution
185-
def build_agent_compiler(env)
186-
node_name = Puppet[:node_name_value]
187-
node = Puppet::Node.new(node_name, environment: env)
188-
189-
# Attaching facts improves function behavior during resolve (best-effort)
190-
begin
191-
facts = Puppet.lookup(:facts) { nil }
192-
node.add_facts(facts) if facts
193-
rescue => e
194-
Puppet.debug("DSC_lite: could not attach facts to node for local resolve: #{e.class}: #{e.message}")
195-
end
196-
197-
if defined?(Puppet::Parser::ScriptCompiler)
198-
Puppet::Parser::ScriptCompiler.new(node, env)
199-
else
200-
Puppet::Parser::Compiler.new(node)
201-
end
202-
end
203-
204-
# 2) Targeted resolve: explicitly resolve the :properties value using a resolver that
205-
# handles both Deferred and evaluator futures, then write it back to the resource.
206-
def force_resolve_properties!
207-
return unless resource.parameters.key?(:properties)
208-
209-
cat = resource&.catalog
210-
env = if cat&.respond_to?(:environment_instance)
211-
cat.environment_instance
212-
else
213-
Puppet.lookup(:current_environment) { nil }
214-
end
215-
216-
begin
217-
compiler = build_agent_compiler(env) if env
218-
return unless compiler # without a compiler, local resolve can't proceed
219-
220-
facts = Puppet.lookup(:facts) { nil }
221-
222-
resolver = Puppet::Pops::Evaluator::DeferredResolver.new(compiler, true)
223-
resolver.set_facts_variable(facts) if facts
224-
225-
# Read current value, resolve deeply, then write back into the parameter
226-
current = resource.parameters[:properties].value
227-
resolved = resolver.resolve(current)
228-
resource.parameters[:properties].value = resolved
229-
230-
# Post-check: what class is properties['Contents'] now?
231-
cls = if resolved.is_a?(Hash) && resolved.key?('Contents')
232-
resolved['Contents'].class
233-
else
234-
resolved.class
235-
end
236-
Puppet.notice("DSC PROVIDER SENTINEL → post-resolve properties.Contents: #{cls}")
237-
rescue => e
238-
Puppet.debug("DSC_lite: explicit properties resolve failed: #{e.class}: #{e.message}")
239-
end
240-
end
241-
242-
# ---------------------------
243-
# Existing provider helpers
244-
# ---------------------------
245-
246151
def dsc_parameters
247152
resource.parameters_with_value.select do |p|
248153
p.name.to_s.include? 'dsc_'
@@ -269,13 +174,7 @@ def format_for_ps(value)
269174
self.class.format_dsc_lite(value)
270175
end
271176

272-
# ---------------------------
273-
# Provider operations
274-
# ---------------------------
275-
276177
def exists?
277-
Puppet.notice("DSC PROVIDER SENTINEL → #{__FILE__}")
278-
279178
# Resolve deferred values right before we start processing
280179
resolve_deferred_values!
281180

@@ -308,8 +207,6 @@ def exists?
308207
end
309208

310209
def create
311-
Puppet.notice("DSC PROVIDER SENTINEL → #{__FILE__}")
312-
313210
# Resolve deferred values right before we start processing
314211
resolve_deferred_values!
315212

lib/puppet/type/dsc.rb

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
# frozen_string_literal: true
22

33
require 'pathname'
4-
require 'puppet/pops/evaluator/deferred_resolver' # ← add: resolver API
54

65
Puppet::Type.newtype(:dsc) do
76
desc <<-DOC
@@ -107,11 +106,6 @@ def change_to_s(currentvalue, newvalue)
107106
end
108107

109108
munge do |value|
110-
# Don't try to resolve deferred values during munge - they should be resolved
111-
# on the agent during catalog application, not during catalog compilation.
112-
# Just pass them through to the provider for proper resolution timing.
113-
Puppet.notice("DSC TYPE SENTINEL → #{__FILE__} - letting deferred values pass through")
114-
115109
PuppetX::DscLite::TypeHelpers.munge_sensitive_hash(value)
116110
end
117111
end

0 commit comments

Comments
 (0)