bosh-director 1.5.0.pre.1259 → 1.5.0.pre.1260

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,24 +1,22 @@
1
- # Copyright (c) 2009-2012 VMware, Inc.
2
-
3
1
  module Bosh::Director
4
2
  class AgentClient < Client
5
3
 
6
4
  DEFAULT_POLL_INTERVAL = 1.0
7
5
 
8
6
  def initialize(id, options = {})
9
- # Retry 'get_state' and 'get_task' in case of timeout errors
10
7
  defaults = {
11
- :retry_methods => { :get_state => 2, :get_task => 2}
8
+ retry_methods: { # in case of timeout errors
9
+ get_state: 2,
10
+ get_task: 2,
11
+ }
12
12
  }
13
13
 
14
14
  credentials = Bosh::Director::Models::Vm.find(:agent_id => id).credentials
15
15
  if credentials
16
- defaults.merge!({
17
- :credentials => credentials
18
- })
16
+ defaults.merge!(credentials: credentials)
19
17
  end
20
18
 
21
- super("agent", id, defaults.merge(options))
19
+ super('agent', id, defaults.merge(options))
22
20
  end
23
21
 
24
22
  # This converts the old agent response format to the new. This can be taken
@@ -33,24 +31,24 @@ module Bosh::Director
33
31
  # @return [Hash] The message in the new message format.
34
32
  def self.convert_old_message_to_new(msg)
35
33
  if msg && msg.is_a?(Hash)
36
- if !msg.has_key?("value")
34
+ if !msg.has_key?('value')
37
35
  # There's no value but there is state and agent_task_id.
38
36
  # Just leave it.
39
- if msg.has_key?("state") && msg.has_key?("agent_task_id")
37
+ if msg.has_key?('state') && msg.has_key?('agent_task_id')
40
38
  return msg
41
39
  end
42
40
  # There's no value and either one or both of state/agent_task_id don't
43
41
  # exist. Assume that the whole message response was meant to be the
44
42
  # value.
45
- return {"value" => msg,
46
- "state" => msg["state"] || "done",
47
- "agent_task_id" => msg["agent_task_id"] || nil}
48
- elsif !msg.has_key?("state")
43
+ return { 'value' => msg,
44
+ 'state' => msg['state'] || 'done',
45
+ 'agent_task_id' => msg['agent_task_id'] || nil }
46
+ elsif !msg.has_key?('state')
49
47
  # The message has a value section but no "state". Mark state as
50
48
  # done.
51
- return {"value" => msg["value"],
52
- "state" => "done",
53
- "agent_task_id" => msg["agent_task_id"] || nil}
49
+ return { 'value' => msg['value'],
50
+ 'state' => 'done',
51
+ 'agent_task_id' => msg['agent_task_id'] || nil }
54
52
  else
55
53
  # The message was good from the start!
56
54
  return msg
@@ -58,7 +56,7 @@ module Bosh::Director
58
56
  end
59
57
  # If the message was anything other than a hash (float, int, string,
60
58
  # array, etc.) then we want to just make that be the "value".
61
- {"state" => "done", "value" => msg, "agent_task_id" => nil}
59
+ { 'state' => 'done', 'value' => msg, 'agent_task_id' => nil }
62
60
  end
63
61
 
64
62
  [
@@ -74,11 +72,11 @@ module Bosh::Director
74
72
  ].each do |method|
75
73
  define_method (method) do |*args|
76
74
  task = AgentClient.convert_old_message_to_new(super(*args))
77
- while task["state"] == "running"
75
+ while task['state'] == 'running'
78
76
  sleep(DEFAULT_POLL_INTERVAL)
79
- task = AgentClient.convert_old_message_to_new(get_task(task["agent_task_id"]))
77
+ task = AgentClient.convert_old_message_to_new(get_task(task['agent_task_id']))
80
78
  end
81
- task["value"]
79
+ task['value']
82
80
  end
83
81
  end
84
82
  end
@@ -8,9 +8,15 @@ module Bosh::Director
8
8
  end
9
9
 
10
10
  def prepare
11
- unless @instance.state == 'detached'
12
- @agent_client.prepare(@instance.spec)
13
- end
11
+ @agent_client.prepare(@instance.spec) unless detached?
12
+ rescue RpcRemoteException => e
13
+ raise unless e.message =~/unknown message/
14
+ end
15
+
16
+ private
17
+
18
+ def detached?
19
+ @instance.state == 'detached'
14
20
  end
15
21
  end
16
22
  end
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2009-2012 VMware, Inc.
1
+ require 'bosh/director/instance_preparer'
2
2
 
3
3
  module Bosh::Director
4
4
  class InstanceUpdater
@@ -58,6 +58,7 @@ module Bosh::Director
58
58
  return
59
59
  end
60
60
 
61
+ step { InstancePreparer.new(@instance, agent).prepare }
61
62
  step { stop }
62
63
  step { take_snapshot }
63
64
 
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Bosh
4
4
  module Director
5
- VERSION = '1.5.0.pre.1259'
5
+ VERSION = '1.5.0.pre.1260'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bosh-director
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.0.pre.1259
4
+ version: 1.5.0.pre.1260
5
5
  prerelease: 6
6
6
  platform: ruby
7
7
  authors:
@@ -34,7 +34,7 @@ dependencies:
34
34
  requirements:
35
35
  - - ~>
36
36
  - !ruby/object:Gem::Version
37
- version: 1.5.0.pre.1259
37
+ version: 1.5.0.pre.1260
38
38
  type: :runtime
39
39
  prerelease: false
40
40
  version_requirements: !ruby/object:Gem::Requirement
@@ -42,7 +42,7 @@ dependencies:
42
42
  requirements:
43
43
  - - ~>
44
44
  - !ruby/object:Gem::Version
45
- version: 1.5.0.pre.1259
45
+ version: 1.5.0.pre.1260
46
46
  - !ruby/object:Gem::Dependency
47
47
  name: bosh-core
48
48
  requirement: !ruby/object:Gem::Requirement
@@ -50,7 +50,7 @@ dependencies:
50
50
  requirements:
51
51
  - - ~>
52
52
  - !ruby/object:Gem::Version
53
- version: 1.5.0.pre.1259
53
+ version: 1.5.0.pre.1260
54
54
  type: :runtime
55
55
  prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
@@ -58,7 +58,7 @@ dependencies:
58
58
  requirements:
59
59
  - - ~>
60
60
  - !ruby/object:Gem::Version
61
- version: 1.5.0.pre.1259
61
+ version: 1.5.0.pre.1260
62
62
  - !ruby/object:Gem::Dependency
63
63
  name: bosh_common
64
64
  requirement: !ruby/object:Gem::Requirement
@@ -66,7 +66,7 @@ dependencies:
66
66
  requirements:
67
67
  - - ~>
68
68
  - !ruby/object:Gem::Version
69
- version: 1.5.0.pre.1259
69
+ version: 1.5.0.pre.1260
70
70
  type: :runtime
71
71
  prerelease: false
72
72
  version_requirements: !ruby/object:Gem::Requirement
@@ -74,7 +74,7 @@ dependencies:
74
74
  requirements:
75
75
  - - ~>
76
76
  - !ruby/object:Gem::Version
77
- version: 1.5.0.pre.1259
77
+ version: 1.5.0.pre.1260
78
78
  - !ruby/object:Gem::Dependency
79
79
  name: bosh_cpi
80
80
  requirement: !ruby/object:Gem::Requirement
@@ -82,7 +82,7 @@ dependencies:
82
82
  requirements:
83
83
  - - ~>
84
84
  - !ruby/object:Gem::Version
85
- version: 1.5.0.pre.1259
85
+ version: 1.5.0.pre.1260
86
86
  type: :runtime
87
87
  prerelease: false
88
88
  version_requirements: !ruby/object:Gem::Requirement
@@ -90,7 +90,7 @@ dependencies:
90
90
  requirements:
91
91
  - - ~>
92
92
  - !ruby/object:Gem::Version
93
- version: 1.5.0.pre.1259
93
+ version: 1.5.0.pre.1260
94
94
  - !ruby/object:Gem::Dependency
95
95
  name: bosh_openstack_cpi
96
96
  requirement: !ruby/object:Gem::Requirement
@@ -98,7 +98,7 @@ dependencies:
98
98
  requirements:
99
99
  - - ~>
100
100
  - !ruby/object:Gem::Version
101
- version: 1.5.0.pre.1259
101
+ version: 1.5.0.pre.1260
102
102
  type: :runtime
103
103
  prerelease: false
104
104
  version_requirements: !ruby/object:Gem::Requirement
@@ -106,7 +106,7 @@ dependencies:
106
106
  requirements:
107
107
  - - ~>
108
108
  - !ruby/object:Gem::Version
109
- version: 1.5.0.pre.1259
109
+ version: 1.5.0.pre.1260
110
110
  - !ruby/object:Gem::Dependency
111
111
  name: bosh_aws_cpi
112
112
  requirement: !ruby/object:Gem::Requirement
@@ -114,7 +114,7 @@ dependencies:
114
114
  requirements:
115
115
  - - ~>
116
116
  - !ruby/object:Gem::Version
117
- version: 1.5.0.pre.1259
117
+ version: 1.5.0.pre.1260
118
118
  type: :runtime
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
@@ -122,7 +122,7 @@ dependencies:
122
122
  requirements:
123
123
  - - ~>
124
124
  - !ruby/object:Gem::Version
125
- version: 1.5.0.pre.1259
125
+ version: 1.5.0.pre.1260
126
126
  - !ruby/object:Gem::Dependency
127
127
  name: bosh_vsphere_cpi
128
128
  requirement: !ruby/object:Gem::Requirement
@@ -130,7 +130,7 @@ dependencies:
130
130
  requirements:
131
131
  - - ~>
132
132
  - !ruby/object:Gem::Version
133
- version: 1.5.0.pre.1259
133
+ version: 1.5.0.pre.1260
134
134
  type: :runtime
135
135
  prerelease: false
136
136
  version_requirements: !ruby/object:Gem::Requirement
@@ -138,7 +138,7 @@ dependencies:
138
138
  requirements:
139
139
  - - ~>
140
140
  - !ruby/object:Gem::Version
141
- version: 1.5.0.pre.1259
141
+ version: 1.5.0.pre.1260
142
142
  - !ruby/object:Gem::Dependency
143
143
  name: eventmachine
144
144
  requirement: !ruby/object:Gem::Requirement
@@ -445,7 +445,7 @@ dependencies:
445
445
  version: '1.0'
446
446
  description: ! 'BOSH Director
447
447
 
448
- 65813d'
448
+ 122e1f'
449
449
  email: support@cloudfoundry.com
450
450
  executables:
451
451
  - bosh-director