mofa 0.3.22 → 0.3.23
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.
- data/lib/mofa/provision_cmd.rb +10 -20
- data/lib/mofa/released_cookbook.rb +4 -0
- data/lib/mofa/version.rb +1 -1
- metadata +1 -1
data/lib/mofa/provision_cmd.rb
CHANGED
@@ -68,7 +68,7 @@ class ProvisionCmd < MofaCmd
|
|
68
68
|
puts "ERROR (#{out[0]}): #{out[2]}" if out[0] != 0
|
69
69
|
|
70
70
|
# remotely create a data_bags folder structure on the target host
|
71
|
-
if
|
71
|
+
if File.directory?("#{cookbook.source_dir}/data_bags")
|
72
72
|
Dir.entries("#{cookbook.source_dir}/data_bags").select { |f| !f.match(/^\.\.?$/) }.each do |data_bag|
|
73
73
|
puts "Remotely creating data_bags dir \"#{solo_dir}/data_bags/#{data_bag}\""
|
74
74
|
out = ssh_exec!(ssh, "[ -d #{solo_dir}/data_bags/#{data_bag} ] || mkdir -p #{solo_dir}/data_bags/#{data_bag}")
|
@@ -81,15 +81,7 @@ class ProvisionCmd < MofaCmd
|
|
81
81
|
def create_solo_rb(sftp, hostname, solo_dir)
|
82
82
|
puts "Remotely creating \"#{solo_dir}/solo.rb\""
|
83
83
|
sftp.file.open("#{solo_dir}/solo.rb", "w") do |file|
|
84
|
-
|
85
|
-
solo_rb = <<-"EOF"
|
86
|
-
cookbook_path [ "#{solo_dir}/cookbooks" ]
|
87
|
-
EOF
|
88
|
-
else
|
89
|
-
solo_rb = <<-"EOF"
|
90
|
-
recipe_url "#{solo_dir}/#{cookbook.pkg_name}"
|
91
|
-
EOF
|
92
|
-
end
|
84
|
+
cookbook_path [ "#{solo_dir}/cookbooks" ]
|
93
85
|
solo_rb += <<-"EOF"
|
94
86
|
data_bag_path "#{solo_dir}/data_bags"
|
95
87
|
log_level :info
|
@@ -116,7 +108,7 @@ class ProvisionCmd < MofaCmd
|
|
116
108
|
|
117
109
|
def create_data_bags(sftp, hostname, solo_dir)
|
118
110
|
puts "Remotely creating data_bags items..."
|
119
|
-
if
|
111
|
+
if File.directory?("#{cookbook.source_dir}/data_bags")
|
120
112
|
Dir.entries("#{cookbook.source_dir}/data_bags/").each do |data_bag|
|
121
113
|
next if data_bag =~ /^\.\.?$/
|
122
114
|
puts "Found data_bag #{data_bag}... "
|
@@ -172,15 +164,13 @@ class ProvisionCmd < MofaCmd
|
|
172
164
|
# Do it -> Execute the chef-solo run!
|
173
165
|
Net::SSH.start(hostname, Mofa::Config::config['ssh_user'], :keys => [Mofa::Config::config['ssh_keyfile']], :port => Mofa::Config.config['ssh_port'], :verbose => :error) do |ssh|
|
174
166
|
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
puts "OK."
|
183
|
-
end
|
167
|
+
puts "Remotely unpacking Cookbook Package #{cookbook.pkg_name}... "
|
168
|
+
out = ssh_exec!(ssh, "cd #{solo_dir}; tar xvfz #{cookbook.pkg_name}")
|
169
|
+
if out[0] != 0
|
170
|
+
puts "ERROR (#{out[0]}): #{out[2]}"
|
171
|
+
puts out[1]
|
172
|
+
else
|
173
|
+
puts "OK."
|
184
174
|
end
|
185
175
|
|
186
176
|
puts "Remotely running chef-solo -c #{solo_dir}/solo.rb -j #{solo_dir}/node.json"
|
@@ -65,6 +65,10 @@ class ReleasedCookbook < Cookbook
|
|
65
65
|
|
66
66
|
# ------------- /Interface Methods
|
67
67
|
|
68
|
+
def source_dir
|
69
|
+
pkg_dir
|
70
|
+
end
|
71
|
+
|
68
72
|
def cleanup!
|
69
73
|
unless (Dir.entries("#{Mofa::Config.config['tmp_dir']}/.mofa") - %w{ . .. }).empty?
|
70
74
|
say "Removing content of folder #{Mofa::Config.config['tmp_dir']}/.mofa"
|
data/lib/mofa/version.rb
CHANGED