Merge lp:~peter-petrakis/juju-deployer/devel-pyexpose into lp:~gandelman-a/juju-deployer/trunk

Proposed by Peter Petrakis
Status: Needs review
Proposed branch: lp:~peter-petrakis/juju-deployer/devel-pyexpose
Merge into: lp:~gandelman-a/juju-deployer/trunk
Diff against target: 60 lines (+13/-7)
3 files modified
configs/wiki.yaml (+3/-6)
deployer/action/importer.py (+2/-1)
deployer/env/py.py (+8/-0)
To merge this branch: bzr merge lp:~peter-petrakis/juju-deployer/devel-pyexpose
Reviewer Review Type Date Requested Status
Kapil Thangavelu (community) Approve
Adam Gandelman Needs Fixing
Review via email: mp+185124@code.launchpad.net

Description of the change

- Implemented "expose" functionality
- Fixed configs/wiki.yaml, haproxy is exposed by default

To post a comment you must log in.
Revision history for this message
Adam Gandelman (gandelman-a) wrote :

Since the expose CLI interface is the same between py + go, can you instead add the expose functionality to env/base.py? Then we get it implemented for both environments.

Also:

50 + def expose(self, service_name, do_expose):
51 + params = self._named_env(["juju", "expose"])
52 + params.append(service_name)
53 + if not do_expose:
54 + return
55 + self._check_call(
56 + params, self.log, "Error exposing service %s" % service_name)

The 'do_expose' parameter and check seem redundant since this is already being checked by the caller in importer.

review: Needs Fixing
Revision history for this message
Kapil Thangavelu (hazmat) wrote :

merging with some changes ala py + go support (go support via api call, py support in base env).

review: Approve

Unmerged revisions

74. By Peter Petrakis

Implement pyju expose

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'configs/wiki.yaml'
2--- configs/wiki.yaml 2013-07-12 12:52:59 +0000
3+++ configs/wiki.yaml 2013-09-11 18:15:17 +0000
4@@ -1,7 +1,7 @@
5 wiki:
6 series: precise
7 services:
8- wiki:
9+ wiki:
10 charm: mediawiki
11 branch: lp:charms/precise/mediawiki
12 constraints: mem=2
13@@ -13,12 +13,9 @@
14 tuning-level: fast
15 haproxy:
16 branch: lp:charms/precise/haproxy
17- options:
18- request-limit: 32
19+ expose: true
20 memcached:
21 branch: lp:charms/precise/memcached
22- options:
23- request-limit: 32
24 relations:
25- - ["wiki:db", mysql]
26+ - ["wiki:db", db]
27 - [wiki, [haproxy, memcached]]
28
29=== modified file 'deployer/action/importer.py'
30--- deployer/action/importer.py 2013-07-31 01:54:20 +0000
31+++ deployer/action/importer.py 2013-09-11 18:15:17 +0000
32@@ -72,7 +72,8 @@
33 svc.force_machine)
34
35 if svc.expose:
36- self.env.expose(svc.name)
37+ self.log.info(" Exposing service %r" % svc.name)
38+ self.env.expose(svc.name, svc.expose)
39
40 if self.options.deploy_delay:
41 self.log.debug(" Waiting for deploy delay")
42
43=== modified file 'deployer/env/py.py'
44--- deployer/env/py.py 2013-07-30 23:39:51 +0000
45+++ deployer/env/py.py 2013-09-11 18:15:17 +0000
46@@ -39,6 +39,14 @@
47 self._check_call(
48 params, self.log, "Error destroying service %s" % service_name)
49
50+ def expose(self, service_name, do_expose):
51+ params = self._named_env(["juju", "expose"])
52+ params.append(service_name)
53+ if not do_expose:
54+ return
55+ self._check_call(
56+ params, self.log, "Error exposing service %s" % service_name)
57+
58 def get_config(self, svc_name):
59 params = self._named_env(["juju", "get"])
60 params.append(svc_name)

Subscribers

People subscribed via source and target branches