kitchen_hooks 1.7.1 → 1.7.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/etc/config.json +1 -0
- data/lib/kitchen_hooks/helpers/sync_servers.rb +24 -6
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 84bd322214efaab6ddc88bcb12f71a260dde5575
|
4
|
+
data.tar.gz: 4bba666a3c2433e12be6f14fcd9a9133445e3f1d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a68e549efa7751edaa04d6871fcbf46daa3146c0c5e7baea2bbf289311f6fcc0abaa65781bce617cd6f006ae66a31e66bee1a74bf989d0544e4a91f1c0c4179f
|
7
|
+
data.tar.gz: 15d46641f5e1d183fe5cda5532c9c88ad0fc2fc257f78140b2174d5af61a312d1a423f5278aec9af53d5a8da99473759c3d9d66e734e4a5bcfb6f635318364ed
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.7.
|
1
|
+
1.7.2
|
data/etc/config.json
CHANGED
@@ -15,6 +15,7 @@ class SyncServers
|
|
15
15
|
end
|
16
16
|
|
17
17
|
|
18
|
+
|
18
19
|
private
|
19
20
|
|
20
21
|
def ridleys
|
@@ -23,21 +24,37 @@ private
|
|
23
24
|
end
|
24
25
|
end
|
25
26
|
|
27
|
+
|
26
28
|
def all_nodes
|
27
29
|
@clients ||= {}
|
28
|
-
|
30
|
+
bad_ridleys = []
|
31
|
+
|
32
|
+
@all_nodes ||= ridleys.each_with_index.pmap(4) do |ridley, i|
|
29
33
|
clients = ridley.client.all
|
30
|
-
nodes = ridley.partial_search(:node, '*:*', %w[ ohai_time ])
|
31
34
|
|
32
|
-
|
35
|
+
begin
|
36
|
+
nodes = ridley.partial_search(:node, '*:*', %w[ ohai_time ])
|
37
|
+
rescue
|
38
|
+
puts 'WARNING: No partial search, skipping knife'
|
39
|
+
bad_ridleys << i
|
40
|
+
nodes = []
|
41
|
+
end
|
42
|
+
|
43
|
+
nodes.map do |n|
|
33
44
|
c = clients.select { |c| c.name == n.name }.shift
|
34
45
|
@clients[n.name] = c unless c.nil?
|
46
|
+
n
|
35
47
|
end
|
48
|
+
end.flatten
|
36
49
|
|
37
|
-
|
50
|
+
bad_ridleys.sort.reverse.each do |idx|
|
51
|
+
@ridleys.delete_at idx
|
38
52
|
end
|
53
|
+
|
54
|
+
return @all_nodes
|
39
55
|
end
|
40
56
|
|
57
|
+
|
41
58
|
def merged_nodes
|
42
59
|
@merged_nodes ||= all_nodes.group_by(&:name).pmap do |_, copies|
|
43
60
|
copies.sort_by { |c| c.automatic.ohai_time }.last
|
@@ -49,7 +66,7 @@ private
|
|
49
66
|
nodes = merged_nodes
|
50
67
|
failures = Set.new
|
51
68
|
|
52
|
-
nodes.peach(
|
69
|
+
nodes.peach(8) do |n|
|
53
70
|
n.reload
|
54
71
|
|
55
72
|
ridleys.peach(4) do |ridley|
|
@@ -65,8 +82,9 @@ private
|
|
65
82
|
end
|
66
83
|
|
67
84
|
puts 'Synced node "%s"' % n.name
|
68
|
-
end
|
85
|
+
end unless @ridleys.length == 1
|
69
86
|
|
87
|
+
puts 'Sync completed'
|
70
88
|
return {
|
71
89
|
failures: failures,
|
72
90
|
num_successes: nodes.length - failures.length,
|