bosh-cloudfoundry 0.6.1 → 0.7.0.alpha.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (351) hide show
  1. data/.gitignore +4 -1
  2. data/.rspec +1 -1
  3. data/.travis.yml +9 -3
  4. data/ChangeLog.md +12 -47
  5. data/Gemfile +11 -5
  6. data/Guardfile +4 -7
  7. data/LICENSE.txt +2 -2
  8. data/README.md +62 -178
  9. data/Rakefile +40 -16
  10. data/bosh-cloudfoundry.gemspec +19 -27
  11. data/bosh_release/.final_builds/.gitattributes +1 -0
  12. data/bosh_release/.final_builds/jobs/acm/index.yml +10 -0
  13. data/bosh_release/.final_builds/jobs/atmos_gateway/index.yml +58 -0
  14. data/bosh_release/.final_builds/jobs/backup_manager/index.yml +66 -0
  15. data/bosh_release/.final_builds/jobs/ccdb/index.yml +6 -0
  16. data/bosh_release/.final_builds/jobs/ccdb_postgres/index.yml +31 -0
  17. data/bosh_release/.final_builds/jobs/cloud_controller/index.yml +230 -0
  18. data/bosh_release/.final_builds/jobs/cloud_controller_ng/index.yml +31 -0
  19. data/bosh_release/.final_builds/jobs/collector/index.yml +27 -0
  20. data/bosh_release/.final_builds/jobs/dashboard/index.yml +43 -0
  21. data/bosh_release/.final_builds/jobs/dea/index.yml +86 -0
  22. data/bosh_release/.final_builds/jobs/dea_next/index.yml +51 -0
  23. data/bosh_release/.final_builds/jobs/debian_nfs_server/index.yml +30 -0
  24. data/bosh_release/.final_builds/jobs/filesystem_gateway/index.yml +54 -0
  25. data/bosh_release/.final_builds/jobs/gorouter/index.yml +11 -0
  26. data/bosh_release/.final_builds/jobs/hbase_master/index.yml +6 -0
  27. data/bosh_release/.final_builds/jobs/hbase_slave/index.yml +10 -0
  28. data/bosh_release/.final_builds/jobs/health_manager/index.yml +82 -0
  29. data/bosh_release/.final_builds/jobs/health_manager_next/index.yml +31 -0
  30. data/bosh_release/.final_builds/jobs/login/index.yml +47 -0
  31. data/bosh_release/.final_builds/jobs/marketplace_gateway/index.yml +38 -0
  32. data/bosh_release/.final_builds/jobs/memcached_gateway/index.yml +50 -0
  33. data/bosh_release/.final_builds/jobs/memcached_node/index.yml +22 -0
  34. data/bosh_release/.final_builds/jobs/memcached_node_ng/index.yml +50 -0
  35. data/bosh_release/.final_builds/jobs/micro/index.yml +374 -0
  36. data/bosh_release/.final_builds/jobs/mongodb_gateway/index.yml +126 -0
  37. data/bosh_release/.final_builds/jobs/mongodb_node/index.yml +110 -0
  38. data/bosh_release/.final_builds/jobs/mongodb_node_ng/index.yml +66 -0
  39. data/bosh_release/.final_builds/jobs/mysql_gateway/index.yml +110 -0
  40. data/bosh_release/.final_builds/jobs/mysql_node/index.yml +126 -0
  41. data/bosh_release/.final_builds/jobs/mysql_node_ng/index.yml +58 -0
  42. data/bosh_release/.final_builds/jobs/nats/index.yml +43 -0
  43. data/bosh_release/.final_builds/jobs/oauth2_gateway/index.yml +10 -0
  44. data/bosh_release/.final_builds/jobs/opentsdb/index.yml +62 -0
  45. data/bosh_release/.final_builds/jobs/postgres/index.yml +19 -0
  46. data/bosh_release/.final_builds/jobs/postgresql_gateway/index.yml +106 -0
  47. data/bosh_release/.final_builds/jobs/postgresql_node/index.yml +90 -0
  48. data/bosh_release/.final_builds/jobs/postgresql_node_ng/index.yml +62 -0
  49. data/bosh_release/.final_builds/jobs/rabbit_gateway/index.yml +82 -0
  50. data/bosh_release/.final_builds/jobs/rabbit_node/index.yml +86 -0
  51. data/bosh_release/.final_builds/jobs/rabbit_node_ng/index.yml +58 -0
  52. data/bosh_release/.final_builds/jobs/rabbitmq_srs_gateway/index.yml +22 -0
  53. data/bosh_release/.final_builds/jobs/rabbitmq_srs_node/index.yml +18 -0
  54. data/bosh_release/.final_builds/jobs/rabbitmq_srs_service/index.yml +22 -0
  55. data/bosh_release/.final_builds/jobs/redis_gateway/index.yml +102 -0
  56. data/bosh_release/.final_builds/jobs/redis_node/index.yml +98 -0
  57. data/bosh_release/.final_builds/jobs/redis_node_ng/index.yml +58 -0
  58. data/bosh_release/.final_builds/jobs/router/index.yml +78 -0
  59. data/bosh_release/.final_builds/jobs/router_next/index.yml +38 -0
  60. data/bosh_release/.final_builds/jobs/routerv2/index.yml +30 -0
  61. data/bosh_release/.final_builds/jobs/serialization_data_server/index.yml +38 -0
  62. data/bosh_release/.final_builds/jobs/service_broker/index.yml +34 -0
  63. data/bosh_release/.final_builds/jobs/service_utilities/index.yml +14 -0
  64. data/bosh_release/.final_builds/jobs/stager/index.yml +94 -0
  65. data/bosh_release/.final_builds/jobs/syslog_aggregator/index.yml +43 -0
  66. data/bosh_release/.final_builds/jobs/uaa/index.yml +111 -0
  67. data/bosh_release/.final_builds/jobs/vblob_gateway/index.yml +62 -0
  68. data/bosh_release/.final_builds/jobs/vblob_node/index.yml +34 -0
  69. data/bosh_release/.final_builds/jobs/vblob_node_ng/index.yml +54 -0
  70. data/bosh_release/.final_builds/jobs/vcap_redis/index.yml +26 -0
  71. data/bosh_release/.final_builds/jobs/warden/index.yml +30 -0
  72. data/bosh_release/.final_builds/packages/acm/index.yml +46 -0
  73. data/bosh_release/.final_builds/packages/atmos_gateway/index.yml +146 -0
  74. data/bosh_release/.final_builds/packages/backup_manager/index.yml +158 -0
  75. data/bosh_release/.final_builds/packages/bandwidth_proxy/index.yml +10 -0
  76. data/bosh_release/.final_builds/packages/buildpack_cache/index.yml +7 -0
  77. data/bosh_release/.final_builds/packages/cloud_controller/index.yml +306 -0
  78. data/bosh_release/.final_builds/packages/cloud_controller_ng/index.yml +55 -0
  79. data/bosh_release/.final_builds/packages/collector/index.yml +35 -0
  80. data/bosh_release/.final_builds/packages/common/index.yml +22 -0
  81. data/bosh_release/.final_builds/packages/dashboard/index.yml +59 -0
  82. data/bosh_release/.final_builds/packages/daylimit/index.yml +22 -0
  83. data/bosh_release/.final_builds/packages/dea/index.yml +214 -0
  84. data/bosh_release/.final_builds/packages/dea_jvm/index.yml +19 -0
  85. data/bosh_release/.final_builds/packages/dea_jvm7/index.yml +6 -0
  86. data/bosh_release/.final_builds/packages/dea_next/index.yml +67 -0
  87. data/bosh_release/.final_builds/packages/dea_node/index.yml +18 -0
  88. data/bosh_release/.final_builds/packages/dea_node04/index.yml +14 -0
  89. data/bosh_release/.final_builds/packages/dea_node06/index.yml +14 -0
  90. data/bosh_release/.final_builds/packages/dea_node08/index.yml +6 -0
  91. data/bosh_release/.final_builds/packages/dea_ruby18/index.yml +34 -0
  92. data/bosh_release/.final_builds/packages/dea_ruby19/index.yml +30 -0
  93. data/bosh_release/.final_builds/packages/dea_seed/index.yml +34 -0
  94. data/bosh_release/.final_builds/packages/dea_transition/index.yml +18 -0
  95. data/bosh_release/.final_builds/packages/debian_nfs_server/index.yml +14 -0
  96. data/bosh_release/.final_builds/packages/erlang/index.yml +14 -0
  97. data/bosh_release/.final_builds/packages/filesystem_gateway/index.yml +114 -0
  98. data/bosh_release/.final_builds/packages/git/index.yml +6 -0
  99. data/bosh_release/.final_builds/packages/golang/index.yml +11 -0
  100. data/bosh_release/.final_builds/packages/gorouter/index.yml +19 -0
  101. data/bosh_release/.final_builds/packages/hadoop/index.yml +6 -0
  102. data/bosh_release/.final_builds/packages/hbase/index.yml +18 -0
  103. data/bosh_release/.final_builds/packages/health_manager_next/index.yml +75 -0
  104. data/bosh_release/.final_builds/packages/imagemagick/index.yml +10 -0
  105. data/bosh_release/.final_builds/packages/insight_agent/index.yml +10 -0
  106. data/bosh_release/.final_builds/packages/libpq/index.yml +23 -0
  107. data/bosh_release/.final_builds/packages/libyaml/index.yml +7 -0
  108. data/bosh_release/.final_builds/packages/login/index.yml +55 -0
  109. data/bosh_release/.final_builds/packages/marketplace/index.yml +58 -0
  110. data/bosh_release/.final_builds/packages/memcached/index.yml +6 -0
  111. data/bosh_release/.final_builds/packages/memcached_gateway/index.yml +102 -0
  112. data/bosh_release/.final_builds/packages/memcached_node/index.yml +90 -0
  113. data/bosh_release/.final_builds/packages/memcached_node_ng/index.yml +58 -0
  114. data/bosh_release/.final_builds/packages/micro/index.yml +22 -0
  115. data/bosh_release/.final_builds/packages/mongodb/index.yml +22 -0
  116. data/bosh_release/.final_builds/packages/mongodb18/index.yml +6 -0
  117. data/bosh_release/.final_builds/packages/mongodb20/index.yml +11 -0
  118. data/bosh_release/.final_builds/packages/mongodb22/index.yml +6 -0
  119. data/bosh_release/.final_builds/packages/mongodb_gateway/index.yml +226 -0
  120. data/bosh_release/.final_builds/packages/mongodb_node/index.yml +214 -0
  121. data/bosh_release/.final_builds/packages/mongodb_node_ng/index.yml +58 -0
  122. data/bosh_release/.final_builds/packages/mongodb_proxy/index.yml +38 -0
  123. data/bosh_release/.final_builds/packages/mysql/index.yml +54 -0
  124. data/bosh_release/.final_builds/packages/mysql55/index.yml +26 -0
  125. data/bosh_release/.final_builds/packages/mysql_gateway/index.yml +246 -0
  126. data/bosh_release/.final_builds/packages/mysql_node/index.yml +230 -0
  127. data/bosh_release/.final_builds/packages/mysql_node_ng/index.yml +62 -0
  128. data/bosh_release/.final_builds/packages/mysqlclient/index.yml +14 -0
  129. data/bosh_release/.final_builds/packages/nats/index.yml +34 -0
  130. data/bosh_release/.final_builds/packages/nginx/index.yml +38 -0
  131. data/bosh_release/.final_builds/packages/nginx_next/index.yml +6 -0
  132. data/bosh_release/.final_builds/packages/node/index.yml +10 -0
  133. data/bosh_release/.final_builds/packages/oauth2_gateway/index.yml +18 -0
  134. data/bosh_release/.final_builds/packages/opentsdb/index.yml +18 -0
  135. data/bosh_release/.final_builds/packages/postgres/index.yml +18 -0
  136. data/bosh_release/.final_builds/packages/postgresql/index.yml +31 -0
  137. data/bosh_release/.final_builds/packages/postgresql91/index.yml +10 -0
  138. data/bosh_release/.final_builds/packages/postgresql_gateway/index.yml +178 -0
  139. data/bosh_release/.final_builds/packages/postgresql_node/index.yml +162 -0
  140. data/bosh_release/.final_builds/packages/postgresql_node_ng/index.yml +58 -0
  141. data/bosh_release/.final_builds/packages/rabbit/index.yml +14 -0
  142. data/bosh_release/.final_builds/packages/rabbit_gateway/index.yml +210 -0
  143. data/bosh_release/.final_builds/packages/rabbit_node/index.yml +194 -0
  144. data/bosh_release/.final_builds/packages/rabbit_node_ng/index.yml +58 -0
  145. data/bosh_release/.final_builds/packages/rabbitmq-2.4/index.yml +6 -0
  146. data/bosh_release/.final_builds/packages/rabbitmq-2.8/index.yml +6 -0
  147. data/bosh_release/.final_builds/packages/rabbitmq/index.yml +18 -0
  148. data/bosh_release/.final_builds/packages/rabbitmq_srs/index.yml +14 -0
  149. data/bosh_release/.final_builds/packages/rabbitmq_srs_builds/index.yml +10 -0
  150. data/bosh_release/.final_builds/packages/redis/index.yml +18 -0
  151. data/bosh_release/.final_builds/packages/redis22/index.yml +6 -0
  152. data/bosh_release/.final_builds/packages/redis24/index.yml +6 -0
  153. data/bosh_release/.final_builds/packages/redis26/index.yml +6 -0
  154. data/bosh_release/.final_builds/packages/redis_gateway/index.yml +230 -0
  155. data/bosh_release/.final_builds/packages/redis_node/index.yml +218 -0
  156. data/bosh_release/.final_builds/packages/redis_node_ng/index.yml +62 -0
  157. data/bosh_release/.final_builds/packages/rootfs_lucid64/index.yml +7 -0
  158. data/bosh_release/.final_builds/packages/router/index.yml +178 -0
  159. data/bosh_release/.final_builds/packages/routerv2/index.yml +18 -0
  160. data/bosh_release/.final_builds/packages/ruby/index.yml +35 -0
  161. data/bosh_release/.final_builds/packages/ruby_next/index.yml +15 -0
  162. data/bosh_release/.final_builds/packages/serialization_data_server/index.yml +66 -0
  163. data/bosh_release/.final_builds/packages/service_broker/index.yml +138 -0
  164. data/bosh_release/.final_builds/packages/service_utilities/index.yml +34 -0
  165. data/bosh_release/.final_builds/packages/sqlite/index.yml +14 -0
  166. data/bosh_release/.final_builds/packages/stager/index.yml +194 -0
  167. data/bosh_release/.final_builds/packages/syslog_aggregator/index.yml +19 -0
  168. data/bosh_release/.final_builds/packages/uaa/index.yml +99 -0
  169. data/bosh_release/.final_builds/packages/vblob/index.yml +22 -0
  170. data/bosh_release/.final_builds/packages/vblob_gateway/index.yml +106 -0
  171. data/bosh_release/.final_builds/packages/vblob_node/index.yml +94 -0
  172. data/bosh_release/.final_builds/packages/vblob_node_ng/index.yml +54 -0
  173. data/bosh_release/.final_builds/packages/warden/index.yml +107 -0
  174. data/{spec/assets → bosh_release/config}/.gitkeep +0 -0
  175. data/bosh_release/config/final.yml +7 -0
  176. data/{spec/functional → bosh_release/jobs}/.gitkeep +0 -0
  177. data/{spec/unit → bosh_release/packages}/.gitkeep +0 -0
  178. data/bosh_release/releases/appcloud-10.yml +232 -0
  179. data/bosh_release/releases/appcloud-100.yml +512 -0
  180. data/bosh_release/releases/appcloud-101.yml +523 -0
  181. data/bosh_release/releases/appcloud-102.yml +523 -0
  182. data/bosh_release/releases/appcloud-103.yml +532 -0
  183. data/bosh_release/releases/appcloud-104.yml +541 -0
  184. data/bosh_release/releases/appcloud-105.yml +547 -0
  185. data/bosh_release/releases/appcloud-106.yml +547 -0
  186. data/bosh_release/releases/appcloud-107.yml +547 -0
  187. data/bosh_release/releases/appcloud-108.yml +547 -0
  188. data/bosh_release/releases/appcloud-109.yml +612 -0
  189. data/bosh_release/releases/appcloud-11.yml +232 -0
  190. data/bosh_release/releases/appcloud-110.yml +612 -0
  191. data/bosh_release/releases/appcloud-111.yml +743 -0
  192. data/bosh_release/releases/appcloud-112.yml +617 -0
  193. data/bosh_release/releases/appcloud-113.yml +627 -0
  194. data/bosh_release/releases/appcloud-114.yml +627 -0
  195. data/bosh_release/releases/appcloud-115.yml +627 -0
  196. data/bosh_release/releases/appcloud-116.yml +627 -0
  197. data/bosh_release/releases/appcloud-117.yml +637 -0
  198. data/bosh_release/releases/appcloud-118.yml +637 -0
  199. data/bosh_release/releases/appcloud-119.yml +642 -0
  200. data/bosh_release/releases/appcloud-12.yml +232 -0
  201. data/bosh_release/releases/appcloud-120.yml +791 -0
  202. data/bosh_release/releases/appcloud-121.yml +791 -0
  203. data/bosh_release/releases/appcloud-122.yml +799 -0
  204. data/bosh_release/releases/appcloud-123.yml +799 -0
  205. data/bosh_release/releases/appcloud-124.yml +810 -0
  206. data/bosh_release/releases/appcloud-125.yml +810 -0
  207. data/bosh_release/releases/appcloud-126.yml +810 -0
  208. data/bosh_release/releases/appcloud-127.yml +816 -0
  209. data/bosh_release/releases/appcloud-128.yml +812 -0
  210. data/bosh_release/releases/appcloud-129.yml +811 -0
  211. data/bosh_release/releases/appcloud-13.yml +232 -0
  212. data/bosh_release/releases/appcloud-130.yml +811 -0
  213. data/bosh_release/releases/appcloud-131.yml +811 -0
  214. data/bosh_release/releases/appcloud-14.yml +232 -0
  215. data/bosh_release/releases/appcloud-15.yml +232 -0
  216. data/bosh_release/releases/appcloud-16.yml +232 -0
  217. data/bosh_release/releases/appcloud-17.yml +232 -0
  218. data/bosh_release/releases/appcloud-18.yml +232 -0
  219. data/bosh_release/releases/appcloud-19.yml +256 -0
  220. data/bosh_release/releases/appcloud-20.yml +256 -0
  221. data/bosh_release/releases/appcloud-21.yml +256 -0
  222. data/bosh_release/releases/appcloud-22.yml +286 -0
  223. data/bosh_release/releases/appcloud-23.yml +294 -0
  224. data/bosh_release/releases/appcloud-24.yml +297 -0
  225. data/bosh_release/releases/appcloud-25.yml +297 -0
  226. data/bosh_release/releases/appcloud-26.yml +297 -0
  227. data/bosh_release/releases/appcloud-27.yml +297 -0
  228. data/bosh_release/releases/appcloud-28.yml +297 -0
  229. data/bosh_release/releases/appcloud-29.yml +297 -0
  230. data/bosh_release/releases/appcloud-30.yml +299 -0
  231. data/bosh_release/releases/appcloud-31.yml +299 -0
  232. data/bosh_release/releases/appcloud-32.yml +299 -0
  233. data/bosh_release/releases/appcloud-33.yml +299 -0
  234. data/bosh_release/releases/appcloud-34.yml +299 -0
  235. data/bosh_release/releases/appcloud-35.yml +299 -0
  236. data/bosh_release/releases/appcloud-36.yml +299 -0
  237. data/bosh_release/releases/appcloud-37.yml +332 -0
  238. data/bosh_release/releases/appcloud-38.yml +343 -0
  239. data/bosh_release/releases/appcloud-39.yml +360 -0
  240. data/bosh_release/releases/appcloud-40.yml +360 -0
  241. data/bosh_release/releases/appcloud-41.yml +367 -0
  242. data/bosh_release/releases/appcloud-42.yml +372 -0
  243. data/bosh_release/releases/appcloud-43.yml +372 -0
  244. data/bosh_release/releases/appcloud-44.yml +372 -0
  245. data/bosh_release/releases/appcloud-45.yml +381 -0
  246. data/bosh_release/releases/appcloud-46.yml +381 -0
  247. data/bosh_release/releases/appcloud-47.yml +381 -0
  248. data/bosh_release/releases/appcloud-48.yml +381 -0
  249. data/bosh_release/releases/appcloud-49.yml +381 -0
  250. data/bosh_release/releases/appcloud-50.yml +381 -0
  251. data/bosh_release/releases/appcloud-51.yml +381 -0
  252. data/bosh_release/releases/appcloud-52.yml +389 -0
  253. data/bosh_release/releases/appcloud-53.yml +389 -0
  254. data/bosh_release/releases/appcloud-54.yml +397 -0
  255. data/bosh_release/releases/appcloud-55.yml +402 -0
  256. data/bosh_release/releases/appcloud-56.yml +428 -0
  257. data/bosh_release/releases/appcloud-57.yml +428 -0
  258. data/bosh_release/releases/appcloud-58.yml +428 -0
  259. data/bosh_release/releases/appcloud-59.yml +428 -0
  260. data/bosh_release/releases/appcloud-60.yml +428 -0
  261. data/bosh_release/releases/appcloud-61.yml +433 -0
  262. data/bosh_release/releases/appcloud-62.yml +433 -0
  263. data/bosh_release/releases/appcloud-63.yml +428 -0
  264. data/bosh_release/releases/appcloud-64.yml +451 -0
  265. data/bosh_release/releases/appcloud-65.yml +451 -0
  266. data/bosh_release/releases/appcloud-66.yml +451 -0
  267. data/bosh_release/releases/appcloud-67.yml +451 -0
  268. data/bosh_release/releases/appcloud-68.yml +460 -0
  269. data/bosh_release/releases/appcloud-69.yml +460 -0
  270. data/bosh_release/releases/appcloud-70.yml +460 -0
  271. data/bosh_release/releases/appcloud-71.yml +442 -0
  272. data/bosh_release/releases/appcloud-72.yml +442 -0
  273. data/bosh_release/releases/appcloud-73.yml +442 -0
  274. data/bosh_release/releases/appcloud-74.yml +442 -0
  275. data/bosh_release/releases/appcloud-75.yml +450 -0
  276. data/bosh_release/releases/appcloud-76.yml +450 -0
  277. data/bosh_release/releases/appcloud-77.yml +473 -0
  278. data/bosh_release/releases/appcloud-78.yml +473 -0
  279. data/bosh_release/releases/appcloud-79.yml +473 -0
  280. data/bosh_release/releases/appcloud-80.yml +473 -0
  281. data/bosh_release/releases/appcloud-81.yml +473 -0
  282. data/bosh_release/releases/appcloud-82.yml +473 -0
  283. data/bosh_release/releases/appcloud-83.yml +468 -0
  284. data/bosh_release/releases/appcloud-84.yml +478 -0
  285. data/bosh_release/releases/appcloud-85.yml +478 -0
  286. data/bosh_release/releases/appcloud-86.yml +478 -0
  287. data/bosh_release/releases/appcloud-87.yml +488 -0
  288. data/bosh_release/releases/appcloud-88.yml +488 -0
  289. data/bosh_release/releases/appcloud-89.yml +488 -0
  290. data/bosh_release/releases/appcloud-90.yml +488 -0
  291. data/bosh_release/releases/appcloud-91.yml +493 -0
  292. data/bosh_release/releases/appcloud-92.yml +493 -0
  293. data/bosh_release/releases/appcloud-93.yml +493 -0
  294. data/bosh_release/releases/appcloud-94.yml +493 -0
  295. data/bosh_release/releases/appcloud-95.yml +502 -0
  296. data/bosh_release/releases/appcloud-96.yml +502 -0
  297. data/bosh_release/releases/appcloud-97.yml +502 -0
  298. data/bosh_release/releases/appcloud-98.yml +512 -0
  299. data/bosh_release/releases/appcloud-99.yml +512 -0
  300. data/bosh_release/releases/cf-release-132.yml +305 -0
  301. data/bosh_release/releases/index.yml +266 -0
  302. data/bosh_release/src/.gitkeep +0 -0
  303. data/lib/bosh/cli/commands/cf.rb +173 -560
  304. data/lib/bosh/cloudfoundry.rb +4 -0
  305. data/lib/bosh/cloudfoundry/deployment_attributes.rb +124 -0
  306. data/lib/bosh/cloudfoundry/release_versioned_template.rb +48 -0
  307. data/spec/plugin_spec.rb +115 -0
  308. data/spec/release_versioned_template_spec.rb +12 -0
  309. data/spec/spec_helper.rb +33 -9
  310. data/templates/README.md +21 -0
  311. data/templates/v132/aws/dev/deployment_file.yml.erb +372 -0
  312. data/templates/v132/aws/dev/spec +6 -0
  313. data/templates/v132/openstack/dev/deployment_file.yml.erb +372 -0
  314. data/templates/v132/openstack/dev/spec +6 -0
  315. metadata +326 -102
  316. data/config/defaults.yml +0 -6
  317. data/docs/BOSH-cf-initial-create.png +0 -0
  318. data/docs/BOSH-cf-scaled.png +0 -0
  319. data/docs/concept.md +0 -141
  320. data/lib/bosh-cloudfoundry.rb +0 -33
  321. data/lib/bosh-cloudfoundry/bosh_release_manager.rb +0 -156
  322. data/lib/bosh-cloudfoundry/config.rb +0 -6
  323. data/lib/bosh-cloudfoundry/config/common_config.rb +0 -27
  324. data/lib/bosh-cloudfoundry/config/dea_config.rb +0 -161
  325. data/lib/bosh-cloudfoundry/config/microbosh_config.rb +0 -119
  326. data/lib/bosh-cloudfoundry/config/postgresql_service_config.rb +0 -185
  327. data/lib/bosh-cloudfoundry/config/redis_service_config.rb +0 -179
  328. data/lib/bosh-cloudfoundry/config/system_config.rb +0 -66
  329. data/lib/bosh-cloudfoundry/config_options.rb +0 -403
  330. data/lib/bosh-cloudfoundry/providers.rb +0 -22
  331. data/lib/bosh-cloudfoundry/providers/aws.rb +0 -75
  332. data/lib/bosh-cloudfoundry/providers/openstack.rb +0 -69
  333. data/lib/bosh-cloudfoundry/system_deployment_manifest_renderer.rb +0 -296
  334. data/lib/bosh-cloudfoundry/version.rb +0 -5
  335. data/spec/assets/cf-release/jobs/cloud_controller/templates/runtimes.yml +0 -150
  336. data/spec/assets/deployments/aws-core-1-m1.small-free-redis.yml +0 -226
  337. data/spec/assets/deployments/aws-core-1-m1.xlarge-free-postgresql-2-m1.small-free-postgresql.yml +0 -253
  338. data/spec/assets/deployments/aws-core-2-m1.xlarge-dea.yml +0 -200
  339. data/spec/assets/deployments/aws-core-only.yml +0 -183
  340. data/spec/assets/deployments/aws-core-with-nfs.yml +0 -192
  341. data/spec/assets/deployments/openstack-core-only.yml +0 -204
  342. data/spec/unit/bosh_release_manager_spec.rb +0 -67
  343. data/spec/unit/cf_command_spec.rb +0 -307
  344. data/spec/unit/config/common_config_spec.rb +0 -21
  345. data/spec/unit/config/dea_config_spec.rb +0 -95
  346. data/spec/unit/config/microbosh_config_spec.rb +0 -11
  347. data/spec/unit/config/postgresql_service_config_spec.rb +0 -103
  348. data/spec/unit/config/redis_service_config_spec.rb +0 -103
  349. data/spec/unit/config/system_config_spec.rb +0 -29
  350. data/spec/unit/config_options_spec.rb +0 -60
  351. data/spec/unit/system_deployment_manifest_renderer_spec.rb +0 -99
@@ -1,21 +0,0 @@
1
- # Copyright (c) 2012-2013 Stark & Wayne, LLC
2
-
3
- require File.expand_path("../../../spec_helper", __FILE__)
4
-
5
- describe Bosh::CloudFoundry::Config::CommonConfig do
6
- before(:each) do
7
- @dir = Dir.mktmpdir("common_config_spec")
8
- end
9
-
10
- after(:each) do
11
- FileUtils.remove_entry_secure @dir
12
- end
13
-
14
- it "should default base_systems_dir and create it" do
15
- config_file = File.join(@dir, "config.yml")
16
- config = Bosh::CloudFoundry::Config::CommonConfig.new(config_file)
17
-
18
- base_systems_dir = config.base_systems_dir
19
- base_systems_dir.should == nil
20
- end
21
- end
@@ -1,95 +0,0 @@
1
- # Copyright (c) 2012-2013 Stark & Wayne, LLC
2
-
3
- require File.expand_path("../../../spec_helper", __FILE__)
4
-
5
- # The specification of how a user's DEA choices (count & flavor)
6
- # are converted into deployment manifest configuration
7
- describe Bosh::CloudFoundry::Config::DeaConfig do
8
- include FileUtils
9
-
10
- before do
11
- @systems_dir = Dir.mktmpdir("system_config")
12
- @system_dir = File.join(@systems_dir, "production")
13
- mkdir_p(@system_dir)
14
- @system_config = Bosh::CloudFoundry::Config::SystemConfig.new(@system_dir)
15
- @system_config.bosh_target = "http://6.7.8.9:25555"
16
- @system_config.bosh_target_uuid = "DIRECTOR_UUID"
17
- @system_config.bosh_provider = "aws"
18
- @system_config.core_server_flavor = "m1.large"
19
- @manifest = YAML.load_file(spec_asset("deployments/aws-core-only.yml"))
20
- end
21
-
22
- # find a specificly named job in the manifest
23
- def job(name)
24
- @manifest["jobs"].find { |job| job["name"] == name }
25
- end
26
-
27
- # find a specificly named resource pool in the manifest
28
- def resource_pool(name)
29
- @manifest["resource_pools"].find { |res| res["name"] == name }
30
- end
31
-
32
- describe "0 deas" do
33
- subject { Bosh::CloudFoundry::Config::DeaConfig.build_from_system_config(@system_config) }
34
- it "has 0 dea servers" do
35
- subject.dea_server_count.should == 0
36
- end
37
- it "converted into a colocated dea on the core job" do
38
- subject.add_core_jobs_to_manifest(@manifest)
39
- job("core")["template"].should be_include("dea")
40
- end
41
- it "should not add a resoure pool called 'dea'" do
42
- subject.add_resource_pools_to_manifest(@manifest)
43
- @manifest["resource_pools"].size.should == 1
44
- end
45
- it "should not add a job called 'dea'" do
46
- subject.add_jobs_to_manifest(@manifest)
47
- @manifest["jobs"].size.should == 1
48
- job("dea").should be_nil
49
- end
50
- it "sets the properties.dea.max_memory" do
51
- subject.merge_manifest_properties(@manifest)
52
- @manifest["properties"]["dea"].should_not be_nil
53
- @manifest["properties"]["dea"]["max_memory"].should_not be_nil
54
- @manifest["properties"]["dea"]["max_memory"].should == 7380
55
- end
56
- end
57
- describe "5 x m1.xlarge deas on AWS" do
58
- subject do
59
- @system_config.dea = { "count" => 5, "flavor" => 'm1.xlarge' }
60
- Bosh::CloudFoundry::Config::DeaConfig.build_from_system_config(@system_config)
61
- end
62
- it "has 5 dea servers" do
63
- subject.dea_server_count.should == 5
64
- end
65
- it "has dea servers of flavor 'm1.xlarge'" do
66
- subject.dea_server_flavor.should == 'm1.xlarge'
67
- end
68
- it "does not add colocated job to core job" do
69
- subject.add_core_jobs_to_manifest(@manifest)
70
- job("core").should_not be_include("dea")
71
- end
72
- it "should add a resoure pool called 'dea'" do
73
- subject.add_resource_pools_to_manifest(@manifest)
74
- @manifest["resource_pools"].size.should == 2
75
- resource_pool("dea").should_not be_nil
76
- resource_pool("dea")["size"].should == 5
77
- resource_pool("dea")["cloud_properties"]["instance_type"].should == "m1.xlarge"
78
- end
79
- it "converts 1 dea into an explicit dea job" do
80
- subject.add_jobs_to_manifest(@manifest)
81
- job("dea").should_not be_nil
82
- job("dea")["template"].should == ["dea"]
83
- job("dea")["instances"].should == 5
84
- end
85
- it "sets the properties.dea.max_memory for each m1.xlarge server" do
86
- Bosh::CloudFoundry::Providers.should_receive(:for_bosh_provider_name).
87
- and_return(Bosh::CloudFoundry::Providers::AWS.new)
88
- # m1.xlarge has 15G RAM
89
- subject.merge_manifest_properties(@manifest)
90
- @manifest["properties"]["dea"].should_not be_nil
91
- @manifest["properties"]["dea"]["max_memory"].should_not be_nil
92
- @manifest["properties"]["dea"]["max_memory"].should == 15060
93
- end
94
- end
95
- end
@@ -1,11 +0,0 @@
1
- # Copyright (c) 2012-2013 Stark & Wayne, LLC
2
-
3
- require File.expand_path("../../../spec_helper", __FILE__)
4
-
5
- describe Bosh::CloudFoundry::Config::MicroboshConfig do
6
- before(:each) do
7
- @home = Dir.mktmpdir("home")
8
- end
9
-
10
- it "discovers fog connection properties in an AWS micro_bosh.yml"
11
- end
@@ -1,103 +0,0 @@
1
- # Copyright (c) 2012-2013 Stark & Wayne, LLC
2
-
3
- require File.expand_path("../../../spec_helper", __FILE__)
4
-
5
- # The specification of how a user's postgresql choices (count & flavor)
6
- # are converted into deployment manifest configuration
7
- describe Bosh::CloudFoundry::Config::PostgresqlServiceConfig do
8
- include FileUtils
9
-
10
- before do
11
- @systems_dir = Dir.mktmpdir("system_config")
12
- @system_dir = File.join(@systems_dir, "production")
13
- mkdir_p(@system_dir)
14
- @system_config = Bosh::CloudFoundry::Config::SystemConfig.new(@system_dir)
15
- @system_config.bosh_provider = "aws"
16
- @manifest = YAML.load_file(spec_asset("deployments/aws-core-only.yml"))
17
- end
18
-
19
- # find a specificly named job in the manifest
20
- def job(name)
21
- @manifest["jobs"].find { |job| job["name"] == name }
22
- end
23
-
24
- # find a specificly named resource pool in the manifest
25
- def resource_pool(name)
26
- @manifest["resource_pools"].find { |res| res["name"] == name }
27
- end
28
-
29
- describe "0 postgresqls" do
30
- subject { Bosh::CloudFoundry::Config::PostgresqlServiceConfig.build_from_system_config(@system_config) }
31
- it "has 0 postgresql servers" do
32
- subject.total_service_nodes_count.should == 0
33
- end
34
- it "is not in the core job" do
35
- subject.add_core_jobs_to_manifest(@manifest)
36
- job("core")["template"].should_not be_include("postgresql")
37
- end
38
- it "should not add a resoure pool called 'postgresql'" do
39
- subject.add_resource_pools_to_manifest(@manifest)
40
- @manifest["resource_pools"].size.should == 1
41
- resource_pool("postgresql").should be_nil
42
- end
43
- it "should not add a job called 'postgresql'" do
44
- subject.add_jobs_to_manifest(@manifest)
45
- @manifest["jobs"].size.should == 1
46
- job("postgresql").should be_nil
47
- end
48
- it "does not set properties.postgresql_gateway" do
49
- subject.merge_manifest_properties(@manifest)
50
- @manifest["properties"]["postgresql_gateway"].should be_nil
51
- end
52
- it "does not set properties.postgresql_node" do
53
- subject.merge_manifest_properties(@manifest)
54
- @manifest["properties"]["postgresql_node"].should be_nil
55
- end
56
- it "does not set properties.service_plans.postgresql" do
57
- subject.merge_manifest_properties(@manifest)
58
- @manifest["properties"]["service_plans"]["postgresql"].should be_nil
59
- end
60
- end
61
- describe "1 x m1.xlarge postgresql node on AWS" do
62
- subject do
63
- @system_config.postgresql = [{ "count" => 1, "flavor" => 'm1.xlarge' }]
64
- Bosh::CloudFoundry::Config::PostgresqlServiceConfig.build_from_system_config(@system_config)
65
- end
66
- it "has 1 postgresql servers" do
67
- subject.total_service_nodes_count.should == 1
68
- end
69
- it "does not add colocated job to core job" do
70
- subject.add_core_jobs_to_manifest(@manifest)
71
- job("core")["template"].should_not be_include("postgresql")
72
- end
73
- it "adds postgresql_gateway to core job" do
74
- subject.add_core_jobs_to_manifest(@manifest)
75
- job("core")["template"].should be_include("postgresql_gateway")
76
- end
77
- it "should add a resoure pool called 'postgresql'" do
78
- subject.add_resource_pools_to_manifest(@manifest)
79
- @manifest["resource_pools"].size.should == 2
80
- resource_pool("postgresql_m1_xlarge_free").should_not be_nil
81
- resource_pool("postgresql_m1_xlarge_free")["size"].should == 1
82
- resource_pool("postgresql_m1_xlarge_free")["cloud_properties"]["instance_type"].should == "m1.xlarge"
83
- end
84
- it "converts 1 postgresql into an explicit postgresql job" do
85
- subject.add_jobs_to_manifest(@manifest)
86
- job("postgresql_m1_xlarge_free").should_not be_nil
87
- job("postgresql_m1_xlarge_free")["template"].should == ["postgresql_node"]
88
- job("postgresql_m1_xlarge_free")["instances"].should == 1
89
- end
90
- it "sets properties.postgresql_gateway" do
91
- subject.merge_manifest_properties(@manifest)
92
- @manifest["properties"]["postgresql_gateway"].should_not be_nil
93
- end
94
- it "sets properties.postgresql_node" do
95
- subject.merge_manifest_properties(@manifest)
96
- @manifest["properties"]["postgresql_node"].should_not be_nil
97
- end
98
- it "sets properties.service_plans.postgresql" do
99
- subject.merge_manifest_properties(@manifest)
100
- @manifest["properties"]["service_plans"]["postgresql"].should_not be_nil
101
- end
102
- end
103
- end
@@ -1,103 +0,0 @@
1
- # Copyright (c) 2012-2013 Stark & Wayne, LLC
2
-
3
- require File.expand_path("../../../spec_helper", __FILE__)
4
-
5
- # The specification of how a user's redis choices (count & flavor)
6
- # are converted into deployment manifest configuration
7
- describe Bosh::CloudFoundry::Config::RedisServiceConfig do
8
- include FileUtils
9
-
10
- before do
11
- @systems_dir = Dir.mktmpdir("system_config")
12
- @system_dir = File.join(@systems_dir, "production")
13
- mkdir_p(@system_dir)
14
- @system_config = Bosh::CloudFoundry::Config::SystemConfig.new(@system_dir)
15
- @system_config.bosh_provider = "aws"
16
- @manifest = YAML.load_file(spec_asset("deployments/aws-core-only.yml"))
17
- end
18
-
19
- # find a specificly named job in the manifest
20
- def job(name)
21
- @manifest["jobs"].find { |job| job["name"] == name }
22
- end
23
-
24
- # find a specificly named resource pool in the manifest
25
- def resource_pool(name)
26
- @manifest["resource_pools"].find { |res| res["name"] == name }
27
- end
28
-
29
- describe "0 redis servers" do
30
- subject { Bosh::CloudFoundry::Config::RedisServiceConfig.build_from_system_config(@system_config) }
31
- it "has 0 redis servers" do
32
- subject.total_service_nodes_count.should == 0
33
- end
34
- it "is not in the core job" do
35
- subject.add_core_jobs_to_manifest(@manifest)
36
- job("core")["template"].should_not be_include("redis")
37
- end
38
- it "should not add a resoure pool called 'redis'" do
39
- subject.add_resource_pools_to_manifest(@manifest)
40
- @manifest["resource_pools"].size.should == 1
41
- resource_pool("redis").should be_nil
42
- end
43
- it "should not add a job called 'redis'" do
44
- subject.add_jobs_to_manifest(@manifest)
45
- @manifest["jobs"].size.should == 1
46
- job("redis").should be_nil
47
- end
48
- it "does not set properties.redis_gateway" do
49
- subject.merge_manifest_properties(@manifest)
50
- @manifest["properties"]["redis_gateway"].should be_nil
51
- end
52
- it "does not set properties.redis_node" do
53
- subject.merge_manifest_properties(@manifest)
54
- @manifest["properties"]["redis_node"].should be_nil
55
- end
56
- it "does not set properties.service_plans.redis" do
57
- subject.merge_manifest_properties(@manifest)
58
- @manifest["properties"]["service_plans"]["redis"].should be_nil
59
- end
60
- end
61
- describe "1 x m1.xlarge redis node on AWS" do
62
- subject do
63
- @system_config.redis = [{ "count" => 1, "flavor" => 'm1.xlarge' }]
64
- Bosh::CloudFoundry::Config::RedisServiceConfig.build_from_system_config(@system_config)
65
- end
66
- it "has 1 redis servers" do
67
- subject.total_service_nodes_count.should == 1
68
- end
69
- it "does not add colocated job to core job" do
70
- subject.add_core_jobs_to_manifest(@manifest)
71
- job("core")["template"].should_not be_include("redis")
72
- end
73
- it "adds redis_gateway to core job" do
74
- subject.add_core_jobs_to_manifest(@manifest)
75
- job("core")["template"].should be_include("redis_gateway")
76
- end
77
- it "should add a resoure pool called 'redis'" do
78
- subject.add_resource_pools_to_manifest(@manifest)
79
- @manifest["resource_pools"].size.should == 2
80
- resource_pool("redis_m1_xlarge_free").should_not be_nil
81
- resource_pool("redis_m1_xlarge_free")["size"].should == 1
82
- resource_pool("redis_m1_xlarge_free")["cloud_properties"]["instance_type"].should == "m1.xlarge"
83
- end
84
- it "converts 1 redis into an explicit redis job" do
85
- subject.add_jobs_to_manifest(@manifest)
86
- job("redis_m1_xlarge_free").should_not be_nil
87
- job("redis_m1_xlarge_free")["template"].should == ["redis_node"]
88
- job("redis_m1_xlarge_free")["instances"].should == 1
89
- end
90
- it "sets properties.redis_gateway" do
91
- subject.merge_manifest_properties(@manifest)
92
- @manifest["properties"]["redis_gateway"].should_not be_nil
93
- end
94
- it "sets properties.redis_node" do
95
- subject.merge_manifest_properties(@manifest)
96
- @manifest["properties"]["redis_node"].should_not be_nil
97
- end
98
- it "sets properties.service_plans.redis" do
99
- subject.merge_manifest_properties(@manifest)
100
- @manifest["properties"]["service_plans"]["redis"].should_not be_nil
101
- end
102
- end
103
- end
@@ -1,29 +0,0 @@
1
- # Copyright (c) 2012-2013 Stark & Wayne, LLC
2
-
3
- require File.expand_path("../../../spec_helper", __FILE__)
4
-
5
- describe Bosh::CloudFoundry::Config::SystemConfig do
6
- before(:each) do
7
- @dir = Dir.mktmpdir("system_config_spec")
8
- @config = Bosh::CloudFoundry::Config::SystemConfig.new(@dir)
9
- end
10
-
11
- after(:each) do
12
- FileUtils.remove_entry_secure @dir
13
- end
14
-
15
- it("has system_name attribute") { @config.system_name.should_not == nil }
16
- it("has system_dir attribute") { @config.system_dir.should_not == nil }
17
- it("has release_name attribute") { @config.release_name.should == nil }
18
- it("has stemcell_version attribute") { @config.stemcell_version.should == nil }
19
- it("has runtimes attribute") { @config.runtimes.should == nil }
20
- it("has common_password attribute") { @config.common_password.should == nil }
21
-
22
- it "defaults system_name attribute based on basename of location of config file" do
23
- @config.system_name == File.basename(@dir)
24
- end
25
-
26
- it "defaults system_dir attribute based on location of config file" do
27
- @config.system_dir == @dir
28
- end
29
- end
@@ -1,60 +0,0 @@
1
- # Copyright (c) 2012-2013 Stark & Wayne, LLC
2
-
3
- require File.expand_path("../../spec_helper", __FILE__)
4
-
5
- describe Bosh::CloudFoundry::ConfigOptions do
6
- include Bosh::CloudFoundry::ConfigOptions
7
- include FileUtils
8
- attr_reader :options
9
-
10
- before do
11
- @options = {
12
- common_config: File.join(Dir.mktmpdir, "bosh_common_config.yml"),
13
- system: File.join(Dir.mktmpdir, "systems", "production"),
14
- bosh_target: 'http://1.2.3.4:25555',
15
- bosh_target_uuid: 'UUUUUIIIIIDDDD'
16
- }
17
- mkdir_p(@options[:system])
18
- end
19
-
20
- describe "system_config attribute" do
21
- it "release_name can be overridden but is stored in system_config" do
22
- options[:release_name] = "CHANGED"
23
- release_name.should == "CHANGED"
24
- system_config.release_name.should == "CHANGED"
25
- end
26
-
27
- it "stemcell_version can be overridden but is stored in system_config" do
28
- options[:stemcell_version] = "CHANGED"
29
- stemcell_version.should == "CHANGED"
30
- system_config.stemcell_version.should == "CHANGED"
31
- end
32
-
33
- it "core_ip can be overridden but is stored in system_config" do
34
- options[:core_ip] = "CHANGED"
35
- core_ip.should == "CHANGED"
36
- system_config.core_ip.should == "CHANGED"
37
- end
38
-
39
- it "root_dns can be overridden but is stored in system_config" do
40
- options[:root_dns] = "CHANGED"
41
- root_dns.should == "CHANGED"
42
- system_config.root_dns.should == "CHANGED"
43
- end
44
-
45
- it "core_server_flavor can be overridden but is stored in system_config" do
46
- options[:core_server_flavor] = "CHANGED"
47
- core_server_flavor.should == "CHANGED"
48
- system_config.core_server_flavor.should == "CHANGED"
49
- end
50
-
51
- it "common_password is 16 characters long" do
52
- generate_common_password.size.should == 16
53
- end
54
-
55
- it "generate_security_group includes system name" do
56
- security_group.should == "cloudfoundry-production"
57
- generate_security_group.should == "cloudfoundry-production"
58
- end
59
- end
60
- end
@@ -1,99 +0,0 @@
1
- # Copyright (c) 2012-2013 Stark & Wayne, LLC
2
-
3
- require File.expand_path("../../spec_helper", __FILE__)
4
-
5
- describe Bosh::CloudFoundry::SystemDeploymentManifestRenderer do
6
- include FileUtils
7
-
8
- before(:each) do
9
- @home_dir = Dir.mktmpdir("home")
10
- common_config_file = File.join(@home_dir, "cf_config")
11
- @common_config = Bosh::CloudFoundry::Config:: CommonConfig.new(common_config_file)
12
-
13
- bosh_config_file = File.join(@home_dir, "bosh_config")
14
- @bosh_config = Bosh::Cli::Config.new(bosh_config_file)
15
- @bosh_config.target_uuid = "DIRECTOR_UUID"
16
- @bosh_config.save
17
-
18
- @systems_dir = Dir.mktmpdir("system_config")
19
- @system_dir = File.join(@systems_dir, "production")
20
- mkdir_p(@system_dir)
21
- @system_config = Bosh::CloudFoundry::Config::SystemConfig.new(@system_dir)
22
- @system_config.bosh_target = "http://6.7.8.9:25555"
23
- @system_config.bosh_target_uuid = "DIRECTOR_UUID"
24
- @system_config.bosh_provider = 'aws'
25
- @system_config.release_name = 'appcloud'
26
- @system_config.release_version = 'latest'
27
- @system_config.stemcell_name = 'bosh-stemcell'
28
- @system_config.stemcell_version = '0.7.0'
29
- @system_config.core_server_flavor = 'm1.small'
30
- @system_config.core_ip = '1.2.3.4'
31
- @system_config.root_dns = 'mycompany.com'
32
- @system_config.admin_emails = ['drnic@starkandwayne.com']
33
- @system_config.common_password = 'c1oudc0wc1oudc0w'
34
- @system_config.common_persistent_disk = 16192
35
- @system_config.security_group = 'cloudfoundry-production'
36
-
37
- @renderer = Bosh::CloudFoundry::SystemDeploymentManifestRenderer.new(
38
- @system_config, @common_config, @bosh_config)
39
-
40
- Bosh::CloudFoundry::Providers.should_receive(:for_bosh_provider_name).
41
- and_return(Bosh::CloudFoundry::Providers::AWS.new)
42
- #
43
- # @dea_config = @renderer.dea_config
44
- # @dea_config.should_receive(:ram_for_server_flavor).and_return(1700)
45
- end
46
-
47
- after(:each) do
48
- FileUtils.remove_entry_secure @systems_dir
49
- @renderer = nil
50
- end
51
-
52
- describe "rendering deployment manifest(s)" do
53
- it "renders a base system without DEAs/services into a deployment manifest" do
54
- @renderer.perform
55
-
56
- chdir(@system_config.system_dir) do
57
- File.should be_exist("deployments/production-core.yml")
58
- files_match("deployments/production-core.yml", spec_asset("deployments/aws-core-only.yml"))
59
- end
60
- end
61
- it "renders a simple system + DEAs into a deployment manifest" do
62
- @system_config.dea = { "count" => 2, "flavor" => "m1.xlarge" }
63
- @renderer.perform
64
-
65
- chdir(@system_config.system_dir) do
66
- File.should be_exist("deployments/production-core.yml")
67
- files_match("deployments/production-core.yml",
68
- spec_asset("deployments/aws-core-2-m1.xlarge-dea.yml"))
69
- end
70
- end
71
-
72
- it "renders a simple system + postgresql into a deployment manifest" do
73
- @system_config.postgresql = [
74
- { "count" => 1, "flavor" => "m1.xlarge", "plan" =>"free" },
75
- { "count" => 2, "flavor" => "m1.small", "plan" =>"free" },
76
- ]
77
- @renderer.perform
78
-
79
- chdir(@system_config.system_dir) do
80
- File.should be_exist("deployments/production-core.yml")
81
- files_match("deployments/production-core.yml",
82
- spec_asset("deployments/aws-core-1-m1.xlarge-free-postgresql-2-m1.small-free-postgresql.yml"))
83
- end
84
- end
85
-
86
- it "renders a simple system + redis into a deployment manifest" do
87
- @system_config.redis = [
88
- { "count" => 1, "flavor" => "m1.small", "plan" =>"free" },
89
- ]
90
- @renderer.perform
91
-
92
- chdir(@system_config.system_dir) do
93
- File.should be_exist("deployments/production-core.yml")
94
- files_match("deployments/production-core.yml",
95
- spec_asset("deployments/aws-core-1-m1.small-free-redis.yml"))
96
- end
97
- end
98
- end
99
- end