bunka 1.1.0 → 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.
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