bosh-bootstrap 0.16.2 → 0.17.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a81aa52564889a1fe88d7a9fa76ec7f661f53b82
4
- data.tar.gz: 557b84880d0ab89f0e2eb755d8ab85b80cc3ca9e
3
+ metadata.gz: b3f92d38acfc5fd222748b3dbee68e2fa5054786
4
+ data.tar.gz: cb14f1035616e3370eeb8b67ec419e2d7db45efa
5
5
  SHA512:
6
- metadata.gz: 5cb25f25864e01349141bcaa11e4b181508ffe2071cae5532ef22d2505e38d589b4c206be6a413c12a5a45d962ef2acaae2838f4bf64c890baf3c3a9c464f254
7
- data.tar.gz: b08b2b681be847922104e5f17d0ec62b502fa69658542a20c50d1e9a582957d30caa4b3cd17455256ad65e662e0675ab9b1f4107505929acc3e84f35a68fbb29
6
+ metadata.gz: 2223e60bf12a9d64c35924eb336c397280b5fb0d124f3af8a57a668aa6e4f16cf1e68ef16b6cc40fada73d09046b7aca4317e1945fedcfe3f4243fd71480f386
7
+ data.tar.gz: f138add545a0abba0a8352c83f9f95a6979a4da421738401a17a720646342524f2d5c7332e511d5c3475a70eb1aa784cf24d9fae0660e643d9be4886dc5c2a2f
@@ -8,6 +8,11 @@ gem install bosh-bootstrap
8
8
  bosh-bootstrap deploy
9
9
  ```
10
10
 
11
+ v0.17
12
+ -----
13
+ - [aws-openstack] Added proxy support
14
+ - Bump vm size to m3
15
+
11
16
  v0.16
12
17
  -----
13
18
 
@@ -25,6 +25,7 @@ EOS
25
25
  gem.add_dependency "bosh_cli_plugin_micro"
26
26
  gem.add_dependency "cyoi", "~> 0.11.3"
27
27
  gem.add_dependency "fog", "~> 1.11"
28
+ gem.add_dependency "fog-aws", "0.1.1"
28
29
  gem.add_dependency "readwritesettings", "~> 3.0"
29
30
  gem.add_dependency "thor", "~> 0.18"
30
31
  gem.add_dependency "httpclient", '=2.4.0'
@@ -29,6 +29,9 @@ module Bosh::Bootstrap::MicroboshProviders
29
29
  data["apply_spec"]["properties"]["dns"] = {}
30
30
  data["apply_spec"]["properties"]["dns"]["recursor"] = dns
31
31
  end
32
+ if proxy?
33
+ data["apply_spec"]["properties"]["director"] = {"env" => proxy}
34
+ end
32
35
  data
33
36
  end
34
37
 
@@ -56,7 +59,8 @@ module Bosh::Bootstrap::MicroboshProviders
56
59
  end
57
60
 
58
61
  def resources_cloud_properties
59
- {"instance_type"=>"m1.medium"}
62
+ {"instance_type"=>"m3.medium",
63
+ "ephemeral_disk"=>{"size" => 163840, "type" => "gp2"}}
60
64
  end
61
65
 
62
66
  def cloud_properties
@@ -55,6 +55,14 @@ class Bosh::Bootstrap::MicroboshProviders::Base
55
55
  settings.key_pair.path
56
56
  end
57
57
 
58
+ def proxy
59
+ settings.proxy.to_hash
60
+ end
61
+
62
+ def proxy?
63
+ settings.exists?("proxy")
64
+ end
65
+
58
66
  def jenkins_bucket
59
67
  "bosh-jenkins-artifacts"
60
68
  end
@@ -4,7 +4,7 @@ module Bosh::Bootstrap::MicroboshProviders
4
4
  class OpenStack < Base
5
5
 
6
6
  def to_hash
7
- super.deep_merge({
7
+ data = super.deep_merge({
8
8
  "network"=>network_configuration,
9
9
  "resources"=>
10
10
  {"persistent_disk"=>persistent_disk,
@@ -23,6 +23,10 @@ module Bosh::Bootstrap::MicroboshProviders
23
23
  "hm"=>{"resurrector_enabled" => true},
24
24
  "ntp"=>["0.north-america.pool.ntp.org","1.north-america.pool.ntp.org"]}}
25
25
  })
26
+ if proxy?
27
+ data["apply_spec"]["properties"]["director"]["env"] = proxy
28
+ end
29
+ data
26
30
  end
27
31
 
28
32
  # For Nova/Floating IP:
@@ -1,5 +1,5 @@
1
1
  module Bosh
2
2
  module Bootstrap
3
- VERSION = "0.16.2"
3
+ VERSION = "0.17.0"
4
4
  end
5
5
  end
@@ -8,7 +8,10 @@ network:
8
8
  resources:
9
9
  persistent_disk: 32768
10
10
  cloud_properties:
11
- instance_type: m1.medium
11
+ instance_type: m3.medium
12
+ ephemeral_disk:
13
+ size: 163840
14
+ type: gp2
12
15
  availability_zone: us-west-2a
13
16
  cloud:
14
17
  plugin: aws
@@ -8,7 +8,10 @@ network:
8
8
  resources:
9
9
  persistent_disk: 32768
10
10
  cloud_properties:
11
- instance_type: m1.medium
11
+ instance_type: m3.medium
12
+ ephemeral_disk:
13
+ size: 163840
14
+ type: gp2
12
15
  cloud:
13
16
  plugin: aws
14
17
  properties:
@@ -12,7 +12,10 @@ network:
12
12
  resources:
13
13
  persistent_disk: 32768
14
14
  cloud_properties:
15
- instance_type: m1.medium
15
+ instance_type: m3.medium
16
+ ephemeral_disk:
17
+ size: 163840
18
+ type: gp2
16
19
  cloud:
17
20
  plugin: aws
18
21
  properties:
@@ -0,0 +1,49 @@
1
+ ---
2
+ name: test-bosh
3
+ logging:
4
+ level: DEBUG
5
+ network:
6
+ type: manual
7
+ ip: 1.2.3.4
8
+ dns:
9
+ - 1.2.0.2
10
+ cloud_properties:
11
+ subnet: subnet-123456
12
+ resources:
13
+ persistent_disk: 32768
14
+ cloud_properties:
15
+ instance_type: m3.medium
16
+ ephemeral_disk:
17
+ size: 163840
18
+ type: gp2
19
+ cloud:
20
+ plugin: aws
21
+ properties:
22
+ aws:
23
+ access_key_id: ACCESS
24
+ secret_access_key: SECRET
25
+ region: us-west-2
26
+ ec2_endpoint: ec2.us-west-2.amazonaws.com
27
+ default_security_groups:
28
+ - ssh-vpc-123456
29
+ - dns-server-vpc-123456
30
+ - bosh-vpc-123456
31
+ default_key_name: test-bosh
32
+ ec2_private_key: ~/.microbosh/ssh/test-bosh
33
+ apply_spec:
34
+ agent:
35
+ blobstore:
36
+ address: 1.2.3.4
37
+ nats:
38
+ address: 1.2.3.4
39
+ properties:
40
+ hm:
41
+ resurrector_enabled: true
42
+ aws_registry:
43
+ address: 1.2.3.4
44
+ dns:
45
+ recursor: 1.2.0.2
46
+ director:
47
+ env:
48
+ http_proxy: http://192.168.1.100:8080
49
+ https_proxy: https://192.168.1.100:8080
@@ -12,7 +12,10 @@ network:
12
12
  resources:
13
13
  persistent_disk: 32768
14
14
  cloud_properties:
15
- instance_type: m1.medium
15
+ instance_type: m3.medium
16
+ ephemeral_disk:
17
+ size: 163840
18
+ type: gp2
16
19
  cloud:
17
20
  plugin: aws
18
21
  properties:
@@ -0,0 +1,49 @@
1
+ ---
2
+ name: test-bosh
3
+ logging:
4
+ level: DEBUG
5
+ network:
6
+ type: dynamic
7
+ vip: 1.2.3.4
8
+ cloud_properties:
9
+ net_id: 7b8788eb-b49e-4424-9065-75a6b07094ea
10
+ resources:
11
+ persistent_disk: 32768
12
+ cloud_properties:
13
+ instance_type: m1.medium
14
+ cloud:
15
+ plugin: openstack
16
+ properties:
17
+ openstack:
18
+ auth_url: http://10.0.0.2:5000/v2.0/tokens
19
+ username: USER
20
+ api_key: PASSWORD
21
+ tenant: TENANT
22
+ region: REGION
23
+ default_security_groups:
24
+ - ssh
25
+ - dns-server
26
+ - bosh
27
+ default_key_name: test-bosh
28
+ state_timeout: 300
29
+ private_key: ~/.microbosh/ssh/test-bosh
30
+ connection_options:
31
+ ssl_verify_peer: false
32
+ boot_from_volume: false
33
+ apply_spec:
34
+ agent:
35
+ blobstore:
36
+ address: 1.2.3.4
37
+ nats:
38
+ address: 1.2.3.4
39
+ properties:
40
+ director:
41
+ max_threads: 3
42
+ env:
43
+ http_proxy: http://192.168.1.100:8080
44
+ https_proxy: https://192.168.1.100:8080
45
+ hm:
46
+ resurrector_enabled: true
47
+ ntp:
48
+ - 0.north-america.pool.ntp.org
49
+ - 1.north-america.pool.ntp.org
@@ -207,5 +207,28 @@ describe Bosh::Bootstrap::MicroboshProviders::AWS do
207
207
  expect(File).to be_exists(microbosh_yml)
208
208
  yaml_files_match(microbosh_yml, spec_asset("microbosh_yml/micro_bosh.aws_vpc_recursor.yml"))
209
209
  end
210
+
211
+ it "adds proxy if present" do
212
+ setting "provider.name", "aws"
213
+ setting "provider.region", "us-west-2"
214
+ setting "provider.credentials.aws_access_key_id", "ACCESS"
215
+ setting "provider.credentials.aws_secret_access_key", "SECRET"
216
+ setting "address.ip", "1.2.3.4"
217
+ setting "address.vpc_id", "vpc-123456"
218
+ setting "address.subnet_id", "subnet-123456"
219
+ setting "key_pair.path", "~/.microbosh/ssh/test-bosh"
220
+ setting "bosh.name", "test-bosh"
221
+ setting "bosh.salted_password", "salted_password"
222
+ setting "bosh.persistent_disk", 32768
223
+ setting "proxy.http_proxy", "http://192.168.1.100:8080"
224
+ setting "proxy.https_proxy", "https://192.168.1.100:8080"
225
+
226
+
227
+ subject = Bosh::Bootstrap::MicroboshProviders::AWS.new(microbosh_yml, settings, fog_compute)
228
+
229
+ subject.create_microbosh_yml(settings)
230
+ expect(File).to be_exists(microbosh_yml)
231
+ yaml_files_match(microbosh_yml, spec_asset("microbosh_yml/micro_bosh.aws_vpc_proxy.yml"))
232
+ end
210
233
  end
211
234
  end
@@ -119,6 +119,30 @@ describe Bosh::Bootstrap::MicroboshProviders::OpenStack do
119
119
  yaml_files_match(microbosh_yml, spec_asset("microbosh_yml/micro_bosh.openstack.with_recursor.yml"))
120
120
  end
121
121
 
122
+ it "adds proxy if present" do
123
+ setting "provider.name", "openstack"
124
+ setting "provider.credentials.openstack_auth_url", "http://10.0.0.2:5000/v2.0/tokens"
125
+ setting "provider.credentials.openstack_username", "USER"
126
+ setting "provider.credentials.openstack_api_key", "PASSWORD"
127
+ setting "provider.credentials.openstack_tenant", "TENANT"
128
+ setting "provider.credentials.openstack_region", "REGION"
129
+ setting "address.subnet_id", "7b8788eb-b49e-4424-9065-75a6b07094ea"
130
+ setting "address.pool_name", "INTERNET"
131
+ setting "address.ip", "1.2.3.4" # network.vip
132
+ setting "key_pair.path", "~/.microbosh/ssh/test-bosh"
133
+ setting "bosh.name", "test-bosh"
134
+ setting "bosh.salted_password", "salted_password"
135
+ setting "bosh.persistent_disk", 32768
136
+ setting "proxy.http_proxy", "http://192.168.1.100:8080"
137
+ setting "proxy.https_proxy", "https://192.168.1.100:8080"
138
+
139
+ subject = Bosh::Bootstrap::MicroboshProviders::OpenStack.new(microbosh_yml, settings, fog_compute)
140
+
141
+ subject.create_microbosh_yml(settings)
142
+ expect(File).to be_exists(microbosh_yml)
143
+ yaml_files_match(microbosh_yml, spec_asset("microbosh_yml/micro_bosh.openstack.with_proxy.yml"))
144
+ end
145
+
122
146
  it "adds state_timeout if provided" do
123
147
  setting "provider.name", "openstack"
124
148
  setting "provider.credentials.openstack_auth_url", "http://10.0.0.2:5000/v2.0/tokens"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bosh-bootstrap
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.16.2
4
+ version: 0.17.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dr Nic Williams
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-03-30 00:00:00.000000000 Z
11
+ date: 2015-04-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bosh_cli_plugin_micro
@@ -52,6 +52,20 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '1.11'
55
+ - !ruby/object:Gem::Dependency
56
+ name: fog-aws
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - '='
60
+ - !ruby/object:Gem::Version
61
+ version: 0.1.1
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '='
67
+ - !ruby/object:Gem::Version
68
+ version: 0.1.1
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: readwritesettings
57
71
  requirement: !ruby/object:Gem::Requirement
@@ -214,6 +228,7 @@ files:
214
228
  - spec/assets/microbosh_yml/micro_bosh.aws_ec2.us-west-2a.yml
215
229
  - spec/assets/microbosh_yml/micro_bosh.aws_ec2.yml
216
230
  - spec/assets/microbosh_yml/micro_bosh.aws_vpc.yml
231
+ - spec/assets/microbosh_yml/micro_bosh.aws_vpc_proxy.yml
217
232
  - spec/assets/microbosh_yml/micro_bosh.aws_vpc_recursor.yml
218
233
  - spec/assets/microbosh_yml/micro_bosh.base.with_recursor.yml
219
234
  - spec/assets/microbosh_yml/micro_bosh.base.without_recursor.yml
@@ -221,6 +236,7 @@ files:
221
236
  - spec/assets/microbosh_yml/micro_bosh.openstack.neutron_manual.yml
222
237
  - spec/assets/microbosh_yml/micro_bosh.openstack.neutron_vip.yml
223
238
  - spec/assets/microbosh_yml/micro_bosh.openstack.nova_vip.yml
239
+ - spec/assets/microbosh_yml/micro_bosh.openstack.with_proxy.yml
224
240
  - spec/assets/microbosh_yml/micro_bosh.openstack.with_recursor.yml
225
241
  - spec/assets/microbosh_yml/micro_bosh.openstack.with_state_timeout.yml
226
242
  - spec/assets/microbosh_yml/micro_bosh.vsphere.yml
@@ -272,6 +288,7 @@ test_files:
272
288
  - spec/assets/microbosh_yml/micro_bosh.aws_ec2.us-west-2a.yml
273
289
  - spec/assets/microbosh_yml/micro_bosh.aws_ec2.yml
274
290
  - spec/assets/microbosh_yml/micro_bosh.aws_vpc.yml
291
+ - spec/assets/microbosh_yml/micro_bosh.aws_vpc_proxy.yml
275
292
  - spec/assets/microbosh_yml/micro_bosh.aws_vpc_recursor.yml
276
293
  - spec/assets/microbosh_yml/micro_bosh.base.with_recursor.yml
277
294
  - spec/assets/microbosh_yml/micro_bosh.base.without_recursor.yml
@@ -279,6 +296,7 @@ test_files:
279
296
  - spec/assets/microbosh_yml/micro_bosh.openstack.neutron_manual.yml
280
297
  - spec/assets/microbosh_yml/micro_bosh.openstack.neutron_vip.yml
281
298
  - spec/assets/microbosh_yml/micro_bosh.openstack.nova_vip.yml
299
+ - spec/assets/microbosh_yml/micro_bosh.openstack.with_proxy.yml
282
300
  - spec/assets/microbosh_yml/micro_bosh.openstack.with_recursor.yml
283
301
  - spec/assets/microbosh_yml/micro_bosh.openstack.with_state_timeout.yml
284
302
  - spec/assets/microbosh_yml/micro_bosh.vsphere.yml