Merge lp:~corey.bryant/charms/trusty/neutron-gateway/git-ods into lp:~openstack-charmers-archive/charms/trusty/neutron-gateway/next
- Trusty Tahr (14.04)
- git-ods
- Merge into next
Proposed by
Corey Bryant
Status: | Merged |
---|---|
Merged at revision: | 117 |
Proposed branch: | lp:~corey.bryant/charms/trusty/neutron-gateway/git-ods |
Merge into: | lp:~openstack-charmers-archive/charms/trusty/neutron-gateway/next |
Diff against target: |
687 lines (+151/-59) 9 files modified
hooks/charmhelpers/contrib/openstack/utils.py (+65/-18) hooks/charmhelpers/contrib/python/packages.py (+28/-5) hooks/charmhelpers/fetch/giturl.py (+7/-5) hooks/neutron_utils.py (+27/-13) templates/git/upstart/neutron-agent.upstart (+1/-1) templates/git/upstart/neutron-ovs-cleanup.upstart (+1/-1) templates/git/upstart/neutron-server.upstart (+1/-1) tests/basic_deployment.py (+2/-2) unit_tests/test_neutron_utils.py (+19/-13) |
To merge this branch: | bzr merge lp:~corey.bryant/charms/trusty/neutron-gateway/git-ods |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
OpenStack Charmers | Pending | ||
Review via email: mp+258869@code.launchpad.net |
Commit message
Description of the change
To post a comment you must log in.
- 134. By Corey Bryant
-
Sync charm-helpers
- 135. By Corey Bryant
-
Clone from github in deploy from source amulet tests
- 136. By Corey Bryant
-
Add libyaml-dev as base git package
- 137. By Corey Bryant
-
Sync charm-helpers
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file 'hooks/charmhelpers/contrib/openstack/utils.py' |
2 | --- hooks/charmhelpers/contrib/openstack/utils.py 2015-04-16 20:07:38 +0000 |
3 | +++ hooks/charmhelpers/contrib/openstack/utils.py 2015-05-27 13:07:04 +0000 |
4 | @@ -53,9 +53,13 @@ |
5 | get_ipv6_addr |
6 | ) |
7 | |
8 | +from charmhelpers.contrib.python.packages import ( |
9 | + pip_create_virtualenv, |
10 | + pip_install, |
11 | +) |
12 | + |
13 | from charmhelpers.core.host import lsb_release, mounts, umount |
14 | from charmhelpers.fetch import apt_install, apt_cache, install_remote |
15 | -from charmhelpers.contrib.python.packages import pip_install |
16 | from charmhelpers.contrib.storage.linux.utils import is_block_device, zap_disk |
17 | from charmhelpers.contrib.storage.linux.loopback import ensure_loopback_device |
18 | |
19 | @@ -497,7 +501,17 @@ |
20 | requirements_dir = None |
21 | |
22 | |
23 | -def git_clone_and_install(projects_yaml, core_project): |
24 | +def _git_yaml_load(projects_yaml): |
25 | + """ |
26 | + Load the specified yaml into a dictionary. |
27 | + """ |
28 | + if not projects_yaml: |
29 | + return None |
30 | + |
31 | + return yaml.load(projects_yaml) |
32 | + |
33 | + |
34 | +def git_clone_and_install(projects_yaml, core_project, depth=1): |
35 | """ |
36 | Clone/install all specified OpenStack repositories. |
37 | |
38 | @@ -510,23 +524,22 @@ |
39 | repository: 'git://git.openstack.org/openstack/requirements.git', |
40 | branch: 'stable/icehouse'} |
41 | directory: /mnt/openstack-git |
42 | - http_proxy: http://squid.internal:3128 |
43 | - https_proxy: https://squid.internal:3128 |
44 | + http_proxy: squid-proxy-url |
45 | + https_proxy: squid-proxy-url |
46 | |
47 | The directory, http_proxy, and https_proxy keys are optional. |
48 | """ |
49 | global requirements_dir |
50 | parent_dir = '/mnt/openstack-git' |
51 | - |
52 | - if not projects_yaml: |
53 | - return |
54 | - |
55 | - projects = yaml.load(projects_yaml) |
56 | + http_proxy = None |
57 | + |
58 | + projects = _git_yaml_load(projects_yaml) |
59 | _git_validate_projects_yaml(projects, core_project) |
60 | |
61 | old_environ = dict(os.environ) |
62 | |
63 | if 'http_proxy' in projects.keys(): |
64 | + http_proxy = projects['http_proxy'] |
65 | os.environ['http_proxy'] = projects['http_proxy'] |
66 | if 'https_proxy' in projects.keys(): |
67 | os.environ['https_proxy'] = projects['https_proxy'] |
68 | @@ -534,15 +547,19 @@ |
69 | if 'directory' in projects.keys(): |
70 | parent_dir = projects['directory'] |
71 | |
72 | + pip_create_virtualenv(os.path.join(parent_dir, 'venv')) |
73 | + |
74 | for p in projects['repositories']: |
75 | repo = p['repository'] |
76 | branch = p['branch'] |
77 | if p['name'] == 'requirements': |
78 | - repo_dir = _git_clone_and_install_single(repo, branch, parent_dir, |
79 | + repo_dir = _git_clone_and_install_single(repo, branch, depth, |
80 | + parent_dir, http_proxy, |
81 | update_requirements=False) |
82 | requirements_dir = repo_dir |
83 | else: |
84 | - repo_dir = _git_clone_and_install_single(repo, branch, parent_dir, |
85 | + repo_dir = _git_clone_and_install_single(repo, branch, depth, |
86 | + parent_dir, http_proxy, |
87 | update_requirements=True) |
88 | |
89 | os.environ = old_environ |
90 | @@ -574,7 +591,8 @@ |
91 | error_out('openstack-origin-git key \'{}\' is missing'.format(key)) |
92 | |
93 | |
94 | -def _git_clone_and_install_single(repo, branch, parent_dir, update_requirements): |
95 | +def _git_clone_and_install_single(repo, branch, depth, parent_dir, http_proxy, |
96 | + update_requirements): |
97 | """ |
98 | Clone and install a single git repository. |
99 | """ |
100 | @@ -587,7 +605,8 @@ |
101 | |
102 | if not os.path.exists(dest_dir): |
103 | juju_log('Cloning git repo: {}, branch: {}'.format(repo, branch)) |
104 | - repo_dir = install_remote(repo, dest=parent_dir, branch=branch) |
105 | + repo_dir = install_remote(repo, dest=parent_dir, branch=branch, |
106 | + depth=depth) |
107 | else: |
108 | repo_dir = dest_dir |
109 | |
110 | @@ -598,7 +617,12 @@ |
111 | _git_update_requirements(repo_dir, requirements_dir) |
112 | |
113 | juju_log('Installing git repo from dir: {}'.format(repo_dir)) |
114 | - pip_install(repo_dir) |
115 | + if http_proxy: |
116 | + pip_install(repo_dir, proxy=http_proxy, |
117 | + venv=os.path.join(parent_dir, 'venv')) |
118 | + else: |
119 | + pip_install(repo_dir, |
120 | + venv=os.path.join(parent_dir, 'venv')) |
121 | |
122 | return repo_dir |
123 | |
124 | @@ -621,16 +645,27 @@ |
125 | os.chdir(orig_dir) |
126 | |
127 | |
128 | +def git_pip_venv_dir(projects_yaml): |
129 | + """ |
130 | + Return the pip virtualenv path. |
131 | + """ |
132 | + parent_dir = '/mnt/openstack-git' |
133 | + |
134 | + projects = _git_yaml_load(projects_yaml) |
135 | + |
136 | + if 'directory' in projects.keys(): |
137 | + parent_dir = projects['directory'] |
138 | + |
139 | + return os.path.join(parent_dir, 'venv') |
140 | + |
141 | + |
142 | def git_src_dir(projects_yaml, project): |
143 | """ |
144 | Return the directory where the specified project's source is located. |
145 | """ |
146 | parent_dir = '/mnt/openstack-git' |
147 | |
148 | - if not projects_yaml: |
149 | - return |
150 | - |
151 | - projects = yaml.load(projects_yaml) |
152 | + projects = _git_yaml_load(projects_yaml) |
153 | |
154 | if 'directory' in projects.keys(): |
155 | parent_dir = projects['directory'] |
156 | @@ -640,3 +675,15 @@ |
157 | return os.path.join(parent_dir, os.path.basename(p['repository'])) |
158 | |
159 | return None |
160 | + |
161 | + |
162 | +def git_yaml_value(projects_yaml, key): |
163 | + """ |
164 | + Return the value in projects_yaml for the specified key. |
165 | + """ |
166 | + projects = _git_yaml_load(projects_yaml) |
167 | + |
168 | + if key in projects.keys(): |
169 | + return projects[key] |
170 | + |
171 | + return None |
172 | |
173 | === modified file 'hooks/charmhelpers/contrib/python/packages.py' |
174 | --- hooks/charmhelpers/contrib/python/packages.py 2015-03-23 18:25:01 +0000 |
175 | +++ hooks/charmhelpers/contrib/python/packages.py 2015-05-27 13:07:04 +0000 |
176 | @@ -17,8 +17,11 @@ |
177 | # You should have received a copy of the GNU Lesser General Public License |
178 | # along with charm-helpers. If not, see <http://www.gnu.org/licenses/>. |
179 | |
180 | +import os |
181 | +import subprocess |
182 | + |
183 | from charmhelpers.fetch import apt_install, apt_update |
184 | -from charmhelpers.core.hookenv import log |
185 | +from charmhelpers.core.hookenv import charm_dir, log |
186 | |
187 | try: |
188 | from pip import main as pip_execute |
189 | @@ -51,11 +54,15 @@ |
190 | pip_execute(command) |
191 | |
192 | |
193 | -def pip_install(package, fatal=False, upgrade=False, **options): |
194 | +def pip_install(package, fatal=False, upgrade=False, venv=None, **options): |
195 | """Install a python package""" |
196 | - command = ["install"] |
197 | + if venv: |
198 | + venv_python = os.path.join(venv, 'bin/pip') |
199 | + command = [venv_python, "install"] |
200 | + else: |
201 | + command = ["install"] |
202 | |
203 | - available_options = ('proxy', 'src', 'log', "index-url", ) |
204 | + available_options = ('proxy', 'src', 'log', 'index-url', ) |
205 | for option in parse_options(options, available_options): |
206 | command.append(option) |
207 | |
208 | @@ -69,7 +76,10 @@ |
209 | |
210 | log("Installing {} package with options: {}".format(package, |
211 | command)) |
212 | - pip_execute(command) |
213 | + if venv: |
214 | + subprocess.check_call(command) |
215 | + else: |
216 | + pip_execute(command) |
217 | |
218 | |
219 | def pip_uninstall(package, **options): |
220 | @@ -94,3 +104,16 @@ |
221 | """Returns the list of current python installed packages |
222 | """ |
223 | return pip_execute(["list"]) |
224 | + |
225 | + |
226 | +def pip_create_virtualenv(path=None): |
227 | + """Create an isolated Python environment.""" |
228 | + apt_install('python-virtualenv') |
229 | + |
230 | + if path: |
231 | + venv_path = path |
232 | + else: |
233 | + venv_path = os.path.join(charm_dir(), 'venv') |
234 | + |
235 | + if not os.path.exists(venv_path): |
236 | + subprocess.check_call(['virtualenv', venv_path]) |
237 | |
238 | === modified file 'hooks/charmhelpers/fetch/giturl.py' |
239 | --- hooks/charmhelpers/fetch/giturl.py 2015-03-23 18:25:01 +0000 |
240 | +++ hooks/charmhelpers/fetch/giturl.py 2015-05-27 13:07:04 +0000 |
241 | @@ -45,14 +45,16 @@ |
242 | else: |
243 | return True |
244 | |
245 | - def clone(self, source, dest, branch): |
246 | + def clone(self, source, dest, branch, depth=None): |
247 | if not self.can_handle(source): |
248 | raise UnhandledSource("Cannot handle {}".format(source)) |
249 | |
250 | - repo = Repo.clone_from(source, dest) |
251 | - repo.git.checkout(branch) |
252 | + if depth: |
253 | + Repo.clone_from(source, dest, branch=branch, depth=depth) |
254 | + else: |
255 | + Repo.clone_from(source, dest, branch=branch) |
256 | |
257 | - def install(self, source, branch="master", dest=None): |
258 | + def install(self, source, branch="master", dest=None, depth=None): |
259 | url_parts = self.parse_url(source) |
260 | branch_name = url_parts.path.strip("/").split("/")[-1] |
261 | if dest: |
262 | @@ -63,7 +65,7 @@ |
263 | if not os.path.exists(dest_dir): |
264 | mkdir(dest_dir, perms=0o755) |
265 | try: |
266 | - self.clone(source, dest_dir, branch) |
267 | + self.clone(source, dest_dir, branch, depth) |
268 | except GitCommandError as e: |
269 | raise UnhandledSource(e.message) |
270 | except OSError as e: |
271 | |
272 | === modified file 'hooks/neutron_utils.py' |
273 | --- hooks/neutron_utils.py 2015-05-07 09:33:38 +0000 |
274 | +++ hooks/neutron_utils.py 2015-05-27 13:07:04 +0000 |
275 | @@ -42,6 +42,7 @@ |
276 | git_install_requested, |
277 | git_clone_and_install, |
278 | git_src_dir, |
279 | + git_pip_venv_dir, |
280 | get_hostname |
281 | ) |
282 | |
283 | @@ -186,8 +187,11 @@ |
284 | |
285 | BASE_GIT_PACKAGES = [ |
286 | 'dnsmasq', |
287 | + 'libffi-dev', |
288 | + 'libssl-dev', |
289 | 'libxml2-dev', |
290 | 'libxslt1-dev', |
291 | + 'libyaml-dev', |
292 | 'python-dev', |
293 | 'python-pip', |
294 | 'python-setuptools', |
295 | @@ -877,7 +881,11 @@ |
296 | shutil.rmtree(c['dest']) |
297 | shutil.copytree(c['src'], c['dest']) |
298 | |
299 | + # NOTE(coreycb): Need to find better solution than bin symlinks. |
300 | symlinks = [ |
301 | + {'src': os.path.join(git_pip_venv_dir(projects_yaml), |
302 | + 'bin/neutron-rootwrap'), |
303 | + 'link': '/usr/local/bin/neutron-rootwrap'}, |
304 | {'src': '/usr/local/bin/neutron-rootwrap', |
305 | 'link': '/usr/bin/neutron-rootwrap'}, |
306 | ] |
307 | @@ -898,15 +906,18 @@ |
308 | |
309 | service_name = 'quantum-gateway' |
310 | user_name = 'neutron' |
311 | + bin_dir = os.path.join(git_pip_venv_dir(projects_yaml), 'bin') |
312 | neutron_api_context = { |
313 | 'service_description': 'Neutron API server', |
314 | 'service_name': service_name, |
315 | 'process_name': 'neutron-server', |
316 | + 'executable_name': os.path.join(bin_dir, 'neutron-server'), |
317 | } |
318 | neutron_dhcp_agent_context = { |
319 | 'service_description': 'Neutron DHCP Agent', |
320 | 'service_name': service_name, |
321 | 'process_name': 'neutron-dhcp-agent', |
322 | + 'executable_name': os.path.join(bin_dir, 'neutron-dhcp-agent'), |
323 | 'config_files': ['/etc/neutron/neutron.conf', |
324 | '/etc/neutron/dhcp_agent.ini'], |
325 | 'log_file': '/var/log/neutron/dhcp-agent.log', |
326 | @@ -915,6 +926,7 @@ |
327 | 'service_description': 'Neutron L3 Agent', |
328 | 'service_name': service_name, |
329 | 'process_name': 'neutron-l3-agent', |
330 | + 'executable_name': os.path.join(bin_dir, 'neutron-l3-agent'), |
331 | 'config_files': ['/etc/neutron/neutron.conf', |
332 | '/etc/neutron/l3_agent.ini', |
333 | '/etc/neutron/fwaas_driver.ini'], |
334 | @@ -926,7 +938,7 @@ |
335 | 'user_name': user_name, |
336 | 'start_dir': '/var/lib/neutron', |
337 | 'process_name': 'neutron-lbaas-agent', |
338 | - 'executable_name': '/usr/local/bin/neutron-lbaas-agent', |
339 | + 'executable_name': os.path.join(bin_dir, 'neutron-lbaas-agent'), |
340 | 'config_files': ['/etc/neutron/neutron.conf', |
341 | '/etc/neutron/lbaas_agent.ini'], |
342 | 'log_file': '/var/log/neutron/lbaas-agent.log', |
343 | @@ -937,7 +949,7 @@ |
344 | 'user_name': user_name, |
345 | 'start_dir': '/var/lib/neutron', |
346 | 'process_name': 'neutron-metadata-agent', |
347 | - 'executable_name': '/usr/local/bin/neutron-metadata-agent', |
348 | + 'executable_name': os.path.join(bin_dir, 'neutron-metadata-agent'), |
349 | 'config_files': ['/etc/neutron/neutron.conf', |
350 | '/etc/neutron/metadata_agent.ini'], |
351 | 'log_file': '/var/log/neutron/metadata-agent.log', |
352 | @@ -948,7 +960,7 @@ |
353 | 'user_name': user_name, |
354 | 'start_dir': '/var/lib/neutron', |
355 | 'process_name': 'neutron-metering-agent', |
356 | - 'executable_name': '/usr/local/bin/neutron-metering-agent', |
357 | + 'executable_name': os.path.join(bin_dir, 'neutron-metering-agent'), |
358 | 'config_files': ['/etc/neutron/neutron.conf', |
359 | '/etc/neutron/metering_agent.ini'], |
360 | 'log_file': '/var/log/neutron/metering-agent.log', |
361 | @@ -957,6 +969,7 @@ |
362 | 'service_description': 'Neutron OVS cleanup', |
363 | 'service_name': service_name, |
364 | 'process_name': 'neutron-ovs-cleanup', |
365 | + 'executable_name': os.path.join(bin_dir, 'neutron-ovs-cleanup'), |
366 | 'config_file': '/etc/neutron/neutron.conf', |
367 | 'log_file': '/var/log/neutron/ovs-cleanup.log', |
368 | } |
369 | @@ -966,7 +979,7 @@ |
370 | 'user_name': user_name, |
371 | 'start_dir': '/var/lib/neutron', |
372 | 'process_name': 'neutron-restproxy-agent', |
373 | - 'executable_name': '/usr/local/bin/neutron-restproxy-agent', |
374 | + 'executable_name': os.path.join(bin_dir, 'neutron-restproxy-agent'), |
375 | 'config_files': ['/etc/neutron/neutron.conf', |
376 | '/etc/neutron/plugins/bigswitch/restproxy.ini'], |
377 | 'log_file': '/var/log/neutron/bigswitch-agent.log', |
378 | @@ -977,7 +990,7 @@ |
379 | 'user_name': user_name, |
380 | 'start_dir': '/var/lib/neutron', |
381 | 'process_name': 'neutron-ibm-agent', |
382 | - 'executable_name': '/usr/local/bin/neutron-ibm-agent', |
383 | + 'executable_name': os.path.join(bin_dir, 'neutron-ibm-agent'), |
384 | 'config_files': ['/etc/neutron/neutron.conf', |
385 | '/etc/neutron/plugins/ibm/sdnve_neutron_plugin.ini'], |
386 | 'log_file': '/var/log/neutron/ibm-agent.log', |
387 | @@ -988,7 +1001,7 @@ |
388 | 'user_name': user_name, |
389 | 'start_dir': '/var/lib/neutron', |
390 | 'process_name': 'neutron-linuxbridge-agent', |
391 | - 'executable_name': '/usr/local/bin/neutron-linuxbridge-agent', |
392 | + 'executable_name': os.path.join(bin_dir, 'neutron-linuxbridge-agent'), |
393 | 'config_files': ['/etc/neutron/neutron.conf', |
394 | '/etc/neutron/plugins/ml2/ml2_conf.ini'], |
395 | 'log_file': '/var/log/neutron/linuxbridge-agent.log', |
396 | @@ -999,7 +1012,7 @@ |
397 | 'user_name': user_name, |
398 | 'start_dir': '/var/lib/neutron', |
399 | 'process_name': 'neutron-mlnx-agent', |
400 | - 'executable_name': '/usr/local/bin/neutron-mlnx-agent', |
401 | + 'executable_name': os.path.join(bin_dir, 'neutron-mlnx-agent'), |
402 | 'config_files': ['/etc/neutron/neutron.conf', |
403 | '/etc/neutron/plugins/mlnx/mlnx_conf.ini'], |
404 | 'log_file': '/var/log/neutron/mlnx-agent.log', |
405 | @@ -1009,7 +1022,7 @@ |
406 | 'service_name': service_name, |
407 | 'start_dir': '/var/lib/neutron', |
408 | 'process_name': 'neutron-nec-agent', |
409 | - 'executable_name': '/usr/local/bin/neutron-nec-agent', |
410 | + 'executable_name': os.path.join(bin_dir, 'neutron-nec-agent'), |
411 | 'config_files': ['/etc/neutron/neutron.conf', |
412 | '/etc/neutron/plugins/nec/nec.ini'], |
413 | 'log_file': '/var/log/neutron/nec-agent.log', |
414 | @@ -1020,7 +1033,7 @@ |
415 | 'user_name': user_name, |
416 | 'start_dir': '/var/lib/neutron', |
417 | 'process_name': 'neutron-nvsd-agent', |
418 | - 'executable_name': '/usr/local/bin/neutron-nvsd-agent', |
419 | + 'executable_name': os.path.join(bin_dir, 'neutron-nvsd-agent'), |
420 | 'config_files': ['/etc/neutron/neutron.conf', |
421 | '/etc/neutron/plugins/oneconvergence/nvsdplugin.ini'], |
422 | 'log_file': '/var/log/neutron/nvsd-agent.log', |
423 | @@ -1031,7 +1044,7 @@ |
424 | 'user_name': user_name, |
425 | 'start_dir': '/var/lib/neutron', |
426 | 'process_name': 'neutron-ofagent-agent', |
427 | - 'executable_name': '/usr/local/bin/neutron-ofagent-agent', |
428 | + 'executable_name': os.path.join(bin_dir, 'neutron-ofagent-agent'), |
429 | 'config_files': ['/etc/neutron/neutron.conf', |
430 | '/etc/neutron/plugins/ml2/ml2_conf_ofa.ini'], |
431 | 'log_file': '/var/log/neutron/openflow-agent.log', |
432 | @@ -1042,7 +1055,7 @@ |
433 | 'user_name': user_name, |
434 | 'start_dir': '/var/lib/neutron', |
435 | 'process_name': 'neutron-openvswitch-agent', |
436 | - 'executable_name': '/usr/local/bin/neutron-openvswitch-agent', |
437 | + 'executable_name': os.path.join(bin_dir, 'neutron-openvswitch-agent'), |
438 | 'config_files': ['/etc/neutron/neutron.conf', |
439 | '/etc/neutron/plugins/ml2/ml2_conf.ini'], |
440 | 'log_file': '/var/log/neutron/openvswitch-agent.log', |
441 | @@ -1053,7 +1066,7 @@ |
442 | 'user_name': user_name, |
443 | 'start_dir': '/var/lib/neutron', |
444 | 'process_name': 'neutron-ryu-agent', |
445 | - 'executable_name': '/usr/local/bin/neutron-ryu-agent', |
446 | + 'executable_name': os.path.join(bin_dir, 'neutron-ryu-agent'), |
447 | 'config_files': ['/etc/neutron/neutron.conf', |
448 | '/etc/neutron/plugins/ryu/ryu.ini'], |
449 | 'log_file': '/var/log/neutron/ryu-agent.log', |
450 | @@ -1064,7 +1077,7 @@ |
451 | 'user_name': user_name, |
452 | 'start_dir': '/var/lib/neutron', |
453 | 'process_name': 'neutron-sriov-nic-agent', |
454 | - 'executable_name': '/usr/local/bin/neutron-sriov-nic-agent', |
455 | + 'executable_name': os.path.join(bin_dir, 'neutron-sriov-nic-agent'), |
456 | 'config_files': ['/etc/neutron/neutron.conf', |
457 | '/etc/neutron/plugins/ml2/ml2_conf_sriov'], |
458 | 'log_file': '/var/log/neutron/sriov-agent.log', |
459 | @@ -1073,6 +1086,7 @@ |
460 | 'service_description': 'Neutron VPN Agent', |
461 | 'service_name': service_name, |
462 | 'process_name': 'neutron-vpn-agent', |
463 | + 'executable_name': os.path.join(bin_dir, 'neutron-vpn-agent'), |
464 | 'config_files': ['/etc/neutron/neutron.conf', |
465 | '/etc/neutron/vpn_agent.ini', |
466 | '/etc/neutron/l3_agent.ini', |
467 | |
468 | === modified file 'templates/git/upstart/neutron-agent.upstart' |
469 | --- templates/git/upstart/neutron-agent.upstart 2015-04-13 14:24:40 +0000 |
470 | +++ templates/git/upstart/neutron-agent.upstart 2015-05-27 13:07:04 +0000 |
471 | @@ -18,7 +18,7 @@ |
472 | fi |
473 | end script |
474 | |
475 | -exec start-stop-daemon --start --chuid neutron --exec /usr/local/bin/{{ process_name }} -- \ |
476 | +exec start-stop-daemon --start --chuid neutron --exec {{ executable_name }} -- \ |
477 | {% for config_file in config_files -%} |
478 | --config-file={{ config_file }} \ |
479 | {% endfor -%} |
480 | |
481 | === modified file 'templates/git/upstart/neutron-ovs-cleanup.upstart' |
482 | --- templates/git/upstart/neutron-ovs-cleanup.upstart 2015-04-13 14:24:40 +0000 |
483 | +++ templates/git/upstart/neutron-ovs-cleanup.upstart 2015-05-27 13:07:04 +0000 |
484 | @@ -7,7 +7,7 @@ |
485 | pre-start script |
486 | [ ! -x /usr/local/bin/{{ process_name }} ] && exit 0 |
487 | start-stop-daemon --start --chuid neutron \ |
488 | - --exec /usr/local/bin/{{ process_name }} -- \ |
489 | + --exec {{ executable_name }} -- \ |
490 | --log-file {{ log_file }} \ |
491 | --config-file {{ config_file }} --verbose |
492 | end script |
493 | |
494 | === modified file 'templates/git/upstart/neutron-server.upstart' |
495 | --- templates/git/upstart/neutron-server.upstart 2015-04-13 14:24:40 +0000 |
496 | +++ templates/git/upstart/neutron-server.upstart 2015-05-27 13:07:04 +0000 |
497 | @@ -16,7 +16,7 @@ |
498 | script |
499 | [ -r /etc/default/{{ process_name }} ] && . /etc/default/{{ process_name }} |
500 | [ -r "$NEUTRON_PLUGIN_CONFIG" ] && CONF_ARG="--config-file $NEUTRON_PLUGIN_CONFIG" |
501 | - exec start-stop-daemon --start --chuid neutron --exec /usr/local/bin/neutron-server -- \ |
502 | + exec start-stop-daemon --start --chuid neutron --exec {{ executable_name }} -- \ |
503 | --config-file /etc/neutron/neutron.conf \ |
504 | --log-file /var/log/neutron/server.log $CONF_ARG |
505 | end script |
506 | |
507 | === modified file 'tests/basic_deployment.py' |
508 | --- tests/basic_deployment.py 2015-04-24 10:07:10 +0000 |
509 | +++ tests/basic_deployment.py 2015-05-27 13:07:04 +0000 |
510 | @@ -75,10 +75,10 @@ |
511 | openstack_origin_git = { |
512 | 'repositories': [ |
513 | {'name': 'requirements', |
514 | - 'repository': 'git://git.openstack.org/openstack/requirements', |
515 | + 'repository': 'git://github.com/openstack/requirements', |
516 | 'branch': branch}, |
517 | {'name': 'neutron', |
518 | - 'repository': 'git://git.openstack.org/openstack/neutron', |
519 | + 'repository': 'git://github.com/openstack/neutron', |
520 | 'branch': branch}, |
521 | ], |
522 | 'directory': '/mnt/openstack-git', |
523 | |
524 | === modified file 'unit_tests/test_neutron_utils.py' |
525 | --- unit_tests/test_neutron_utils.py 2015-05-13 11:20:38 +0000 |
526 | +++ unit_tests/test_neutron_utils.py 2015-05-27 13:07:04 +0000 |
527 | @@ -809,11 +809,13 @@ |
528 | 'service_description': 'Neutron API server', |
529 | 'charm_name': 'neutron-api', |
530 | 'process_name': 'neutron-server', |
531 | + 'executable_name': 'joined-string', |
532 | } |
533 | neutron_dhcp_agent_context = { |
534 | 'service_description': 'Neutron DHCP Agent', |
535 | 'service_name': service_name, |
536 | 'process_name': 'neutron-dhcp-agent', |
537 | + 'executable_name': 'joined-string', |
538 | 'config_files': ['/etc/neutron/neutron.conf', |
539 | '/etc/neutron/dhcp_agent.ini'], |
540 | 'log_file': '/var/log/neutron/dhcp-agent.log', |
541 | @@ -822,6 +824,7 @@ |
542 | 'service_description': 'Neutron L3 Agent', |
543 | 'service_name': service_name, |
544 | 'process_name': 'neutron-l3-agent', |
545 | + 'executable_name': 'joined-string', |
546 | 'config_files': ['/etc/neutron/neutron.conf', |
547 | '/etc/neutron/l3_agent.ini', |
548 | '/etc/neutron/fwaas_driver.ini'], |
549 | @@ -833,7 +836,7 @@ |
550 | 'user_name': user_name, |
551 | 'start_dir': '/var/lib/neutron', |
552 | 'process_name': 'neutron-lbaas-agent', |
553 | - 'executable_name': '/usr/local/bin/neutron-lbaas-agent', |
554 | + 'executable_name': 'joined-string', |
555 | 'config_files': ['/etc/neutron/neutron.conf', |
556 | '/etc/neutron/lbaas_agent.ini'], |
557 | 'log_file': '/var/log/neutron/lbaas-agent.log', |
558 | @@ -844,7 +847,7 @@ |
559 | 'user_name': user_name, |
560 | 'start_dir': '/var/lib/neutron', |
561 | 'process_name': 'neutron-metadata-agent', |
562 | - 'executable_name': '/usr/local/bin/neutron-metadata-agent', |
563 | + 'executable_name': 'joined-string', |
564 | 'config_files': ['/etc/neutron/neutron.conf', |
565 | '/etc/neutron/metadata_agent.ini'], |
566 | 'log_file': '/var/log/neutron/metadata-agent.log', |
567 | @@ -855,7 +858,7 @@ |
568 | 'user_name': user_name, |
569 | 'start_dir': '/var/lib/neutron', |
570 | 'process_name': 'neutron-metering-agent', |
571 | - 'executable_name': '/usr/local/bin/neutron-metering-agent', |
572 | + 'executable_name': 'joined-string', |
573 | 'config_files': ['/etc/neutron/neutron.conf', |
574 | '/etc/neutron/metering_agent.ini'], |
575 | 'log_file': '/var/log/neutron/metering-agent.log', |
576 | @@ -864,6 +867,7 @@ |
577 | 'service_description': 'Neutron OVS cleanup', |
578 | 'service_name': service_name, |
579 | 'process_name': 'neutron-ovs-cleanup', |
580 | + 'executable_name': 'joined-string', |
581 | 'config_file': '/etc/neutron/neutron.conf', |
582 | 'log_file': '/var/log/neutron/ovs-cleanup.log', |
583 | } |
584 | @@ -873,7 +877,7 @@ |
585 | 'user_name': user_name, |
586 | 'start_dir': '/var/lib/neutron', |
587 | 'process_name': 'neutron-restproxy-agent', |
588 | - 'executable_name': '/usr/local/bin/neutron-restproxy-agent', |
589 | + 'executable_name': 'joined-string', |
590 | 'config_files': ['/etc/neutron/neutron.conf', |
591 | '/etc/neutron/plugins/bigswitch/restproxy.ini'], |
592 | 'log_file': '/var/log/neutron/bigswitch-agent.log', |
593 | @@ -884,7 +888,7 @@ |
594 | 'user_name': user_name, |
595 | 'start_dir': '/var/lib/neutron', |
596 | 'process_name': 'neutron-ibm-agent', |
597 | - 'executable_name': '/usr/local/bin/neutron-ibm-agent', |
598 | + 'executable_name': 'joined-string', |
599 | 'config_files': |
600 | ['/etc/neutron/neutron.conf', |
601 | '/etc/neutron/plugins/ibm/sdnve_neutron_plugin.ini'], |
602 | @@ -896,7 +900,7 @@ |
603 | 'user_name': user_name, |
604 | 'start_dir': '/var/lib/neutron', |
605 | 'process_name': 'neutron-linuxbridge-agent', |
606 | - 'executable_name': '/usr/local/bin/neutron-linuxbridge-agent', |
607 | + 'executable_name': 'joined-string', |
608 | 'config_files': ['/etc/neutron/neutron.conf', |
609 | '/etc/neutron/plugins/ml2/ml2_conf.ini'], |
610 | 'log_file': '/var/log/neutron/linuxbridge-agent.log', |
611 | @@ -907,7 +911,7 @@ |
612 | 'user_name': user_name, |
613 | 'start_dir': '/var/lib/neutron', |
614 | 'process_name': 'neutron-mlnx-agent', |
615 | - 'executable_name': '/usr/local/bin/neutron-mlnx-agent', |
616 | + 'executable_name': 'joined-string', |
617 | 'config_files': ['/etc/neutron/neutron.conf', |
618 | '/etc/neutron/plugins/mlnx/mlnx_conf.ini'], |
619 | 'log_file': '/var/log/neutron/mlnx-agent.log', |
620 | @@ -917,7 +921,7 @@ |
621 | 'service_name': service_name, |
622 | 'start_dir': '/var/lib/neutron', |
623 | 'process_name': 'neutron-nec-agent', |
624 | - 'executable_name': '/usr/local/bin/neutron-nec-agent', |
625 | + 'executable_name': 'joined-string', |
626 | 'config_files': ['/etc/neutron/neutron.conf', |
627 | '/etc/neutron/plugins/nec/nec.ini'], |
628 | 'log_file': '/var/log/neutron/nec-agent.log', |
629 | @@ -928,7 +932,7 @@ |
630 | 'user_name': user_name, |
631 | 'start_dir': '/var/lib/neutron', |
632 | 'process_name': 'neutron-nvsd-agent', |
633 | - 'executable_name': '/usr/local/bin/neutron-nvsd-agent', |
634 | + 'executable_name': 'joined-string', |
635 | 'config_files': ['/etc/neutron/neutron.conf', |
636 | '/etc/neutron/plugins/oneconvergence/' |
637 | 'nvsdplugin.ini'], |
638 | @@ -940,7 +944,7 @@ |
639 | 'user_name': user_name, |
640 | 'start_dir': '/var/lib/neutron', |
641 | 'process_name': 'neutron-ofagent-agent', |
642 | - 'executable_name': '/usr/local/bin/neutron-ofagent-agent', |
643 | + 'executable_name': 'joined-string', |
644 | 'config_files': ['/etc/neutron/neutron.conf', |
645 | '/etc/neutron/plugins/ml2/ml2_conf_ofa.ini'], |
646 | 'log_file': '/var/log/neutron/openflow-agent.log', |
647 | @@ -951,7 +955,7 @@ |
648 | 'user_name': user_name, |
649 | 'start_dir': '/var/lib/neutron', |
650 | 'process_name': 'neutron-openvswitch-agent', |
651 | - 'executable_name': '/usr/local/bin/neutron-openvswitch-agent', |
652 | + 'executable_name': 'joined-string', |
653 | 'config_files': ['/etc/neutron/neutron.conf', |
654 | '/etc/neutron/plugins/ml2/ml2_conf.ini'], |
655 | 'log_file': '/var/log/neutron/openvswitch-agent.log', |
656 | @@ -962,7 +966,7 @@ |
657 | 'user_name': user_name, |
658 | 'start_dir': '/var/lib/neutron', |
659 | 'process_name': 'neutron-ryu-agent', |
660 | - 'executable_name': '/usr/local/bin/neutron-ryu-agent', |
661 | + 'executable_name': 'joined-string', |
662 | 'config_files': ['/etc/neutron/neutron.conf', |
663 | '/etc/neutron/plugins/ryu/ryu.ini'], |
664 | 'log_file': '/var/log/neutron/ryu-agent.log', |
665 | @@ -973,7 +977,7 @@ |
666 | 'user_name': user_name, |
667 | 'start_dir': '/var/lib/neutron', |
668 | 'process_name': 'neutron-sriov-nic-agent', |
669 | - 'executable_name': '/usr/local/bin/neutron-sriov-nic-agent', |
670 | + 'executable_name': 'joined-string', |
671 | 'config_files': ['/etc/neutron/neutron.conf', |
672 | '/etc/neutron/plugins/ml2/ml2_conf_sriov'], |
673 | 'log_file': '/var/log/neutron/sriov-agent.log', |
674 | @@ -982,11 +986,13 @@ |
675 | 'service_description': 'Neutron API server', |
676 | 'service_name': service_name, |
677 | 'process_name': 'neutron-server', |
678 | + 'executable_name': 'joined-string', |
679 | } |
680 | neutron_vpn_agent_context = { |
681 | 'service_description': 'Neutron VPN Agent', |
682 | 'service_name': service_name, |
683 | 'process_name': 'neutron-vpn-agent', |
684 | + 'executable_name': 'joined-string', |
685 | 'config_files': ['/etc/neutron/neutron.conf', |
686 | '/etc/neutron/vpn_agent.ini', |
687 | '/etc/neutron/l3_agent.ini', |