kafo 0.3.16 → 0.3.17

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: 03c36bfb4348602957dcfdff37b490fa9b3155be
4
- data.tar.gz: 7c5199e8fc59fec355df391f66822c179ab0cbd2
3
+ metadata.gz: 426538f59aa0198c703fa2aef6172b06e3297bf9
4
+ data.tar.gz: ca884204fb99cac059c8aaa41d6a6f4baadcfa40
5
5
  SHA512:
6
- metadata.gz: 72409d27691da2d30e6203e7414a820ac53d4a5595d5017c337460c82332ec50a5e6f71b90508e00286bc360534207c38dc3995ac64b997a19b8f90a77858f9c
7
- data.tar.gz: ecbbe03cad1f876825ba53a5500ebf08fb26b5488e3c9d534cfd84bf8039663e06cc9802b1a85da5e44d4d8bd26e5758bbf9254e1766cff64b69a77faf50c246
6
+ metadata.gz: 6d474f25575e38ceedbe7726450168bad1225737fe32d22a5c58ce15f39cef8d1bde03899e7f3a556b915defbfb5632094b800c25d27b9e06cf56a5e47ef2f55
7
+ data.tar.gz: d1e54d17cfb71fa7493ce77ea1aff6b5d544895daf8573141da6ea205ef6a5b339abc05ce1b703fcf830bc96e0cf0fcc9e785d12d522bc02c69fa13399407c98
@@ -1,5 +1,6 @@
1
1
  # encoding: UTF-8
2
2
  require 'yaml'
3
+ require 'tmpdir'
3
4
  require 'kafo/puppet_module'
4
5
  require 'kafo/password_manager'
5
6
 
@@ -74,8 +75,11 @@ module Kafo
74
75
 
75
76
  def params_default_values
76
77
  @params_default_values ||= begin
78
+ @logger.debug "Creating tmp dir within #{app[:default_values_dir]}..."
79
+ temp_dir = Dir.mktmpdir(nil, app[:default_values_dir])
80
+ KafoConfigure.register_cleanup_path temp_dir
77
81
  @logger.info "Parsing default values from puppet modules..."
78
- command = PuppetCommand.new("#{includes} dump_values(#{params})").append('2>&1').command
82
+ command = PuppetCommand.new("$temp_dir=\"#{temp_dir}\" #{includes} dump_values(#{params})").append('2>&1').command
79
83
  @logger.debug `#{command}`
80
84
  unless $?.exitstatus == 0
81
85
  log = app[:log_dir] + '/' + app[:log_name]
@@ -84,7 +88,7 @@ module Kafo
84
88
  KafoConfigure.exit(:defaults_error)
85
89
  end
86
90
  @logger.info "... finished"
87
- YAML.load_file(File.join(KafoConfigure.config.app[:default_values_dir], 'default_values.yaml'))
91
+ YAML.load_file(File.join(temp_dir, 'default_values.yaml'))
88
92
  end
89
93
  end
90
94
 
@@ -17,12 +17,15 @@ module Kafo
17
17
  class KafoConfigure < Clamp::Command
18
18
  include StringHelper
19
19
 
20
-
21
20
  class << self
22
21
  attr_accessor :config, :root_dir, :config_file, :gem_root, :temp_config_file,
23
22
  :modules_dir, :kafo_modules_dir, :verbose, :app_options, :logger
24
23
  attr_writer :hooking
25
24
 
25
+ def cleanup_paths
26
+ @cleanup_paths ||= []
27
+ end
28
+
26
29
  def hooking
27
30
  @hooking ||= Hooking.new
28
31
  end
@@ -105,6 +108,7 @@ module Kafo
105
108
  end
106
109
 
107
110
  def self.exit(code)
111
+ cleanup
108
112
  @exit_code = translate_exit_code(code)
109
113
  throw :exit
110
114
  end
@@ -128,6 +132,26 @@ module Kafo
128
132
  end
129
133
  end
130
134
 
135
+ def self.cleanup
136
+ # make sure default values are removed from /tmp
137
+ (self.cleanup_paths + ['/tmp/default_values.yaml']).each do |file|
138
+ logger.debug "Cleaning #{file}"
139
+ FileUtils.rm_rf(file)
140
+ end
141
+ end
142
+
143
+ def self.register_cleanup_path(path)
144
+ self.cleanup_paths<< path
145
+ end
146
+
147
+ def register_cleanup_path(path)
148
+ self.class.register_cleanup_path(path)
149
+ end
150
+
151
+ def cleanup_paths
152
+ self.class.cleanup_paths
153
+ end
154
+
131
155
  def help
132
156
  self.class.help(invocation_path, self)
133
157
  end
@@ -1,4 +1,4 @@
1
1
  # encoding: UTF-8
2
2
  module Kafo
3
- VERSION = "0.3.16"
3
+ VERSION = "0.3.17"
4
4
  end
@@ -9,7 +9,10 @@ module Puppet::Parser::Functions
9
9
  [arg, found_value.nil? ? arg : found_value]
10
10
  end
11
11
  data = Hash[data]
12
- dump_dir = YAML.load_file(lookupvar('kafo_config_file'))[:default_values_dir]
13
- File.open("#{dump_dir}/default_values.yaml", 'w') { |file| file.write(YAML.dump(data)) }
12
+
13
+ dump_dir = lookupvar('temp_dir')
14
+ file_name = "#{dump_dir}/default_values.yaml"
15
+
16
+ File.open(file_name, File::WRONLY|File::CREAT|File::EXCL, 0600) { |file| file.write(YAML.dump(data)) }
14
17
  end
15
18
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kafo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.16
4
+ version: 0.3.17
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marek Hulan
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-02-20 00:00:00.000000000 Z
11
+ date: 2014-04-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler