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: 5be555bf70fffed6373baa36a99da8515ed67e9a
4
- data.tar.gz: c4dd227f5213333113a5c7a01a70654fb89ae3c2
3
+ metadata.gz: f1b06089e68d4eb0f837b41d3188b0feb279b566
4
+ data.tar.gz: 9b0eda22fe8d43d67e14db2605893c78c56050a9
5
5
  SHA512:
6
- metadata.gz: f1aa194a7cf1e04d37d66a52a6131fa4a4d39ed4a90c8981ffcd40fb96f4fb997e12d15528ce8fd3c7c4c88f0b22b39e3f38b8fdac4b7644cbdc96e84d4339d0
7
- data.tar.gz: f88137f380f7c94bcea0d0cc07f63947a8137f8f931c1f8202efd2ee663a3898529c250375bb5fb1a77ffd6f7537c4b7c53ea813e89e594da11782d3143a917c
6
+ metadata.gz: cd298075d5bce6683963c2eb9a56a2db37ca5820d740dd09b9658c6f89b71262db1c9b0b224c66aea334f3dcf52935bd19fa0261b99eafe32e53500671a3e97f
7
+ data.tar.gz: b9df47f058f1098496e20328a46238fd38c7e439f85518204cb80418ccfe19cc0d1a11aacc7f05458efee9a895a4258957e1672412ed76d46998ed8a04b3bc6e
@@ -1,3 +1,3 @@
1
1
  module DtkNodeAgent
2
- VERSION="0.7.3"
2
+ VERSION="0.7.4"
3
3
  end
@@ -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 reply
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 = "#{git_server}:#{vc[: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.3
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-04-30 00:00:00.000000000 Z
11
+ date: 2015-07-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: puppet