daily pastebin goal
88%
SHARE
TWEET

Untitled

a guest Jan 14th, 2015 187 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Database.yml.j2
  2.  
  3. default: &default
  4.   adapter: postgresql
  5.   encoding: unicode
  6.   pool: 5
  7.   timeout: 5000
  8.  
  9. development:
  10.   <<: *default
  11.   host: {{ host }}
  12.   database: {{ database }}
  13.   username: {{ username }}
  14.   password: {{ password }}
  15.  
  16. ------------------------------------------------
  17.  
  18. actions.py
  19.  
  20. def handle_pg(service_name):
  21.   pg = extra_services.PostgresRelation()
  22.  
  23.   helpers.render_template(
  24.     host=pg[pg.name][0]["host"],
  25.     user=pg[pg.name][0]["user"],
  26.     password=pg[pg.name][0]["password"],
  27.     database=pg[pg.name][0]["database"],
  28.     source='database.yml.j2',
  29.     target='/var/database.yml')
  30.  
  31. -------------------------------------------------
  32.  
  33. services.py
  34.        
  35. #!/usr/bin/python
  36.  
  37. from charmhelpers.core.services.base import ServiceManager
  38. from charmhelpers.core.services import helpers
  39.  
  40. import actions
  41. import extra_services
  42.  
  43. def manage():
  44.   manager = ServiceManager([
  45.     {
  46.       'service': 'rails-charm',
  47.       'ports': [80, 443],  # ports to after start
  48.       'provided_data': [
  49.         # context managers for provided relations
  50.         # e.g.: helpers.HttpRelation()
  51.       ],
  52.       'required_data': [
  53.         extra_services.PostgresRelation()
  54.         # data (contexts) required to start the service
  55.         # e.g.: helpers.RequiredConfig('domain', 'auth_key'),
  56.         #       helpers.MysqlRelation(),
  57.       ],
  58.       'data_ready': [
  59.         helpers.render_template(
  60.           source='upstart.conf',
  61.           target='/etc/init/rails-charm'),
  62.         actions.log_start,
  63.         actions.handle_pg,
  64.       ],
  65.     },
  66.   ])
  67.   manager.manage()
  68.  
  69. -------------------------------------------------
  70.  
  71. stack trace
  72.  
  73. 2015-01-15 00:10:40 INFO db-relation-changed Traceback (most recent call last):
  74. 2015-01-15 00:10:40 INFO db-relation-changed   File "/var/lib/juju/agents/unit-rails-charm-0/charm/hooks/db-relation-changed", line 3, in <module>
  75. 2015-01-15 00:10:40 INFO db-relation-changed     services.manage()
  76. 2015-01-15 00:10:40 INFO db-relation-changed   File "/var/lib/juju/agents/unit-rails-charm-0/charm/hooks/services.py", line 33, in manage
  77. 2015-01-15 00:10:40 INFO db-relation-changed     manager.manage()
  78. 2015-01-15 00:10:40 INFO db-relation-changed   File "/usr/local/lib/python2.7/dist-packages/charmhelpers/core/services/base.py", line 120, in manage
  79. 2015-01-15 00:10:40 INFO db-relation-changed     self.reconfigure_services()
  80. 2015-01-15 00:10:40 INFO db-relation-changed   File "/usr/local/lib/python2.7/dist-packages/charmhelpers/core/services/base.py", line 151, in reconfigure_services
  81. 2015-01-15 00:10:40 INFO db-relation-changed     self.fire_event('data_ready', service_name)
  82. 2015-01-15 00:10:40 INFO db-relation-changed   File "/usr/local/lib/python2.7/dist-packages/charmhelpers/core/services/base.py", line 198, in fire_event
  83. 2015-01-15 00:10:40 INFO db-relation-changed     callback(service_name)
  84. 2015-01-15 00:10:40 INFO db-relation-changed   File "/var/lib/juju/agents/unit-rails-charm-0/charm/hooks/actions.py", line 17, in handle_pg
  85. 2015-01-15 00:10:40 INFO db-relation-changed     target='/var/database.yml')
  86. 2015-01-15 00:10:40 INFO db-relation-changed TypeError: __init__() got an unexpected keyword argument 'database'
  87. 2015-01-15 00:10:40 ERROR juju.worker.uniter uniter.go:486 hook failed: exit status 1
RAW Paste Data
Top