dtk-node-agent 0.7.3 → 0.7.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f1b06089e68d4eb0f837b41d3188b0feb279b566
|
4
|
+
data.tar.gz: 9b0eda22fe8d43d67e14db2605893c78c56050a9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cd298075d5bce6683963c2eb9a56a2db37ca5820d740dd09b9658c6f89b71262db1c9b0b224c66aea334f3dcf52935bd19fa0261b99eafe32e53500671a3e97f
|
7
|
+
data.tar.gz: b9df47f058f1098496e20328a46238fd38c7e439f85518204cb80418ccfe19cc0d1a11aacc7f05458efee9a895a4258957e1672412ed76d46998ed8a04b3bc6e
|
@@ -19,7 +19,13 @@ module MCollective
|
|
19
19
|
reply[:results] = json_result['results']
|
20
20
|
reply[:errors] = json_result['errors']
|
21
21
|
|
22
|
-
Log.info
|
22
|
+
Log.info "Results: "
|
23
|
+
Log.info reply[:results]
|
24
|
+
|
25
|
+
Log.info "Errors: "
|
26
|
+
Log.info reply[:errors]
|
27
|
+
|
28
|
+
|
23
29
|
reply[:pbuilderid] = Facts["pbuilderid"]
|
24
30
|
|
25
31
|
if reply[:errors].empty?
|
@@ -40,7 +40,7 @@ module MCollective
|
|
40
40
|
puppet_run_response = nil
|
41
41
|
begin
|
42
42
|
unless git_server = Facts["git-server"]
|
43
|
-
raise "git-server is not set in facts"
|
43
|
+
raise "git-server is not set in facts"
|
44
44
|
end
|
45
45
|
response = pull_modules(request[:version_context],git_server)
|
46
46
|
return set_reply!(response) if response.failed?()
|
@@ -69,7 +69,7 @@ module MCollective
|
|
69
69
|
module_name = vc[:implementation]
|
70
70
|
puppet_repo_dir = "#{DTKPuppetModulePath}/#{module_name}"
|
71
71
|
repo_dir = "#{ModulePath}/#{module_name}"
|
72
|
-
remote_repo =
|
72
|
+
remote_repo = git_repo_full_url(git_server, vc[:repo])
|
73
73
|
|
74
74
|
opts = Hash.new
|
75
75
|
opts.merge!(:sha => vc[:sha]) if vc[:sha]
|
@@ -120,7 +120,14 @@ module MCollective
|
|
120
120
|
#git library sets these vars; so reseting here
|
121
121
|
%w{GIT_DIR GIT_INDEX_FILE GIT_WORK_TREE}.each{|var|ENV[var]=nil}
|
122
122
|
end
|
123
|
-
ret
|
123
|
+
ret
|
124
|
+
end
|
125
|
+
|
126
|
+
#
|
127
|
+
# Keep in mind that if we are using default format of git url the name of repo is added after ':' symbol.
|
128
|
+
# When using ssh style URL repo name is added after '/'
|
129
|
+
def git_repo_full_url(git_url, repo_name)
|
130
|
+
"#{git_url}/#{repo_name}"
|
124
131
|
end
|
125
132
|
|
126
133
|
# returns a trapped error
|
@@ -152,7 +159,7 @@ module MCollective
|
|
152
159
|
puppet_version = request[:puppet_version]
|
153
160
|
|
154
161
|
if puppet_version
|
155
|
-
@log.info("Setting user provided puppet version '#{puppet_version}'")
|
162
|
+
@log.info("Setting user provided puppet version '#{puppet_version}'")
|
156
163
|
puppet_version = "_#{puppet_version}_"
|
157
164
|
end
|
158
165
|
|
@@ -188,16 +195,16 @@ module MCollective
|
|
188
195
|
manifest_path = dtk_puppet_cache.node_manifest_path(inter_node_stage,i+1)
|
189
196
|
File.open(manifest_path,"w"){|f| f << execute_string}
|
190
197
|
|
191
|
-
cmd_line =
|
198
|
+
cmd_line =
|
192
199
|
[
|
193
|
-
"apply",
|
194
|
-
"-l", log_file_path,
|
195
|
-
"-d",
|
200
|
+
"apply",
|
201
|
+
"-l", log_file_path,
|
202
|
+
"-d",
|
196
203
|
"--report", "true", "--reports", "r8report",
|
197
204
|
#"--storeconfigs_backend", "r8_storeconfig_backend",
|
198
205
|
"-e", execute_string
|
199
206
|
]
|
200
|
-
cmd = "/usr/bin/puppet"
|
207
|
+
cmd = "/usr/bin/puppet"
|
201
208
|
save_stderr = $stderr
|
202
209
|
stderr_capture = Tempfile.new("stderr")
|
203
210
|
$stderr = stderr_capture
|
@@ -231,7 +238,7 @@ module MCollective
|
|
231
238
|
else
|
232
239
|
ret.set_status_failed!()
|
233
240
|
error_info = {
|
234
|
-
:return_code => return_code
|
241
|
+
:return_code => return_code
|
235
242
|
}
|
236
243
|
if runtime_errors = (report_info||{})[:errors]
|
237
244
|
error_info[:errors] = runtime_errors.map{|e|e.merge(:type => "user_error")}
|
@@ -244,7 +251,7 @@ module MCollective
|
|
244
251
|
ret.set_status_failed!()
|
245
252
|
ret.merge!(error_info(e))
|
246
253
|
ensure
|
247
|
-
# Amar: If puppet_apply thread was killed from puppet_cancel, ':is_canceled' flag is set on the thread,
|
254
|
+
# Amar: If puppet_apply thread was killed from puppet_cancel, ':is_canceled' flag is set on the thread,
|
248
255
|
# so puppet_apply can send status canceled in the response
|
249
256
|
ret ||= Response.new()
|
250
257
|
if Thread.current[:is_canceled]
|
@@ -263,14 +270,14 @@ module MCollective
|
|
263
270
|
if err_message = compile_error_message?(return_code,stderr_msg,log_file_path)
|
264
271
|
ret[:errors] = [{:message => err_message, :type => "user_error" }]
|
265
272
|
ret.set_status_failed!()
|
266
|
-
Puppet::err stderr_msg
|
273
|
+
Puppet::err stderr_msg
|
267
274
|
Puppet::info "(end)"
|
268
275
|
end
|
269
276
|
end
|
270
277
|
end
|
271
278
|
Puppet::Util::Log.close_all()
|
272
279
|
end
|
273
|
-
ret
|
280
|
+
ret
|
274
281
|
end
|
275
282
|
|
276
283
|
def compile_error_message?(return_code,stderr_msg,log_file_path)
|
@@ -279,7 +286,7 @@ module MCollective
|
|
279
286
|
elsif return_code != 0
|
280
287
|
rest_reverse = Array.new
|
281
288
|
error = nil
|
282
|
-
begin
|
289
|
+
begin
|
283
290
|
File.open(log_file_path).read.split("\n").reverse_each do |line|
|
284
291
|
if line =~ /^.+Puppet \(err\):\s*(.+$)/
|
285
292
|
error = $1
|
@@ -288,7 +295,7 @@ module MCollective
|
|
288
295
|
rest_reverse << line
|
289
296
|
end
|
290
297
|
end
|
291
|
-
rescue
|
298
|
+
rescue
|
292
299
|
end
|
293
300
|
([error || 'Puppet catalog compile error'] + rest_reverse.reverse).join("\n")
|
294
301
|
end
|
@@ -302,7 +309,7 @@ module MCollective
|
|
302
309
|
log_error = ([e.inspect]+backtrace_subset(e)).join("\n")
|
303
310
|
@log.info("\n----------------error-----\n#{log_error}\n----------------error-----")
|
304
311
|
end
|
305
|
-
|
312
|
+
|
306
313
|
def error_info(e,backtrace=nil)
|
307
314
|
{
|
308
315
|
:error => {
|
@@ -312,7 +319,7 @@ module MCollective
|
|
312
319
|
}
|
313
320
|
end
|
314
321
|
|
315
|
-
#TODO: cleanup fn; need to fix on serevr side; inconsient use of symbol and string keys
|
322
|
+
#TODO: cleanup fn; need to fix on serevr side; inconsient use of symbol and string keys
|
316
323
|
#execute_lines
|
317
324
|
def ret_execute_lines(cmps_with_attrs)
|
318
325
|
ret = Array.new
|
@@ -328,7 +335,7 @@ module MCollective
|
|
328
335
|
cmp = cmp_with_attrs["name"]
|
329
336
|
raise "No component name" unless cmp
|
330
337
|
if imp_stmt = needs_import_statement?(cmp,module_name)
|
331
|
-
ret << imp_stmt
|
338
|
+
ret << imp_stmt
|
332
339
|
end
|
333
340
|
|
334
341
|
#TODO: see if need \" and quote form
|
@@ -380,7 +387,7 @@ module MCollective
|
|
380
387
|
attrs.each do |attr_info|
|
381
388
|
attr_name = attr_info["name"]
|
382
389
|
val = attr_info["value"]
|
383
|
-
case attr_info["type"]
|
390
|
+
case attr_info["type"]
|
384
391
|
when "attribute"
|
385
392
|
ret[attr_name] = val
|
386
393
|
when "imported_collection"
|
@@ -404,7 +411,7 @@ module MCollective
|
|
404
411
|
ret.empty? ? nil : ret
|
405
412
|
end
|
406
413
|
|
407
|
-
|
414
|
+
|
408
415
|
def needs_import_statement?(cmp_or_def,module_name)
|
409
416
|
return nil if cmp_or_def =~ /::/
|
410
417
|
return nil if @import_statement_modules.include?(module_name)
|
@@ -477,8 +484,8 @@ module MCollective
|
|
477
484
|
|
478
485
|
def dynamic_attr_response_el(cmp_name,dyn_attr)
|
479
486
|
ret = nil
|
480
|
-
val =
|
481
|
-
if dyn_attr[:type] == "exported_resource"
|
487
|
+
val =
|
488
|
+
if dyn_attr[:type] == "exported_resource"
|
482
489
|
dynamic_attr_response_el__exported_resource(cmp_name,dyn_attr)
|
483
490
|
elsif dyn_attr[:type] == "default_variable"
|
484
491
|
dynamic_attr_response_el__default_attribute(cmp_name,dyn_attr)
|
@@ -497,7 +504,7 @@ module MCollective
|
|
497
504
|
end
|
498
505
|
|
499
506
|
def dynamic_attr_response_el__exported_resource(cmp_name,dyn_attr)
|
500
|
-
ret = nil
|
507
|
+
ret = nil
|
501
508
|
if cmp_exp_rscs = exported_resources(cmp_name)
|
502
509
|
cmp_exp_rscs.each do |title,val|
|
503
510
|
return val if exp_rsc_match(title,dyn_attr[:title_with_vars])
|
@@ -517,7 +524,7 @@ module MCollective
|
|
517
524
|
|
518
525
|
def regexp_string(title_with_vars)
|
519
526
|
if title_with_vars.kind_of?(Array)
|
520
|
-
case title_with_vars.first
|
527
|
+
case title_with_vars.first
|
521
528
|
when "variable" then ".+"
|
522
529
|
when "fn" then regexp_string__when_op(title_with_vars)
|
523
530
|
else
|
@@ -544,7 +551,7 @@ module MCollective
|
|
544
551
|
ret = nil
|
545
552
|
attr_name = dyn_attr[:name]
|
546
553
|
filepath = (exported_files(cmp_name)||{})[attr_name]
|
547
|
-
#TODO; legacy; remove when deprecate
|
554
|
+
#TODO; legacy; remove when deprecate
|
548
555
|
filepath ||= "/tmp/#{cmp_name.gsub(/::/,".")}.#{attr_name}"
|
549
556
|
begin
|
550
557
|
val = File.open(filepath){|f|f.read}.chomp
|
@@ -560,7 +567,7 @@ module MCollective
|
|
560
567
|
@log.info("no exported varaibles for component #{cmp_name}")
|
561
568
|
return ret
|
562
569
|
end
|
563
|
-
|
570
|
+
|
564
571
|
attr_name = dyn_attr[:name]
|
565
572
|
unless cmp_exp_vars.has_key?(attr_name)
|
566
573
|
@log.info("no exported variable entry for component #{cmp_name}, attribute #{dyn_attr[:name]})")
|
@@ -615,7 +622,7 @@ module MCollective
|
|
615
622
|
DynamicVarDefNameRN = capitalize_resource_name(DynamicVarDefName)
|
616
623
|
|
617
624
|
def quote_form(obj)
|
618
|
-
if obj.kind_of?(Hash)
|
625
|
+
if obj.kind_of?(Hash)
|
619
626
|
"{#{obj.map{|k,v|"#{quote_form(k)} => #{quote_form(v)}"}.join(",")}}"
|
620
627
|
elsif obj.kind_of?(Array)
|
621
628
|
"[#{obj.map{|el|quote_form(el)}.join(",")}]"
|
@@ -683,7 +690,7 @@ module MCollective
|
|
683
690
|
def base_dir()
|
684
691
|
@base_dir ||= mkdir_p(BaseDir)
|
685
692
|
end
|
686
|
-
|
693
|
+
|
687
694
|
def mkdir_p(dir_path)
|
688
695
|
FileUtils.mkdir_p(dir_path)
|
689
696
|
dir_path
|
@@ -697,7 +704,7 @@ module MCollective
|
|
697
704
|
self.merge!(hash)
|
698
705
|
self[:status] = :unknown unless hash.has_key?(:status)
|
699
706
|
end
|
700
|
-
|
707
|
+
|
701
708
|
def to_hash()
|
702
709
|
Hash.new.merge(self)
|
703
710
|
end
|
@@ -731,7 +738,7 @@ module MCollective
|
|
731
738
|
end
|
732
739
|
end
|
733
740
|
end
|
734
|
-
|
741
|
+
|
735
742
|
class Report
|
736
743
|
def self.set_status(status)
|
737
744
|
Thread.current[:report_status] = status.to_sym
|
@@ -748,11 +755,11 @@ module MCollective
|
|
748
755
|
end
|
749
756
|
end
|
750
757
|
|
751
|
-
#below is more complicated to allow reloading
|
758
|
+
#below is more complicated to allow reloading
|
752
759
|
if Puppet::Reports.constants.include?('R8report')
|
753
760
|
Puppet::Reports.send(:remove_const,:R8report)
|
754
761
|
end
|
755
|
-
#TODO: needed to pass {:overwrite => true} to Puppet::Reports.genmodule so expanded def Puppet::Reports.register_report(:r8report)
|
762
|
+
#TODO: needed to pass {:overwrite => true} to Puppet::Reports.genmodule so expanded def Puppet::Reports.register_report(:r8report)
|
756
763
|
def register_report(name,&block)
|
757
764
|
name = name.intern
|
758
765
|
mod = Puppet::Reports.genmodule(name, :overwrite=> true,:extend => Puppet::Util::Docs, :hash => Puppet::Reports.instance_hash(:report), :block => block)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dtk-node-agent
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.7.
|
4
|
+
version: 0.7.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rich PELAVIN
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-07-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: puppet
|