bosh_cli 1.5.0.pre.1323 → 1.5.0.pre.1324

Sign up to get free protection for your applications and to get access to all the features.
data/lib/cli.rb CHANGED
@@ -1,9 +1,6 @@
1
- # Copyright (c) 2009-2012 VMware, Inc.
2
-
3
1
  module Bosh
4
2
  module Cli
5
3
  DEFAULT_CONFIG_PATH = File.expand_path('~/.bosh_config')
6
- DEFAULT_CACHE_DIR = File.expand_path('~/.bosh_cache')
7
4
  end
8
5
  end
9
6
 
@@ -50,7 +47,6 @@ require 'cli/dependency_helper'
50
47
  require 'cli/deployment_manifest'
51
48
  require 'cli/deployment_helper'
52
49
  require 'cli/validation'
53
- require 'cli/cache'
54
50
  require 'cli/stemcell'
55
51
  require 'cli/client/director'
56
52
  require 'cli/director_task'
@@ -22,11 +22,6 @@ module Bosh::Cli
22
22
  @args = []
23
23
  end
24
24
 
25
- # @return [Bosh::Cli::Cache] Current CLI cache
26
- def cache
27
- Config.cache
28
- end
29
-
30
25
  # @return [Bosh::Cli::Config] Current configuration
31
26
  def config
32
27
  @config ||= begin
@@ -137,18 +137,6 @@ module Bosh::Cli::Command
137
137
  say("You are no longer logged in to `#{target}'".make_yellow)
138
138
  end
139
139
 
140
- # bosh purge
141
- usage "purge"
142
- desc "Purge local manifest cache"
143
- def purge_cache
144
- if cache.cache_dir != Bosh::Cli::DEFAULT_CACHE_DIR
145
- err("Cache directory overriden, please remove manually")
146
- else
147
- FileUtils.rm_rf(cache.cache_dir)
148
- say("Purged cache".make_green)
149
- end
150
- end
151
-
152
140
  # bosh target
153
141
  usage "target"
154
142
  desc "Choose director to talk to (optionally creating an alias). " +
@@ -17,7 +17,7 @@ module Bosh::Cli::Command
17
17
  usage "verify stemcell"
18
18
  desc "Verify stemcell"
19
19
  def verify(tarball_path)
20
- stemcell = Bosh::Cli::Stemcell.new(tarball_path, cache)
20
+ stemcell = Bosh::Cli::Stemcell.new(tarball_path)
21
21
 
22
22
  nl
23
23
  say("Verifying stemcell...")
@@ -43,28 +43,28 @@ module Bosh::Cli::Command
43
43
 
44
44
  stemcell_type = stemcell_location =~ /^#{URI::regexp}$/ ? "remote" : "local"
45
45
  if stemcell_type == "local"
46
- stemcell = Bosh::Cli::Stemcell.new(stemcell_location, cache)
47
-
46
+ stemcell = Bosh::Cli::Stemcell.new(stemcell_location)
47
+
48
48
  nl
49
49
  say("Verifying stemcell...")
50
50
  stemcell.validate
51
51
  nl
52
-
52
+
53
53
  unless stemcell.valid?
54
54
  err("Stemcell is invalid, please fix, verify and upload again")
55
55
  end
56
-
56
+
57
57
  say("Checking if stemcell already exists...")
58
58
  name = stemcell.manifest["name"]
59
59
  version = stemcell.manifest["version"]
60
-
60
+
61
61
  if exists?(name, version)
62
62
  err("Stemcell `#{name}/#{version}' already exists, " +
63
63
  "increment the version if it has changed")
64
64
  else
65
65
  say("No")
66
66
  end
67
-
67
+
68
68
  stemcell_location = stemcell.stemcell_file
69
69
 
70
70
  nl
@@ -1,5 +1,3 @@
1
- # Copyright (c) 2009-2012 VMware, Inc.
2
-
3
1
  module Bosh::Cli::Command
4
2
  class Task < Base
5
3
 
@@ -8,7 +6,6 @@ module Bosh::Cli::Command
8
6
  # bosh task
9
7
  usage "task"
10
8
  desc "Show task status and start tracking its output"
11
- option "--no-cache", "Don't cache output locally"
12
9
  option "--event", "Track event log"
13
10
  option "--cpi", "Track CPI log"
14
11
  option "--debug", "Track debug log"
@@ -18,7 +15,6 @@ module Bosh::Cli::Command
18
15
  def track(task_id = nil)
19
16
  auth_required
20
17
  use_filter = !options.key?(:no_filter)
21
- use_cache = !options.key?(:no_cache)
22
18
  raw_output = options[:raw]
23
19
 
24
20
  log_type = "event"
@@ -50,7 +46,6 @@ module Bosh::Cli::Command
50
46
 
51
47
  track_options = {
52
48
  :log_type => log_type,
53
- :use_cache => use_cache,
54
49
  :raw_output => raw_output
55
50
  }
56
51
 
data/lib/cli/config.rb CHANGED
@@ -17,9 +17,6 @@ module Bosh::Cli
17
17
  # @return [Boolean] Is CLI being used interactively?
18
18
  attr_accessor :interactive
19
19
 
20
- # @return [Bosh::Cli::Cache] CLI cache (to save task logs etc.)
21
- attr_accessor :cache
22
-
23
20
  # @return [Integer] CLI polling interval
24
21
  attr_accessor :poll_interval
25
22
  end
@@ -28,7 +25,6 @@ module Bosh::Cli
28
25
  @colorize = true
29
26
  @output = nil
30
27
  @interactive = false
31
- @cache = nil
32
28
 
33
29
  # Register command with BOSH CLI
34
30
  # @param [Bosh::Cli::CommandDefinition] command
data/lib/cli/errors.rb CHANGED
@@ -1,5 +1,3 @@
1
- # Copyright (c) 2009-2012 VMware, Inc.
2
-
3
1
  module Bosh::Cli
4
2
  class CliError < StandardError
5
3
  attr_reader :exit_code
@@ -34,8 +32,6 @@ module Bosh::Cli
34
32
  class CliExit < CliError; error_code(400); end
35
33
  class GracefulExit < CliExit; error_code(401); end
36
34
 
37
- class CacheDirectoryError < CliError; error_code(301); end
38
-
39
35
  class InvalidPackage < CliError; error_code(500); end
40
36
  class InvalidJob < CliError; error_code(501); end
41
37
  class InvalidRelease < CliError; error_code(503); end
data/lib/cli/runner.rb CHANGED
@@ -1,5 +1,3 @@
1
- # Copyright (c) 2009-2012 VMware, Inc.
2
-
3
1
  module Bosh::Cli
4
2
  class ParseTreeNode < Hash
5
3
  attr_accessor :command
@@ -36,7 +34,6 @@ module Bosh::Cli
36
34
  parse_global_options
37
35
 
38
36
  Config.interactive = !@options[:non_interactive]
39
- Config.cache = Bosh::Cli::Cache.new(@options[:cache_dir])
40
37
  Config.poll_interval = @options[:poll_interval]
41
38
 
42
39
  load_plugins
@@ -112,9 +109,7 @@ module Bosh::Cli
112
109
  opts.on("-c", "--config FILE", config_desc) do |file|
113
110
  @options[:config] = file
114
111
  end
115
- opts.on("-C", "--cache-dir DIR", "Override cache directory") do |dir|
116
- @options[:cache_dir] = dir
117
- end
112
+
118
113
  opts.on("--[no-]color", "Toggle colorized output") do |v|
119
114
  Config.colorize = v
120
115
  end
data/lib/cli/stemcell.rb CHANGED
@@ -4,9 +4,8 @@ module Bosh::Cli
4
4
 
5
5
  attr_reader :stemcell_file, :manifest
6
6
 
7
- def initialize(tarball_path, cache)
7
+ def initialize(tarball_path)
8
8
  @stemcell_file = File.expand_path(tarball_path, Dir.pwd)
9
- @cache = cache
10
9
  end
11
10
 
12
11
  def perform_validation(options = {})
@@ -17,52 +16,42 @@ module Bosh::Cli
17
16
  File.exists?(@stemcell_file) && File.readable?(@stemcell_file)
18
17
  end
19
18
 
20
- cache_key = "%s_%s" % [@stemcell_file, File.mtime(@stemcell_file)]
19
+ say("Verifying tarball...")
21
20
 
22
- manifest_yaml = @cache.read(cache_key)
21
+ stemcell_mf = "stemcell.MF"
23
22
 
24
- if manifest_yaml
25
- say("Using cached manifest...")
26
- else
27
- say("Manifest not found in cache, verifying tarball...")
28
-
29
- stemcell_mf = "stemcell.MF"
30
-
31
- tar = nil
32
- step("Read tarball",
33
- "Cannot read tarball #{@stemcell_file}", :fatal) do
34
- tgz = Zlib::GzipReader.new(File.open(@stemcell_file))
35
- tar = Minitar.open(tgz)
36
- !!tar
37
- end
38
-
39
- manifest = false
40
- image = false
41
- tar.each do |entry|
42
- if entry.full_name == stemcell_mf
43
- tar.extract_entry(tmp_dir, entry)
44
- manifest = true
45
- elsif entry.full_name == "image"
46
- image = true
47
- end
48
- end
23
+ tar = nil
24
+ step("Read tarball",
25
+ "Cannot read tarball #{@stemcell_file}", :fatal) do
26
+ tgz = Zlib::GzipReader.new(File.open(@stemcell_file))
27
+ tar = Minitar.open(tgz)
28
+ !!tar
29
+ end
49
30
 
50
- step("Manifest exists", "Cannot find stemcell manifest", :fatal) do
51
- manifest
52
- end
31
+ manifest = false # assign false because we return something truthy
53
32
 
54
- step("Stemcell image file",
55
- "Stemcell image file is missing", :fatal) do
56
- image
33
+ image = false
34
+ tar.each do |entry|
35
+ if entry.full_name == stemcell_mf
36
+ tar.extract_entry(tmp_dir, entry)
37
+ manifest = true
38
+ elsif entry.full_name == "image"
39
+ image = true
57
40
  end
41
+ end
58
42
 
59
- manifest_file = File.expand_path(stemcell_mf, tmp_dir)
43
+ step("Manifest exists", "Cannot find stemcell manifest", :fatal) do
44
+ manifest
45
+ end
60
46
 
61
- say("Writing manifest to cache...")
62
- manifest_yaml = File.read(manifest_file)
63
- @cache.write(cache_key, manifest_yaml)
47
+ step("Stemcell image file",
48
+ "Stemcell image file is missing", :fatal) do
49
+ image
64
50
  end
65
51
 
52
+ manifest_file = File.expand_path(stemcell_mf, tmp_dir)
53
+ manifest_yaml = File.read(manifest_file)
54
+
66
55
  manifest = Psych.load(manifest_yaml)
67
56
 
68
57
  step("Stemcell properties",
@@ -24,10 +24,8 @@ module Bosh
24
24
  default_log_type = @quiet ? "none" : "event"
25
25
 
26
26
  @log_type = options[:log_type] || default_log_type
27
- @use_cache = options.key?(:use_cache) ? @options[:use_cache] : true
28
27
 
29
28
  @output = nil
30
- @cache = Config.cache
31
29
  @task = Bosh::Cli::DirectorTask.new(@director, @task_id, @log_type)
32
30
 
33
31
  if options[:renderer]
@@ -49,19 +47,10 @@ module Bosh
49
47
  nl
50
48
  @renderer.time_adjustment = @director.get_time_difference
51
49
  say("Director task #{@task_id.to_s.make_yellow}")
52
-
53
- cached_output = get_cached_task_output
54
- if cached_output
55
- task_status = @task.state.to_sym
56
- output_received(cached_output)
57
- @renderer.refresh
58
- else
59
- task_status = poll
60
- end
50
+ task_status = poll
61
51
 
62
52
  print_task_summary(task_status)
63
53
 
64
- save_task_output unless cached_output
65
54
  task_status
66
55
  end
67
56
 
@@ -160,21 +149,6 @@ module Bosh
160
149
  def interactive?
161
150
  Bosh::Cli::Config.interactive
162
151
  end
163
-
164
- def get_cached_task_output
165
- return nil unless @use_cache
166
- @cache.read(task_cache_key)
167
- end
168
-
169
- def save_task_output
170
- return nil unless @output && @use_cache
171
- @cache.write(task_cache_key, @output)
172
- end
173
-
174
- def task_cache_key
175
- "task/#{@director.uuid}/#{@task_id}/#{@log_type}"
176
- end
177
-
178
152
  end
179
153
  end
180
154
  end
data/lib/cli/version.rb CHANGED
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Bosh
4
4
  module Cli
5
- VERSION = '1.5.0.pre.1323'
5
+ VERSION = '1.5.0.pre.1324'
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: 1.5.0.pre.1323
4
+ version: 1.5.0.pre.1324
5
5
  prerelease: 6
6
6
  platform: ruby
7
7
  authors:
@@ -18,7 +18,7 @@ dependencies:
18
18
  requirements:
19
19
  - - ~>
20
20
  - !ruby/object:Gem::Version
21
- version: 1.5.0.pre.1323
21
+ version: 1.5.0.pre.1324
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - ~>
28
28
  - !ruby/object:Gem::Version
29
- version: 1.5.0.pre.1323
29
+ version: 1.5.0.pre.1324
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: json_pure
32
32
  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.1323
117
+ version: 1.5.0.pre.1324
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.1323
125
+ version: 1.5.0.pre.1324
126
126
  - !ruby/object:Gem::Dependency
127
127
  name: net-ssh
128
128
  requirement: !ruby/object:Gem::Requirement
@@ -221,7 +221,7 @@ dependencies:
221
221
  version: '0'
222
222
  description: ! 'BOSH CLI
223
223
 
224
- a23a10'
224
+ f83ef2'
225
225
  email: support@cloudfoundry.com
226
226
  executables:
227
227
  - bosh
@@ -233,7 +233,6 @@ files:
233
233
  - lib/cli/backup_destination_path.rb
234
234
  - lib/cli/base_command.rb
235
235
  - lib/cli/blob_manager.rb
236
- - lib/cli/cache.rb
237
236
  - lib/cli/changeset_helper.rb
238
237
  - lib/cli/client/compiled_packages_client.rb
239
238
  - lib/cli/client/director.rb
data/lib/cli/cache.rb DELETED
@@ -1,44 +0,0 @@
1
- # Copyright (c) 2009-2012 VMware, Inc.
2
-
3
- module Bosh::Cli
4
- class Cache
5
-
6
- attr_reader :cache_dir
7
-
8
- def initialize(cache_dir = nil)
9
- @cache_dir = cache_dir || Bosh::Cli::DEFAULT_CACHE_DIR
10
-
11
- if File.exists?(@cache_dir) && !File.directory?(@cache_dir)
12
- raise CacheDirectoryError, "BOSH cache directory error: " +
13
- "`#{@cache_dir}' is a file, not directory"
14
- end
15
-
16
- unless File.exists?(@cache_dir)
17
- FileUtils.mkdir_p(@cache_dir)
18
- File.chmod(0700, @cache_dir)
19
- end
20
- end
21
-
22
- def read(key)
23
- cached_file = path(key)
24
- return nil unless File.exists?(cached_file)
25
- File.read(cached_file)
26
- end
27
-
28
- def write(key, value)
29
- File.open(path(key), "w") do |f|
30
- f.write(value)
31
- end
32
- end
33
-
34
- private
35
-
36
- def path(key)
37
- File.expand_path(hash_for(key), @cache_dir)
38
- end
39
-
40
- def hash_for(key)
41
- Digest::SHA1.hexdigest(key)
42
- end
43
- end
44
- end