Merge lp:~jjo/juju-deployer/implement-series-cli-override into lp:juju-deployer

Proposed by JuanJo Ciarlante
Status: Merged
Merged at revision: 95
Proposed branch: lp:~jjo/juju-deployer/implement-series-cli-override
Merge into: lp:juju-deployer
Diff against target: 110 lines (+26/-11)
5 files modified
configs/wiki.yaml (+9/-9)
deployer/cli.py (+5/-1)
deployer/config.py (+4/-1)
deployer/tests/test_config.py (+7/-0)
deployer/tests/test_guiserver.py (+1/-0)
To merge this branch: bzr merge lp:~jjo/juju-deployer/implement-series-cli-override
Reviewer Review Type Date Requested Status
Kapil Thangavelu Approve
Review via email: mp+202878@code.launchpad.net

Commit message

[jjo,r=] implement --series cli override via ConfigStack initializaion,
also fix wiki.yaml parsing.

TESTS ok.

To post a comment you must log in.
Revision history for this message
Kapil Thangavelu (hazmat) wrote :

lgtm, thanks

review: Approve

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 2014-01-23 15:03:59 +0000
4@@ -6,19 +6,19 @@
5 branch: lp:charms/precise/mediawiki
6 constraints: mem=2
7 num_units: 2
8- db:
9+ db:
10 charm: mysql
11 branch: lp:charms/precise/mysql
12 options:
13 tuning-level: fast
14- haproxy:
15- branch: lp:charms/precise/haproxy
16- options:
17- request-limit: 32
18- memcached:
19- branch: lp:charms/precise/memcached
20- options:
21- request-limit: 32
22+ haproxy:
23+ branch: lp:charms/precise/haproxy
24+ options:
25+ request-limit: 32
26+ memcached:
27+ branch: lp:charms/precise/memcached
28+ options:
29+ request-limit: 32
30 relations:
31 - ["wiki:db", mysql]
32 - [wiki, [haproxy, memcached]]
33
34=== modified file 'deployer/cli.py'
35--- deployer/cli.py 2013-12-18 09:51:54 +0000
36+++ deployer/cli.py 2014-01-23 15:03:59 +0000
37@@ -88,6 +88,10 @@
38 'across all services. Input as key=value.'),
39 dest='overrides', default=None)
40 parser.add_argument(
41+ '--series', type=str,
42+ help=('Override distro series in config files'),
43+ dest='series', default=None)
44+ parser.add_argument(
45 '-v', '--verbose', action='store_true', default=False,
46 dest="verbose", help='Verbose output')
47 parser.add_argument(
48@@ -148,7 +152,7 @@
49 sys.exit(1)
50 log.debug('Using runtime %s', env.__class__.__name__)
51
52- config = ConfigStack(options.configs or [])
53+ config = ConfigStack(options.configs or [], options.series)
54
55 # Destroy services and exit
56 if options.destroy_services or options.terminate_machines:
57
58=== modified file 'deployer/config.py'
59--- deployer/config.py 2014-01-23 10:37:30 +0000
60+++ deployer/config.py 2014-01-23 15:03:59 +0000
61@@ -16,8 +16,9 @@
62
63 log = logging.getLogger("deployer.config")
64
65- def __init__(self, config_files):
66+ def __init__(self, config_files, cli_series=None):
67 self.config_files = config_files
68+ self.cli_series = cli_series
69 self.data = {}
70 self.yaml = {}
71 self.include_dirs = []
72@@ -60,6 +61,8 @@
73 raise ErrorExit()
74 deploy_data = self.data[key]
75 deploy_data = self._resolve_inherited(deploy_data)
76+ if self.cli_series:
77+ deploy_data['series'] = self.cli_series
78 return Deployment(
79 key, deploy_data, self.include_dirs,
80 repo_path=os.environ.get("JUJU_REPOSITORY", ""))
81
82=== modified file 'deployer/tests/test_config.py'
83--- deployer/tests/test_config.py 2013-10-30 00:16:05 +0000
84+++ deployer/tests/test_config.py 2014-01-23 15:03:59 +0000
85@@ -126,6 +126,13 @@
86 ('nova-cloud-controller', 'mysql')]
87 self.assertEquals(ex_rels, list(deployment.get_relations()))
88
89+ def test_config_series_override(self):
90+ config = ConfigStack(['configs/wiki.yaml'], 'trusty')
91+ config.load()
92+ result = config.get("wiki")
93+ self.assertTrue(isinstance(result, Deployment))
94+ self.assertEquals(result.series, 'trusty')
95+
96
97 class NetworkConfigFetchingTests(Base):
98 """Configuration files can be specified via URL that is then fetched."""
99
100=== modified file 'deployer/tests/test_guiserver.py'
101--- deployer/tests/test_guiserver.py 2014-01-23 14:14:28 +0000
102+++ deployer/tests/test_guiserver.py 2014-01-23 15:03:59 +0000
103@@ -226,6 +226,7 @@
104 overrides=None,
105 rel_wait=60,
106 retry_count=0,
107+ series=None,
108 terminate_machines=False,
109 timeout=2700,
110 update_charms=False,

Subscribers

People subscribed via source and target branches