bosh-cloudfoundry 0.7.0.alpha.8 → 0.7.0.alpha.9

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.
Files changed (34) hide show
  1. data/README.md +1 -1
  2. data/bosh-cloudfoundry.gemspec +1 -1
  3. data/bosh_release/.final_builds/jobs/login/index.yml +5 -0
  4. data/bosh_release/.final_builds/jobs/saml_login/index.yml +7 -0
  5. data/bosh_release/.final_builds/packages/cloud_controller_ng/index.yml +5 -0
  6. data/bosh_release/.final_builds/packages/dea_next/index.yml +5 -0
  7. data/bosh_release/.final_builds/packages/gorouter/index.yml +5 -0
  8. data/bosh_release/.final_builds/packages/login/index.yml +5 -0
  9. data/bosh_release/.final_builds/packages/saml_login/index.yml +7 -0
  10. data/bosh_release/.final_builds/packages/uaa/index.yml +5 -0
  11. data/bosh_release/releases/cf-release-134.yml +318 -0
  12. data/bosh_release/releases/index.yml +2 -0
  13. data/lib/bosh/cli/commands/01_prepare_bosh_for_cf.rb +128 -0
  14. data/lib/bosh/cli/commands/{cf.rb → 02_create_cf.rb} +3 -73
  15. data/lib/bosh/cli/commands/99_cf_help.rb +16 -0
  16. data/spec/commands/command_cf_help_spec.rb +9 -0
  17. data/spec/{plugin_spec.rb → commands/command_create_cf_spec.rb} +4 -37
  18. data/spec/commands/command_prepare_cf_spec.rb +108 -0
  19. data/spec/deployment_file_spec.rb +1 -2
  20. data/spec/release_version_cpi_spec.rb +3 -1
  21. data/spec/release_version_spec.rb +5 -3
  22. data/templates/v134/aws/large/deployment_file.yml.erb +431 -0
  23. data/templates/v134/aws/large/spec +6 -0
  24. data/templates/v134/aws/medium/deployment_file.yml.erb +398 -0
  25. data/templates/v134/aws/medium/spec +6 -0
  26. data/templates/v134/aws/small/README.md +5 -0
  27. data/templates/v134/aws/spec +6 -0
  28. data/templates/v134/openstack/large/deployment_file.yml.erb +431 -0
  29. data/templates/v134/openstack/large/spec +6 -0
  30. data/templates/v134/openstack/medium/deployment_file.yml.erb +398 -0
  31. data/templates/v134/openstack/medium/spec +6 -0
  32. data/templates/v134/openstack/spec +6 -0
  33. data/templates/v134/spec +14 -0
  34. metadata +27 -6
data/README.md CHANGED
@@ -15,7 +15,7 @@ $ bosh delete cf
15
15
 
16
16
  The deployed Cloud Foundry does not include any data or messaging services for the user applications. These are available as add-ons coming soon.
17
17
 
18
- [![Build Status](https://travis-ci.org/cloudfoundry-community/bosh-cloudfoundry.png?branch=v0.7)](https://travis-ci.org/StarkAndWayne/bosh-cloudfoundry) [![Stories in Ready](http://badge.waffle.io/cloudfoundry-community/bosh-cloudfoundry.png)](http://waffle.io/cloudfoundry-community/bosh-cloudfoundry)
18
+ [![Build Status](https://travis-ci.org/cloudfoundry-community/bosh-cloudfoundry.png?branch=v0.7)](https://travis-ci.org/cloudfoundry-community/bosh-cloudfoundry) [![Stories in Ready](http://badge.waffle.io/cloudfoundry-community/bosh-cloudfoundry.png)](http://waffle.io/cloudfoundry-community/bosh-cloudfoundry)
19
19
 
20
20
  ## What gets created?
21
21
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |spec|
4
4
  spec.name = "bosh-cloudfoundry"
5
- spec.version = "0.7.0.alpha.8"
5
+ spec.version = "0.7.0.alpha.9"
6
6
  spec.authors = ["Dr Nic Williams"]
7
7
  spec.email = ["drnicwilliams@gmail.com"]
8
8
  spec.description = %q{Create & manage Cloud Foundry deployments}
@@ -50,3 +50,8 @@ builds:
50
50
  version: 12
51
51
  sha1: !binary |-
52
52
  MDdiNDQwYWNlMmRmZGFhMGFmODU3YmY3OWZjMmI1OGJiNzc3NGM2ZQ==
53
+ !binary "MTU3NzkwZmY3ZmQ0M2I1ZjA4YzFmYmE1NWNlM2NkNGZhMjdhMWYxMg==":
54
+ blobstore_id: 50ce1d04-3bec-4b61-9be0-25aab31839bc
55
+ version: 13
56
+ sha1: !binary |-
57
+ ZjdmMDcxNzg0ZTg1NGNhZjlkMWI0MTI1MzdjNmE5MzI5MzY0ZjlmNQ==
@@ -0,0 +1,7 @@
1
+ ---
2
+ builds:
3
+ !binary "NzhhODZmODE4YzFjMGQ4MTNiMmQxMDllMjkyNWY4Y2E5MmI5NjA3ZA==":
4
+ blobstore_id: 3bcfb575-0f70-4d0b-a458-9eddb436007e
5
+ version: 1
6
+ sha1: !binary |-
7
+ MjhiOGRiNWZjMjUzMGU3YzNkYWUwOTZiZWI0M2Y5ZTg0NzU5NTkyYw==
@@ -58,3 +58,8 @@ builds:
58
58
  version: 14
59
59
  sha1: !binary |-
60
60
  OTY4MzUwMTM2ZjliZmUxYmU4NDJiNzMyOGNhM2Q4MGEyZDYwYzdjZQ==
61
+ !binary "MDZmOWRlOTEyNmMzY2Q2MWZlYWZmZmVhZjRhY2RmNDdkZWVmNzUxZg==":
62
+ blobstore_id: 299af089-2909-4407-ae95-29a8cf2f25ce
63
+ version: 15
64
+ sha1: !binary |-
65
+ MzNkOWNlNzljN2VkNWZmMzRlNmYwZjYxY2I3NjIyYWRlZmM3NjNlMQ==
@@ -70,3 +70,8 @@ builds:
70
70
  version: 17
71
71
  sha1: !binary |-
72
72
  OTdlNmY0MGM1NDA0Nzk2ZGE5MWRhNWE1OGU2MGQxZGI2NzAyM2JiYw==
73
+ !binary "OTY2M2Y4NzBkMjZmNmQyOTRmMDViOTA2ZWY2OTFjOTg1MjViNWUzYQ==":
74
+ blobstore_id: 9bdca07d-044a-478b-96a2-3fd252d80c29
75
+ version: 18
76
+ sha1: !binary |-
77
+ YTJhZDQ3ODkyYjg5MmU5OWNlYmIxYzM2M2MyM2UzOWFmYTk4ZDI5MA==
@@ -22,3 +22,8 @@ builds:
22
22
  version: 5
23
23
  sha1: !binary |-
24
24
  N2QzNWVjYjQ0YzU4MzIyM2IzNDU0YjMyZjUyZTIyM2VkZThhMDFiNQ==
25
+ !binary "MmE4ODkzYTAyNGRmMzg4YWMzZGViZGI0ZTU5OWUzZWE2NzI2MzYxZQ==":
26
+ blobstore_id: dae6b5b5-0977-4d91-a47c-e38620174037
27
+ version: 6
28
+ sha1: !binary |-
29
+ YmE1OTgxOWU4MTRhZTQ2OWE0MmVlZDQ3N2MxYzI1MWE0NzFlZGUwNA==
@@ -58,3 +58,8 @@ builds:
58
58
  version: 14
59
59
  sha1: !binary |-
60
60
  ODA3NjU4YTQyOGJkYWM3MjNmNmFmNGE1YjRiYjcyNjllMzE2MGM4Ng==
61
+ !binary "YzJiYWQ0OTQxZGEyOTUwM2I4YzFmZjI4NTg5ZmIxMDVmNmRmMzhlMQ==":
62
+ blobstore_id: 04c6ee7f-2720-41d6-a943-087f04309c60
63
+ version: 15
64
+ sha1: !binary |-
65
+ MGM5ZGMwZGZhNzJhOTI2OTg5OWVlZDM4NTg2NDk5Y2UzNjc2MTg1OQ==
@@ -0,0 +1,7 @@
1
+ ---
2
+ builds:
3
+ !binary "NTUxMmJkNmUwMWU0MjgyZWYxNzFmMzNlNGM1NTMyY2JhN2MyYjZmNA==":
4
+ blobstore_id: 33b5ba8f-ff1c-4ab4-ac92-5f804f5e715d
5
+ version: 1
6
+ sha1: !binary |-
7
+ NWM4NGMyNmYyNDhlYjYzNTIwNWE1YjM2YWRiMzM1ZWU5ZTc3NzVjYg==
@@ -102,3 +102,8 @@ builds:
102
102
  version: 25
103
103
  sha1: !binary |-
104
104
  YzMxYzM0YmRjZGZhMGZkMDljNGU4ZjgwOTU4ZWM2MGNkZDI0ZTI3Mg==
105
+ !binary "MTU1YmNmMjIyOWUwNmZjODAwNjc0ZmQyYjFkZGE0MzYwOWUwMGE2Yg==":
106
+ blobstore_id: 51cba9b2-4217-4002-8eda-3f4e46e27234
107
+ version: 26
108
+ sha1: !binary |-
109
+ Yjc4MWFlZTEzMzA2Y2ZiNjQ2NTNmODUyNjA2MDFjYjI0Mzk2Zjg0NQ==
@@ -0,0 +1,318 @@
1
+ ---
2
+ packages:
3
+ - name: rootfs_lucid64
4
+ version: 1
5
+ sha1: !binary |-
6
+ YjAxMjgyNjk2NmFhOGVjOTNlM2FmODE1ZTI3NzEyZDkzZjVlODk1Mg==
7
+ fingerprint: !binary |-
8
+ NzViODBlMmQwNDg2M2E1N2EyM2UxYWRiMTc3ZGI5ODIyM2JjZWRlNA==
9
+ dependencies: []
10
+ - name: saml_login
11
+ version: 1
12
+ sha1: !binary |-
13
+ NWM4NGMyNmYyNDhlYjYzNTIwNWE1YjM2YWRiMzM1ZWU5ZTc3NzVjYg==
14
+ fingerprint: !binary |-
15
+ NTUxMmJkNmUwMWU0MjgyZWYxNzFmMzNlNGM1NTMyY2JhN2MyYjZmNA==
16
+ dependencies:
17
+ - ruby_next
18
+ - git
19
+ - name: git
20
+ version: 1
21
+ sha1: !binary |-
22
+ ZjgwYWVjYzVjMTcxYTgwNWNlNDBiZjQwYmNmNWEwMWYwOTc3YjIxOQ==
23
+ fingerprint: !binary |-
24
+ OGFkYjdlMTRkZmJmMzViNTRmZmMwOTQyMDZmNjZlYTE0MTE3YmNiMA==
25
+ dependencies: []
26
+ - name: ruby
27
+ version: 8
28
+ sha1: !binary |-
29
+ ZGI3MmVlNWI5Yjg1OGIwNGYyOTBiZTdiOTVhNzViZDY4YzZkYWFkMg==
30
+ fingerprint: !binary |-
31
+ Yjg0MGYzYWRmMWZmYWRhOGUwMTkyNDA4NDg4MjFkYTMxODM4MmUyMA==
32
+ dependencies:
33
+ - libyaml
34
+ - name: gorouter
35
+ version: 6
36
+ sha1: !binary |-
37
+ YmE1OTgxOWU4MTRhZTQ2OWE0MmVlZDQ3N2MxYzI1MWE0NzFlZGUwNA==
38
+ fingerprint: !binary |-
39
+ MmE4ODkzYTAyNGRmMzg4YWMzZGViZGI0ZTU5OWUzZWE2NzI2MzYxZQ==
40
+ dependencies:
41
+ - golang
42
+ - name: syslog_aggregator
43
+ version: 4
44
+ sha1: !binary |-
45
+ MmNlMzVkYzU4YTU3Zjc3NWJjNjhhODBjMDM2ZmY2Mzg5YjNiZWM1MQ==
46
+ fingerprint: !binary |-
47
+ MTg2YWM2YjliODI4YjNkYjUxZTViZTk0NmZhYzJiN2Y4ZWVhOGNjNg==
48
+ dependencies:
49
+ - ruby_next
50
+ - name: dea_jvm
51
+ version: 4
52
+ sha1: !binary |-
53
+ MzA5ZDQxYTM3MWU5NmQ0Y2NmZThjYzZiMmJiM2JjY2MzMzJkYjdkMQ==
54
+ fingerprint: !binary |-
55
+ MzgzM2QyOWM3YzU0ZjI0MjhmMjY2Y2VkY2U2NDA4NWNlMGNhYTQ4NA==
56
+ dependencies: []
57
+ - name: postgres
58
+ version: 4
59
+ sha1: !binary |-
60
+ MzBjMWFiYmY3MjQ2OGZjYjUxMTJhMDFkNGY4NGMyMTI0MzY3OGE4NQ==
61
+ fingerprint: !binary |-
62
+ YTJiNzcxM2I0ZGY2YzVhYjFhYThhNTMyMWQ4MGYxMTAwZWFlYTc4NA==
63
+ dependencies: []
64
+ - name: cloud_controller_ng
65
+ version: 15
66
+ sha1: !binary |-
67
+ MzNkOWNlNzljN2VkNWZmMzRlNmYwZjYxY2I3NjIyYWRlZmM3NjNlMQ==
68
+ fingerprint: !binary |-
69
+ MDZmOWRlOTEyNmMzY2Q2MWZlYWZmZmVhZjRhY2RmNDdkZWVmNzUxZg==
70
+ dependencies:
71
+ - libpq
72
+ - mysqlclient
73
+ - sqlite
74
+ - ruby
75
+ - name: uaa
76
+ version: 26
77
+ sha1: !binary |-
78
+ Yjc4MWFlZTEzMzA2Y2ZiNjQ2NTNmODUyNjA2MDFjYjI0Mzk2Zjg0NQ==
79
+ fingerprint: !binary |-
80
+ MTU1YmNmMjIyOWUwNmZjODAwNjc0ZmQyYjFkZGE0MzYwOWUwMGE2Yg==
81
+ dependencies:
82
+ - ruby_next
83
+ - name: ruby_next
84
+ version: 3
85
+ sha1: !binary |-
86
+ N2UzMTU3MzhjNDc1MjRmNTQ5YmYzYmIwY2ZkYTIxN2EyYzMyYzRlOQ==
87
+ fingerprint: !binary |-
88
+ M2I3OGM2ZGY1ZTlmMzMzYTRjNTk5ODAyNjVkMzU4ZWVhNDI3YTNkNg==
89
+ dependencies:
90
+ - libyaml
91
+ - name: imagemagick
92
+ version: 2
93
+ sha1: !binary |-
94
+ YWI0MDQ2NjEyMDRhZTU5NjBlZjZkZDFhN2IyZjA1YTBlNWUxZjk3Yg==
95
+ fingerprint: !binary |-
96
+ ZWNmNDVhY2NiZjU1MTM4N2RiMzgxYTc0M2VjNTE4ZTI0MGQ2MGFkNw==
97
+ dependencies: []
98
+ - name: dea_next
99
+ version: 18
100
+ sha1: !binary |-
101
+ YTJhZDQ3ODkyYjg5MmU5OWNlYmIxYzM2M2MyM2UzOWFmYTk4ZDI5MA==
102
+ fingerprint: !binary |-
103
+ OTY2M2Y4NzBkMjZmNmQyOTRmMDViOTA2ZWY2OTFjOTg1MjViNWUzYQ==
104
+ dependencies:
105
+ - ruby
106
+ - buildpack_cache
107
+ - warden
108
+ - golang
109
+ - insight_agent
110
+ - libyaml
111
+ - name: debian_nfs_server
112
+ version: 3
113
+ sha1: !binary |-
114
+ OThmYTRkY2I5MWFiYThlMDQ0OTI3MTNkODFhZjhlNjg4OTRjMDgxMg==
115
+ fingerprint: !binary |-
116
+ YzFkYzg2MGVkNmFiMmJlZTY4MTcyYmU5OTZmNjRmOTU4N2U5YWMwZA==
117
+ dependencies: []
118
+ - name: buildpack_cache
119
+ version: 2
120
+ sha1: !binary |-
121
+ NmJlZjhkYTQzOGJhODA3YzQ2OTQ0ZWVkYzk3NzhhMGY1MTVkNTFlZA==
122
+ fingerprint: !binary |-
123
+ ZjBkYTVjM2QzM2Q4ZTE4ZjY5MjMyNjQ1MTQ3MmRmMjM4YTY3YTBkYw==
124
+ dependencies: []
125
+ - name: sqlite
126
+ version: 3
127
+ sha1: !binary |-
128
+ OGE3ZjBkMTU3MmVkYjQ2YTFmYjU2OTBjMjdiNWZjNzIwMDc2Njc1Yw==
129
+ fingerprint: !binary |-
130
+ ZTNlOWI2MWY4Y2RjMjYxMDQ4MGMyYWE4NDFlODlkYzBiYjFkYzljOQ==
131
+ dependencies: []
132
+ - name: mysqlclient
133
+ version: 3
134
+ sha1: !binary |-
135
+ MDQ0YmEwNTRjNTIzNDdiYTMxNTNlYWNkMWM4NjNlMjc5MmEyN2UxNA==
136
+ fingerprint: !binary |-
137
+ ODEwMDlmMmFkNzBjYzE4YjdlOGI4YWY2YTE4OTBhZWM1ZmNjOTM2OQ==
138
+ dependencies: []
139
+ - name: libyaml
140
+ version: 1
141
+ sha1: !binary |-
142
+ NjgxZDc5MTU0MjhmMjExZGRjN2RjNTZlZWRkYjY1MWE1NTNlMmZmMA==
143
+ fingerprint: !binary |-
144
+ ODcwNmY2MTM1NTZmMWFlYmVlNzI5NDk1NjYyNmQ3MDYxZmIyZmE1ZA==
145
+ dependencies: []
146
+ - name: golang
147
+ version: 2
148
+ sha1: !binary |-
149
+ YzAzMzBiMjU0MmEzOWEwNDIyYTExNmU5ZjVhZjRhZmY3Y2I3ZGQ4MQ==
150
+ fingerprint: !binary |-
151
+ N2Q2NmE5MWU0MGI3ODA2MGUyOTEyYWRjZmFmN2Q1MDVkZmNlYzRlYQ==
152
+ dependencies: []
153
+ - name: collector
154
+ version: 9
155
+ sha1: !binary |-
156
+ YWM3OTgyNzlhZmM0MDkxOTE2YjA1NTMwMDg1MWRjN2E3NDVmYWI5Mw==
157
+ fingerprint: !binary |-
158
+ NjEwNzRjY2ZhMDkzYzk3YmZhM2RkZWQxZjA1YjQ3MmE5ZWEyMDk3MA==
159
+ dependencies:
160
+ - ruby
161
+ - name: nats
162
+ version: 8
163
+ sha1: !binary |-
164
+ YWRkZmQ1YTBlNDExZTI0NWJlZmQ2MzVkNGFhM2ZhZmFiMWJjODZkNQ==
165
+ fingerprint: !binary |-
166
+ MGUzYmFlM2NmNTc0MmU4ZTc1NDI5NWM5ZDA4ODgxMWI0YWUxZDNhMw==
167
+ dependencies:
168
+ - ruby
169
+ - name: warden
170
+ version: 27
171
+ sha1: !binary |-
172
+ ODUyODRjYWU3NmY2Yzg1MTdhY2ZiYjljMjJlZjAyNzRmZDFkMWU3MQ==
173
+ fingerprint: !binary |-
174
+ NzNiNjA0MjE2MDUwNzI2NTQyOGU5NjJlM2RlNzE3OTI5N2JjYjUzYQ==
175
+ dependencies:
176
+ - ruby_next
177
+ - name: nginx
178
+ version: 9
179
+ sha1: !binary |-
180
+ ZDgzY2ZjMmQzOGYzZWI3YTI3YWNlYjRiNjI0ODJmZGU2NDQ1NjExMA==
181
+ fingerprint: !binary |-
182
+ NzQwYTA1NGYyOWJlYTNhYzM4MmEzMmFiNjcxNTg1MWMxMzk4ZmM0ZA==
183
+ dependencies: []
184
+ - name: insight_agent
185
+ version: 2
186
+ sha1: !binary |-
187
+ ZmYzYjA2YmQ5OTQ1NGFlZjhlYzFkNzMyMzQ1NWRhZTQxN2JkMWE2OQ==
188
+ fingerprint: !binary |-
189
+ YmMxOTM2MDkxMDYxYWQ5YWJmOWVhMjk3NTVhN2M2Y2FmMzQwNGQzOA==
190
+ dependencies: []
191
+ - name: login
192
+ version: 15
193
+ sha1: !binary |-
194
+ MGM5ZGMwZGZhNzJhOTI2OTg5OWVlZDM4NTg2NDk5Y2UzNjc2MTg1OQ==
195
+ fingerprint: !binary |-
196
+ YzJiYWQ0OTQxZGEyOTUwM2I4YzFmZjI4NTg5ZmIxMDVmNmRmMzhlMQ==
197
+ dependencies:
198
+ - ruby_next
199
+ - name: health_manager_next
200
+ version: 18
201
+ sha1: !binary |-
202
+ NTRlMTg0NDFhNGQwODFmNjFkOWE4MzU3NGUzMGMxZTQxYzM2ZTRjMA==
203
+ fingerprint: !binary |-
204
+ YWY0ODkxNjkxNDZhYzdjMzMzN2M3ZmRjZDFkNmY4ZWZmYTVmNmJiYg==
205
+ dependencies:
206
+ - ruby
207
+ - name: common
208
+ version: 5
209
+ sha1: !binary |-
210
+ MDExNjU5YWM3MTNlZDNjOGUzZDc0MWQxYmFkNjI3ZTRkOWQ2OGNjMQ==
211
+ fingerprint: !binary |-
212
+ NDdlYWMzYzQxNmY4N2ViMGE2NDhiM2RmZTQ1NjMyYzY1NGQ2ZTY3Zg==
213
+ dependencies: []
214
+ - name: dashboard
215
+ version: 14
216
+ sha1: !binary |-
217
+ YzY3ODE3ZjE0Y2Y3YmI2YjY3OTdlOTkyMTcwNTUyOTA5ZjYzMzQ2OA==
218
+ fingerprint: !binary |-
219
+ MzgwYjZlMTMyNmE0MGIyZDIwMDZiNTYwNDA0NDU1NzYzZTJiNjMwYQ==
220
+ dependencies:
221
+ - ruby
222
+ - dea_jvm
223
+ - name: libpq
224
+ version: 5
225
+ sha1: !binary |-
226
+ MTdmMDQyZGMzYmFmZmE5ZjVjNTQ3ZDU4MzVjZGE1ZDcyNGFiNTQ5MA==
227
+ fingerprint: !binary |-
228
+ NTYzMjRlMGNkYTY2ZWYwZjQxMWM1MDg0ZDgzZmYxMGVkZDNmZWI2Nw==
229
+ dependencies: []
230
+ jobs:
231
+ - name: saml_login
232
+ version: 1
233
+ fingerprint: !binary |-
234
+ NzhhODZmODE4YzFjMGQ4MTNiMmQxMDllMjkyNWY4Y2E5MmI5NjA3ZA==
235
+ sha1: !binary |-
236
+ MjhiOGRiNWZjMjUzMGU3YzNkYWUwOTZiZWI0M2Y5ZTg0NzU5NTkyYw==
237
+ - name: gorouter
238
+ version: 2
239
+ fingerprint: !binary |-
240
+ ZTI2MDc2ZDVhZmUzMGZjMjYzZmZlZDZmYWMyNTZjOTgwYTlhMjBkNg==
241
+ sha1: !binary |-
242
+ YzU5MDkzYjM3MmViZmZiOTc4ZWQ3ZjY1NDlmNjM1MDAwZTlhY2Y3OQ==
243
+ - name: syslog_aggregator
244
+ version: 11
245
+ fingerprint: !binary |-
246
+ ZTJmZmQ0OTA1OWZkMDMyMjRkNTFkOTFkM2YxNzc5YmEwOGY5MTIyYw==
247
+ sha1: !binary |-
248
+ OWM0MjQwYjFlNzRhZDg5MGNmNTUxMjI5ODhmMjQ5NzAwODY3M2ZmYQ==
249
+ - name: postgres
250
+ version: 4
251
+ fingerprint: !binary |-
252
+ NTE3YTI5OGJiYWE1MDg5ODViMjlkMTZkNzFlZDhiYzA2MzhiMTYyMw==
253
+ sha1: !binary |-
254
+ YWE3NDA0YzAxY2RkMGExYjI4M2FkNDdlYjVkMzAxNDE2YTc5MzM0ZA==
255
+ - name: cloud_controller_ng
256
+ version: 8
257
+ fingerprint: !binary |-
258
+ MTVjMTI5NTY4Nzg1NjQ4Yzk3ZGU3ZTAxOWQyYzM3YWU2N2VlOGEzMw==
259
+ sha1: !binary |-
260
+ Y2U2MjQ5MDUyMzA4ZmZjZDQ5ZDcwYTAxNTI5ZmJiNmE5NjY2NTg1MQ==
261
+ - name: uaa
262
+ version: 28
263
+ fingerprint: !binary |-
264
+ MjdhY2Y0YzhmZDIxM2FjZTRiODY5M2YyMjUyODZkMWQ0YjVmMzZlZg==
265
+ sha1: !binary |-
266
+ MmUxMWMzNGYwYWQwMDcwNmIwMzUxYmE4NzBlOTlhZTI4NDYxNDU4OA==
267
+ - name: ccdb_postgres
268
+ version: 7
269
+ fingerprint: !binary |-
270
+ ZmYyZmZkOTE4ZTJmYTkwYjU1ZTI1NmFhOWE3NWY2YjJjODUzMWExZQ==
271
+ sha1: !binary |-
272
+ MTRmMDAwOGVlNTc4MGZhOTRmZjE5OTc3NjVmN2FlYjFkM2IwNjcxNw==
273
+ - name: dea_next
274
+ version: 13
275
+ fingerprint: !binary |-
276
+ MGNhYzllYjYxNGE2Njc3ODA2MWRmYzgyNWEwNWI1MWQxZjJlMDMyNw==
277
+ sha1: !binary |-
278
+ YWFhMjYxZjI3MGZlMjY5OTk2MWRjMzZlMjAzOWJkNTBjZjdhMGM2Mg==
279
+ - name: debian_nfs_server
280
+ version: 7
281
+ fingerprint: !binary |-
282
+ MjM0ZmFiYzFhMmM1ZGZiZmQ3YzkzMjg4MmQ5NDdmZWQzMzFiODI5NQ==
283
+ sha1: !binary |-
284
+ YjIyOGVjYjk2ZWM1NTUxYWI3MjM5ZWE2ZmRmYTM1MjkzMWRmZTQ1NA==
285
+ - name: collector
286
+ version: 7
287
+ fingerprint: !binary |-
288
+ ZDM4OGZhZmJiZjIzMDczMjc3NWYzMTQ1ZWZlNTg2ZDM0YWNkMTA3NQ==
289
+ sha1: !binary |-
290
+ NmJiZmI0ODBlNjc0NDM5ZTIxMDUyNzhlYTY0YjVjYzUyOGExNzVkYQ==
291
+ - name: nats
292
+ version: 11
293
+ fingerprint: !binary |-
294
+ YWZlZGRmNWM5OWYyYzc1NmJjZTY5NDY5NmY5YTA3NmRkMTM4MTgxZg==
295
+ sha1: !binary |-
296
+ YWE0N2YzODQzNzU1N2RkMTk2ODcyNzJmODA4NWI2YjMzNzZjNDA3Mg==
297
+ - name: login
298
+ version: 13
299
+ fingerprint: !binary |-
300
+ MTU3NzkwZmY3ZmQ0M2I1ZjA4YzFmYmE1NWNlM2NkNGZhMjdhMWYxMg==
301
+ sha1: !binary |-
302
+ ZjdmMDcxNzg0ZTg1NGNhZjlkMWI0MTI1MzdjNmE5MzI5MzY0ZjlmNQ==
303
+ - name: health_manager_next
304
+ version: 8
305
+ fingerprint: !binary |-
306
+ NGQ2ZTIzZDVmMGRmYjFiNGVlOTJhZWVkMmE5YTliYTk3NDMwYWU5Mw==
307
+ sha1: !binary |-
308
+ OTQxZjNjYWZkZmNhZDliNWE2MzdjODVhNjZiZTAwYjc4Y2MzZDY0MQ==
309
+ - name: dashboard
310
+ version: 10
311
+ fingerprint: !binary |-
312
+ YjVhNzdkMTczODFiNWFmMjkxYzk5N2MxMWU5NmEzYTY1NjcwZmVlYg==
313
+ sha1: !binary |-
314
+ Njg1OTc4NjI0MGQ1NWIwZmIwMzhmMTNkOTFiZjQwZDY5NTA3MjZlNw==
315
+ commit_hash: 92161fe8
316
+ uncommitted_changes: true
317
+ name: cf-release
318
+ version: 134
@@ -266,3 +266,5 @@ builds:
266
266
  version: 132
267
267
  !binary "ZjgyYTRlMmUzMGU2MTViMTI4NWU0ZDliZjI5NWEzN2E3Y2Q5YjljYg==":
268
268
  version: 133
269
+ !binary "NzRlZDM1YjQ4YjlhOTQwZTg0MDU0YzQ5MWZlNmQ0Yzg0NGM1NTc1Zg==":
270
+ version: 134
@@ -0,0 +1,128 @@
1
+ module Bosh::Cli::Command
2
+ # Upload a specific bosh release (or the latest one) and upload
3
+ # the latest base stemcell, if target bosh does not already
4
+ # have a stemcell uploaded.
5
+ class PrepareBoshForCloudFoundry < Base
6
+ include Bosh::Cli::Validation
7
+
8
+ usage "prepare cf"
9
+ desc "upload latest Cloud Foundry release to bosh"
10
+ option "--release-version version", "Upload a specific older version"
11
+ def prepare_cf
12
+ auth_required
13
+ bosh_status
14
+
15
+ release_version = options[:release_version] || latest_release_version
16
+
17
+ # Support:
18
+ # * --release-version v132
19
+ # * --release-version 132
20
+ if release_version.to_s =~ /(\d+)/
21
+ release_version = $1
22
+ end
23
+ release_yml = Dir[File.join(bosh_release_dir, "releases", "*-#{release_version}.yml")].first
24
+
25
+ release_name = YAML.load_file(release_yml)["name"]
26
+
27
+ release_exists = nil
28
+ step("Checking bosh already has release #{release_name} #{release_version}",
29
+ "Currently bosh does not have #{release_name} #{release_version}, uploading...", :non_fatal) do
30
+ release_exists = director.list_releases.find do |existing_release|
31
+ next false unless existing_release["name"] == release_name
32
+ versions = existing_release["release_versions"]
33
+ versions.find do |version|
34
+ version["version"].to_s == release_version.to_s
35
+ end
36
+ end
37
+ end
38
+ unless errors.empty?
39
+ say errors.shift.make_yellow
40
+ release_cmd(non_interactive: true).upload(release_yml)
41
+ end
42
+
43
+ stemcell_exists = nil
44
+ step("Checking bosh already has base stemcell",
45
+ "Currently bosh does not have base stemcell, uploading...", :non_fatal) do
46
+ stemcell_exists = director.list_stemcells.find do |existing_stemcell|
47
+ existing_stemcell["name"] == stemcell_name
48
+ end
49
+ end
50
+ unless errors.empty?
51
+ say errors.shift.make_yellow
52
+ stemcell_url = "http://bosh-jenkins-artifacts.s3.amazonaws.com/bosh-stemcell/#{bosh_cpi}/latest-bosh-stemcell-#{bosh_cpi}.tgz"
53
+ stemcell_cmd(non_interactive: true).upload(stemcell_url)
54
+ end
55
+ end
56
+
57
+ protected
58
+ def stemcell_name
59
+ "bosh-stemcell"
60
+ end
61
+
62
+ def bosh_release_dir
63
+ File.expand_path("../../../../../bosh_release", __FILE__)
64
+ end
65
+
66
+ def latest_release_version
67
+ # the releases/index.yml contains all the available release versions in an unordered
68
+ # hash of hashes in YAML format:
69
+ # ---
70
+ # builds:
71
+ # af61f03c5ad6327e0795402f1c458f2fc6f21201:
72
+ # version: 3
73
+ # 39c029d0af9effc6913f3333434b894ff6433638:
74
+ # version: 1
75
+ # 5f5d0a7fb577fec3c09408c94f7abbe2d52a042c:
76
+ # version: 4
77
+ # f044d47e0183f084db9dac5a6ef00d7bd21c8451:
78
+ # version: 2
79
+ release_index = YAML.load_file(File.join(bosh_release_dir, "releases/index.yml"))
80
+ latest_version = release_index["builds"].values.inject(0) do |max_version, release|
81
+ version = release["version"]
82
+ max_version < version ? version : max_version
83
+ end
84
+ latest_version
85
+ end
86
+
87
+ def bosh_status
88
+ @bosh_status ||= begin
89
+ step("Fetching bosh information", "Cannot fetch bosh information", :fatal) do
90
+ @bosh_status = director.get_status
91
+ end
92
+ @bosh_status
93
+ end
94
+ end
95
+
96
+ # The CPI (aws/openstack/etc) of the target bosh
97
+ def bosh_cpi
98
+ bosh_status["cpi"]
99
+ end
100
+
101
+ # Helper to invoke the Release command's actions
102
+ #
103
+ # Usage to invoke #upload action:
104
+ #
105
+ # release_cmd(non_interactive: true).upload(release_yml)
106
+ def release_cmd(options = {})
107
+ cmd ||= Bosh::Cli::Command::Release.new
108
+ options.each do |key, value|
109
+ cmd.add_option key.to_sym, value
110
+ end
111
+ cmd
112
+ end
113
+
114
+ # Helper to invoke the Stemcell command's actions
115
+ #
116
+ # Usage to invoke #upload action:
117
+ #
118
+ # stemcell_cmd(non_interactive: true).upload(stemcell_url)
119
+ def stemcell_cmd(options = {})
120
+ cmd ||= Bosh::Cli::Command::Stemcell.new
121
+ options.each do |key, value|
122
+ cmd.add_option key.to_sym, value
123
+ end
124
+ cmd
125
+ end
126
+
127
+ end
128
+ end