Skip to content
Browse files

Improve process for adding runtimes and frameworks Part 1

- Merge common runtime info into runtimes.yml file

- Remove runtime info from cc config

- Remove unused app_server and staged_services
fields from CC manifests

- Bump CC pointer to include processing of runtimes.yml
git shortlog f2c60333..a1ce3d3a
Andrew Liu (1):
      [CC] generate service tags at runtime

Jennifer Hickey (1):
      Improve process for adding runtimes and frameworks

Change-Id: Id4d6e36d31728df7cc3b277cb930cb909bfcf953
  • Loading branch information...
1 parent 269e569 commit 7ef8b9a720a7e066e224095384ec209f0f3c0c23 Jennifer Hickey committed Aug 29, 2012
View
3 jobs/cloud_controller/spec
@@ -18,7 +18,8 @@ templates:
rack_staging.yml: config/staging/rack.yml
standalone_staging.yml: config/staging/standalone.yml
play_staging.yml: config/staging/play.yml
- platform_staging.yml: config/staging/platform.yml
+ platform_staging.yml: config/platform.yml
+ runtimes.yml: config/runtimes.yml
sudoers: config/sudoers
blacklist.txt: config/blacklist.txt
syslog_forwarder.conf.erb: config/syslog_forwarder.conf
View
24 jobs/cloud_controller/templates/cloud_controller.yml.erb
@@ -218,26 +218,4 @@ service_lifecycle:
<% end %>
<% end %>
-runtimes:
- ruby18:
- version: 1.8.7
- ruby19:
- version: 1.9.2
- node:
- version: 0.4.12
- node06:
- version: 0.6.8
- node08:
- version: 0.8.2
- java:
- version: 1.6.0
- debug_modes:
- - run
- - suspend
- java7:
- version: 1.7.0
- debug_modes:
- - run
- - suspend
- erlangR14B02:
- version: ".* 5.8.3"
+runtimes_file: /var/vcap/jobs/cloud_controller/config/runtimes.yml
View
1 jobs/cloud_controller/templates/cloud_controller_ctl.erb
@@ -12,6 +12,7 @@ LOG_DIR=/var/vcap/sys/log/cloud_controller
PIDFILE=$RUN_DIR/cloud_controller.pid
export CLOUD_CONTROLLER_CONFIG=$CC_JOB_DIR/config/cloud_controller.yml
+export PLATFORM_CONFIG=$CC_JOB_DIR/config/platform.yml
export BUNDLE_GEMFILE=$CC_PACKAGE_DIR/cloud_controller/Gemfile
export HOME=/home/vcap # rake needs it to be set to run tasks
export TMPDIR=/var/vcap/data/cloud_controller/tmp
View
27 jobs/cloud_controller/templates/grails_staging.yml
@@ -3,35 +3,8 @@ name: grails
runtimes:
- java:
- description: Java 6
- version: 1.6
- executable: /var/vcap/packages/dea_jvm/bin/java
- staging: /var/vcap/packages/ruby/bin/ruby stage
default: true
- environment:
- path: /var/vcap/packages/dea_ruby18/bin:$PATH
- java_home: /var/vcap/packages/dea_jvm
- java7:
- description: Java 7
- version: 1.7
- executable: /var/vcap/packages/dea_jvm7/bin/java
- staging: /var/vcap/packages/ruby/bin/ruby stage
default: false
- environment:
- path: /var/vcap/packages/dea_ruby18/bin:$PATH
- java_home: /var/vcap/packages/dea_jvm7
-
-app_servers:
- - tomcat:
- description: Tomcat
- executable: false
- default: true
-
detection:
- *.war: true # TODO - this thinks everything with an XML file is Spring
-
-staged_services:
- - name: mysql
- version: *
- - name: postgresql
- version: *
View
27 jobs/cloud_controller/templates/java_web_staging.yml
@@ -3,35 +3,8 @@ name: java_web
runtimes:
- java:
- description: Java 6
- version: 1.6
- executable: /var/vcap/packages/dea_jvm/bin/java
- staging: /var/vcap/packages/ruby/bin/ruby stage
default: true
- environment:
- path: /var/vcap/packages/dea_ruby18/bin:$PATH
- java_home: /var/vcap/packages/dea_jvm
- java7:
- description: Java 7
- version: 1.7
- executable: /var/vcap/packages/dea_jvm7/bin/java
- staging: /var/vcap/packages/ruby/bin/ruby stage
default: false
- environment:
- path: /var/vcap/packages/dea_ruby18/bin:$PATH
- java_home: /var/vcap/packages/dea_jvm7
-
-app_servers:
- - tomcat:
- description: Tomcat
- executable: false
- default: true
-
detection:
- *.war: true
-
-staged_services:
- - name: mysql
- version: *
- - name: postgresql
- version: *
View
29 jobs/cloud_controller/templates/lift_staging.yml
@@ -3,37 +3,8 @@ name: lift
runtimes:
- java:
- description: Java 6
- version: 1.6
- executable: /var/vcap/packages/dea_jvm/bin/java
- staging: /var/vcap/packages/ruby/bin/ruby stage
default: true
- environment:
- # Ruby needed here to generate Tomcat server.xml
- # via the staged resources/generate_server_xml script.
- path: /var/vcap/packages/dea_ruby18/bin:$PATH
- java_home: /var/vcap/packages/dea_jvm
- java7:
- description: Java 7
- version: 1.7
- executable: /var/vcap/packages/dea_jvm7/bin/java
- staging: /var/vcap/packages/ruby/bin/ruby stage
default: false
- environment:
- # Ruby needed here to generate Tomcat server.xml
- # via the staged resources/generate_server_xml script.
- path: /var/vcap/packages/dea_ruby18/bin:$PATH
- java_home: /var/vcap/packages/dea_jvm7
-
-app_servers:
- - tomcat:
- description: Tomcat
- executable: false
- default: true
-
detection:
- *.war: true
-
-staged_services:
- - name: mysql
- version: *
View
22 jobs/cloud_controller/templates/node_staging.yml
@@ -2,28 +2,10 @@
name: "node"
runtimes:
- node:
- version: '0.4.12'
- description: Node.js
- executable: /var/vcap/packages/dea_node04/bin/node
- npm: /var/vcap/packages/dea_node04/npm/bin/npm-cli.js
default: true
- staging: /var/vcap/packages/ruby/bin/ruby stage
- node06:
- version: '0.6.8'
- description: Node.js
- executable: /var/vcap/packages/dea_node06/bin/node
- npm: /var/vcap/packages/dea_node06/bin/npm
- staging: /var/vcap/packages/ruby/bin/ruby stage
+ default: false
- node08:
- version: '0.8.2'
- description: Node.js
- executable: /var/vcap/packages/dea_node08/bin/node
- npm: /var/vcap/packages/dea_node08/bin/npm
- staging: /var/vcap/packages/ruby/bin/ruby stage
-
-app_servers:
-
+ default: false
detection:
- "*.js": '.'
-
-staged_services:
View
15 jobs/cloud_controller/templates/play_staging.yml
@@ -3,23 +3,8 @@ name: play
runtimes:
- java:
- description: Java 6
- version: 1.6
- executable: /var/vcap/packages/dea_jvm/bin/java
- staging: /var/vcap/packages/ruby/bin/ruby stage
default: true
- environment:
- path: /var/vcap/packages/dea_jvm/bin:$PATH
- java_home: /var/vcap/packages/dea_jvm
- java7:
- description: Java 7
- version: 1.7
- executable: /var/vcap/packages/dea_jvm7/bin/java
- staging: /var/vcap/packages/ruby/bin/ruby stage
default: false
- environment:
- path: /var/vcap/packages/dea_jvm7/bin:$PATH
- java_home: /var/vcap/packages/dea_jvm7
-
detection:
- "lib/play.*.jar": true
View
30 jobs/cloud_controller/templates/rack_staging.yml
@@ -2,39 +2,11 @@
name: "rack"
runtimes:
- ruby18:
- description: Ruby 1.8
- version: 1.8.7
- executable: /var/vcap/packages/dea_ruby18/bin/ruby
- staging: /var/vcap/packages/ruby/bin/ruby stage
default: true
- environment:
- bundle_gemfile:
- path: /var/vcap/packages/dea_transition/rubygems/1.8/bin:/var/vcap/packages/dea_ruby18/bin:$PATH
- gem_path: /var/vcap/packages/dea_transition/rubygems/1.8:$GEM_PATH
-
- ruby19:
- description: Ruby 1.9
- version: 1.9.2p180
- executable: /var/vcap/packages/dea_ruby19/bin/ruby
- staging: /var/vcap/packages/ruby/bin/ruby stage
- environment:
- bundle_gemfile:
- path: /var/vcap/packages/dea_transition/rubygems/1.9.1/bin:/var/vcap/packages/dea_ruby19/bin:$PATH
- gem_path: /var/vcap/packages/dea_transition/rubygems/1.9.1:$GEM_PATH
-app_servers:
- - "thin":
- description: "Thin"
- executable: false # determined during staging
- default: true
+ default: false
detection:
- "config.ru": true
- "config/environment.rb": false # and config/environment.rb must not exist
-staged_services:
- - "name": "mysql"
- "version": "*"
- - "name": "postgresql"
- "version": "*"
- - "name": "redis"
- "version": "2"
# vim: filetype=yaml
View
31 jobs/cloud_controller/templates/rails3_staging.yml
@@ -3,38 +3,9 @@ name: rails3
runtimes:
- ruby18:
- description: Ruby 1.8
- version: 1.8.7
- executable: /var/vcap/packages/dea_ruby18/bin/ruby
- staging: /var/vcap/packages/ruby/bin/ruby stage
default: true
- environment:
- bundle_gemfile:
- path: /var/vcap/packages/dea_transition/rubygems/1.8/bin:/var/vcap/packages/dea_ruby18/bin:$PATH
- gem_path: /var/vcap/packages/dea_transition/rubygems/1.8:$GEM_PATH
-
- ruby19:
- description: Ruby 1.9
- version: 1.9.2p180
- executable: /var/vcap/packages/dea_ruby19/bin/ruby
- staging: /var/vcap/packages/ruby/bin/ruby stage
- environment:
- bundle_gemfile:
- path: /var/vcap/packages/dea_transition/rubygems/1.9.1/bin:/var/vcap/packages/dea_ruby19/bin:$PATH
- gem_path: /var/vcap/packages/dea_transition/rubygems/1.9.1:$GEM_PATH
-
-app_servers:
- - thin:
- description: Thin
- executable: false
- default: true
-
+ default: false
detection:
- config/application.rb: true
- config/environment.rb: true
-
-staged_services:
- - name: mysql
- version: *
- - name: postgresql
- version: *
View
92 jobs/cloud_controller/templates/runtimes.yml
@@ -0,0 +1,92 @@
+---
+java:
+ description: Java 6
+ version: 1.6
+ executable: /var/vcap/packages/dea_jvm/bin/java
+ staging: /var/vcap/packages/ruby/bin/ruby stage
+ version_output: 1.6.0
+ version_flag: '-version'
+ environment:
+ PATH: /var/vcap/packages/ruby/bin:/var/vcap/packages/dea_jvm/bin:/var/vcap/packages/imagemagick/bin:$PATH
+ JAVA_HOME: /var/vcap/packages/dea_jvm
+ LD_LIBRARY_PATH: '/var/vcap/packages/mysqlclient/lib/mysql:/var/vcap/packages/sqlite/lib:/var/vcap/packages/libpq/lib:/var/vcap/packages/imagemagick/lib:$LIBRARY_PATH'
+ debug_env:
+ run:
+ - JAVA_OPTS="$JAVA_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,address=$VCAP_DEBUG_PORT,server=y,suspend=n"
+ suspend:
+ - JAVA_OPTS="$JAVA_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,address=$VCAP_DEBUG_PORT,server=y,suspend=y"
+java7:
+ description: Java 7
+ version: 1.7
+ executable: /var/vcap/packages/dea_jvm7/bin/java
+ staging: /var/vcap/packages/ruby/bin/ruby stage
+ version_output: 1.7.0
+ version_flag: '-version'
+ environment:
+ PATH: /var/vcap/packages/ruby/bin:/var/vcap/packages/dea_jvm7/bin:/var/vcap/packages/imagemagick/bin:$PATH
+ JAVA_HOME: /var/vcap/packages/dea_jvm7
+ LD_LIBRARY_PATH: '/var/vcap/packages/mysqlclient/lib/mysql:/var/vcap/packages/sqlite/lib:/var/vcap/packages/libpq/lib:/var/vcap/packages/imagemagick/lib:$LIBRARY_PATH'
+ debug_env:
+ run:
+ - JAVA_OPTS="$JAVA_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,address=$VCAP_DEBUG_PORT,server=y,suspend=n"
+ suspend:
+ - JAVA_OPTS="$JAVA_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,address=$VCAP_DEBUG_PORT,server=y,suspend=y"
+node:
+ version: '0.4.12'
+ description: "Node.js"
+ executable: /var/vcap/packages/dea_node04/bin/node
+ npm: /var/vcap/packages/dea_node04/npm/bin/npm-cli.js
+ staging: /var/vcap/packages/ruby/bin/ruby stage
+ version_output: 0.4.12
+ version_flag: '-v'
+ environment:
+ LD_LIBRARY_PATH: '/var/vcap/packages/mysqlclient/lib/mysql:/var/vcap/packages/sqlite/lib:/var/vcap/packages/libpq/lib:/var/vcap/packages/imagemagick/lib:$LIBRARY_PATH'
+ PATH: /var/vcap/packages/imagemagick/bin:/var/vcap/packages/dea_node04/bin:$PATH
+node06:
+ version: '0.6.8'
+ description: "Node.js"
+ executable: /var/vcap/packages/dea_node06/bin/node
+ npm: /var/vcap/packages/dea_node06/bin/npm
+ staging: /var/vcap/packages/ruby/bin/ruby stage
+ version_output: 0.6.8
+ version_flag: '-v'
+ environment:
+ LD_LIBRARY_PATH: '/var/vcap/packages/mysqlclient/lib/mysql:/var/vcap/packages/sqlite/lib:/var/vcap/packages/libpq/lib:/var/vcap/packages/imagemagick/lib:$LIBRARY_PATH'
+ PATH: /var/vcap/packages/imagemagick/bin:/var/vcap/packages/dea_node06/bin:$PATH
+node08:
+ version: '0.8.2'
+ description: "Node.js"
+ executable: /var/vcap/packages/dea_node08/bin/node
+ npm: /var/vcap/packages/dea_node08/bin/npm
+ staging: /var/vcap/packages/ruby/bin/ruby stage
+ version_output: 0.8.2
+ version_flag: '-v'
+ environment:
+ PATH: /var/vcap/packages/imagemagick/bin:/var/vcap/packages/dea_node08/bin:$PATH
+ LD_LIBRARY_PATH: '/var/vcap/packages/mysqlclient/lib/mysql:/var/vcap/packages/sqlite/lib:/var/vcap/packages/libpq/lib:/var/vcap/packages/imagemagick/lib:$LD_LIBRARY_PATH'
+ruby18:
+ description: Ruby 1.8
+ version: 1.8.7
+ executable: /var/vcap/packages/dea_ruby18/bin/ruby
+ staging: /var/vcap/packages/ruby/bin/ruby stage
+ version_output: 1.8.7
+ version_flag: "-e 'puts RUBY_VERSION'"
+ additional_checks: "-e 'puts RUBY_PATCHLEVEL >= 174'"
+ environment:
+ LD_LIBRARY_PATH: '/var/vcap/packages/mysqlclient/lib/mysql:/var/vcap/packages/sqlite/lib:/var/vcap/packages/libpq/lib:/var/vcap/packages/imagemagick/lib:$LIBRARY_PATH'
+ BUNDLE_GEMFILE:
+ PATH: /var/vcap/packages/imagemagick/bin:/var/vcap/packages/dea_transition/rubygems/1.8/bin:/var/vcap/packages/dea_ruby18/bin:$PATH
+ GEM_PATH: /var/vcap/packages/dea_transition/rubygems/1.8:$GEM_PATH
+ruby19:
+ description: Ruby 1.9
+ version: 1.9.2p180
+ executable: /var/vcap/packages/dea_ruby19/bin/ruby
+ staging: /var/vcap/packages/ruby/bin/ruby stage
+ version_output: 1.9.2
+ version_flag: "-e 'puts RUBY_VERSION'"
+ additional_checks: "-e 'puts RUBY_PATCHLEVEL >= 180'"
+ environment:
+ LD_LIBRARY_PATH: '/var/vcap/packages/mysqlclient/lib/mysql:/var/vcap/packages/sqlite/lib:/var/vcap/packages/libpq/lib:/var/vcap/packages/imagemagick/lib:$LIBRARY_PATH'
+ BUNDLE_GEMFILE:
+ PATH: /var/vcap/packages/imagemagick/bin:/var/vcap/packages/dea_transition/rubygems/1.9.1/bin:/var/vcap/packages/dea_ruby19/bin:$PATH
+ GEM_PATH: /var/vcap/packages/dea_transition/rubygems/1.9.1:$GEM_PATH
View
34 jobs/cloud_controller/templates/sinatra_staging.yml
@@ -3,43 +3,11 @@ name: sinatra
runtimes:
- ruby18:
- description: Ruby 1.8
- version: 1.8.7
- executable: /var/vcap/packages/dea_ruby18/bin/ruby
- staging: /var/vcap/packages/ruby/bin/ruby stage
default: true
- environment:
- bundle_gemfile:
- path: /var/vcap/packages/dea_transition/rubygems/1.8/bin:/var/vcap/packages/dea_ruby18/bin:$PATH
- gem_path: /var/vcap/packages/dea_transition/rubygems/1.8:$GEM_PATH
-
- ruby19:
- description: Ruby 1.9
- version: 1.9.2p180
- executable: /var/vcap/packages/dea_ruby19/bin/ruby
- staging: /var/vcap/packages/ruby/bin/ruby stage
- environment:
- bundle_gemfile:
- path: /var/vcap/packages/dea_transition/rubygems/1.9.1/bin:/var/vcap/packages/dea_ruby19/bin:$PATH
- gem_path: /var/vcap/packages/dea_transition/rubygems/1.9.1:$GEM_PATH
-
-app_servers:
- - thin:
- description: Thin
- executable: thin
- default: true
+ default: false
detection:
- "*.rb": "\\s*require[\\s\\(]*['\"]sinatra['\"(/base['\"])]" # .rb files in the root dir containing a require?
- config/environment.rb: false # and config/environment.rb must not exist
-staged_services:
- - name: mysql
- version: *
-
- - name: postgresql
- version: *
-
- - name: redis
- version: 2
-
View
27 jobs/cloud_controller/templates/spring_staging.yml
@@ -3,35 +3,8 @@ name: spring
runtimes:
- java:
- description: Java 6
- version: 1.6
- executable: /var/vcap/packages/dea_jvm/bin/java
- staging: /var/vcap/packages/ruby/bin/ruby stage
default: true
- environment:
- path: /var/vcap/packages/dea_ruby18/bin:$PATH
- java_home: /var/vcap/packages/dea_jvm
- java7:
- description: Java 7
- version: 1.7
- executable: /var/vcap/packages/dea_jvm7/bin/java
- staging: /var/vcap/packages/ruby/bin/ruby stage
default: false
- environment:
- path: /var/vcap/packages/dea_ruby18/bin:$PATH
- java_home: /var/vcap/packages/dea_jvm7
-
-app_servers:
- - tomcat:
- description: Tomcat
- executable: false
- default: true
-
detection:
- *.war: true # TODO - this thinks everything with an XML file is Spring
-
-staged_services:
- - name: mysql
- version: *
- - name: postgresql
- version: *
View
55 jobs/cloud_controller/templates/standalone_staging.yml
@@ -3,57 +3,16 @@ name: standalone
runtimes:
- java:
- description: Java 6
- version: 1.6
- executable: /var/vcap/packages/dea_jvm/bin/java
- staging: /var/vcap/packages/ruby/bin/ruby stage
- environment:
- path: /var/vcap/packages/dea_jvm/bin:$PATH
- java_home: /var/vcap/packages/dea_jvm
+ default: false
- java7:
- description: Java 7
- version: 1.7
- executable: /var/vcap/packages/dea_jvm7/bin/java
- staging: /var/vcap/packages/ruby/bin/ruby stage
- environment:
- path: /var/vcap/packages/dea_jvm7/bin:$PATH
- java_home: /var/vcap/packages/dea_jvm7
+ default: false
- ruby18:
- description: Ruby 1.8
- version: 1.8.7
- executable: /var/vcap/packages/dea_ruby18/bin/ruby
- staging: /var/vcap/packages/ruby/bin/ruby stage
- environment:
- bundle_gemfile:
- path: /var/vcap/packages/dea_transition/rubygems/1.8/bin:/var/vcap/packages/dea_ruby18/bin:$PATH
- gem_path: /var/vcap/packages/dea_transition/rubygems/1.8:$GEM_PATH
+ default: false
- ruby19:
- description: Ruby 1.9
- version: 1.9.2p180
- executable: /var/vcap/packages/dea_ruby19/bin/ruby
- staging: /var/vcap/packages/ruby/bin/ruby stage
- environment:
- bundle_gemfile:
- path: /var/vcap/packages/dea_transition/rubygems/1.9.1/bin:/var/vcap/packages/dea_ruby19/bin:$PATH
- gem_path: /var/vcap/packages/dea_transition/rubygems/1.9.1:$GEM_PATH
+ default: false
- node:
- version: '0.4.12'
- description: Node.js
- executable: /var/vcap/packages/dea_node04/bin/node
- staging: /var/vcap/packages/ruby/bin/ruby stage
- environment:
- path: /var/vcap/packages/dea_node04/bin:$PATH
+ default: false
- node06:
- version: '0.6.8'
- description: Node.js
- executable: /var/vcap/packages/dea_node06/bin/node
- staging: /var/vcap/packages/ruby/bin/ruby stage
- environment:
- path: /var/vcap/packages/dea_node06/bin:$PATH
+ default: false
- node08:
- version: '0.8.2'
- description: Node.js
- executable: /var/vcap/packages/dea_node08/bin/node
- staging: /var/vcap/packages/ruby/bin/ruby stage
- environment:
- path: /var/vcap/packages/dea_node08/bin:$PATH
+ default: false
View
19 jobs/health_manager/templates/cloud_controller.yml.erb
@@ -47,21 +47,4 @@ default_account_capacity:
services: 16
apps: 20
-# The models in CC depends on them per Change I4c96aebb . Let's get rid of this
-# section once HM decouples from the models in CC
-runtimes:
- ruby18:
- version: 1.8.7
- ruby19:
- version: 1.9.2
- node:
- version: 0.4.12
- node06:
- version: 0.6.8
- node08:
- version: 0.8.2
- java:
- version: 1.6.0
- debug_modes:
- - run
- - suspend
+runtimes_file: /var/vcap/jobs/cloud_controller/config/runtimes.yml
2 src/cloud_controller
@@ -1 +1 @@
-Subproject commit f2c60333b84d221f3b35d3482819244cab562bb3
+Subproject commit a1ce3d3a73613e7c62338f12f1bc098caf71bc6a

0 comments on commit 7ef8b9a

Please sign in to comment.
Something went wrong with that request. Please try again.