Merge lp:~mew/juju-deployer/uncomplicate-relations into lp:~gandelman-a/juju-deployer/trunk

Proposed by Matthew Wedgwood
Status: Merged
Approved by: Adam Gandelman
Approved revision: 66
Merged at revision: 67
Proposed branch: lp:~mew/juju-deployer/uncomplicate-relations
Merge into: lp:~gandelman-a/juju-deployer/trunk
Diff against target: 40 lines (+2/-28)
1 file modified
deployer.py (+2/-28)
To merge this branch: bzr merge lp:~mew/juju-deployer/uncomplicate-relations
Reviewer Review Type Date Requested Status
James Page (community) Approve
Adam Gandelman Pending
Review via email: mp+150944@code.launchpad.net

Description of the change

This change removes the complicated interface-guessing logic from deployer.py. Relation names are now passed directly to juju add-relation.

To post a comment you must log in.
Revision history for this message
James Page (james-page) wrote :

I've not tested this (but I know adam has) but I'm completely a +1 on this.

It will start to flush out where charms have bad interface typing as well which is good.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'deployer.py'
2--- deployer.py 2013-02-21 02:05:38 +0000
3+++ deployer.py 2013-02-28 00:25:27 +0000
4@@ -286,34 +286,8 @@
5 print "- Adding relations:"
6 for w in sorted(RELATIONS, reverse=True):
7 for r in RELATIONS[w]:
8- interface = False
9- if len(r[1].split(':')) == 1:
10- # no interface specified in config, auto-resolve it based on
11- # metadata
12- services = [r[0], r[1]]
13- result = determine_interface(CHARMS, r)
14- if result is not None and len(result) == 2:
15- ci, pi = result
16- else:
17- log.error("WARN: No relation found? %s <=> %s -- Skip" % (
18- r[0]["name"], r[1]["name"]))
19- continue
20- elif len(r[1].split(':')) == 2:
21- # the provider has an interface specified
22- services = [r[0], r[1].split(':')[0]]
23- ci = pi = r[1].split(':')[1]
24- else:
25- log.error("Cannot parse interface from provider %s", r[1])
26- exit(1)
27-
28- # If an interface was provided above, specify it to juju
29- if ci:
30- services[0] += ":%s" % ci
31- if pi:
32- services[1] += ":%s" % pi
33-
34- print " -> Relation: %s <-> %s" % (services[0], services[1])
35- cmd = "add-relation %s %s" % (services[0], services[1])
36+ print " -> Relation: %s <-> %s" % (r[0], r[1])
37+ cmd = "add-relation %s %s" % (r[0], r[1])
38 if opts.juju_env:
39 cmd += " -e %s" % opts.juju_env
40 juju_call(cmd, ignore_failure=True)

Subscribers

People subscribed via source and target branches