3
# Copyright 2012 Canonical Ltd. This software is licensed under the
4
# GNU Affero General Public License version 3 (see the file LICENSE).
18
def get_or_create(key, prefix=''):
19
log("Retrieving {}.".format(key))
20
value = relation_get(key)
22
log("Generating {}.".format(key))
23
value = generate_string(prefix)
24
log("{}: {}".format(key, value))
28
def update_slave_json(builders, name, passwd):
29
slave_info = slave_json.get()
30
slave_info[name] = (passwd, builders)
31
slave_json.set(slave_info)
35
log("Retrieving builders.")
38
(b.strip() for b in relation_get('builders').split(',')))
39
log("builders: {}".format(builders))
40
name = get_or_create('name', prefix='slave-')
41
passwd = get_or_create('passwd')
42
update_slave_json(builders, name, passwd)
43
log("Reconfiguring buildbot.")
45
log("Sending name and password to the slave.")
46
relation_set(name=name, passwd=passwd)
49
if __name__ == '__main__':
50
log('BUILDBOT-RELATION-CHANGED HOOK:')