bosh_cli_plugin_micro 1.5.0.pre.1113 → 1.5.0.pre.1114

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.
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Bosh
4
4
  module Deployer
5
- VERSION = '1.5.0.pre.1113'
5
+ VERSION = '1.5.0.pre.1114'
6
6
  end
7
7
  end
@@ -0,0 +1,23 @@
1
+ # Copyright (c) 2009-2012 VMware, Inc.
2
+
3
+ module Bosh; module Deployer; end; end
4
+
5
+ require 'agent_client'
6
+ require 'fileutils'
7
+ require 'forwardable'
8
+ require 'sequel'
9
+ require 'sequel/adapters/sqlite'
10
+ require 'cloud'
11
+ require 'logger'
12
+ require 'tmpdir'
13
+ require 'securerandom'
14
+ require 'yaml'
15
+ require 'yajl'
16
+ require 'common/common'
17
+ require 'common/thread_formatter'
18
+
19
+ require 'bosh/deployer/version'
20
+ require 'bosh/deployer/helpers'
21
+ require 'bosh/deployer/config'
22
+ require 'bosh/deployer/specification'
23
+ require 'bosh/deployer/instance_manager'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bosh_cli_plugin_micro
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.0.pre.1113
4
+ version: 1.5.0.pre.1114
5
5
  prerelease: 6
6
6
  platform: ruby
7
7
  authors:
@@ -34,7 +34,7 @@ dependencies:
34
34
  requirements:
35
35
  - - ~>
36
36
  - !ruby/object:Gem::Version
37
- version: 1.5.0.pre.1113
37
+ version: 1.5.0.pre.1114
38
38
  type: :runtime
39
39
  prerelease: false
40
40
  version_requirements: !ruby/object:Gem::Requirement
@@ -42,7 +42,7 @@ dependencies:
42
42
  requirements:
43
43
  - - ~>
44
44
  - !ruby/object:Gem::Version
45
- version: 1.5.0.pre.1113
45
+ version: 1.5.0.pre.1114
46
46
  - !ruby/object:Gem::Dependency
47
47
  name: bosh-registry
48
48
  requirement: !ruby/object:Gem::Requirement
@@ -50,7 +50,7 @@ dependencies:
50
50
  requirements:
51
51
  - - ~>
52
52
  - !ruby/object:Gem::Version
53
- version: 1.5.0.pre.1113
53
+ version: 1.5.0.pre.1114
54
54
  type: :runtime
55
55
  prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
@@ -58,7 +58,7 @@ dependencies:
58
58
  requirements:
59
59
  - - ~>
60
60
  - !ruby/object:Gem::Version
61
- version: 1.5.0.pre.1113
61
+ version: 1.5.0.pre.1114
62
62
  - !ruby/object:Gem::Dependency
63
63
  name: agent_client
64
64
  requirement: !ruby/object:Gem::Requirement
@@ -66,7 +66,7 @@ dependencies:
66
66
  requirements:
67
67
  - - ~>
68
68
  - !ruby/object:Gem::Version
69
- version: 1.5.0.pre.1113
69
+ version: 1.5.0.pre.1114
70
70
  type: :runtime
71
71
  prerelease: false
72
72
  version_requirements: !ruby/object:Gem::Requirement
@@ -74,7 +74,7 @@ dependencies:
74
74
  requirements:
75
75
  - - ~>
76
76
  - !ruby/object:Gem::Version
77
- version: 1.5.0.pre.1113
77
+ version: 1.5.0.pre.1114
78
78
  - !ruby/object:Gem::Dependency
79
79
  name: bosh_cpi
80
80
  requirement: !ruby/object:Gem::Requirement
@@ -82,7 +82,7 @@ dependencies:
82
82
  requirements:
83
83
  - - ~>
84
84
  - !ruby/object:Gem::Version
85
- version: 1.5.0.pre.1113
85
+ version: 1.5.0.pre.1114
86
86
  type: :runtime
87
87
  prerelease: false
88
88
  version_requirements: !ruby/object:Gem::Requirement
@@ -90,7 +90,7 @@ dependencies:
90
90
  requirements:
91
91
  - - ~>
92
92
  - !ruby/object:Gem::Version
93
- version: 1.5.0.pre.1113
93
+ version: 1.5.0.pre.1114
94
94
  - !ruby/object:Gem::Dependency
95
95
  name: bosh_aws_cpi
96
96
  requirement: !ruby/object:Gem::Requirement
@@ -98,7 +98,7 @@ dependencies:
98
98
  requirements:
99
99
  - - ~>
100
100
  - !ruby/object:Gem::Version
101
- version: 1.5.0.pre.1113
101
+ version: 1.5.0.pre.1114
102
102
  type: :runtime
103
103
  prerelease: false
104
104
  version_requirements: !ruby/object:Gem::Requirement
@@ -106,7 +106,7 @@ dependencies:
106
106
  requirements:
107
107
  - - ~>
108
108
  - !ruby/object:Gem::Version
109
- version: 1.5.0.pre.1113
109
+ version: 1.5.0.pre.1114
110
110
  - !ruby/object:Gem::Dependency
111
111
  name: bosh_openstack_cpi
112
112
  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.1113
117
+ version: 1.5.0.pre.1114
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.1113
125
+ version: 1.5.0.pre.1114
126
126
  - !ruby/object:Gem::Dependency
127
127
  name: bosh_vcloud_cpi
128
128
  requirement: !ruby/object:Gem::Requirement
@@ -146,7 +146,7 @@ dependencies:
146
146
  requirements:
147
147
  - - ~>
148
148
  - !ruby/object:Gem::Version
149
- version: 1.5.0.pre.1113
149
+ version: 1.5.0.pre.1114
150
150
  type: :runtime
151
151
  prerelease: false
152
152
  version_requirements: !ruby/object:Gem::Requirement
@@ -154,7 +154,7 @@ dependencies:
154
154
  requirements:
155
155
  - - ~>
156
156
  - !ruby/object:Gem::Version
157
- version: 1.5.0.pre.1113
157
+ version: 1.5.0.pre.1114
158
158
  - !ruby/object:Gem::Dependency
159
159
  name: rspec-fire
160
160
  requirement: !ruby/object:Gem::Requirement
@@ -173,7 +173,7 @@ dependencies:
173
173
  version: '0'
174
174
  description: ! 'BOSH CLI plugin for Micro BOSH deployment
175
175
 
176
- cfd471'
176
+ e0c472'
177
177
  email: support@cloudfoundry.com
178
178
  executables: []
179
179
  extensions: []
@@ -184,17 +184,20 @@ files:
184
184
  - config/vcloud_defaults.yml
185
185
  - config/vsphere_defaults.yml
186
186
  - lib/bosh/cli/commands/micro.rb
187
- - lib/deployer.rb
188
- - lib/deployer/config.rb
189
- - lib/deployer/helpers.rb
190
- - lib/deployer/instance_manager.rb
191
- - lib/deployer/instance_manager/aws.rb
192
- - lib/deployer/instance_manager/openstack.rb
193
- - lib/deployer/instance_manager/vcloud.rb
194
- - lib/deployer/instance_manager/vsphere.rb
195
- - lib/deployer/models/instance.rb
196
- - lib/deployer/specification.rb
197
- - lib/deployer/version.rb
187
+ - lib/bosh/deployer.rb
188
+ - lib/bosh/deployer/config.rb
189
+ - lib/bosh/deployer/configuration.rb
190
+ - lib/bosh/deployer/director_gateway_error.rb
191
+ - lib/bosh/deployer/helpers.rb
192
+ - lib/bosh/deployer/instance_manager.rb
193
+ - lib/bosh/deployer/instance_manager/aws.rb
194
+ - lib/bosh/deployer/instance_manager/openstack.rb
195
+ - lib/bosh/deployer/instance_manager/vcloud.rb
196
+ - lib/bosh/deployer/instance_manager/vsphere.rb
197
+ - lib/bosh/deployer/logger_renderer.rb
198
+ - lib/bosh/deployer/models/instance.rb
199
+ - lib/bosh/deployer/specification.rb
200
+ - lib/bosh/deployer/version.rb
198
201
  - README.rdoc
199
202
  homepage: https://github.com/cloudfoundry/bosh
200
203
  licenses:
@@ -1,157 +0,0 @@
1
- # Copyright (c) 2009-2012 VMware, Inc.
2
-
3
- module Bosh; end
4
-
5
- module Bosh::Deployer
6
- class Config
7
-
8
- class << self
9
-
10
- include Helpers
11
-
12
- attr_accessor :logger, :db, :uuid, :resources, :cloud_options,
13
- :spec_properties, :agent_properties, :bosh_ip, :env, :name, :net_conf
14
-
15
- def configure(config)
16
- plugin = cloud_plugin(config)
17
-
18
- config = deep_merge(load_defaults(plugin), config)
19
-
20
- @base_dir = config["dir"]
21
- FileUtils.mkdir_p(@base_dir)
22
-
23
- @name = config["name"]
24
- @cloud_options = config["cloud"]
25
- @net_conf = config["network"]
26
- @bosh_ip = @net_conf["ip"]
27
- @resources = config["resources"]
28
- @env = config["env"]
29
-
30
- @logger = Logger.new(config["logging"]["file"] || STDOUT)
31
- @logger.level = Logger.const_get(config["logging"]["level"].upcase)
32
- @logger.formatter = ThreadFormatter.new
33
-
34
- apply_spec = config["apply_spec"]
35
- @spec_properties = apply_spec["properties"]
36
- @agent_properties = apply_spec["agent"]
37
-
38
- @db = Sequel.sqlite
39
-
40
- migrate_cpi
41
-
42
- @db.create_table :instances do
43
- primary_key :id
44
- column :name, :text, :unique => true, :null => false
45
- column :uuid, :text
46
- column :stemcell_cid, :text
47
- column :stemcell_name, :text
48
- column :vm_cid, :text
49
- column :disk_cid, :text
50
- end
51
-
52
- Sequel::Model.plugin :validation_helpers
53
-
54
- Bosh::Clouds::Config.configure(self)
55
-
56
- require "deployer/models/instance"
57
-
58
- @cloud_options["properties"]["agent"]["mbus"] ||=
59
- "https://vcap:b00tstrap@0.0.0.0:6868"
60
-
61
- @disk_model = nil
62
- @cloud = nil
63
- @networks = nil
64
- end
65
-
66
- def cloud
67
- if @cloud.nil?
68
- @cloud = Bosh::Clouds::Provider.create(@cloud_options["plugin"],
69
- @cloud_options["properties"])
70
- end
71
- @cloud
72
- end
73
-
74
- def agent
75
- uri = URI.parse(agent_url)
76
- user, password = uri.userinfo.split(":", 2)
77
- uri.userinfo = nil
78
- uri.host = bosh_ip
79
- Bosh::Agent::HTTPClient.new(uri.to_s,
80
- { "user" => user,
81
- "password" => password,
82
- "reply_to" => uuid })
83
- end
84
-
85
- def agent_url
86
- @cloud_options["properties"]["agent"]["mbus"]
87
- end
88
-
89
- def networks
90
- return @networks if @networks
91
-
92
- @networks = {
93
- "bosh" => {
94
- "cloud_properties" => @net_conf["cloud_properties"],
95
- "netmask" => @net_conf["netmask"],
96
- "gateway" => @net_conf["gateway"],
97
- "ip" => @net_conf["ip"],
98
- "dns" => @net_conf["dns"],
99
- "type" => @net_conf["type"],
100
- "default" => ["dns", "gateway"]
101
- }
102
- }
103
- if @net_conf["vip"]
104
- @networks["vip"] = {
105
- "ip" => @net_conf["vip"],
106
- "type" => "vip",
107
- "cloud_properties" => {}
108
- }
109
- end
110
-
111
- @networks
112
- end
113
-
114
- def task_checkpoint
115
- # Bosh::Clouds::Config (bosh_cli >= 0.5.1) delegates task_checkpoint
116
- # method to periodically check if director task is cancelled,
117
- # so we need to define a void method in Bosh::Deployer::Config to avoid
118
- # NoMethodError exceptions.
119
- end
120
-
121
- private
122
-
123
- def migrate_cpi
124
- cpi = @cloud_options["plugin"]
125
- require_path = File.join("cloud", cpi)
126
- cpi_path = $LOAD_PATH.find { |p| File.exist?(
127
- File.join(p, require_path)) }
128
- migrations = File.expand_path("../db/migrations", cpi_path)
129
-
130
- if File.directory?(migrations)
131
- Sequel.extension :migration
132
- Sequel::TimestampMigrator.new(
133
- @db, migrations, :table => "#{cpi}_cpi_schema").run
134
- end
135
- end
136
-
137
- def deep_merge(src, dst)
138
- src.merge(dst) do |key, old, new|
139
- if new.respond_to?(:blank) && new.blank?
140
- old
141
- elsif old.kind_of?(Hash) and new.kind_of?(Hash)
142
- deep_merge(old, new)
143
- elsif old.kind_of?(Array) and new.kind_of?(Array)
144
- old.concat(new).uniq
145
- else
146
- new
147
- end
148
- end
149
- end
150
-
151
- def load_defaults(provider)
152
- file = File.join(File.dirname(File.expand_path(__FILE__)), "../../config/#{provider}_defaults.yml")
153
- Psych.load_file(file)
154
- end
155
- end
156
- end
157
- end
@@ -1,46 +0,0 @@
1
- # Copyright (c) 2009-2012 VMware, Inc.
2
-
3
- module Bosh::Deployer
4
- class InstanceManager
5
-
6
- class Vsphere < InstanceManager
7
-
8
- def remote_tunnel(port)
9
- end
10
-
11
- def disk_model
12
- if @disk_model.nil?
13
- require "cloud/vsphere"
14
- @disk_model = VSphereCloud::Models::Disk
15
- end
16
- @disk_model
17
- end
18
-
19
- def update_spec(spec)
20
- properties = spec.properties
21
-
22
- properties["vcenter"] =
23
- Config.spec_properties["vcenter"] ||
24
- Config.cloud_options["properties"]["vcenters"].first.dup
25
-
26
- properties["vcenter"]["address"] ||= properties["vcenter"]["host"]
27
- end
28
- end
29
-
30
- # @return [Integer] size in MiB
31
- def disk_size(cid)
32
- disk_model.first(:uuid => cid).size
33
- end
34
-
35
- def persistent_disk_changed?
36
- Config.resources["persistent_disk"] != disk_size(state.disk_cid)
37
- end
38
-
39
- def check_dependencies
40
- if Bosh::Common.which(%w[genisoimage mkisofs]).nil?
41
- err("either of 'genisoimage' or 'mkisofs' commands must be present")
42
- end
43
- end
44
-
45
- end
46
- end
data/lib/deployer.rb DELETED
@@ -1,23 +0,0 @@
1
- # Copyright (c) 2009-2012 VMware, Inc.
2
-
3
- module Bosh; module Deployer; end; end
4
-
5
- require "agent_client"
6
- require "fileutils"
7
- require "forwardable"
8
- require "sequel"
9
- require "sequel/adapters/sqlite"
10
- require "cloud"
11
- require "logger"
12
- require "tmpdir"
13
- require "securerandom"
14
- require "yaml"
15
- require "yajl"
16
- require "common/common"
17
- require "common/thread_formatter"
18
-
19
- require "deployer/version"
20
- require "deployer/helpers"
21
- require "deployer/config"
22
- require "deployer/specification"
23
- require "deployer/instance_manager"