bosh-bootstrap 0.11.15 → 0.12.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- MzAwYzg5ZTFiMmY1Yjg0NDc0NWJmYWUxNDllNzhmYjBmODAxZjJmNg==
4
+ NDZkNmI0MDEyODI1NGNiMjRjYmJjZmExOGY4ZmFmZDNkNWY3YzIwOA==
5
5
  data.tar.gz: !binary |-
6
- YTg0NGNmMzU4NmJhM2QxZTlmMGZjYWE2YzNlMzkzNGNiZjIxMjk4Ng==
6
+ MGQzNWNkMWZkZTE2ODZmMzU2Y2EwY2EwNTQxMDM5YTk0YzJjZDcwOQ==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- MmExYTBhY2MzZWI0MzU3NWNlOWUxZmJlZGNhMTViMjg0NGYwMTJiY2U2ZDhk
10
- NTY5ZDkzZTQ2M2FjN2EzYTIxZTcyZDZhOTQ5YWVhYjY3NWEwZjc1YmQ2NTY0
11
- MGMxMmJjNTJmOWZhYTIxNWY4YmY4MzA1YjQ3ZTZjNWFmOTI3NzY=
9
+ NmVkNTdiMTM1ZmFkMWMzYjUyMGIwNDU1NWZjZGZkYmUyYWRjMGJkZmZmNDg4
10
+ ZThhZjI5NjMyODBjOTZlNDUzMWQ1MGZhMzJlNGVjMmE3MjA3NDVmNGQ2NjBm
11
+ MzY3YzExMGMwODIwOWE3N2Q2YjFkMjI4YWVlOTY2OWNhNzMwODI=
12
12
  data.tar.gz: !binary |-
13
- M2FmMWFkZTA5N2M0MzQ4MTJlYzZiMzMzNjBkNTY0OTg2NWMyNmQ3YjhjOThh
14
- NzE1NWM0ZjNiODI5OWUzOTdmMDQ0NmFjZDg4MTAzYmFjMmE1NmQ5ZGNlOTky
15
- NGY2ZmFjYmY5MjMzZTZmZGQ2ZDk0ZWNkM2JkOGMzZjE5NmI4ZGU=
13
+ YzU3ZDQ0ODE4NmJiYjQzYTU1NDlmYWIwZmRkMGY4Njk1NDljZTY3YjZiYzE2
14
+ ZWQ3NTQyZDg1ZjQyYzBiMTRkYWQ4MDQ5YWNjMjdhNjVhZjA3YWI1YjE1ZWZj
15
+ YTgwNDU0MDNkYmU0MDM0YzcyN2ExZjNiODhjZjAzZGFiYjgwMjU=
data/ChangeLog.md CHANGED
@@ -7,6 +7,9 @@
7
7
 
8
8
  ## Next
9
9
 
10
+ ## v0.12
11
+
12
+ * vSphere support [thanks Matt Stine!!]
10
13
 
11
14
  ## v0.11
12
15
 
@@ -22,11 +22,12 @@ EOS
22
22
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
23
23
  gem.require_paths = ["lib"]
24
24
 
25
- gem.add_dependency "cyoi", "~> 0.5"
25
+ gem.add_dependency "cyoi", "~> 0.7"
26
26
  gem.add_dependency "fog", "~> 1.11"
27
27
  gem.add_dependency "readwritesettings", "~> 3.0"
28
28
  gem.add_dependency "thor", "~> 0.18"
29
29
  gem.add_dependency "redcard"
30
+ gem.add_dependency "rbvmomi"
30
31
  gem.add_development_dependency "rake"
31
32
  gem.add_development_dependency "rspec"
32
33
  gem.add_development_dependency "fakeweb"
@@ -2,9 +2,16 @@ require "bosh-bootstrap/microbosh_providers/base"
2
2
 
3
3
  module Bosh::Bootstrap::MicroboshProviders
4
4
  class VSphere < Base
5
+ def stemcell
6
+ unless settings.exists?("bosh.stemcell")
7
+ download_stemcell
8
+ end
9
+ end
10
+
5
11
  def to_hash
6
12
  super.merge({
7
13
  "network" => network_configuration,
14
+ "resources" => resource_configuration,
8
15
  "cloud"=>
9
16
  {"plugin"=>"vsphere",
10
17
  "properties"=>{
@@ -36,8 +43,27 @@ module Bosh::Bootstrap::MicroboshProviders
36
43
  }
37
44
  end
38
45
 
46
+ # resources:
47
+ # persistent_disk: 16384
48
+ # cloud_properties:
49
+ # ram: 4096
50
+ # disk: 10240
51
+ # cpu: 2
52
+ def resource_configuration
53
+ {
54
+ "persistent_disk"=>settings.provider.resources.persistent_disk,
55
+ "cloud_properties"=>{
56
+ "ram"=>settings.provider.resources.ram,
57
+ "disk"=>settings.provider.resources.disk,
58
+ "cpu"=>settings.provider.resources.cpu
59
+ }
60
+ }
61
+ end
62
+
39
63
  def ntps
40
- settings.provider.npt
64
+ ntp_servers = settings.provider.ntps
65
+ ntp_servers = ntp_servers.split(",") if ntp_servers.is_a?(String)
66
+ ntp_servers
41
67
  end
42
68
 
43
69
  # vcenters:
@@ -58,9 +84,9 @@ module Bosh::Bootstrap::MicroboshProviders
58
84
  clusters = settings.provider.datacenter.clusters
59
85
  clusters = clusters.split(",") if clusters.is_a?(String)
60
86
  {
61
- "host"=>settings.provider.credentials.host,
62
- "user"=>settings.provider.credentials.user,
63
- "password"=>settings.provider.credentials.password,
87
+ "host"=>settings.provider.credentials.vsphere_server,
88
+ "user"=>settings.provider.credentials.vsphere_username,
89
+ "password"=>settings.provider.credentials.vsphere_password,
64
90
  "datacenters"=>[{
65
91
  "name"=>settings.provider.datacenter.name,
66
92
  "vm_folder"=>settings.provider.datacenter.vm_folder,
@@ -73,6 +99,10 @@ module Bosh::Bootstrap::MicroboshProviders
73
99
  }]
74
100
  }
75
101
  end
102
+
103
+ def stemcell_uri
104
+ "http://#{jenkins_bucket}.s3.amazonaws.com/bosh-stemcell/vsphere/bosh-stemcell-latest-vsphere-esxi-ubuntu.tgz"
105
+ end
76
106
  end
77
107
  end
78
108
  Bosh::Bootstrap::MicroboshProviders.register_provider("vsphere", Bosh::Bootstrap::MicroboshProviders::VSphere)
@@ -1,5 +1,5 @@
1
1
  module Bosh
2
2
  module Bootstrap
3
- VERSION = "0.11.15"
3
+ VERSION = "0.12.0"
4
4
  end
5
5
  end
@@ -11,6 +11,12 @@ network:
11
11
  - 172.22.22.154
12
12
  cloud_properties:
13
13
  name: VLAN2194
14
+ resources:
15
+ persistent_disk: "16384"
16
+ cloud_properties:
17
+ ram: "2048"
18
+ disk: "16384"
19
+ cpu: "2"
14
20
  cloud:
15
21
  plugin: vsphere
16
22
  properties:
@@ -8,9 +8,14 @@ describe Bosh::Bootstrap::MicroboshProviders::VSphere do
8
8
 
9
9
  it "creates micro_bosh.yml manifest" do
10
10
  setting "provider.name", "vsphere"
11
- setting "provider.credentials.host", "HOST"
12
- setting "provider.credentials.user", "user"
13
- setting "provider.credentials.password", "TempP@ss"
11
+ setting "provider.credentials.vsphere_server", "HOST"
12
+ setting "provider.credentials.vsphere_username", "user"
13
+ setting "provider.credentials.vsphere_password", "TempP@ss"
14
+
15
+ setting "provider.resources.persistent_disk", "16384"
16
+ setting "provider.resources.ram", "2048"
17
+ setting "provider.resources.disk", "16384"
18
+ setting "provider.resources.cpu", "2"
14
19
 
15
20
  # TODO - perhaps network.ip_address is better?
16
21
  setting "address.ip", "172.23.194.100"
@@ -19,7 +24,7 @@ describe Bosh::Bootstrap::MicroboshProviders::VSphere do
19
24
  setting "provider.network.gateway", "172.23.194.1"
20
25
  setting "provider.network.dns", %w[172.22.22.153 172.22.22.154]
21
26
 
22
- setting "provider.npt", %w[ntp01.las01.emcatmos.com ntp02.las01.emcatmos.com]
27
+ setting "provider.ntps", %w[ntp01.las01.emcatmos.com ntp02.las01.emcatmos.com]
23
28
  setting "provider.datacenter.name", "LAS01"
24
29
  setting "provider.datacenter.vm_folder", "BOSH_VMs"
25
30
  setting "provider.datacenter.template_folder", "BOSH_Templates"
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.11.15
4
+ version: 0.12.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: 2013-10-28 00:00:00.000000000 Z
11
+ date: 2013-11-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cyoi
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - ~>
18
18
  - !ruby/object:Gem::Version
19
- version: '0.5'
19
+ version: '0.7'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ~>
25
25
  - !ruby/object:Gem::Version
26
- version: '0.5'
26
+ version: '0.7'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: fog
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -80,6 +80,20 @@ dependencies:
80
80
  - - ! '>='
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rbvmomi
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ! '>='
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ! '>='
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
83
97
  - !ruby/object:Gem::Dependency
84
98
  name: rake
85
99
  requirement: !ruby/object:Gem::Requirement