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.
- data/.gitignore +4 -1
- data/.rspec +1 -1
- data/.travis.yml +9 -3
- data/ChangeLog.md +12 -47
- data/Gemfile +11 -5
- data/Guardfile +4 -7
- data/LICENSE.txt +2 -2
- data/README.md +62 -178
- data/Rakefile +40 -16
- data/bosh-cloudfoundry.gemspec +19 -27
- data/bosh_release/.final_builds/.gitattributes +1 -0
- data/bosh_release/.final_builds/jobs/acm/index.yml +10 -0
- data/bosh_release/.final_builds/jobs/atmos_gateway/index.yml +58 -0
- data/bosh_release/.final_builds/jobs/backup_manager/index.yml +66 -0
- data/bosh_release/.final_builds/jobs/ccdb/index.yml +6 -0
- data/bosh_release/.final_builds/jobs/ccdb_postgres/index.yml +31 -0
- data/bosh_release/.final_builds/jobs/cloud_controller/index.yml +230 -0
- data/bosh_release/.final_builds/jobs/cloud_controller_ng/index.yml +31 -0
- data/bosh_release/.final_builds/jobs/collector/index.yml +27 -0
- data/bosh_release/.final_builds/jobs/dashboard/index.yml +43 -0
- data/bosh_release/.final_builds/jobs/dea/index.yml +86 -0
- data/bosh_release/.final_builds/jobs/dea_next/index.yml +51 -0
- data/bosh_release/.final_builds/jobs/debian_nfs_server/index.yml +30 -0
- data/bosh_release/.final_builds/jobs/filesystem_gateway/index.yml +54 -0
- data/bosh_release/.final_builds/jobs/gorouter/index.yml +11 -0
- data/bosh_release/.final_builds/jobs/hbase_master/index.yml +6 -0
- data/bosh_release/.final_builds/jobs/hbase_slave/index.yml +10 -0
- data/bosh_release/.final_builds/jobs/health_manager/index.yml +82 -0
- data/bosh_release/.final_builds/jobs/health_manager_next/index.yml +31 -0
- data/bosh_release/.final_builds/jobs/login/index.yml +47 -0
- data/bosh_release/.final_builds/jobs/marketplace_gateway/index.yml +38 -0
- data/bosh_release/.final_builds/jobs/memcached_gateway/index.yml +50 -0
- data/bosh_release/.final_builds/jobs/memcached_node/index.yml +22 -0
- data/bosh_release/.final_builds/jobs/memcached_node_ng/index.yml +50 -0
- data/bosh_release/.final_builds/jobs/micro/index.yml +374 -0
- data/bosh_release/.final_builds/jobs/mongodb_gateway/index.yml +126 -0
- data/bosh_release/.final_builds/jobs/mongodb_node/index.yml +110 -0
- data/bosh_release/.final_builds/jobs/mongodb_node_ng/index.yml +66 -0
- data/bosh_release/.final_builds/jobs/mysql_gateway/index.yml +110 -0
- data/bosh_release/.final_builds/jobs/mysql_node/index.yml +126 -0
- data/bosh_release/.final_builds/jobs/mysql_node_ng/index.yml +58 -0
- data/bosh_release/.final_builds/jobs/nats/index.yml +43 -0
- data/bosh_release/.final_builds/jobs/oauth2_gateway/index.yml +10 -0
- data/bosh_release/.final_builds/jobs/opentsdb/index.yml +62 -0
- data/bosh_release/.final_builds/jobs/postgres/index.yml +19 -0
- data/bosh_release/.final_builds/jobs/postgresql_gateway/index.yml +106 -0
- data/bosh_release/.final_builds/jobs/postgresql_node/index.yml +90 -0
- data/bosh_release/.final_builds/jobs/postgresql_node_ng/index.yml +62 -0
- data/bosh_release/.final_builds/jobs/rabbit_gateway/index.yml +82 -0
- data/bosh_release/.final_builds/jobs/rabbit_node/index.yml +86 -0
- data/bosh_release/.final_builds/jobs/rabbit_node_ng/index.yml +58 -0
- data/bosh_release/.final_builds/jobs/rabbitmq_srs_gateway/index.yml +22 -0
- data/bosh_release/.final_builds/jobs/rabbitmq_srs_node/index.yml +18 -0
- data/bosh_release/.final_builds/jobs/rabbitmq_srs_service/index.yml +22 -0
- data/bosh_release/.final_builds/jobs/redis_gateway/index.yml +102 -0
- data/bosh_release/.final_builds/jobs/redis_node/index.yml +98 -0
- data/bosh_release/.final_builds/jobs/redis_node_ng/index.yml +58 -0
- data/bosh_release/.final_builds/jobs/router/index.yml +78 -0
- data/bosh_release/.final_builds/jobs/router_next/index.yml +38 -0
- data/bosh_release/.final_builds/jobs/routerv2/index.yml +30 -0
- data/bosh_release/.final_builds/jobs/serialization_data_server/index.yml +38 -0
- data/bosh_release/.final_builds/jobs/service_broker/index.yml +34 -0
- data/bosh_release/.final_builds/jobs/service_utilities/index.yml +14 -0
- data/bosh_release/.final_builds/jobs/stager/index.yml +94 -0
- data/bosh_release/.final_builds/jobs/syslog_aggregator/index.yml +43 -0
- data/bosh_release/.final_builds/jobs/uaa/index.yml +111 -0
- data/bosh_release/.final_builds/jobs/vblob_gateway/index.yml +62 -0
- data/bosh_release/.final_builds/jobs/vblob_node/index.yml +34 -0
- data/bosh_release/.final_builds/jobs/vblob_node_ng/index.yml +54 -0
- data/bosh_release/.final_builds/jobs/vcap_redis/index.yml +26 -0
- data/bosh_release/.final_builds/jobs/warden/index.yml +30 -0
- data/bosh_release/.final_builds/packages/acm/index.yml +46 -0
- data/bosh_release/.final_builds/packages/atmos_gateway/index.yml +146 -0
- data/bosh_release/.final_builds/packages/backup_manager/index.yml +158 -0
- data/bosh_release/.final_builds/packages/bandwidth_proxy/index.yml +10 -0
- data/bosh_release/.final_builds/packages/buildpack_cache/index.yml +7 -0
- data/bosh_release/.final_builds/packages/cloud_controller/index.yml +306 -0
- data/bosh_release/.final_builds/packages/cloud_controller_ng/index.yml +55 -0
- data/bosh_release/.final_builds/packages/collector/index.yml +35 -0
- data/bosh_release/.final_builds/packages/common/index.yml +22 -0
- data/bosh_release/.final_builds/packages/dashboard/index.yml +59 -0
- data/bosh_release/.final_builds/packages/daylimit/index.yml +22 -0
- data/bosh_release/.final_builds/packages/dea/index.yml +214 -0
- data/bosh_release/.final_builds/packages/dea_jvm/index.yml +19 -0
- data/bosh_release/.final_builds/packages/dea_jvm7/index.yml +6 -0
- data/bosh_release/.final_builds/packages/dea_next/index.yml +67 -0
- data/bosh_release/.final_builds/packages/dea_node/index.yml +18 -0
- data/bosh_release/.final_builds/packages/dea_node04/index.yml +14 -0
- data/bosh_release/.final_builds/packages/dea_node06/index.yml +14 -0
- data/bosh_release/.final_builds/packages/dea_node08/index.yml +6 -0
- data/bosh_release/.final_builds/packages/dea_ruby18/index.yml +34 -0
- data/bosh_release/.final_builds/packages/dea_ruby19/index.yml +30 -0
- data/bosh_release/.final_builds/packages/dea_seed/index.yml +34 -0
- data/bosh_release/.final_builds/packages/dea_transition/index.yml +18 -0
- data/bosh_release/.final_builds/packages/debian_nfs_server/index.yml +14 -0
- data/bosh_release/.final_builds/packages/erlang/index.yml +14 -0
- data/bosh_release/.final_builds/packages/filesystem_gateway/index.yml +114 -0
- data/bosh_release/.final_builds/packages/git/index.yml +6 -0
- data/bosh_release/.final_builds/packages/golang/index.yml +11 -0
- data/bosh_release/.final_builds/packages/gorouter/index.yml +19 -0
- data/bosh_release/.final_builds/packages/hadoop/index.yml +6 -0
- data/bosh_release/.final_builds/packages/hbase/index.yml +18 -0
- data/bosh_release/.final_builds/packages/health_manager_next/index.yml +75 -0
- data/bosh_release/.final_builds/packages/imagemagick/index.yml +10 -0
- data/bosh_release/.final_builds/packages/insight_agent/index.yml +10 -0
- data/bosh_release/.final_builds/packages/libpq/index.yml +23 -0
- data/bosh_release/.final_builds/packages/libyaml/index.yml +7 -0
- data/bosh_release/.final_builds/packages/login/index.yml +55 -0
- data/bosh_release/.final_builds/packages/marketplace/index.yml +58 -0
- data/bosh_release/.final_builds/packages/memcached/index.yml +6 -0
- data/bosh_release/.final_builds/packages/memcached_gateway/index.yml +102 -0
- data/bosh_release/.final_builds/packages/memcached_node/index.yml +90 -0
- data/bosh_release/.final_builds/packages/memcached_node_ng/index.yml +58 -0
- data/bosh_release/.final_builds/packages/micro/index.yml +22 -0
- data/bosh_release/.final_builds/packages/mongodb/index.yml +22 -0
- data/bosh_release/.final_builds/packages/mongodb18/index.yml +6 -0
- data/bosh_release/.final_builds/packages/mongodb20/index.yml +11 -0
- data/bosh_release/.final_builds/packages/mongodb22/index.yml +6 -0
- data/bosh_release/.final_builds/packages/mongodb_gateway/index.yml +226 -0
- data/bosh_release/.final_builds/packages/mongodb_node/index.yml +214 -0
- data/bosh_release/.final_builds/packages/mongodb_node_ng/index.yml +58 -0
- data/bosh_release/.final_builds/packages/mongodb_proxy/index.yml +38 -0
- data/bosh_release/.final_builds/packages/mysql/index.yml +54 -0
- data/bosh_release/.final_builds/packages/mysql55/index.yml +26 -0
- data/bosh_release/.final_builds/packages/mysql_gateway/index.yml +246 -0
- data/bosh_release/.final_builds/packages/mysql_node/index.yml +230 -0
- data/bosh_release/.final_builds/packages/mysql_node_ng/index.yml +62 -0
- data/bosh_release/.final_builds/packages/mysqlclient/index.yml +14 -0
- data/bosh_release/.final_builds/packages/nats/index.yml +34 -0
- data/bosh_release/.final_builds/packages/nginx/index.yml +38 -0
- data/bosh_release/.final_builds/packages/nginx_next/index.yml +6 -0
- data/bosh_release/.final_builds/packages/node/index.yml +10 -0
- data/bosh_release/.final_builds/packages/oauth2_gateway/index.yml +18 -0
- data/bosh_release/.final_builds/packages/opentsdb/index.yml +18 -0
- data/bosh_release/.final_builds/packages/postgres/index.yml +18 -0
- data/bosh_release/.final_builds/packages/postgresql/index.yml +31 -0
- data/bosh_release/.final_builds/packages/postgresql91/index.yml +10 -0
- data/bosh_release/.final_builds/packages/postgresql_gateway/index.yml +178 -0
- data/bosh_release/.final_builds/packages/postgresql_node/index.yml +162 -0
- data/bosh_release/.final_builds/packages/postgresql_node_ng/index.yml +58 -0
- data/bosh_release/.final_builds/packages/rabbit/index.yml +14 -0
- data/bosh_release/.final_builds/packages/rabbit_gateway/index.yml +210 -0
- data/bosh_release/.final_builds/packages/rabbit_node/index.yml +194 -0
- data/bosh_release/.final_builds/packages/rabbit_node_ng/index.yml +58 -0
- data/bosh_release/.final_builds/packages/rabbitmq-2.4/index.yml +6 -0
- data/bosh_release/.final_builds/packages/rabbitmq-2.8/index.yml +6 -0
- data/bosh_release/.final_builds/packages/rabbitmq/index.yml +18 -0
- data/bosh_release/.final_builds/packages/rabbitmq_srs/index.yml +14 -0
- data/bosh_release/.final_builds/packages/rabbitmq_srs_builds/index.yml +10 -0
- data/bosh_release/.final_builds/packages/redis/index.yml +18 -0
- data/bosh_release/.final_builds/packages/redis22/index.yml +6 -0
- data/bosh_release/.final_builds/packages/redis24/index.yml +6 -0
- data/bosh_release/.final_builds/packages/redis26/index.yml +6 -0
- data/bosh_release/.final_builds/packages/redis_gateway/index.yml +230 -0
- data/bosh_release/.final_builds/packages/redis_node/index.yml +218 -0
- data/bosh_release/.final_builds/packages/redis_node_ng/index.yml +62 -0
- data/bosh_release/.final_builds/packages/rootfs_lucid64/index.yml +7 -0
- data/bosh_release/.final_builds/packages/router/index.yml +178 -0
- data/bosh_release/.final_builds/packages/routerv2/index.yml +18 -0
- data/bosh_release/.final_builds/packages/ruby/index.yml +35 -0
- data/bosh_release/.final_builds/packages/ruby_next/index.yml +15 -0
- data/bosh_release/.final_builds/packages/serialization_data_server/index.yml +66 -0
- data/bosh_release/.final_builds/packages/service_broker/index.yml +138 -0
- data/bosh_release/.final_builds/packages/service_utilities/index.yml +34 -0
- data/bosh_release/.final_builds/packages/sqlite/index.yml +14 -0
- data/bosh_release/.final_builds/packages/stager/index.yml +194 -0
- data/bosh_release/.final_builds/packages/syslog_aggregator/index.yml +19 -0
- data/bosh_release/.final_builds/packages/uaa/index.yml +99 -0
- data/bosh_release/.final_builds/packages/vblob/index.yml +22 -0
- data/bosh_release/.final_builds/packages/vblob_gateway/index.yml +106 -0
- data/bosh_release/.final_builds/packages/vblob_node/index.yml +94 -0
- data/bosh_release/.final_builds/packages/vblob_node_ng/index.yml +54 -0
- data/bosh_release/.final_builds/packages/warden/index.yml +107 -0
- data/{spec/assets → bosh_release/config}/.gitkeep +0 -0
- data/bosh_release/config/final.yml +7 -0
- data/{spec/functional → bosh_release/jobs}/.gitkeep +0 -0
- data/{spec/unit → bosh_release/packages}/.gitkeep +0 -0
- data/bosh_release/releases/appcloud-10.yml +232 -0
- data/bosh_release/releases/appcloud-100.yml +512 -0
- data/bosh_release/releases/appcloud-101.yml +523 -0
- data/bosh_release/releases/appcloud-102.yml +523 -0
- data/bosh_release/releases/appcloud-103.yml +532 -0
- data/bosh_release/releases/appcloud-104.yml +541 -0
- data/bosh_release/releases/appcloud-105.yml +547 -0
- data/bosh_release/releases/appcloud-106.yml +547 -0
- data/bosh_release/releases/appcloud-107.yml +547 -0
- data/bosh_release/releases/appcloud-108.yml +547 -0
- data/bosh_release/releases/appcloud-109.yml +612 -0
- data/bosh_release/releases/appcloud-11.yml +232 -0
- data/bosh_release/releases/appcloud-110.yml +612 -0
- data/bosh_release/releases/appcloud-111.yml +743 -0
- data/bosh_release/releases/appcloud-112.yml +617 -0
- data/bosh_release/releases/appcloud-113.yml +627 -0
- data/bosh_release/releases/appcloud-114.yml +627 -0
- data/bosh_release/releases/appcloud-115.yml +627 -0
- data/bosh_release/releases/appcloud-116.yml +627 -0
- data/bosh_release/releases/appcloud-117.yml +637 -0
- data/bosh_release/releases/appcloud-118.yml +637 -0
- data/bosh_release/releases/appcloud-119.yml +642 -0
- data/bosh_release/releases/appcloud-12.yml +232 -0
- data/bosh_release/releases/appcloud-120.yml +791 -0
- data/bosh_release/releases/appcloud-121.yml +791 -0
- data/bosh_release/releases/appcloud-122.yml +799 -0
- data/bosh_release/releases/appcloud-123.yml +799 -0
- data/bosh_release/releases/appcloud-124.yml +810 -0
- data/bosh_release/releases/appcloud-125.yml +810 -0
- data/bosh_release/releases/appcloud-126.yml +810 -0
- data/bosh_release/releases/appcloud-127.yml +816 -0
- data/bosh_release/releases/appcloud-128.yml +812 -0
- data/bosh_release/releases/appcloud-129.yml +811 -0
- data/bosh_release/releases/appcloud-13.yml +232 -0
- data/bosh_release/releases/appcloud-130.yml +811 -0
- data/bosh_release/releases/appcloud-131.yml +811 -0
- data/bosh_release/releases/appcloud-14.yml +232 -0
- data/bosh_release/releases/appcloud-15.yml +232 -0
- data/bosh_release/releases/appcloud-16.yml +232 -0
- data/bosh_release/releases/appcloud-17.yml +232 -0
- data/bosh_release/releases/appcloud-18.yml +232 -0
- data/bosh_release/releases/appcloud-19.yml +256 -0
- data/bosh_release/releases/appcloud-20.yml +256 -0
- data/bosh_release/releases/appcloud-21.yml +256 -0
- data/bosh_release/releases/appcloud-22.yml +286 -0
- data/bosh_release/releases/appcloud-23.yml +294 -0
- data/bosh_release/releases/appcloud-24.yml +297 -0
- data/bosh_release/releases/appcloud-25.yml +297 -0
- data/bosh_release/releases/appcloud-26.yml +297 -0
- data/bosh_release/releases/appcloud-27.yml +297 -0
- data/bosh_release/releases/appcloud-28.yml +297 -0
- data/bosh_release/releases/appcloud-29.yml +297 -0
- data/bosh_release/releases/appcloud-30.yml +299 -0
- data/bosh_release/releases/appcloud-31.yml +299 -0
- data/bosh_release/releases/appcloud-32.yml +299 -0
- data/bosh_release/releases/appcloud-33.yml +299 -0
- data/bosh_release/releases/appcloud-34.yml +299 -0
- data/bosh_release/releases/appcloud-35.yml +299 -0
- data/bosh_release/releases/appcloud-36.yml +299 -0
- data/bosh_release/releases/appcloud-37.yml +332 -0
- data/bosh_release/releases/appcloud-38.yml +343 -0
- data/bosh_release/releases/appcloud-39.yml +360 -0
- data/bosh_release/releases/appcloud-40.yml +360 -0
- data/bosh_release/releases/appcloud-41.yml +367 -0
- data/bosh_release/releases/appcloud-42.yml +372 -0
- data/bosh_release/releases/appcloud-43.yml +372 -0
- data/bosh_release/releases/appcloud-44.yml +372 -0
- data/bosh_release/releases/appcloud-45.yml +381 -0
- data/bosh_release/releases/appcloud-46.yml +381 -0
- data/bosh_release/releases/appcloud-47.yml +381 -0
- data/bosh_release/releases/appcloud-48.yml +381 -0
- data/bosh_release/releases/appcloud-49.yml +381 -0
- data/bosh_release/releases/appcloud-50.yml +381 -0
- data/bosh_release/releases/appcloud-51.yml +381 -0
- data/bosh_release/releases/appcloud-52.yml +389 -0
- data/bosh_release/releases/appcloud-53.yml +389 -0
- data/bosh_release/releases/appcloud-54.yml +397 -0
- data/bosh_release/releases/appcloud-55.yml +402 -0
- data/bosh_release/releases/appcloud-56.yml +428 -0
- data/bosh_release/releases/appcloud-57.yml +428 -0
- data/bosh_release/releases/appcloud-58.yml +428 -0
- data/bosh_release/releases/appcloud-59.yml +428 -0
- data/bosh_release/releases/appcloud-60.yml +428 -0
- data/bosh_release/releases/appcloud-61.yml +433 -0
- data/bosh_release/releases/appcloud-62.yml +433 -0
- data/bosh_release/releases/appcloud-63.yml +428 -0
- data/bosh_release/releases/appcloud-64.yml +451 -0
- data/bosh_release/releases/appcloud-65.yml +451 -0
- data/bosh_release/releases/appcloud-66.yml +451 -0
- data/bosh_release/releases/appcloud-67.yml +451 -0
- data/bosh_release/releases/appcloud-68.yml +460 -0
- data/bosh_release/releases/appcloud-69.yml +460 -0
- data/bosh_release/releases/appcloud-70.yml +460 -0
- data/bosh_release/releases/appcloud-71.yml +442 -0
- data/bosh_release/releases/appcloud-72.yml +442 -0
- data/bosh_release/releases/appcloud-73.yml +442 -0
- data/bosh_release/releases/appcloud-74.yml +442 -0
- data/bosh_release/releases/appcloud-75.yml +450 -0
- data/bosh_release/releases/appcloud-76.yml +450 -0
- data/bosh_release/releases/appcloud-77.yml +473 -0
- data/bosh_release/releases/appcloud-78.yml +473 -0
- data/bosh_release/releases/appcloud-79.yml +473 -0
- data/bosh_release/releases/appcloud-80.yml +473 -0
- data/bosh_release/releases/appcloud-81.yml +473 -0
- data/bosh_release/releases/appcloud-82.yml +473 -0
- data/bosh_release/releases/appcloud-83.yml +468 -0
- data/bosh_release/releases/appcloud-84.yml +478 -0
- data/bosh_release/releases/appcloud-85.yml +478 -0
- data/bosh_release/releases/appcloud-86.yml +478 -0
- data/bosh_release/releases/appcloud-87.yml +488 -0
- data/bosh_release/releases/appcloud-88.yml +488 -0
- data/bosh_release/releases/appcloud-89.yml +488 -0
- data/bosh_release/releases/appcloud-90.yml +488 -0
- data/bosh_release/releases/appcloud-91.yml +493 -0
- data/bosh_release/releases/appcloud-92.yml +493 -0
- data/bosh_release/releases/appcloud-93.yml +493 -0
- data/bosh_release/releases/appcloud-94.yml +493 -0
- data/bosh_release/releases/appcloud-95.yml +502 -0
- data/bosh_release/releases/appcloud-96.yml +502 -0
- data/bosh_release/releases/appcloud-97.yml +502 -0
- data/bosh_release/releases/appcloud-98.yml +512 -0
- data/bosh_release/releases/appcloud-99.yml +512 -0
- data/bosh_release/releases/cf-release-132.yml +305 -0
- data/bosh_release/releases/index.yml +266 -0
- data/bosh_release/src/.gitkeep +0 -0
- data/lib/bosh/cli/commands/cf.rb +173 -560
- data/lib/bosh/cloudfoundry.rb +4 -0
- data/lib/bosh/cloudfoundry/deployment_attributes.rb +124 -0
- data/lib/bosh/cloudfoundry/release_versioned_template.rb +48 -0
- data/spec/plugin_spec.rb +115 -0
- data/spec/release_versioned_template_spec.rb +12 -0
- data/spec/spec_helper.rb +33 -9
- data/templates/README.md +21 -0
- data/templates/v132/aws/dev/deployment_file.yml.erb +372 -0
- data/templates/v132/aws/dev/spec +6 -0
- data/templates/v132/openstack/dev/deployment_file.yml.erb +372 -0
- data/templates/v132/openstack/dev/spec +6 -0
- metadata +326 -102
- data/config/defaults.yml +0 -6
- data/docs/BOSH-cf-initial-create.png +0 -0
- data/docs/BOSH-cf-scaled.png +0 -0
- data/docs/concept.md +0 -141
- data/lib/bosh-cloudfoundry.rb +0 -33
- data/lib/bosh-cloudfoundry/bosh_release_manager.rb +0 -156
- data/lib/bosh-cloudfoundry/config.rb +0 -6
- data/lib/bosh-cloudfoundry/config/common_config.rb +0 -27
- data/lib/bosh-cloudfoundry/config/dea_config.rb +0 -161
- data/lib/bosh-cloudfoundry/config/microbosh_config.rb +0 -119
- data/lib/bosh-cloudfoundry/config/postgresql_service_config.rb +0 -185
- data/lib/bosh-cloudfoundry/config/redis_service_config.rb +0 -179
- data/lib/bosh-cloudfoundry/config/system_config.rb +0 -66
- data/lib/bosh-cloudfoundry/config_options.rb +0 -403
- data/lib/bosh-cloudfoundry/providers.rb +0 -22
- data/lib/bosh-cloudfoundry/providers/aws.rb +0 -75
- data/lib/bosh-cloudfoundry/providers/openstack.rb +0 -69
- data/lib/bosh-cloudfoundry/system_deployment_manifest_renderer.rb +0 -296
- data/lib/bosh-cloudfoundry/version.rb +0 -5
- data/spec/assets/cf-release/jobs/cloud_controller/templates/runtimes.yml +0 -150
- data/spec/assets/deployments/aws-core-1-m1.small-free-redis.yml +0 -226
- data/spec/assets/deployments/aws-core-1-m1.xlarge-free-postgresql-2-m1.small-free-postgresql.yml +0 -253
- data/spec/assets/deployments/aws-core-2-m1.xlarge-dea.yml +0 -200
- data/spec/assets/deployments/aws-core-only.yml +0 -183
- data/spec/assets/deployments/aws-core-with-nfs.yml +0 -192
- data/spec/assets/deployments/openstack-core-only.yml +0 -204
- data/spec/unit/bosh_release_manager_spec.rb +0 -67
- data/spec/unit/cf_command_spec.rb +0 -307
- data/spec/unit/config/common_config_spec.rb +0 -21
- data/spec/unit/config/dea_config_spec.rb +0 -95
- data/spec/unit/config/microbosh_config_spec.rb +0 -11
- data/spec/unit/config/postgresql_service_config_spec.rb +0 -103
- data/spec/unit/config/redis_service_config_spec.rb +0 -103
- data/spec/unit/config/system_config_spec.rb +0 -29
- data/spec/unit/config_options_spec.rb +0 -60
- 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
|