knife-zero 1.1.3 → 1.1.4
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 +4 -0
- data/README.md +150 -6
- data/lib/chef/knife/zero_bootstrap.rb +2 -0
- data/lib/knife-zero/version.rb +1 -1
- 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: 9428bb82b40f0180558a18b4a6b0e95da130844e
|
4
|
+
data.tar.gz: 9cfc0156d65267003e9887ca0765715b969eacbc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d26d675ca419769bbed6a0715c54203dba8089bb70683ff78431a808497a9b7227f0d8a650f2b19f613a167a8f31222b06234e8c25bb7b850433e2bd7e25258e
|
7
|
+
data.tar.gz: 8280fd3fc1dd62776acef4bdbced118222943446ea6fac9d3d733e5fabfaba44aea7062b277bd04c379fafa15c6fa3cae27bdc1b25cee4c128ac1765645927d9
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -102,12 +102,6 @@ Platform: ubuntu 12.04
|
|
102
102
|
Tags:
|
103
103
|
```
|
104
104
|
|
105
|
-
Search and update node by `knife exec`(I will implement them into plugin.).
|
106
|
-
|
107
|
-
```
|
108
|
-
$ knife exec --local-mode -E 'nodes.all {|n| system "ssh -R8889:127.0.0.1:8889 #{n.ipaddress} chef-client -S http://127.0.0.1:8889" }'
|
109
|
-
```
|
110
|
-
|
111
105
|
Seach and execute command via ssh by knife ssh.
|
112
106
|
|
113
107
|
```
|
@@ -116,6 +110,13 @@ xxx.xxx.xxx.xxx 08:41:36 up 1:03, 1 user, load average: 0.00, 0.01, 0.01
|
|
116
110
|
xxx.xxx.xxx.xxx 08:41:37 up 143 days, 2:32, 4 users, load average: 0.00, 0.01, 0.05
|
117
111
|
```
|
118
112
|
|
113
|
+
Bootstrap multi-nodes via GNU Parallel
|
114
|
+
|
115
|
+
```
|
116
|
+
$ parallel -j 5 ./bin/knife zero bootstrap ::: nodeA nodeB nodeC...
|
117
|
+
```
|
118
|
+
|
119
|
+
|
119
120
|
### knife zero chef_client (for update)
|
120
121
|
|
121
122
|
`knife zero chef_client QUERY (options)`
|
@@ -191,6 +192,149 @@ You can test cookbooks easily by Test-Kitchen before manage remote nodes instead
|
|
191
192
|
|
192
193
|
See [Getting Started knife-zero with test-kitchen](https://github.com/higanworks/knife-zero-with-kitchen).
|
193
194
|
|
195
|
+
### Or, Try knife-zero simply with Vagrant.
|
196
|
+
|
197
|
+
Set local_mode as default to `knfie.rb`.
|
198
|
+
|
199
|
+
```
|
200
|
+
$ echo 'local_mode true' >> knife.rb
|
201
|
+
```
|
202
|
+
|
203
|
+
Add host-only network to vagrant vm(strongly recommended).
|
204
|
+
|
205
|
+
```
|
206
|
+
Vagrant.configure(2) do |config|
|
207
|
+
config.vm.box = "opscode-ubuntu-14.04"
|
208
|
+
config.vm.network "private_network", ip: "192.168.33.10"
|
209
|
+
end
|
210
|
+
```
|
211
|
+
|
212
|
+
|
213
|
+
Retrieve ssh-config.
|
214
|
+
|
215
|
+
```
|
216
|
+
$ vagrant up
|
217
|
+
$ vagrant ssh-config
|
218
|
+
Host default
|
219
|
+
HostName 127.0.0.1
|
220
|
+
User vagrant
|
221
|
+
Port 2201
|
222
|
+
UserKnownHostsFile /dev/null
|
223
|
+
StrictHostKeyChecking no
|
224
|
+
PasswordAuthentication no
|
225
|
+
IdentityFile /Users/sawanoboriyu/worktemp/knife-zero-vagrant/.vagrant/machines/default/virtualbox/private_key
|
226
|
+
IdentitiesOnly yes
|
227
|
+
LogLevel FATAL
|
228
|
+
```
|
229
|
+
|
230
|
+
#### Case: Use name as address for ssh
|
231
|
+
|
232
|
+
Bootstrap with ssh options and `--sudo` to host-only address. And set ipaddress to name with `-N` option.
|
233
|
+
|
234
|
+
```
|
235
|
+
$ ./bin/knife zero bootstrap 192.168.33.10 -i ./.vagrant/machines/default/virtualbox/private_key -N 192.168.33.10 -x vagrant --sudo
|
236
|
+
|
237
|
+
WARN: No cookbooks directory found at or above current directory. Assuming /Users/sawanoboriyu/worktemp/knife-zero-vagrant.
|
238
|
+
Connecting to 192.168.33.10
|
239
|
+
192.168.33.10 Installing Chef Client...
|
240
|
+
|
241
|
+
...
|
242
|
+
```
|
243
|
+
|
244
|
+
Run zero chef_client with `-a name` option.
|
245
|
+
|
246
|
+
```
|
247
|
+
$ knife zero chef_client "name:*" -x vagrant -i ./.vagrant/machines/default/virtualbox/private_key --sudo -a name
|
248
|
+
WARN: No cookbooks directory found at or above current directory. Assuming /Users/sawanoboriyu/worktemp/knife-zero-vagrant.
|
249
|
+
192.168.33.10 Starting Chef Client, version 12.0.3
|
250
|
+
192.168.33.10 resolving cookbooks for run list: []
|
251
|
+
192.168.33.10 Synchronizing Cookbooks:
|
252
|
+
192.168.33.10 Compiling Cookbooks...
|
253
|
+
192.168.33.10 [2015-02-04T04:08:04+00:00] WARN: Node 192.168.33.10 has an empty run list.
|
254
|
+
192.168.33.10 Converging 0 resources
|
255
|
+
192.168.33.10
|
256
|
+
192.168.33.10 Running handlers:
|
257
|
+
192.168.33.10 Running handlers complete
|
258
|
+
192.168.33.10 Chef Client finished, 0/0 resources updated in 6.571334535 seconds
|
259
|
+
...
|
260
|
+
```
|
261
|
+
|
262
|
+
#### Case: Set specific attribute for ssh
|
263
|
+
|
264
|
+
Bootstrap with ssh options and `--sudo` to host-only address.
|
265
|
+
|
266
|
+
```
|
267
|
+
$ knife zero bootstrap 192.168.33.10 -i ./.vagrant/machines/default/virtualbox/private_key -x vagrant --sudo
|
268
|
+
|
269
|
+
WARN: No cookbooks directory found at or above current directory. Assuming /Users/sawanoboriyu/worktemp/knife-zero-vagrant.
|
270
|
+
Connecting to 192.168.33.10
|
271
|
+
192.168.33.10 Installing Chef Client...
|
272
|
+
192.168.33.10 --2015-02-03 16:44:56-- https://www.opscode.com/chef/install.sh
|
273
|
+
192.168.33.10 Resolving www.opscode.com (www.opscode.com)... 184.106.28.91
|
274
|
+
192.168.33.10 Connecting to www.opscode.com (www.opscode.com)|184.106.28.91|:443... connected.
|
275
|
+
192.168.33.10 HTTP request sent, awaiting response... 200 OK
|
276
|
+
192.168.33.10 Length: 18285 (18K) [application/x-sh]
|
277
|
+
192.168.33.10 Saving to: ‘STDOUT’
|
278
|
+
192.168.33.10
|
279
|
+
100%[======================================>] 18,285 --.-K/s in 0.002s
|
280
|
+
...
|
281
|
+
```
|
282
|
+
|
283
|
+
You can see node which was bootstrapped at list.
|
284
|
+
|
285
|
+
```
|
286
|
+
$ knife node list
|
287
|
+
|
288
|
+
vagrant.vm
|
289
|
+
```
|
290
|
+
|
291
|
+
Set unique attribute to node by `node edit`, such as `chef_ip`.
|
292
|
+
|
293
|
+
```
|
294
|
+
$ knife node edit vagrant.vm
|
295
|
+
{
|
296
|
+
"name": "vagrant.vm",
|
297
|
+
"chef_environment": "_default",
|
298
|
+
"normal": {
|
299
|
+
"chef_ip" : "192.168.33.10",
|
300
|
+
"tags": [
|
301
|
+
|
302
|
+
]
|
303
|
+
},
|
304
|
+
"run_list": [
|
305
|
+
|
306
|
+
]
|
307
|
+
|
308
|
+
}
|
309
|
+
```
|
310
|
+
|
311
|
+
Run zero chef_client with `-a chef_ip` option.
|
312
|
+
|
313
|
+
```
|
314
|
+
$ ./bin/knife zero chef_client "name:vagrant.vm" -x vagrant -i ./.vagrant/machines/default/virtualbox/private_key --sudo -a chef_ip
|
315
|
+
|
316
|
+
192.168.33.10 Starting Chef Client, version 12.0.3
|
317
|
+
192.168.33.10 resolving cookbooks for run list: []
|
318
|
+
192.168.33.10 Synchronizing Cookbooks:
|
319
|
+
192.168.33.10 Compiling Cookbooks...
|
320
|
+
192.168.33.10 [2015-02-03T17:03:37+00:00] WARN: Node vagrant.vm has an empty run list.
|
321
|
+
192.168.33.10 Converging 0 resources
|
322
|
+
192.168.33.10
|
323
|
+
192.168.33.10 Running handlers:
|
324
|
+
192.168.33.10 Running handlers complete
|
325
|
+
192.168.33.10 Chef Client finished, 0/0 resources updated in 6.245413202 seconds
|
326
|
+
```
|
327
|
+
|
328
|
+
#### Case: don't use name or specific attribute..?
|
329
|
+
|
330
|
+
For example, you can use ipv4 of eth1(or others) like below.
|
331
|
+
|
332
|
+
```
|
333
|
+
$ knife zero chef_client "name:*" -x vagrant -i ./.vagrant/machines/default/virtualbox/private_key --sudo -a network.interfaces.eth1.addresses.keys.rotate.first
|
334
|
+
|
335
|
+
192.168.33.10 Starting Chef Client, version 12.0.3
|
336
|
+
192.168.33.10 resolving cookbooks for run list: []
|
337
|
+
```
|
194
338
|
|
195
339
|
## Contributing
|
196
340
|
|
@@ -117,6 +117,7 @@ class Chef
|
|
117
117
|
ssh = Chef::Knife::BootstrapSsh.new
|
118
118
|
ssh.ui = ui
|
119
119
|
ssh.name_args = [ server_name, ssh_command ]
|
120
|
+
ssh.config = Net::SSH.configuration_for(server_name)
|
120
121
|
ssh.config[:ssh_user] = Chef::Config[:knife][:ssh_user] || config[:ssh_user]
|
121
122
|
ssh.config[:ssh_password] = config[:ssh_password]
|
122
123
|
ssh.config[:ssh_port] = Chef::Config[:knife][:ssh_port] || config[:ssh_port]
|
@@ -126,6 +127,7 @@ class Chef
|
|
126
127
|
ssh.config[:manual] = true
|
127
128
|
ssh.config[:host_key_verify] = Chef::Config[:knife][:host_key_verify] || config[:host_key_verify]
|
128
129
|
ssh.config[:on_error] = :raise
|
130
|
+
puts ssh.config
|
129
131
|
ssh
|
130
132
|
end
|
131
133
|
end
|
data/lib/knife-zero/version.rb
CHANGED
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.1.
|
4
|
+
version: 1.1.4
|
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-02-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|