bosh_cli 1.3122.0 → 1.3123.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7be75f81fdec3bf4a7f8461b49c0611eef227a5d
4
- data.tar.gz: 42fd19e5c80ae92551bbb3292c0e9155e646fa14
3
+ metadata.gz: 9195a3624e8837dab1659d3d9bce8c49da5743f6
4
+ data.tar.gz: 49d81aded03be583e22fec042d9aa2c09d99e5e5
5
5
  SHA512:
6
- metadata.gz: 05faf5599cd614fb231ce54ea98988cef9dc0a8b6199f2ace40ba48b35d28de8dd8dfe1c9d60472779962c759461b83854e15d970808570e9099d5642659a780
7
- data.tar.gz: 82c7b48e1af5942bac441706e4ea6bdb47e7d3bc773b4c700cfccbf6622c3523db19f4ec74984db6d62b5e81f6fec1a3301f6bb765ab392def9625f51c803b44
6
+ metadata.gz: 3ae89f95679f63debcdbef18b336c37d23a9149393f16d904f707a32982ae40cda342e785349833b12c993038b3043087987592ed8c2bdc3161fa0947ed4bd68
7
+ data.tar.gz: 5fcc9e11fb01d3604b41d4afbe7e63059c03e37265ea58419e10a2feb27e702d394e288e584e7c9b007db9fb041256b4f0444a62c36dca60315939746d210f0b
@@ -641,7 +641,7 @@ module Bosh
641
641
 
642
642
  def releases_path(options = {})
643
643
  path = '/releases'
644
- params = [:rebase, :skip_if_exists].select { |p| options[p] }.map { |p| "#{p}=true" }
644
+ params = [:rebase, :skip_if_exists, :fix].select { |p| options[p] }.map { |p| "#{p}=true" }
645
645
  params.push "sha1=#{options[:sha1]}" unless options[:sha1].blank?
646
646
  path << "?#{params.join('&')}" unless params.empty?
647
647
  path
@@ -30,6 +30,7 @@ module Bosh::Cli::Command
30
30
 
31
31
  def show_deployment(name, options={})
32
32
  instances = director.fetch_vm_state(name)
33
+ instance_count = instances.size
33
34
 
34
35
  if instances.empty?
35
36
  nl
@@ -71,9 +72,15 @@ module Bosh::Cli::Command
71
72
  if options[:failing]
72
73
  if options[:ps]
73
74
  instance['processes'].keep_if { |p| p['state'] != 'running' }
74
- next if instance['processes'].size == 0 && instance['job_state'] != 'failing'
75
+ if instance['processes'].size == 0 && instance['job_state'] == 'running'
76
+ instance_count -= 1
77
+ next
78
+ end
75
79
  else
76
- next if instance['job_state'] != 'failing'
80
+ if instance['job_state'] == 'running'
81
+ instance_count -= 1
82
+ next
83
+ end
77
84
  end
78
85
  end
79
86
 
@@ -137,7 +144,7 @@ module Bosh::Cli::Command
137
144
  t << process_row
138
145
  end
139
146
 
140
- t << :separator if row_count < instances.size
147
+ t << :separator if row_count < instance_count
141
148
  end
142
149
  end
143
150
  end
@@ -14,6 +14,7 @@ If --name & --version are provided, they will be used for checking if release ex
14
14
  option '--sha1 SHA1', 'SHA1 of the remote release'
15
15
  option '--name NAME', 'name of the release'
16
16
  option '--version VERSION', 'version of the release'
17
+ option '--fix', 'verify blobstore contents and replace with correct versions'
17
18
 
18
19
  def upload(release_file = nil)
19
20
  auth_required
@@ -23,7 +24,8 @@ If --name & --version are provided, they will be used for checking if release ex
23
24
  upload_options = {
24
25
  :rebase => options[:rebase],
25
26
  :repack => true,
26
- :sha1 => options[:sha1]
27
+ :sha1 => options[:sha1],
28
+ :fix => options[:fix],
27
29
  }
28
30
 
29
31
  #only check release_dir if not compiled release tarball
@@ -43,14 +45,19 @@ If --name & --version are provided, they will be used for checking if release ex
43
45
  end
44
46
  end
45
47
 
46
- if options[:name] && options[:version]
48
+ if !options[:fix] && options[:name] && options[:version]
49
+ say("Checking whether release #{options[:name]}/#{options[:version]} already exists...".make_green, '')
47
50
  director.list_releases.each do |release|
48
51
  if release['name'] == options[:name]
49
52
  release['release_versions'].each do |version|
50
- return if version['version'] == options[:version]
53
+ if version['version'] == options[:version]
54
+ say('YES'.make_yellow)
55
+ return
56
+ end
51
57
  end
52
58
  end
53
59
  end
60
+ say('NO'.make_yellow)
54
61
  end
55
62
 
56
63
  if release_file =~ /^#{URI::regexp}$/
@@ -98,6 +105,7 @@ If --name & --version are provided, they will be used for checking if release ex
98
105
  # Trying to repack release by default
99
106
  repack = upload_options[:repack]
100
107
  rebase = upload_options[:rebase]
108
+ fix = upload_options[:fix]
101
109
 
102
110
  say("\nVerifying manifest...")
103
111
  tarball.validate_manifest
@@ -116,7 +124,7 @@ If --name & --version are provided, they will be used for checking if release ex
116
124
  Bosh::Common::Version::ReleaseVersion.parse(tarball.version) if new_director?
117
125
 
118
126
  begin
119
- if repack
127
+ if repack && !fix
120
128
  if tarball.compiled_release?
121
129
  package_matches = match_remote_compiled_packages(tarball.manifest)
122
130
  else
@@ -156,7 +164,7 @@ If --name & --version are provided, they will be used for checking if release ex
156
164
  report = 'Release uploaded'
157
165
  end
158
166
 
159
- status, task_id = director.upload_release(tarball_path, {rebase: rebase})
167
+ status, task_id = director.upload_release(tarball_path, rebase: rebase, fix: fix)
160
168
  task_report(status, task_id, report)
161
169
  end
162
170
 
@@ -172,7 +180,8 @@ If --name & --version are provided, they will be used for checking if release ex
172
180
  status, task_id = director.upload_remote_release(
173
181
  release_location,
174
182
  rebase: upload_options[:rebase],
175
- sha1: upload_options[:sha1]
183
+ sha1: upload_options[:sha1],
184
+ fix: upload_options[:fix]
176
185
  )
177
186
  task_report(status, task_id, report)
178
187
  end
data/lib/cli/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  module Bosh
2
2
  module Cli
3
- VERSION = '1.3122.0'
3
+ VERSION = '1.3123.0'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bosh_cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3122.0
4
+ version: 1.3123.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-10-29 00:00:00.000000000 Z
11
+ date: 2015-11-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bosh_common
@@ -16,28 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 1.3122.0
19
+ version: 1.3123.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.3122.0
26
+ version: 1.3123.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bosh-template
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 1.3122.0
33
+ version: 1.3123.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.3122.0
40
+ version: 1.3123.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: cf-uaa-lib
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -128,14 +128,14 @@ dependencies:
128
128
  requirements:
129
129
  - - "~>"
130
130
  - !ruby/object:Gem::Version
131
- version: 1.3122.0
131
+ version: 1.3123.0
132
132
  type: :runtime
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
136
  - - "~>"
137
137
  - !ruby/object:Gem::Version
138
- version: 1.3122.0
138
+ version: 1.3123.0
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: net-ssh
141
141
  requirement: !ruby/object:Gem::Requirement