knife-zero 1.1.6 → 1.2.0
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 +7 -0
- data/Guardfile +5 -0
- data/README.md +53 -0
- data/circle.yml +7 -0
- data/knife-zero.gemspec +7 -0
- data/lib/chef/knife/{chef_client.rb → zero_chef_client.rb} +0 -0
- data/lib/chef/knife/zero_diagnose.rb +51 -0
- data/lib/knife-zero/version.rb +1 -1
- data/test/chef/knife/test_zero_bootstrap.rb +29 -0
- data/test/chef/knife/test_zero_chef_client.rb +14 -0
- data/test/knife-zero/test_bootstrap_ssh.rb +18 -0
- data/test/knife-zero/test_versioin.rb +7 -0
- data/test/run_test.rb +25 -0
- metadata +115 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b8b3705dafa27da903873188a610945eeefd35d3
|
4
|
+
data.tar.gz: da2ad9277a6742c1c0ae3b80e73d524e319319e0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d92be972b08258f7ff93818c20c1a669b63590a79556eaa9aae8543137bbe1d0f0b3bea5bdf7649548d148467ff3a3634f54321d5e1bc1f5a71693057831617d
|
7
|
+
data.tar.gz: e769d2d860c44d4bfeee9aa3ef34211ba6d1dec8ad5d6fded9c0b257aac5e903b35a2e08c722ff04bd7f6a2caacb137762d8656d7e6253f7f05b217ddd8000fb
|
data/CHANGELOG.md
CHANGED
data/Guardfile
ADDED
data/README.md
CHANGED
@@ -45,6 +45,7 @@ $ chef gem install knife-zero
|
|
45
45
|
** ZERO COMMANDS **
|
46
46
|
knife zero bootstrap FQDN (options)
|
47
47
|
knife zero chef_client QUERY (options)
|
48
|
+
knife zero diagnose # show configuration from file
|
48
49
|
```
|
49
50
|
|
50
51
|
### knife zero bootstrap
|
@@ -336,6 +337,58 @@ $ knife zero chef_client "name:*" -x vagrant -i ./.vagrant/machines/default/virt
|
|
336
337
|
192.168.33.10 resolving cookbooks for run list: []
|
337
338
|
```
|
338
339
|
|
340
|
+
## Debug for Configration
|
341
|
+
|
342
|
+
`knife zero diagnose` shows configration from file(Such as knife.rb).
|
343
|
+
|
344
|
+
```
|
345
|
+
$ knife zero diagnose
|
346
|
+
|
347
|
+
Chef::Config
|
348
|
+
====================
|
349
|
+
---
|
350
|
+
:local_mode: true
|
351
|
+
:verbosity:
|
352
|
+
:config_file: "/Users/sawanoboriyu/github/higanworks/knife-zero_plyglound/knife.rb"
|
353
|
+
:color: true
|
354
|
+
:log_level: :error
|
355
|
+
:chef_repo_path: "/Users/sawanoboriyu/github/higanworks/knife-zero_plyglound"
|
356
|
+
:log_location: !ruby/object:IO {}
|
357
|
+
:chef_server_url: http://localhost:8889
|
358
|
+
:repo_mode: everything
|
359
|
+
|
360
|
+
Knife::Config
|
361
|
+
====================
|
362
|
+
---
|
363
|
+
:verbosity: 0
|
364
|
+
:color: true
|
365
|
+
:editor: vim
|
366
|
+
:disable_editing: false
|
367
|
+
:format: summary
|
368
|
+
:ssh_user: root
|
369
|
+
:host_key_verify: true
|
370
|
+
:config_file: "/Users/sawanoboriyu/github/higanworks/knife-zero_plyglound/knife.rb"
|
371
|
+
|
372
|
+
Zero Boostrap Config
|
373
|
+
====================
|
374
|
+
---
|
375
|
+
:ssh_user: root
|
376
|
+
:host_key_verify: true
|
377
|
+
:distro: chef-full-localmode
|
378
|
+
:template_file: false
|
379
|
+
:run_list: []
|
380
|
+
:first_boot_attributes: {}
|
381
|
+
|
382
|
+
Zero ChefClient Config
|
383
|
+
====================
|
384
|
+
---
|
385
|
+
:ssh_user: root
|
386
|
+
:host_key_verify: true
|
387
|
+
:concurrency:
|
388
|
+
:override_runlist:
|
389
|
+
```
|
390
|
+
|
391
|
+
|
339
392
|
## Contributing
|
340
393
|
|
341
394
|
1. Fork it ( https://github.com/[my-github-username]/knife-zero/fork )
|
data/circle.yml
ADDED
data/knife-zero.gemspec
CHANGED
@@ -20,6 +20,13 @@ Gem::Specification.new do |spec|
|
|
20
20
|
|
21
21
|
spec.add_development_dependency "bundler", "~> 1.6"
|
22
22
|
spec.add_development_dependency "rake"
|
23
|
+
spec.add_development_dependency "test-unit"
|
24
|
+
spec.add_development_dependency "test-unit-rr"
|
25
|
+
spec.add_development_dependency "test-unit-notify"
|
26
|
+
spec.add_development_dependency "guard"
|
27
|
+
spec.add_development_dependency "guard-shell"
|
28
|
+
spec.add_development_dependency "simplecov"
|
29
|
+
spec.add_development_dependency "simplecov-rcov"
|
23
30
|
|
24
31
|
spec.add_runtime_dependency "chef"
|
25
32
|
end
|
File without changes
|
@@ -0,0 +1,51 @@
|
|
1
|
+
require 'chef/knife'
|
2
|
+
require 'chef/knife/bootstrap'
|
3
|
+
require 'chef/knife/zero_base'
|
4
|
+
|
5
|
+
class Chef
|
6
|
+
class Knife
|
7
|
+
class ZeroDiagnose < Knife
|
8
|
+
include Chef::Knife::ZeroBase
|
9
|
+
|
10
|
+
deps do
|
11
|
+
require 'knife-zero/core/bootstrap_context'
|
12
|
+
require 'chef/knife/zero_bootstrap'
|
13
|
+
require 'chef/knife/zero_chef_client'
|
14
|
+
Chef::Knife::ZeroBootstrap.load_deps
|
15
|
+
Chef::Knife::ZeroChefClient.load_deps
|
16
|
+
end
|
17
|
+
|
18
|
+
banner "knife zero diagnose # show configuration from file"
|
19
|
+
|
20
|
+
def initialize(argv = [])
|
21
|
+
super
|
22
|
+
@bootstrap = Chef::Knife::ZeroBootstrap.new
|
23
|
+
@chef_client = Chef::Knife::ZeroChefClient.new
|
24
|
+
end
|
25
|
+
|
26
|
+
def run
|
27
|
+
ui.msg "Chef::Config"
|
28
|
+
ui.msg "===================="
|
29
|
+
ui.msg Chef::Config.configuration.to_yaml
|
30
|
+
ui.msg ""
|
31
|
+
|
32
|
+
ui.msg "Knife::Config"
|
33
|
+
ui.msg "===================="
|
34
|
+
ui.msg config.to_yaml
|
35
|
+
ui.msg ""
|
36
|
+
|
37
|
+
ui.msg "Zero Boostrap Config"
|
38
|
+
ui.msg "===================="
|
39
|
+
bootstrap = Chef::Knife::ZeroBootstrap.new
|
40
|
+
@bootstrap.merge_configs
|
41
|
+
ui.msg @bootstrap.config.to_yaml
|
42
|
+
ui.msg ""
|
43
|
+
|
44
|
+
ui.msg "Zero ChefClient Config"
|
45
|
+
ui.msg "===================="
|
46
|
+
@chef_client.merge_configs
|
47
|
+
ui.msg @chef_client.config.to_yaml
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
data/lib/knife-zero/version.rb
CHANGED
@@ -0,0 +1,29 @@
|
|
1
|
+
require 'chef/knife/zero_bootstrap'
|
2
|
+
|
3
|
+
class TC_ZeroBootstrap < Test::Unit::TestCase
|
4
|
+
sub_test_case "called with no options" do
|
5
|
+
def setup
|
6
|
+
@app = Chef::Knife::ZeroBootstrap.new
|
7
|
+
@app.merge_configs
|
8
|
+
require 'chef/knife/ssh'
|
9
|
+
Chef::Knife::ZeroBootstrap.load_deps
|
10
|
+
end
|
11
|
+
|
12
|
+
test "returns changed value from core" do
|
13
|
+
assert_equal("chef-full-localmode", @app.config[:distro])
|
14
|
+
end
|
15
|
+
|
16
|
+
test "returns BootstrapSsh via knife_ssh" do
|
17
|
+
ssh = @app.knife_ssh
|
18
|
+
assert_kind_of(Chef::Knife::BootstrapSsh, ssh)
|
19
|
+
end
|
20
|
+
|
21
|
+
sub_test_case "overwrite ssh_configration from ssh/config" do
|
22
|
+
test "overwrite port number" do
|
23
|
+
stub(Net::SSH).configuration_for { {port: 10022} }
|
24
|
+
ssh = @app.knife_ssh
|
25
|
+
assert_equal(10022, ssh.config[:port])
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
require 'chef/knife/zero_chef_client'
|
2
|
+
class TC_ZeroChefClient < Test::Unit::TestCase
|
3
|
+
sub_test_case "called with no options" do
|
4
|
+
def setup
|
5
|
+
@app = Chef::Knife::ZeroChefClient.new
|
6
|
+
@app.merge_configs
|
7
|
+
end
|
8
|
+
|
9
|
+
test "returns changed value from core" do
|
10
|
+
assert_nil(@app.config[:concurrency])
|
11
|
+
assert_nil(@app.config[:override_runlist])
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require 'knife-zero/bootstrap_ssh'
|
2
|
+
|
3
|
+
class TC_BootstrapSsh < Test::Unit::TestCase
|
4
|
+
def setup
|
5
|
+
@app = Chef::Knife::BootstrapSsh.new
|
6
|
+
@app.merge_configs
|
7
|
+
end
|
8
|
+
|
9
|
+
test "RR" do
|
10
|
+
assert_rr do
|
11
|
+
subject = Hash.new
|
12
|
+
mock(subject).to_json("hoge") {
|
13
|
+
"mogemoge"
|
14
|
+
}
|
15
|
+
assert_equal("mogemoge", subject.to_json("hoge"))
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
data/test/run_test.rb
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
base_dir = File.expand_path(File.join(File.dirname(__FILE__), ".."))
|
3
|
+
lib_dir = File.join(base_dir, "lib")
|
4
|
+
test_dir = File.join(base_dir, "test")
|
5
|
+
|
6
|
+
$LOAD_PATH.unshift(lib_dir)
|
7
|
+
|
8
|
+
require 'test/unit'
|
9
|
+
require 'test/unit/rr'
|
10
|
+
require 'simplecov'
|
11
|
+
require 'simplecov-rcov'
|
12
|
+
|
13
|
+
if ENV['CIRCLE_ARTIFACTS']
|
14
|
+
dir = File.join("..", "..", "..", ENV['CIRCLE_ARTIFACTS'], "coverage")
|
15
|
+
SimpleCov.coverage_dir(dir)
|
16
|
+
SimpleCov.formatter = SimpleCov::Formatter::RcovFormatter
|
17
|
+
SimpleCov.start do
|
18
|
+
add_filter "/vendor/"
|
19
|
+
add_filter "/test/"
|
20
|
+
end
|
21
|
+
else
|
22
|
+
require "test/unit/notify"
|
23
|
+
end
|
24
|
+
|
25
|
+
exit Test::Unit::AutoRunner.run(true, test_dir)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: knife-zero
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- sawanoboly
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-03-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -38,6 +38,104 @@ dependencies:
|
|
38
38
|
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: test-unit
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: test-unit-rr
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: test-unit-notify
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: guard
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: guard-shell
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: simplecov
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: simplecov-rcov
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - ">="
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - ">="
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0'
|
41
139
|
- !ruby/object:Gem::Dependency
|
42
140
|
name: chef
|
43
141
|
requirement: !ruby/object:Gem::Requirement
|
@@ -63,19 +161,27 @@ files:
|
|
63
161
|
- ".gitignore"
|
64
162
|
- CHANGELOG.md
|
65
163
|
- Gemfile
|
164
|
+
- Guardfile
|
66
165
|
- LICENSE.txt
|
67
166
|
- README.md
|
68
167
|
- Rakefile
|
168
|
+
- circle.yml
|
69
169
|
- knife-zero.gemspec
|
70
170
|
- lib/chef/knife/bootstrap/chef-full-localmode.erb
|
71
|
-
- lib/chef/knife/chef_client.rb
|
72
171
|
- lib/chef/knife/zero_base.rb
|
73
172
|
- lib/chef/knife/zero_bootstrap.rb
|
173
|
+
- lib/chef/knife/zero_chef_client.rb
|
174
|
+
- lib/chef/knife/zero_diagnose.rb
|
74
175
|
- lib/knife-zero/bootstrap_ssh.rb
|
75
176
|
- lib/knife-zero/common.rb
|
76
177
|
- lib/knife-zero/core/bootstrap_context.rb
|
77
178
|
- lib/knife-zero/net-ssh-multi-patch.rb
|
78
179
|
- lib/knife-zero/version.rb
|
180
|
+
- test/chef/knife/test_zero_bootstrap.rb
|
181
|
+
- test/chef/knife/test_zero_chef_client.rb
|
182
|
+
- test/knife-zero/test_bootstrap_ssh.rb
|
183
|
+
- test/knife-zero/test_versioin.rb
|
184
|
+
- test/run_test.rb
|
79
185
|
homepage: ''
|
80
186
|
licenses:
|
81
187
|
- Apache2
|
@@ -101,4 +207,9 @@ signing_key:
|
|
101
207
|
specification_version: 4
|
102
208
|
summary: Run chef-client at remote node with chef-zero(local-mode) via HTTP over SSH
|
103
209
|
port fowarding.
|
104
|
-
test_files:
|
210
|
+
test_files:
|
211
|
+
- test/chef/knife/test_zero_bootstrap.rb
|
212
|
+
- test/chef/knife/test_zero_chef_client.rb
|
213
|
+
- test/knife-zero/test_bootstrap_ssh.rb
|
214
|
+
- test/knife-zero/test_versioin.rb
|
215
|
+
- test/run_test.rb
|