bosh-director 1.3147.0 → 1.3148.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: ea3256122997b75f7036ea8383f892df5acb6d0d
4
- data.tar.gz: e50ae8a86ac159af1e5781718b3f6a51411d4b6d
3
+ metadata.gz: f2104decea4135039f1f3d25c763bb86a50018fa
4
+ data.tar.gz: 42e46343258416142e91da35e128b7c7cac75054
5
5
  SHA512:
6
- metadata.gz: 525a1f3b6b8c95d09ec67f24166e9d7f303e68523a19e9823aa0e2b9c147906410f9bda5e986ac159664bfa0c4b7473e966942446884c711625102d441f44c55
7
- data.tar.gz: ad3807e475e20271f939c9ecae8eaae1213396622c0e0381bd5c20c1cf0f882e31c4e293ba94246b8f4f36fb5e345d9c48855a4dd6a9329c3ac226476c839031
6
+ metadata.gz: ee727aac04d9743cc5fac804017ad88280a5e3b94b4822d5c1c0a703bca19f14e682a48644bbe76c403bd1f500033fb0066dafd9f06a7dcb9d0965b931a060c9
7
+ data.tar.gz: cd8fd211d7f86a7d998c9ec1fcc6480da3249078e25b24e18c67f974c83997fc89a674e70d5204e9fc8963d4fd0899ef48314b40d1c03d0d735afbbfb9a0fb3e
@@ -25,6 +25,12 @@ module Bosh::Director
25
25
  def self.delete_blob(blobstore_id)
26
26
  blobstore.delete(blobstore_id)
27
27
  end
28
+
29
+ def self.verify_blob(blobstore_id, sha1)
30
+ sha1 == Digest::SHA1.hexdigest(blobstore.get(blobstore_id))
31
+ rescue Bosh::Blobstore::BlobstoreError => e
32
+ return false
33
+ end
28
34
 
29
35
  def self.save_to_global_cache(compiled_package, cache_key)
30
36
  global_cache_filename = [compiled_package.package.name, cache_key].join('-')
@@ -493,6 +493,7 @@ module Bosh::Director
493
493
  package.sha1 = package_meta['sha1']
494
494
 
495
495
  if package.blobstore_id != nil
496
+ fix_compiled_packages package
496
497
  validate_tgz(package_tgz, desc)
497
498
  fix_package(package, package_tgz)
498
499
  return true
@@ -500,6 +501,7 @@ module Bosh::Director
500
501
 
501
502
  if existing_blob
502
503
  pkg = Models::Package.where(blobstore_id: existing_blob).first
504
+ fix_compiled_packages package
503
505
  fix_package(pkg, package_tgz)
504
506
  package.blobstore_id = BlobUtil.copy_blob(pkg.blobstore_id)
505
507
  return true
@@ -646,6 +648,23 @@ module Bosh::Director
646
648
  logger.info("Re-created package '#{package.name}/#{package.version}' \
647
649
  with blobstore_id '#{package.blobstore_id}'")
648
650
  end
651
+
652
+ def fix_compiled_packages(package)
653
+ package.compiled_packages.each do |compiled_pkg|
654
+ unless BlobUtil.verify_blob(compiled_pkg.blobstore_id, compiled_pkg.sha1)
655
+ logger.info("Deleting compiled package '#{compiled_pkg.name}' \
656
+ for '#{compiled_pkg.stemcell.name}/#{compiled_pkg.stemcell.version}' with blobstore_id '#{compiled_pkg.blobstore_id}'")
657
+ begin
658
+ logger.info("Deleting compiled package '#{compiled_pkg.name}'")
659
+ BlobUtil.delete_blob(compiled_pkg.blobstore_id)
660
+ rescue Bosh::Blobstore::BlobstoreError => e
661
+ logger.info("Error deleting compiled package \
662
+ '#{compiled_pkg.blobstore_id}/#{compiled_pkg.name}' #{e.inspect}")
663
+ end
664
+ compiled_pkg.destroy
665
+ end
666
+ end
667
+ end
649
668
  end
650
669
  end
651
670
  end
@@ -1,5 +1,5 @@
1
1
  module Bosh
2
2
  module Director
3
- VERSION = '1.3147.0'
3
+ VERSION = '1.3148.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.3147.0
4
+ version: 1.3148.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-01 00:00:00.000000000 Z
11
+ date: 2015-12-04 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.3147.0
19
+ version: 1.3148.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.3147.0
26
+ version: 1.3148.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.3147.0
33
+ version: 1.3148.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.3147.0
40
+ version: 1.3148.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.3147.0
47
+ version: 1.3148.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.3147.0
54
+ version: 1.3148.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.3147.0
61
+ version: 1.3148.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.3147.0
68
+ version: 1.3148.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.3147.0
75
+ version: 1.3148.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.3147.0
82
+ version: 1.3148.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.3147.0
89
+ version: 1.3148.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.3147.0
96
+ version: 1.3148.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.3147.0
103
+ version: 1.3148.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.3147.0
110
+ version: 1.3148.0
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: bosh_openstack_cpi
113
113
  requirement: !ruby/object:Gem::Requirement