bosh_agent 1.5.0.pre.1141 → 1.5.0.pre.1142
Sign up to get free protection for your applications and to get access to all the features.
@@ -35,7 +35,7 @@ module Bosh::Agent
|
|
35
35
|
def initialize(args)
|
36
36
|
bsc_provider = Bosh::Agent::Config.blobstore_provider
|
37
37
|
bsc_options = Bosh::Agent::Config.blobstore_options
|
38
|
-
@blobstore_client = Bosh::Blobstore::Client.
|
38
|
+
@blobstore_client = Bosh::Blobstore::Client.safe_create(bsc_provider, bsc_options)
|
39
39
|
@blobstore_id, @sha1, @package_name, @package_version, @dependencies = args
|
40
40
|
|
41
41
|
@base_dir = Bosh::Agent::Config.base_dir
|
@@ -87,11 +87,9 @@ module Bosh::Agent
|
|
87
87
|
def upload_tarball(path)
|
88
88
|
bsc_options = Bosh::Agent::Config.blobstore_options
|
89
89
|
bsc_provider = Bosh::Agent::Config.blobstore_provider
|
90
|
-
|
91
|
-
blobstore = Bosh::Blobstore::Client.create(bsc_provider, bsc_options)
|
90
|
+
blobstore = Bosh::Blobstore::Client.safe_create(bsc_provider, bsc_options)
|
92
91
|
|
93
92
|
logger.info("Uploading tarball to blobstore")
|
94
|
-
|
95
93
|
blobstore_id = nil
|
96
94
|
|
97
95
|
File.open(path) do |f|
|
data/lib/bosh_agent/util.rb
CHANGED
@@ -16,37 +16,30 @@ module Bosh::Agent
|
|
16
16
|
def unpack_blob(blobstore_id, sha1, install_path)
|
17
17
|
bsc_options = Bosh::Agent::Config.blobstore_options
|
18
18
|
bsc_provider = Bosh::Agent::Config.blobstore_provider
|
19
|
-
blobstore_client = Bosh::Blobstore::Client.
|
19
|
+
blobstore_client = Bosh::Blobstore::Client.safe_create(bsc_provider, bsc_options)
|
20
20
|
|
21
21
|
data_tmp = File.join(base_dir, 'data', 'tmp')
|
22
22
|
FileUtils.mkdir_p(data_tmp)
|
23
23
|
|
24
24
|
begin
|
25
25
|
tf = Tempfile.open(blobstore_id, data_tmp)
|
26
|
-
logger.info("Retrieving blob: #{blobstore_id}")
|
27
26
|
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
27
|
+
begin
|
28
|
+
logger.info("Retrieving blob '#{blobstore_id}'")
|
29
|
+
blobstore_client.get(blobstore_id, tf, sha1: sha1)
|
30
|
+
rescue Bosh::Blobstore::BlobstoreError => e
|
31
|
+
raise Bosh::Agent::MessageHandlerError.new(e.inspect)
|
32
|
+
end
|
33
33
|
|
34
|
-
logger.info("
|
34
|
+
logger.info("Creating '#{install_path}'")
|
35
35
|
FileUtils.mkdir_p(install_path)
|
36
36
|
|
37
|
-
|
38
|
-
logger.info("hexdigest of #{blob_data_file}")
|
39
|
-
|
40
|
-
unless blob_sha1 == sha1
|
41
|
-
raise Bosh::Agent::MessageHandlerError,
|
42
|
-
"Expected sha1: #{sha1}, Downloaded sha1: #{blob_sha1}, Blobstore ID: #{blobstore_id}, Install Path: #{install_path}"
|
43
|
-
end
|
44
|
-
|
45
|
-
logger.info("Installing to: #{install_path}")
|
37
|
+
logger.info("Installing to '#{install_path}'")
|
46
38
|
Dir.chdir(install_path) do
|
47
|
-
output = `tar --no-same-owner -zxvf #{
|
48
|
-
|
49
|
-
"Failed to unpack blob", output)
|
39
|
+
output = `tar --no-same-owner -zxvf #{tf.path} 2>&1`
|
40
|
+
unless $?.exitstatus == 0
|
41
|
+
raise Bosh::Agent::MessageHandlerError.new("Failed to unpack blob", output)
|
42
|
+
end
|
50
43
|
end
|
51
44
|
rescue Exception => e
|
52
45
|
logger.info("Failure unpacking blob: #{e.inspect} #{e.backtrace}")
|
@@ -57,7 +50,6 @@ module Bosh::Agent
|
|
57
50
|
tf.unlink
|
58
51
|
end
|
59
52
|
end
|
60
|
-
|
61
53
|
end
|
62
54
|
|
63
55
|
# @param [Hash] Instance spec
|
data/lib/bosh_agent/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bosh_agent
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.5.0.pre.
|
4
|
+
version: 1.5.0.pre.1142
|
5
5
|
prerelease: 6
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -162,7 +162,7 @@ dependencies:
|
|
162
162
|
requirements:
|
163
163
|
- - ~>
|
164
164
|
- !ruby/object:Gem::Version
|
165
|
-
version: 1.5.0.pre.
|
165
|
+
version: 1.5.0.pre.1142
|
166
166
|
type: :runtime
|
167
167
|
prerelease: false
|
168
168
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -170,7 +170,7 @@ dependencies:
|
|
170
170
|
requirements:
|
171
171
|
- - ~>
|
172
172
|
- !ruby/object:Gem::Version
|
173
|
-
version: 1.5.0.pre.
|
173
|
+
version: 1.5.0.pre.1142
|
174
174
|
- !ruby/object:Gem::Dependency
|
175
175
|
name: bosh_common
|
176
176
|
requirement: !ruby/object:Gem::Requirement
|
@@ -178,7 +178,7 @@ dependencies:
|
|
178
178
|
requirements:
|
179
179
|
- - ~>
|
180
180
|
- !ruby/object:Gem::Version
|
181
|
-
version: 1.5.0.pre.
|
181
|
+
version: 1.5.0.pre.1142
|
182
182
|
type: :runtime
|
183
183
|
prerelease: false
|
184
184
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -186,7 +186,7 @@ dependencies:
|
|
186
186
|
requirements:
|
187
187
|
- - ~>
|
188
188
|
- !ruby/object:Gem::Version
|
189
|
-
version: 1.5.0.pre.
|
189
|
+
version: 1.5.0.pre.1142
|
190
190
|
- !ruby/object:Gem::Dependency
|
191
191
|
name: blobstore_client
|
192
192
|
requirement: !ruby/object:Gem::Requirement
|
@@ -194,7 +194,7 @@ dependencies:
|
|
194
194
|
requirements:
|
195
195
|
- - ~>
|
196
196
|
- !ruby/object:Gem::Version
|
197
|
-
version: 1.5.0.pre.
|
197
|
+
version: 1.5.0.pre.1142
|
198
198
|
type: :runtime
|
199
199
|
prerelease: false
|
200
200
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -202,7 +202,7 @@ dependencies:
|
|
202
202
|
requirements:
|
203
203
|
- - ~>
|
204
204
|
- !ruby/object:Gem::Version
|
205
|
-
version: 1.5.0.pre.
|
205
|
+
version: 1.5.0.pre.1142
|
206
206
|
- !ruby/object:Gem::Dependency
|
207
207
|
name: rspec-fire
|
208
208
|
requirement: !ruby/object:Gem::Requirement
|
@@ -222,7 +222,7 @@ dependencies:
|
|
222
222
|
description: ! 'This agent listens for instructions from the bosh director on each
|
223
223
|
server that bosh manages.
|
224
224
|
|
225
|
-
|
225
|
+
31eb14'
|
226
226
|
email: support@cloudfoundry.com
|
227
227
|
executables:
|
228
228
|
- bosh_agent
|