bosh-bootstrap 0.16.2 → 0.17.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 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