bosh_aws_cpi 2.0.0 → 2.0.1
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/lib/cloud/aws/availability_zone_selector.rb +7 -7
- data/lib/cloud/aws/cloud.rb +7 -1
- data/lib/cloud/aws/resource_wait.rb +0 -5
- data/scripts/stemcell-copy.sh +37 -0
- data/scripts/vendor_gems +5 -0
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8f1678fa3712efeb30ac293ada0fdb2183a3c043
|
4
|
+
data.tar.gz: eb18fe472d0f6f7fe0e0bedca3c64de37c3b2a55
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e0b8e1fbe36086aeaa4ac308ab30b5e2069c453b7722e5e2db1a0786e9fe4e608dc2cace7e4bc5ae82959f3fc245391954a54a356c5d42cc9237ccfc06fef368
|
7
|
+
data.tar.gz: 34e7d8ce2a7a05c13f9d6093d2391674358fcac953a268fa00f903575dad2d198b8cabb77e2f460a75e2ff8bc5dd71c87bca2f4134f6fb91230860f7edf983e7
|
@@ -9,7 +9,12 @@ module Bosh::AwsCloud
|
|
9
9
|
|
10
10
|
def common_availability_zone(volume_az_names, resource_pool_az_name, vpc_subnet_az_name)
|
11
11
|
zone_names = (volume_az_names + [resource_pool_az_name, vpc_subnet_az_name]).compact.uniq
|
12
|
-
|
12
|
+
if zone_names.size > 1
|
13
|
+
raise Bosh::Clouds::CloudError,
|
14
|
+
"can't use multiple availability zones: Volume in #{volume_az_names.join(', ')}, " +
|
15
|
+
"Resource Pool in #{resource_pool_az_name}, " +
|
16
|
+
"Subnet in #{vpc_subnet_az_name}"
|
17
|
+
end
|
13
18
|
|
14
19
|
zone_names.first || @default
|
15
20
|
end
|
@@ -31,10 +36,5 @@ module Bosh::AwsCloud
|
|
31
36
|
region.availability_zones.each { |zone| zones << zone.name }
|
32
37
|
zones[Random.rand(zones.size)]
|
33
38
|
end
|
34
|
-
|
35
|
-
def ensure_same_availability_zone(zone_names)
|
36
|
-
raise Bosh::Clouds::CloudError,
|
37
|
-
"can't use multiple availability zones: #{zone_names.join(', ')}" if zone_names.size > 1
|
38
|
-
end
|
39
39
|
end
|
40
|
-
end
|
40
|
+
end
|
data/lib/cloud/aws/cloud.rb
CHANGED
@@ -57,7 +57,13 @@ module Bosh::AwsCloud
|
|
57
57
|
initialize_aws
|
58
58
|
initialize_registry
|
59
59
|
|
60
|
-
|
60
|
+
aws_elb_params = {
|
61
|
+
access_key_id: aws_properties['access_key_id'],
|
62
|
+
secret_access_key: aws_properties['secret_access_key'],
|
63
|
+
region: aws_properties['region']
|
64
|
+
}
|
65
|
+
|
66
|
+
elb = AWS::ELB.new(aws_elb_params)
|
61
67
|
|
62
68
|
@instance_manager = InstanceManager.new(region, registry, elb, az_selector, @logger)
|
63
69
|
|
@@ -160,10 +160,6 @@ module Bosh::AwsCloud
|
|
160
160
|
Bosh::Clouds::Config.logger
|
161
161
|
end
|
162
162
|
|
163
|
-
def self.task_checkpoint
|
164
|
-
Bosh::Clouds::Config.task_checkpoint
|
165
|
-
end
|
166
|
-
|
167
163
|
def initialize
|
168
164
|
@started_at = Time.now
|
169
165
|
end
|
@@ -187,7 +183,6 @@ module Bosh::AwsCloud
|
|
187
183
|
|
188
184
|
state = nil
|
189
185
|
Bosh::Retryable.new(tries: tries, sleep: sleep_cb, on: errors, ensure: ensure_cb).retryer do
|
190
|
-
Bosh::AwsCloud::ResourceWait.task_checkpoint
|
191
186
|
|
192
187
|
state = resource.method(state_method).call
|
193
188
|
if state == :error || state == :failed
|
@@ -0,0 +1,37 @@
|
|
1
|
+
#!/bin/sh
|
2
|
+
#
|
3
|
+
# This script runs as root through sudo without the need for a password,
|
4
|
+
# so it needs to make sure it can't be abused.
|
5
|
+
#
|
6
|
+
|
7
|
+
# make sure we have a secure PATH
|
8
|
+
PATH=/bin:/usr/bin
|
9
|
+
export PATH
|
10
|
+
if [ $# -ne 2 ]; then
|
11
|
+
echo "usage: $0 <image-file> <block device>"
|
12
|
+
exit 1
|
13
|
+
fi
|
14
|
+
|
15
|
+
IMAGE="$1"
|
16
|
+
OUTPUT="$2"
|
17
|
+
|
18
|
+
# workaround for issue on 12.04 LTS, use LANG=C
|
19
|
+
echo ${IMAGE} | LANG=C egrep '^/[A-za-z0-9_/-]+/image$' > /dev/null 2>&1
|
20
|
+
if [ $? -ne 0 ]; then
|
21
|
+
echo "ERROR: illegal image file: ${IMAGE}"
|
22
|
+
exit 1
|
23
|
+
fi
|
24
|
+
|
25
|
+
echo ${OUTPUT} | egrep '^/dev/[svx]+d[a-z0-9]+$' > /dev/null 2>&1
|
26
|
+
if [ $? -ne 0 ]; then
|
27
|
+
echo "ERROR: illegal device: ${OUTPUT}"
|
28
|
+
exit 1
|
29
|
+
fi
|
30
|
+
|
31
|
+
if [ ! -b ${OUTPUT} ]; then
|
32
|
+
echo "ERROR: not a device: ${OUTPUT}"
|
33
|
+
exit 1
|
34
|
+
fi
|
35
|
+
|
36
|
+
# copy image to block device with 1 MB block size
|
37
|
+
tar -xzf ${IMAGE} -O root.img | dd bs=1M of=${OUTPUT}
|
data/scripts/vendor_gems
ADDED
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: 2.0.
|
4
|
+
version: 2.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- VMware
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-09-
|
11
|
+
date: 2015-09-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aws-sdk
|
@@ -125,6 +125,8 @@ files:
|
|
125
125
|
- lib/cloud/aws/stemcell_finder.rb
|
126
126
|
- lib/cloud/aws/tag_manager.rb
|
127
127
|
- lib/cloud/aws/vip_network.rb
|
128
|
+
- scripts/stemcell-copy.sh
|
129
|
+
- scripts/vendor_gems
|
128
130
|
homepage: https://github.com/cloudfoundry/bosh
|
129
131
|
licenses:
|
130
132
|
- Apache 2.0
|