knife-solo 0.3.0.pre4 → 0.3.0.pre5
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/CHANGELOG.md +12 -0
- data/lib/chef/knife/solo_cook.rb +11 -0
- data/lib/knife-solo/bootstraps/linux.rb +2 -0
- data/lib/knife-solo/info.rb +1 -1
- data/lib/knife-solo/node_config_command.rb +2 -0
- data/lib/knife-solo/resources/solo.rb.erb +4 -0
- data/lib/knife-solo/ssh_command.rb +13 -1
- data/test/node_config_command_test.rb +8 -0
- data/test/solo_cook_test.rb +7 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2d37c6392175177322d6f010c9d1ae3184ee810a
|
4
|
+
data.tar.gz: 1eace0bf587cca78a01689baf2f5f6491ad8bdf7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5d1f44be1d11cfce81ba1f2266ebe9d4a1054c934ae277dd74c180e3ae5ba8a7d731f53546ad1cfeb03d936b590c78f88999a33c92c22689a30f8b725b558c2a
|
7
|
+
data.tar.gz: 2eaa24623d945f97da180d39b38d96cbf92977f42c5d9f29c22beb7742cbb8a84bdfa4f93defb16b113497d774fb40eaa470f119b4d191911206665fa4a21bac
|
data/CHANGELOG.md
CHANGED
@@ -17,9 +17,12 @@
|
|
17
17
|
* Prepare/bootstrap now installs the same version of Chef that the workstation is running ([186])
|
18
18
|
* Switch `--omnibus-version` flag to `--bootstrap-version` ([185])
|
19
19
|
* Support `--override-runlist` option ([204])
|
20
|
+
* Add proxy settings to the generated solo.rb ([254])
|
20
21
|
* Support Fedora 18 and other new EL distros ([229], [51a581])
|
22
|
+
* Support CloudLinux ([262])
|
21
23
|
* Drop support for openSUSE 11
|
22
24
|
* Upgrade chef-solo-search to v0.4.0
|
25
|
+
* Add `--sudo-command` option to use custom remote 'sudo' command ([256])
|
23
26
|
|
24
27
|
## Fixes
|
25
28
|
|
@@ -38,6 +41,7 @@
|
|
38
41
|
* Parse Chef version even if chef-solo command prints warnings ([235], [238])
|
39
42
|
* Upgrade CentOS in integration tests to 5.8 and 6.3 ([237])
|
40
43
|
* Default to `lsb_release` for detecting the Linux distro and add support for RHEL based systems where /etc/issue is modified ([234], [242])
|
44
|
+
* Create the directory for node_config if it does not exist ([253])
|
41
45
|
|
42
46
|
## Thanks to our contributors!
|
43
47
|
|
@@ -47,6 +51,8 @@
|
|
47
51
|
* [Łukasz Dubiel][bambuchaAdm]
|
48
52
|
* [kmdsbng][kmdsbng]
|
49
53
|
* [Darshan Patil][dapatil]
|
54
|
+
* [Shin Tokiwa][tocky]
|
55
|
+
* [Sam Martin][searlm]
|
50
56
|
|
51
57
|
[1]: https://github.com/matschaffer/knife-solo/issues/1
|
52
58
|
[86]: https://github.com/matschaffer/knife-solo/issues/86
|
@@ -77,6 +83,10 @@
|
|
77
83
|
[237]: https://github.com/matschaffer/knife-solo/issues/237
|
78
84
|
[238]: https://github.com/matschaffer/knife-solo/issues/238
|
79
85
|
[242]: https://github.com/matschaffer/knife-solo/issues/242
|
86
|
+
[253]: https://github.com/matschaffer/knife-solo/issues/253
|
87
|
+
[254]: https://github.com/matschaffer/knife-solo/issues/254
|
88
|
+
[256]: https://github.com/matschaffer/knife-solo/issues/256
|
89
|
+
[262]: https://github.com/matschaffer/knife-solo/issues/262
|
80
90
|
[d21756]: https://github.com/matschaffer/knife-solo/commit/d21756
|
81
91
|
[1d3485]: https://github.com/matschaffer/knife-solo/commit/1d3485
|
82
92
|
[f43ba4]: https://github.com/matschaffer/knife-solo/commit/f43ba4
|
@@ -358,9 +368,11 @@ And a special thanks to [Teemu Matilainen][tmatilai] who is now on the list of d
|
|
358
368
|
[rubiojr]: https://github.com/rubiojr
|
359
369
|
[russellcardullo]: https://github.com/russellcardullo
|
360
370
|
[ryandub]: https://github.com/ryandub
|
371
|
+
[searlm]: https://github.com/searlm
|
361
372
|
[skyeagle]: https://github.com/skyeagle
|
362
373
|
[smdern]: https://github.com/smdern
|
363
374
|
[tknerr]: https://github.com/tknerr
|
364
375
|
[tmatilai]: https://github.com/tmatilai
|
376
|
+
[tocky]: https://github.com/tocky
|
365
377
|
[vjpr]: https://github.com/vjpr
|
366
378
|
[zeph]: https://github.com/zeph
|
data/lib/chef/knife/solo_cook.rb
CHANGED
@@ -125,6 +125,17 @@ class Chef
|
|
125
125
|
@cookbook_paths ||= expanded_config_paths(:cookbook_path) + [patch_cookbooks_path]
|
126
126
|
end
|
127
127
|
|
128
|
+
def proxy_setting_keys
|
129
|
+
[:http_proxy, :https_proxy, :http_proxy_user, :http_proxy_pass, :no_proxy]
|
130
|
+
end
|
131
|
+
|
132
|
+
def proxy_settings
|
133
|
+
proxy_setting_keys.inject(Hash.new) do |ret, key|
|
134
|
+
ret[key] = Chef::Config[key] if Chef::Config[key]
|
135
|
+
ret
|
136
|
+
end
|
137
|
+
end
|
138
|
+
|
128
139
|
def add_cookbook_path(path)
|
129
140
|
path = expand_path path
|
130
141
|
cookbook_paths.unshift(path) unless cookbook_paths.include?(path)
|
data/lib/knife-solo/info.rb
CHANGED
@@ -2,6 +2,7 @@ module KnifeSolo
|
|
2
2
|
module NodeConfigCommand
|
3
3
|
|
4
4
|
def self.load_deps
|
5
|
+
require 'fileutils'
|
5
6
|
require 'pathname'
|
6
7
|
end
|
7
8
|
|
@@ -51,6 +52,7 @@ module KnifeSolo
|
|
51
52
|
Chef::Log.debug "Node config '#{node_config}' already exists"
|
52
53
|
else
|
53
54
|
ui.msg "Generating node config '#{node_config}'..."
|
55
|
+
FileUtils.mkdir_p(node_config.dirname)
|
54
56
|
File.open(node_config, 'w') do |f|
|
55
57
|
attributes = config[:json_attributes] || config[:first_boot_attributes] || {}
|
56
58
|
run_list = { :run_list => config[:run_list] || [] }
|
@@ -54,6 +54,11 @@ module KnifeSolo
|
|
54
54
|
:short => '-s FILE',
|
55
55
|
:long => '--startup-script FILE',
|
56
56
|
:description => 'The startup script on the remote server containing variable definitions'
|
57
|
+
|
58
|
+
option :sudo_command,
|
59
|
+
:long => '--sudo-command SUDO_COMMAND',
|
60
|
+
:description => 'The command to use instead of sudo for admin privileges'
|
61
|
+
|
57
62
|
end
|
58
63
|
end
|
59
64
|
|
@@ -147,6 +152,10 @@ module KnifeSolo
|
|
147
152
|
[host_arg, config_arg, ident_arg, port_arg].compact.join(' ')
|
148
153
|
end
|
149
154
|
|
155
|
+
def sudo_command
|
156
|
+
config[:sudo_command]
|
157
|
+
end
|
158
|
+
|
150
159
|
def startup_script
|
151
160
|
config[:startup_script]
|
152
161
|
end
|
@@ -187,7 +196,10 @@ module KnifeSolo
|
|
187
196
|
end
|
188
197
|
|
189
198
|
def process_sudo(command)
|
190
|
-
if
|
199
|
+
if sudo_command
|
200
|
+
Chef::Log.debug("Using replacement sudo command: #{sudo_command}")
|
201
|
+
replacement = sudo_command
|
202
|
+
elsif sudo_available?
|
191
203
|
replacement = 'sudo -p \'knife sudo password: \''
|
192
204
|
else
|
193
205
|
replacement = ''
|
@@ -118,6 +118,14 @@ class NodeConfigCommandTest < TestCase
|
|
118
118
|
end
|
119
119
|
end
|
120
120
|
|
121
|
+
def test_creates_the_nodes_directory_if_needed
|
122
|
+
outside_kitchen do
|
123
|
+
cmd = command(@host, "--node-name=mynode")
|
124
|
+
cmd.generate_node_config
|
125
|
+
assert cmd.node_config.exist?
|
126
|
+
end
|
127
|
+
end
|
128
|
+
|
121
129
|
def command(*args)
|
122
130
|
knife_command(DummyNodeConfigCommand, *args)
|
123
131
|
end
|
data/test/solo_cook_test.rb
CHANGED
@@ -77,6 +77,13 @@ class SoloCookTest < TestCase
|
|
77
77
|
assert_equal "/some/other/path", cmd.cookbook_paths[2].to_s
|
78
78
|
end
|
79
79
|
|
80
|
+
def test_sets_proxy_settings
|
81
|
+
Chef::Config[:http_proxy] = "http://proxy:3128"
|
82
|
+
Chef::Config[:no_proxy] = nil
|
83
|
+
conf = command.proxy_settings
|
84
|
+
assert_equal({ :http_proxy => "http://proxy:3128" }, conf)
|
85
|
+
end
|
86
|
+
|
80
87
|
def test_does_not_run_berkshelf_if_no_berkfile
|
81
88
|
in_kitchen do
|
82
89
|
Berkshelf::Berksfile.any_instance.expects(:install).never
|
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.3.0.
|
4
|
+
version: 0.3.0.pre5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mat Schaffer
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-
|
11
|
+
date: 2013-07-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: berkshelf
|