From: Jenkins Date: Thu, 20 Mar 2014 05:20:19 +0000 (+0000) Subject: Merge "Don't use root to list namespaces" X-Git-Url: https://review.fuel-infra.org/gitweb?a=commitdiff_plain;h=bd05fd69956835d904f0a9922fc4807f24b8ba0a;p=openstack-build%2Fneutron-build.git Merge "Don't use root to list namespaces" --- bd05fd69956835d904f0a9922fc4807f24b8ba0a diff --cc neutron/agent/linux/ip_lib.py index a140be290,80302aea2..62ba2a7bb --- a/neutron/agent/linux/ip_lib.py +++ b/neutron/agent/linux/ip_lib.py @@@ -452,21 -452,21 +452,21 @@@ class IpNetnsCommand(IpCommandBase) def execute(self, cmds, addl_env={}, check_exit_code=True): if not self._parent.root_helper: raise exceptions.SudoRequired() - elif not self._parent.namespace: - raise Exception(_('No namespace defined for parent')) - else: - env_params = [] - if addl_env: - env_params = (['env'] + - ['%s=%s' % pair for pair in addl_env.items()]) - return utils.execute( - ['ip', 'netns', 'exec', self._parent.namespace] + - env_params + list(cmds), - root_helper=self._parent.root_helper, - check_exit_code=check_exit_code) + ns_params = [] + if self._parent.namespace: + ns_params = ['ip', 'netns', 'exec', self._parent.namespace] + + env_params = [] + if addl_env: + env_params = (['env'] + + ['%s=%s' % pair for pair in addl_env.items()]) + return utils.execute( + ns_params + env_params + list(cmds), + root_helper=self._parent.root_helper, + check_exit_code=check_exit_code) def exists(self, name): - output = self._as_root('list', options='o', use_root_namespace=True) + output = self._run('list', options='o') for line in output.split('\n'): if name == line.strip():