~cprov/charms/trusty/tanuki-result-enum-worker/servicegroups

« back to all changes in this revision

Viewing changes to hooks/actions.py

  • Committer: Tanuki Bot
  • Author(s): Guillermo Gonzalez
  • Date: 2015-07-23 21:01:48 UTC
  • mfrom: (26.1.1 generic-mongodb-relation)
  • Revision ID: tanuki_bot-20150723210148-ns7ut72qwnpkbpf0
Support relations to mongodb without filtering by service name

Show diffs side-by-side

added added

removed removed

Lines of Context:
56
56
    config_path = os.path.join(SERVICE_DIR, 'result-enum-worker.ini')
57
57
    parser = configparser.ConfigParser()
58
58
    parser.read_string(config_content)
59
 
    mongo_address = ''
60
 
    relations = hookenv.relations()['mongodb']
61
 
    for rel_id, info in relations.items():
62
 
        for endpoint, data in info.items():
63
 
            if endpoint.startswith('mongodb'):
64
 
                host = data['private-address']
65
 
                port = data.get('port', None)
66
 
                if port:
67
 
                    mongo_address = '%s:%s' % (host, port)
68
 
                else:
69
 
                    mongo_address = host
70
 
                break
71
 
    assert mongo_address != ''
72
 
    parser['mongodb']['server'] = mongo_address
 
59
    mongo_addresses = []
 
60
    relations = hookenv.relations_of_type('mongodb')
 
61
    for rel in relations:
 
62
        host = rel['private-address']
 
63
        port = rel.get('port', None)
 
64
        if port:
 
65
            mongo_address = '%s:%s' % (host, port)
 
66
        else:
 
67
            mongo_address = host
 
68
        mongo_addresses.append(mongo_address)
 
69
    assert mongo_addresses != []
 
70
    parser['mongodb']['server'] = ','.join(mongo_addresses)
73
71
    with open(config_path, 'w') as f:
74
72
        parser.write(f)
75
73