bosh_cli 0.19.2 → 0.19.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -107,11 +107,25 @@ module Bosh::Cli::Command
107
107
  end
108
108
  end
109
109
 
110
+ def get_remote_packages(manifest_yaml, remote_release)
111
+ remote_packages_sha1 = match_remote_packages(manifest_yaml)
112
+
113
+ # Older directors may not match packages. For such
114
+ # cases we select packages from the existing release.
115
+ if remote_packages_sha1.size == 0 && remote_release
116
+ remote_packages_sha1 = remote_release["packages"].map do |pkg|
117
+ pkg["sha1"]
118
+ end
119
+ end
120
+ remote_packages_sha1
121
+ end
122
+
110
123
  def upload_manifest(manifest_path)
111
124
  manifest = load_yaml_file(manifest_path)
112
125
  remote_release = get_remote_release(manifest["name"]) rescue nil
113
126
  remote_jobs = remote_release["jobs"] if remote_release
114
- remote_packages_sha1 = match_remote_packages(File.read(manifest_path))
127
+ remote_packages_sha1 = get_remote_packages(File.read(manifest_path),
128
+ remote_release)
115
129
  blobstore = release.blobstore
116
130
  tmpdir = Dir.mktmpdir
117
131
 
@@ -153,7 +167,8 @@ module Bosh::Cli::Command
153
167
  end
154
168
 
155
169
  if repack
156
- remote_packages_sha1 = match_remote_packages(tarball.manifest)
170
+ remote_packages_sha1 = get_remote_packages(tarball.manifest,
171
+ remote_release)
157
172
 
158
173
  say("Checking if can repack release for faster upload...")
159
174
  repacked_path = tarball.repack(remote_jobs, remote_packages_sha1)
@@ -94,7 +94,7 @@ module Bosh::Cli::Command
94
94
  response = @http_client.get(PUBLIC_STEMCELL_INDEX_URL)
95
95
  status_code = response.http_header.status_code
96
96
  if status_code != HTTP::Status::OK
97
- raise "Received HTTP #{status_code} from #{index_url}."
97
+ err("Received HTTP #{status_code} from #{PUBLIC_STEMCELL_INDEX_URL}.")
98
98
  end
99
99
  YAML.load(response.body)
100
100
  end
data/lib/cli/version.rb CHANGED
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Bosh
4
4
  module Cli
5
- VERSION = "0.19.2"
5
+ VERSION = "0.19.3"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bosh_cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.19.2
4
+ version: 0.19.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-06-18 00:00:00.000000000 Z
12
+ date: 2012-06-20 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: json_pure
@@ -317,7 +317,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
317
317
  version: '0'
318
318
  segments:
319
319
  - 0
320
- hash: -1152730120913906678
320
+ hash: 3443692206202112856
321
321
  required_rubygems_version: !ruby/object:Gem::Requirement
322
322
  none: false
323
323
  requirements:
@@ -326,7 +326,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
326
326
  version: '0'
327
327
  segments:
328
328
  - 0
329
- hash: -1152730120913906678
329
+ hash: 3443692206202112856
330
330
  requirements: []
331
331
  rubyforge_project:
332
332
  rubygems_version: 1.8.23