bosh_aws_cpi 1.3048.0 → 1.3050.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 +4 -4
- data/bin/aws_cpi +11 -6
- data/lib/cloud/aws/cloud.rb +18 -2
- data/lib/cloud/aws/instance_manager.rb +2 -0
- data/lib/cloud/aws/version.rb +1 -1
- metadata +9 -9
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 91a6ffeeb7121c9fd177a2b0dd355642b695832d
|
|
4
|
+
data.tar.gz: f237a99b854f437513f636636249421678aefb56
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: b26df12a6cc945d231c6c0f1d0f00af09d639a28b6142faea021a31ea1b556a4163ccda7c9d84f3941a8cb015a132386e27979190e4e9cde23bde9714db4f274
|
|
7
|
+
data.tar.gz: 4c1185efa9b629fe42b0bc14808666b2501a9ea77135610b5ce76bf174c6a611f7f7e4c34ce43ae80cce59c7ba4766418268bdddfc4a2b26789fc28b1587932a
|
data/bin/aws_cpi
CHANGED
|
@@ -6,15 +6,20 @@ require 'bosh/cpi'
|
|
|
6
6
|
require 'bosh/cpi/cli'
|
|
7
7
|
|
|
8
8
|
cpi_config = YAML.load_file(ARGV.shift)
|
|
9
|
-
|
|
10
9
|
cloud_config = OpenStruct.new(:logger => Logger.new(STDERR))
|
|
11
10
|
|
|
12
11
|
Bosh::Clouds::Config.configure(cloud_config)
|
|
13
12
|
|
|
14
|
-
cloud_properties = cpi_config['cloud']['properties']
|
|
15
|
-
|
|
16
|
-
cpi = Bosh::Clouds::Aws.new(cloud_properties)
|
|
17
13
|
cpi_log = StringIO.new # Empty on AWS
|
|
18
|
-
cli = Bosh::Cpi::Cli.new(cpi, cpi_log, STDOUT)
|
|
19
14
|
|
|
20
|
-
|
|
15
|
+
cpi_lambda = lambda do
|
|
16
|
+
unless cpi_config.has_key?('cloud') && cpi_config['cloud'].has_key?('properties')
|
|
17
|
+
raise "Could not find cloud properties in the configuration"
|
|
18
|
+
end
|
|
19
|
+
cloud_properties = cpi_config['cloud']['properties']
|
|
20
|
+
Bosh::Clouds::Aws.new(cloud_properties)
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
cli = Bosh::Cpi::Cli.new(cpi_lambda, cpi_log, STDOUT)
|
|
24
|
+
|
|
25
|
+
cli.run(ARGF.read)
|
data/lib/cloud/aws/cloud.rb
CHANGED
|
@@ -226,6 +226,18 @@ module Bosh::AwsCloud
|
|
|
226
226
|
type
|
|
227
227
|
end
|
|
228
228
|
|
|
229
|
+
##
|
|
230
|
+
# Check whether an OpenStack volume exists or not
|
|
231
|
+
#
|
|
232
|
+
# @param [String] disk_id OpenStack volume UUID
|
|
233
|
+
# @return [bool] whether the specific disk is there or not
|
|
234
|
+
def has_disk?(disk_id)
|
|
235
|
+
with_thread_name("has_disk?(#{disk_id})") do
|
|
236
|
+
@logger.info("Check the presence of disk with id `#{disk_id}'...")
|
|
237
|
+
@ec2.volumes[disk_id].exists?
|
|
238
|
+
end
|
|
239
|
+
end
|
|
240
|
+
|
|
229
241
|
##
|
|
230
242
|
# Delete EBS volume
|
|
231
243
|
# @param [String] disk_id EBS volume id
|
|
@@ -304,14 +316,18 @@ module Bosh::AwsCloud
|
|
|
304
316
|
instance = @ec2.instances[instance_id]
|
|
305
317
|
volume = @ec2.volumes[disk_id]
|
|
306
318
|
|
|
319
|
+
if volume.exists?
|
|
320
|
+
detach_ebs_volume(instance, volume)
|
|
321
|
+
else
|
|
322
|
+
@logger.info("Disk `#{disk_id}' not found while trying to detach it from vm `#{instance_id}'...")
|
|
323
|
+
end
|
|
324
|
+
|
|
307
325
|
update_agent_settings(instance) do |settings|
|
|
308
326
|
settings["disks"] ||= {}
|
|
309
327
|
settings["disks"]["persistent"] ||= {}
|
|
310
328
|
settings["disks"]["persistent"].delete(disk_id)
|
|
311
329
|
end
|
|
312
330
|
|
|
313
|
-
detach_ebs_volume(instance, volume)
|
|
314
|
-
|
|
315
331
|
logger.info("Detached `#{disk_id}' from `#{instance_id}'")
|
|
316
332
|
end
|
|
317
333
|
end
|
|
@@ -111,6 +111,8 @@ module Bosh::AwsCloud
|
|
|
111
111
|
ephemeral_disk_options = resource_pool.fetch("ephemeral_disk", {})
|
|
112
112
|
ephemeral_disk_options["instance_type"] = resource_pool["instance_type"]
|
|
113
113
|
instance_params[:block_device_mappings] = block_device_mapping(ephemeral_disk_options)
|
|
114
|
+
instance_params[:placement_group] = resource_pool["placement_group"] if resource_pool["placement_group"]
|
|
115
|
+
instance_params[:dedicated_tenancy] = true if resource_pool["tenancy"] == "dedicated"
|
|
114
116
|
|
|
115
117
|
set_user_data_parameter(instance_params, networks_spec)
|
|
116
118
|
set_key_name_parameter(instance_params, resource_pool["key_name"], options["aws"]["default_key_name"])
|
data/lib/cloud/aws/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: bosh_aws_cpi
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.3050.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-08-
|
|
11
|
+
date: 2015-08-20 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: aws-sdk
|
|
@@ -30,42 +30,42 @@ dependencies:
|
|
|
30
30
|
requirements:
|
|
31
31
|
- - "~>"
|
|
32
32
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: 1.
|
|
33
|
+
version: 1.3050.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.
|
|
40
|
+
version: 1.3050.0
|
|
41
41
|
- !ruby/object:Gem::Dependency
|
|
42
42
|
name: bosh_cpi
|
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
|
44
44
|
requirements:
|
|
45
45
|
- - "~>"
|
|
46
46
|
- !ruby/object:Gem::Version
|
|
47
|
-
version: 1.
|
|
47
|
+
version: 1.3050.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.
|
|
54
|
+
version: 1.3050.0
|
|
55
55
|
- !ruby/object:Gem::Dependency
|
|
56
56
|
name: bosh-registry
|
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
|
58
58
|
requirements:
|
|
59
59
|
- - "~>"
|
|
60
60
|
- !ruby/object:Gem::Version
|
|
61
|
-
version: 1.
|
|
61
|
+
version: 1.3050.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.
|
|
68
|
+
version: 1.3050.0
|
|
69
69
|
- !ruby/object:Gem::Dependency
|
|
70
70
|
name: httpclient
|
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -138,7 +138,7 @@ dependencies:
|
|
|
138
138
|
version: '0'
|
|
139
139
|
description: |-
|
|
140
140
|
BOSH AWS CPI
|
|
141
|
-
|
|
141
|
+
b92cdc
|
|
142
142
|
email: support@cloudfoundry.com
|
|
143
143
|
executables:
|
|
144
144
|
- aws_cpi
|