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

Sign up to get free protection for your applications and to get access to all the features.
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