berkflow 0.6.2 → 0.6.3
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 +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
|