berkflow 0.6.2 → 0.6.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/lib/berkflow/cli.rb +11 -2
- data/lib/berkflow/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: 85c341823406e944b861468b054d7159d5122540
|
4
|
+
data.tar.gz: 84a1a355597ae2f81080a7af9cc2f4c032779a6a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c128d37108060fdbf5d1116b64dcdb9462e6d2a84af40918d75305ca6583acc20c8dcb97f4a7c92586770fcb68466d397e8aa50609b7a0b6c8fa2927d18e8e89
|
7
|
+
data.tar.gz: 0434b8a4fb6fc9ccf54e300e30e555d0fe40892842fd5d02a9da74f22b11e6320b1613d046ee35cd7275484bee8aa5083561fcd208689fa2a7f49bd34be8f7be
|
data/CHANGELOG.md
CHANGED
data/lib/berkflow/cli.rb
CHANGED
@@ -3,6 +3,14 @@ require 'thor'
|
|
3
3
|
require 'semverse'
|
4
4
|
require 'tempfile'
|
5
5
|
require 'fileutils'
|
6
|
+
require 'celluloid'
|
7
|
+
|
8
|
+
module Enumerable
|
9
|
+
def pmap(&block)
|
10
|
+
futures = map { |elem| Celluloid::Future.new(elem, &block) }
|
11
|
+
futures.map { |future| future.value }
|
12
|
+
end
|
13
|
+
end
|
6
14
|
|
7
15
|
module Berkflow
|
8
16
|
class Cli < Thor
|
@@ -66,6 +74,7 @@ module Berkflow
|
|
66
74
|
|
67
75
|
if is_url?(url)
|
68
76
|
tempfile = Tempfile.new("berkflow")
|
77
|
+
tempfile.binmode
|
69
78
|
begin
|
70
79
|
open(url) { |remote_file| tempfile.write(remote_file.read) }
|
71
80
|
rescue OpenURI::HTTPError => ex
|
@@ -149,7 +158,7 @@ module Berkflow
|
|
149
158
|
end
|
150
159
|
|
151
160
|
say "Executing command on #{nodes.length} nodes..."
|
152
|
-
success, failures, out = handle_results nodes.
|
161
|
+
success, failures, out = handle_results nodes.pmap { |node| ridley.node.run(node.public_hostname, command) }
|
153
162
|
|
154
163
|
unless success.empty?
|
155
164
|
say "Successfully executed command on #{success.length} nodes"
|
@@ -176,7 +185,7 @@ module Berkflow
|
|
176
185
|
end
|
177
186
|
|
178
187
|
say "Running Chef Client on #{nodes.length} nodes..."
|
179
|
-
success, failures, out = handle_results nodes.
|
188
|
+
success, failures, out = handle_results nodes.pmap { |node| ridley.node.chef_run(node.public_hostname) }
|
180
189
|
|
181
190
|
unless success.empty?
|
182
191
|
say "Successfully ran Chef Client on #{success.length} nodes"
|
data/lib/berkflow/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: berkflow
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jamie Winsor
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-04-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: semverse
|