~ubuntu-branches/ubuntu/vivid/neutron/vivid-proposed

« back to all changes in this revision

Viewing changes to neutron/tests/functional/agent/linux/helpers.py

  • Committer: Package Import Robot
  • Author(s): Chuck Short
  • Date: 2015-04-15 13:59:07 UTC
  • mfrom: (1.1.22)
  • Revision ID: package-import@ubuntu.com-20150415135907-z10fr18evag1ozq3
Tags: 1:2015.1~rc1-0ubuntu1
* New upstream milestone release:
  - debian/control: Update dependencies. 
  - debian/patches/disable-udev-tests.patch: Dropped no longer needed.
  - debian/patches/fixup-driver-test-execution.patch: Dropped no longer needed.
  - debian/patches/skip-iptest.patch: Skip failing test
  - debian/neutron-plugin-openvswitch-agent.install: Added neutron-ovsvapp-agent binary.
  - debian/neutron-plugin-cisco.install: Added neutron-cisco-apic-service-agent and 
    neutron-cisco-apic-host-agent

Show diffs side-by-side

added added

removed removed

Lines of Context:
20
20
import shlex
21
21
import subprocess
22
22
 
 
23
import fixtures
 
24
 
23
25
from neutron.agent.common import config
24
26
from neutron.agent.linux import ip_lib
25
27
from neutron.agent.linux import utils
33
35
    r'^.*\s+\d+\s+.*:(?P<port>\d+)\s+[0-9:].*')
34
36
 
35
37
 
 
38
class RecursivePermDirFixture(fixtures.Fixture):
 
39
    """Ensure at least perms permissions on directory and ancestors."""
 
40
 
 
41
    def __init__(self, directory, perms):
 
42
        super(RecursivePermDirFixture, self).__init__()
 
43
        self.directory = directory
 
44
        self.least_perms = perms
 
45
 
 
46
    def setUp(self):
 
47
        super(RecursivePermDirFixture, self).setUp()
 
48
        previous_directory = None
 
49
        current_directory = self.directory
 
50
        while previous_directory != current_directory:
 
51
            perms = os.stat(current_directory).st_mode
 
52
            if perms & self.least_perms != self.least_perms:
 
53
                os.chmod(current_directory, perms | self.least_perms)
 
54
                self.addCleanup(self.safe_chmod, current_directory, perms)
 
55
            previous_directory = current_directory
 
56
            current_directory = os.path.dirname(current_directory)
 
57
 
 
58
    def safe_chmod(self, path, mode):
 
59
        try:
 
60
            os.chmod(path, mode)
 
61
        except OSError:
 
62
            pass
 
63
 
 
64
 
36
65
def get_free_namespace_port(tcp=True, namespace=None):
37
66
    """Return an unused port from given namespace
38
67