knife-solo 0.7.0.pre → 0.7.0.pre2
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 +4 -4
- data/lib/chef/knife/solo_clean.rb +1 -1
- data/lib/chef/knife/solo_cook.rb +13 -0
- data/lib/knife-solo/info.rb +1 -1
- data/lib/knife-solo/resources/solo.rb.erb +2 -0
- data/lib/knife-solo/ssh_command.rb +0 -1
- data/test/gemfiles/Gemfile.chef-13 +5 -0
- data/test/solo_clean_test.rb +7 -1
- data/test/solo_cook_test.rb +9 -6
- data/test/ssh_command_test.rb +28 -0
- metadata +4 -6
- data/test/gemfiles/Gemfile.chef-10 +0 -21
- data/test/gemfiles/Gemfile.chef-11 +0 -19
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2cd8ed21100393ee29ead0eafe2cc97f0436daaf
|
4
|
+
data.tar.gz: eade95b600e9eb50fcd29dcb6e0e97e3267b5555
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4c7a9ad01f4efb1ba3be49184c7976f8d95ba654590ce31b920e2338f4481f3233c0ee8f7bf15540180c131df6fe970859c5b658e1a25273a7d158730226de09
|
7
|
+
data.tar.gz: 88d901f75f658efc40fe4f84dfad967071fd7b64420a9c44073813b97b291144401161fb5442d871952c27bf8c10c573ac1b449b39abc037538a9cfd5eb0a282
|
data/lib/chef/knife/solo_cook.rb
CHANGED
@@ -79,6 +79,11 @@ class Chef
|
|
79
79
|
:long => '--legacy-mode',
|
80
80
|
:description => 'Run chef-solo in legacy mode'
|
81
81
|
|
82
|
+
option :log_level,
|
83
|
+
:short => '-l LEVEL',
|
84
|
+
:long => '--log-level',
|
85
|
+
:description => 'Set the log level for Chef'
|
86
|
+
|
82
87
|
def run
|
83
88
|
time('Run') do
|
84
89
|
|
@@ -143,6 +148,14 @@ class Chef
|
|
143
148
|
Chef::Config[:solo_legacy_mode] || false
|
144
149
|
end
|
145
150
|
|
151
|
+
def log_level
|
152
|
+
config_value(:log_level, Chef::Config[:log_level] || :warn).to_sym
|
153
|
+
end
|
154
|
+
|
155
|
+
def enable_reporting
|
156
|
+
config_value(:enable_reporting, true)
|
157
|
+
end
|
158
|
+
|
146
159
|
def expand_path(path)
|
147
160
|
Pathname.new(path).expand_path
|
148
161
|
end
|
data/lib/knife-solo/info.rb
CHANGED
@@ -10,6 +10,8 @@ environment_path File.join(base, 'environments')
|
|
10
10
|
environment <%= node_environment.inspect %>
|
11
11
|
ssl_verify_mode <%= ssl_verify_mode.inspect %>
|
12
12
|
solo_legacy_mode <%= solo_legacy_mode.inspect %>
|
13
|
+
log_level <%= log_level.inspect %>
|
14
|
+
enable_reporting <%= enable_reporting.inspect %>
|
13
15
|
|
14
16
|
cookbook_path []
|
15
17
|
<% cookbook_paths.each_with_index do |path, i| -%>
|
data/test/solo_clean_test.rb
CHANGED
@@ -6,9 +6,15 @@ require 'chef/knife/solo_clean'
|
|
6
6
|
class SoloCleanTest < TestCase
|
7
7
|
include ValidationHelper::ValidationTests
|
8
8
|
|
9
|
+
def test_removes_default_directory
|
10
|
+
cmd = command('somehost')
|
11
|
+
cmd.expects(:run_command).with('sudo rm -rf ~/chef-solo').returns(SuccessfulResult.new)
|
12
|
+
cmd.run
|
13
|
+
end
|
14
|
+
|
9
15
|
def test_removes_provision_path
|
10
16
|
cmd = command('somehost', '--provisioning-path=/foo/bar')
|
11
|
-
cmd.expects(:run_command).with('rm -rf /foo/bar').returns(SuccessfulResult.new)
|
17
|
+
cmd.expects(:run_command).with('sudo rm -rf /foo/bar').returns(SuccessfulResult.new)
|
12
18
|
cmd.run
|
13
19
|
end
|
14
20
|
|
data/test/solo_cook_test.rb
CHANGED
@@ -133,12 +133,15 @@ class SoloCookTest < TestCase
|
|
133
133
|
assert_equal "/some/other/path", cmd.cookbook_paths[2].to_s
|
134
134
|
end
|
135
135
|
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
136
|
+
# NOTE (mat): Looks like chef::config might be setting HTTP_PROXY which blocks
|
137
|
+
# subsequent HTTP requests during tests (like sending coverage reports).
|
138
|
+
# Commenting out until this can be re-written with appropriate stubbing.
|
139
|
+
# def test_sets_proxy_settings
|
140
|
+
# Chef::Config[:http_proxy] = "http://proxy:3128"
|
141
|
+
# Chef::Config[:no_proxy] = nil
|
142
|
+
# conf = command.proxy_settings
|
143
|
+
# assert_equal({ :http_proxy => "http://proxy:3128" }, conf)
|
144
|
+
# end
|
142
145
|
|
143
146
|
def test_adds_patch_cookboks_with_lowest_precedence
|
144
147
|
in_kitchen do
|
data/test/ssh_command_test.rb
CHANGED
@@ -208,6 +208,27 @@ class SshCommandTest < TestCase
|
|
208
208
|
assert_equal 300, cmd.connection_options[:keepalive_interval]
|
209
209
|
end
|
210
210
|
|
211
|
+
def test_handle_custom_sudo_command
|
212
|
+
cmd = sudo_command("usertest@10.0.0.1", "--sudo-command=/usr/some/sudo")
|
213
|
+
assert_equal "/usr/some/sudo", cmd.sudo_command
|
214
|
+
end
|
215
|
+
|
216
|
+
def test_replace_sudo_with_default_sudo_command
|
217
|
+
cmd = sudo_command("usertest@10.0.0.1")
|
218
|
+
KnifeSolo::SshConnection.any_instance.expects(:run_command).once
|
219
|
+
.with("sudo -p 'knife sudo password: ' foo", nil)
|
220
|
+
|
221
|
+
cmd.run_command("sudo foo")
|
222
|
+
end
|
223
|
+
|
224
|
+
def test_replace_sudo_with_custom_sudo_command
|
225
|
+
cmd = sudo_command("usertest@10.0.0.1", "--sudo-command=/usr/some/sudo")
|
226
|
+
KnifeSolo::SshConnection.any_instance.expects(:run_command).once
|
227
|
+
.with("/usr/some/sudo foo", nil)
|
228
|
+
|
229
|
+
cmd.run_command("sudo foo")
|
230
|
+
end
|
231
|
+
|
211
232
|
def test_barks_if_ssh_keepalive_is_zero
|
212
233
|
cmd = command("usertest@10.0.0.1", "--ssh-keepalive-interval=0")
|
213
234
|
cmd.ui.expects(:fatal).with(regexp_matches(/--ssh-keepalive-interval.*positive number/))
|
@@ -225,4 +246,11 @@ class SshCommandTest < TestCase
|
|
225
246
|
Net::SSH::Config.stubs(:default_files)
|
226
247
|
knife_command(DummySshCommand, *args)
|
227
248
|
end
|
249
|
+
|
250
|
+
def sudo_command(*args)
|
251
|
+
cmd = command(*args)
|
252
|
+
cmd.stubs(:detect_authentication_method).returns(true)
|
253
|
+
cmd.stubs(:sudo_available?).returns(true)
|
254
|
+
cmd
|
255
|
+
end
|
228
256
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: knife-solo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.7.0.
|
4
|
+
version: 0.7.0.pre2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mat Schaffer
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-11-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: berkshelf
|
@@ -270,9 +270,8 @@ files:
|
|
270
270
|
- lib/knife-solo/tools.rb
|
271
271
|
- test/bootstraps_test.rb
|
272
272
|
- test/deprecated_command_test.rb
|
273
|
-
- test/gemfiles/Gemfile.chef-10
|
274
|
-
- test/gemfiles/Gemfile.chef-11
|
275
273
|
- test/gemfiles/Gemfile.chef-12
|
274
|
+
- test/gemfiles/Gemfile.chef-13
|
276
275
|
- test/gemfiles/Gemfile.chef-master
|
277
276
|
- test/gitignore_test.rb
|
278
277
|
- test/integration/amazon_linux_2016_03_bootstrap_test.rb
|
@@ -363,9 +362,8 @@ summary: A collection of knife plugins for dealing with chef solo
|
|
363
362
|
test_files:
|
364
363
|
- test/bootstraps_test.rb
|
365
364
|
- test/deprecated_command_test.rb
|
366
|
-
- test/gemfiles/Gemfile.chef-10
|
367
|
-
- test/gemfiles/Gemfile.chef-11
|
368
365
|
- test/gemfiles/Gemfile.chef-12
|
366
|
+
- test/gemfiles/Gemfile.chef-13
|
369
367
|
- test/gemfiles/Gemfile.chef-master
|
370
368
|
- test/gitignore_test.rb
|
371
369
|
- test/integration/amazon_linux_2016_03_bootstrap_test.rb
|
@@ -1,21 +0,0 @@
|
|
1
|
-
source 'https://rubygems.org'
|
2
|
-
|
3
|
-
gemspec :path => '../..'
|
4
|
-
|
5
|
-
gem 'chef', '~> 10.34'
|
6
|
-
|
7
|
-
platform :ruby_19 do
|
8
|
-
gem 'berkshelf-api-client', '~> 1.3.1'
|
9
|
-
gem 'tins', '~> 1.6.0'
|
10
|
-
gem 'varia_model', '~> 0.4.0'
|
11
|
-
gem 'json', '~> 1.8.1'
|
12
|
-
gem 'mixlib-config', '~> 1.1.2'
|
13
|
-
gem 'ohai', '~> 6.24.2'
|
14
|
-
gem 'nio4r', '~> 1.2.1'
|
15
|
-
gem 'buff-ignore', '~> 1.1.1'
|
16
|
-
gem 'rack', '~> 1.6.5'
|
17
|
-
gem 'net-http-persistent', '~> 2.9.4'
|
18
|
-
gem 'dep_selector', '<= 1.0.3'
|
19
|
-
gem 'term-ansicolor', '~> 1.3.2'
|
20
|
-
gem 'nokogiri', '~> 1.6.8'
|
21
|
-
end
|
@@ -1,19 +0,0 @@
|
|
1
|
-
source 'https://rubygems.org'
|
2
|
-
|
3
|
-
gemspec :path => '../..'
|
4
|
-
|
5
|
-
gem 'chef', '~> 11'
|
6
|
-
|
7
|
-
platform :ruby_19 do
|
8
|
-
gem 'berkshelf-api-client', '~> 1.3.1'
|
9
|
-
gem 'tins', '~> 1.6.0'
|
10
|
-
gem 'varia_model', '~> 0.4.0'
|
11
|
-
gem 'ohai', '~> 7.4.1'
|
12
|
-
gem 'nio4r', '~> 1.2.1'
|
13
|
-
gem 'buff-ignore', '~> 1.1.1'
|
14
|
-
gem 'rack', '~> 1.6.5'
|
15
|
-
gem 'net-http-persistent', '~> 2.9.4'
|
16
|
-
gem 'dep_selector', '<= 1.0.3'
|
17
|
-
gem 'term-ansicolor', '~> 1.3.2'
|
18
|
-
gem 'nokogiri', '~> 1.6.8'
|
19
|
-
end
|