bunka 1.1.0 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (5) hide show
  1. checksums.yaml +4 -4
  2. data/bin/bunka +2 -1
  3. data/bunka.gemspec +3 -2
  4. data/lib/bunka.rb +10 -3
  5. metadata +29 -15
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1668ff5e284d53438c371ea3360c40a2c55d9ca3
4
- data.tar.gz: 8b565b37303e850503ca82b826bcefd0bbd3ab11
3
+ metadata.gz: bcbc8b6e5fa260e526443bfcc2616f7c1286ec06
4
+ data.tar.gz: c068a50c49ca9199e76347539577e81342efc1ca
5
5
  SHA512:
6
- metadata.gz: 59f8261fbb554bee986f15437a5048e426ce584376b50e260e73951737f34842fe27f2027744e4dcc8f0ff465312d7b40b1498a0b2bfcb086d398742e3f67e67
7
- data.tar.gz: b62c453f10d1e0d5a50b6da8e8175e89904da726b6fa129f09ad88ede6460f14289d4e1f5970d38577241bd1dfc8c1a837df079d3d5270323588216ea39666b6
6
+ metadata.gz: cde791cd711a958f7426a69ec27aab8ecf45f5380306dfb20ab155ab04dbf8a5ba427667f79d2873b80af15956071c8e46fd296b370878cfaeb0a25217587445
7
+ data.tar.gz: 67b527864f372858931caa27c53303a953acc7bfcac0ac31b62932aa0a3e10e6c4ac67c013b212d130e6c6dec518e8ad62c78174344ddb00ed2dc0f96e87d955
data/bin/bunka CHANGED
@@ -7,11 +7,12 @@ class BunkaCommand < Thor
7
7
  map '-t' => :test
8
8
 
9
9
  desc 'test COMMAND [QUERY]', 'Execute command on nodes, scoped on the given query if query is given. Query syntax should be the same as `knife search` syntax.'
10
+ option :sequential, type: :boolean, desc: 'run over nodes sequantially', default: false
10
11
  option :invert, type: :boolean, desc: 'invert matched results', default: false
11
12
  option :timeout, type: :numeric, desc: 'timeout interval per ssh connection (default: 15)', default: 15
12
13
  option :'print-success', type: :boolean, desc: 'prints output of successful commands', default: false
13
14
  def test(command, query='name:*')
14
- Bunka.test(command, query, options[:timeout], options[:'print-success'], options[:invert])
15
+ Bunka.test(command, query, options[:timeout], options[:'print-success'], options[:invert], options[:sequential])
15
16
  end
16
17
  end
17
18
 
data/bunka.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |spec|
2
2
  spec.name = 'bunka'
3
- spec.version = '1.1.0'
3
+ spec.version = '1.2.0'
4
4
  spec.executables << 'bunka'
5
5
  spec.date = '2013-11-26'
6
6
  spec.summary = 'Parallel ssh commands over chef servers with rspec-like output'
@@ -11,9 +11,10 @@ Gem::Specification.new do |spec|
11
11
  spec.homepage = 'https://github.com/openminds/bunka'
12
12
  spec.license = 'MIT'
13
13
 
14
- spec.add_dependency 'chef', '~> 11.0'
14
+ spec.add_dependency 'chef', '>= 11.0'
15
15
  spec.add_dependency 'colorize'
16
16
  spec.add_dependency 'net-ssh'
17
17
  spec.add_dependency 'parallel'
18
+ spec.add_dependency 'rake'
18
19
  spec.add_dependency 'thor'
19
20
  end
data/lib/bunka.rb CHANGED
@@ -8,15 +8,22 @@ require 'bunka/ssh'
8
8
 
9
9
  class Bunka
10
10
  class << self
11
- def test command, query, timeout_interval, verbose_success, invert
11
+ def test command, query, timeout_interval, verbose_success, invert, sequential
12
12
  @command = command
13
13
  @query = query
14
14
  @timeout_interval = timeout_interval
15
15
  @verbose_success = verbose_success
16
16
  @invert = invert
17
+ @sequential = sequential
17
18
 
18
- Parallel.map(knife_search(@query), in_threads: 15) do |fqdn|
19
- execute_query fqdn
19
+ if sequential
20
+ knife_search(@query).each do |fqdn|
21
+ execute_query fqdn
22
+ end
23
+ else
24
+ Parallel.map(knife_search(@query), in_threads: 15) do |fqdn|
25
+ execute_query fqdn
26
+ end
20
27
  end
21
28
 
22
29
  print_summary
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bunka
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Steven De Coeyer
@@ -15,70 +15,84 @@ dependencies:
15
15
  name: chef
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
- - - ~>
18
+ - - ">="
19
19
  - !ruby/object:Gem::Version
20
20
  version: '11.0'
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
- - - ~>
25
+ - - ">="
26
26
  - !ruby/object:Gem::Version
27
27
  version: '11.0'
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: colorize
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
- - - '>='
32
+ - - ">="
33
33
  - !ruby/object:Gem::Version
34
34
  version: '0'
35
35
  type: :runtime
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
- - - '>='
39
+ - - ">="
40
40
  - !ruby/object:Gem::Version
41
41
  version: '0'
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: net-ssh
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
- - - '>='
46
+ - - ">="
47
47
  - !ruby/object:Gem::Version
48
48
  version: '0'
49
49
  type: :runtime
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
- - - '>='
53
+ - - ">="
54
54
  - !ruby/object:Gem::Version
55
55
  version: '0'
56
56
  - !ruby/object:Gem::Dependency
57
57
  name: parallel
58
58
  requirement: !ruby/object:Gem::Requirement
59
59
  requirements:
60
- - - '>='
60
+ - - ">="
61
61
  - !ruby/object:Gem::Version
62
62
  version: '0'
63
63
  type: :runtime
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
- - - '>='
67
+ - - ">="
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ - !ruby/object:Gem::Dependency
71
+ name: rake
72
+ requirement: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - ">="
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
77
+ type: :runtime
78
+ prerelease: false
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - ">="
68
82
  - !ruby/object:Gem::Version
69
83
  version: '0'
70
84
  - !ruby/object:Gem::Dependency
71
85
  name: thor
72
86
  requirement: !ruby/object:Gem::Requirement
73
87
  requirements:
74
- - - '>='
88
+ - - ">="
75
89
  - !ruby/object:Gem::Version
76
90
  version: '0'
77
91
  type: :runtime
78
92
  prerelease: false
79
93
  version_requirements: !ruby/object:Gem::Requirement
80
94
  requirements:
81
- - - '>='
95
+ - - ">="
82
96
  - !ruby/object:Gem::Version
83
97
  version: '0'
84
98
  description: A gem to perform command over parallel ssh connections on multiple chef
@@ -89,7 +103,7 @@ executables:
89
103
  extensions: []
90
104
  extra_rdoc_files: []
91
105
  files:
92
- - .gitignore
106
+ - ".gitignore"
93
107
  - Gemfile
94
108
  - LICENSE
95
109
  - README.md
@@ -112,17 +126,17 @@ require_paths:
112
126
  - lib
113
127
  required_ruby_version: !ruby/object:Gem::Requirement
114
128
  requirements:
115
- - - '>='
129
+ - - ">="
116
130
  - !ruby/object:Gem::Version
117
131
  version: '0'
118
132
  required_rubygems_version: !ruby/object:Gem::Requirement
119
133
  requirements:
120
- - - '>='
134
+ - - ">="
121
135
  - !ruby/object:Gem::Version
122
136
  version: '0'
123
137
  requirements: []
124
138
  rubyforge_project:
125
- rubygems_version: 2.0.14
139
+ rubygems_version: 2.2.2
126
140
  signing_key:
127
141
  specification_version: 4
128
142
  summary: Parallel ssh commands over chef servers with rspec-like output