bosh-director 1.3167.0 → 1.3169.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 41dc4755ce67d81901fae275b7f2415ed8a3c32f
4
- data.tar.gz: 7b30981be831221a4e03f67e348858d1927ab804
3
+ metadata.gz: 2f50618663a0ca2e0709f9398f3081822fb89cd6
4
+ data.tar.gz: dbba3cb88e28c2165053b6d129348785c84272cb
5
5
  SHA512:
6
- metadata.gz: 689d1da648a11d284bf9b38dfd87c9d58d4f5071d87668c9ab0157d267f924803b353786fd1335716a0905f103e6f329a6960ea9572915d65c648606df5dd95a
7
- data.tar.gz: 19ee2fc7f6ebad795f8e5f61821e5266c4bbf2281653975de3598c3fab3a59b854f1ad7413794596431e8f01a714dc67b9d8096722e6a8038475f1a2673d6b4e
6
+ metadata.gz: f26778065b84c3e23443540a6055735634e692e39d55d4bcf99148db7c894bebd78be090d1b8a23c598cff7348e22bc42d655e9c8cbe5201adb5b232f6c88a08
7
+ data.tar.gz: 95e027b181a955e673ae093e7a4263b8ecb8c3afd8d0c184745eb590daa129bba462e45c3e3196ada8707c0e7e39e284458e1b9f6d90cda51caf7b919480248d
@@ -41,21 +41,31 @@ module Bosh::Director
41
41
  @logger.info("Found #{instance_plans.size} instances to update")
42
42
  event_log_stage = @event_log.begin_stage('Updating job', instance_plans.size, [ @job.name ])
43
43
 
44
- ThreadPool.new(:max_threads => @job.update.max_in_flight).wrap do |pool|
45
- num_canaries = [ @job.update.canaries, instance_plans.size ].min
46
- @logger.info("Starting canary update num_canaries=#{num_canaries}")
47
- update_canaries(pool, instance_plans, num_canaries, event_log_stage)
44
+ instance_plans_by_az = instance_plans.group_by{ |instance_plan| instance_plan.instance.availability_zone }
45
+ canaries_done = false
48
46
 
49
- @logger.info('Waiting for canaries to update')
50
- pool.wait
47
+ instance_plans_by_az.each do |az, az_instance_plans|
48
+ @logger.info("Starting to update az '#{az}'")
49
+ ThreadPool.new(:max_threads => @job.update.max_in_flight).wrap do |pool|
50
+ unless canaries_done
51
+ num_canaries = [@job.update.canaries, az_instance_plans.size].min
52
+ @logger.info("Starting canary update num_canaries=#{num_canaries}")
53
+ update_canaries(pool, az_instance_plans, num_canaries, event_log_stage)
51
54
 
52
- @logger.info('Finished canary update')
55
+ @logger.info('Waiting for canaries to update')
56
+ pool.wait
53
57
 
54
- @logger.info('Continuing the rest of the update')
55
- update_instances(pool, instance_plans, event_log_stage)
56
- end
58
+ @logger.info('Finished canary update')
59
+
60
+ canaries_done = true
61
+ end
57
62
 
58
- @logger.info('Finished the rest of the update')
63
+ @logger.info('Continuing the rest of the update')
64
+ update_instances(pool, az_instance_plans, event_log_stage)
65
+ @logger.info('Finished the rest of the update')
66
+ end
67
+ @logger.info("Finished updating az '#{az}'")
68
+ end
59
69
  end
60
70
 
61
71
  private
@@ -1,5 +1,5 @@
1
1
  module Bosh
2
2
  module Director
3
- VERSION = '1.3167.0'
3
+ VERSION = '1.3169.0'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bosh-director
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3167.0
4
+ version: 1.3169.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - VMware
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-12-29 00:00:00.000000000 Z
11
+ date: 2015-12-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bosh_common
@@ -16,98 +16,98 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 1.3167.0
19
+ version: 1.3169.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 1.3167.0
26
+ version: 1.3169.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bosh_cpi
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 1.3167.0
33
+ version: 1.3169.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 1.3167.0
40
+ version: 1.3169.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: bosh-registry
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 1.3167.0
47
+ version: 1.3169.0
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 1.3167.0
54
+ version: 1.3169.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: blobstore_client
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 1.3167.0
61
+ version: 1.3169.0
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: 1.3167.0
68
+ version: 1.3169.0
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: bosh-core
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: 1.3167.0
75
+ version: 1.3169.0
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: 1.3167.0
82
+ version: 1.3169.0
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: bosh-director-core
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: 1.3167.0
89
+ version: 1.3169.0
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: 1.3167.0
96
+ version: 1.3169.0
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: bosh-template
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: 1.3167.0
103
+ version: 1.3169.0
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: 1.3167.0
110
+ version: 1.3169.0
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: bosh_openstack_cpi
113
113
  requirement: !ruby/object:Gem::Requirement