bosh-bootstrap 0.11.15 → 0.12.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,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