dtk-node-agent 0.7.3 → 0.7.4

Sign up to get free protection for your applications and to get access to all the features.
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