diff options
author | Mike Scherbakov <mihgen@gmail.com> | 2011-05-26 00:51:14 +0400 |
---|---|---|
committer | Mike Scherbakov <mihgen@gmail.com> | 2011-05-26 00:51:14 +0400 |
commit | fe77c55b7643bd9bd3bd988f7f759dde8af09cae (patch) | |
tree | 6d3a18d28fe54d2d1808ca8496f0ed04b32706cb /nova/utils.py | |
parent | 818c2424a0547882fe6bdfe6613ee66a248d91db (diff) | |
parent | ec0e674ce1a8539143e9b99deb8cc62b9d42d6b2 (diff) | |
download | nova-fe77c55b7643bd9bd3bd988f7f759dde8af09cae.tar.gz nova-fe77c55b7643bd9bd3bd988f7f759dde8af09cae.tar.xz nova-fe77c55b7643bd9bd3bd988f7f759dde8af09cae.zip |
Merged with trunk
Diffstat (limited to 'nova/utils.py')
-rw-r--r-- | nova/utils.py | 31 |
1 files changed, 8 insertions, 23 deletions
diff --git a/nova/utils.py b/nova/utils.py index 80bf1197f..361fc9873 100644 --- a/nova/utils.py +++ b/nova/utils.py @@ -232,9 +232,12 @@ def default_flagfile(filename='nova.conf'): # turn relative filename into an absolute path script_dir = os.path.dirname(inspect.stack()[-1][1]) filename = os.path.abspath(os.path.join(script_dir, filename)) - if os.path.exists(filename): - flagfile = ['--flagfile=%s' % filename] - sys.argv = sys.argv[:1] + flagfile + sys.argv[1:] + if not os.path.exists(filename): + filename = "./nova.conf" + if not os.path.exists(filename): + filename = '/etc/nova/nova.conf' + flagfile = ['--flagfile=%s' % filename] + sys.argv = sys.argv[:1] + flagfile + sys.argv[1:] def debug(arg): @@ -303,26 +306,6 @@ def get_my_linklocal(interface): " :%(ex)s") % locals()) -def to_global_ipv6(prefix, mac): - try: - mac64 = netaddr.EUI(mac).eui64().words - int_addr = int(''.join(['%02x' % i for i in mac64]), 16) - mac64_addr = netaddr.IPAddress(int_addr) - maskIP = netaddr.IPNetwork(prefix).ip - return (mac64_addr ^ netaddr.IPAddress('::0200:0:0:0') | maskIP).\ - format() - except TypeError: - raise TypeError(_('Bad mac for to_global_ipv6: %s') % mac) - - -def to_mac(ipv6_address): - address = netaddr.IPAddress(ipv6_address) - mask1 = netaddr.IPAddress('::ffff:ffff:ffff:ffff') - mask2 = netaddr.IPAddress('::0200:0:0:0') - mac64 = netaddr.EUI(int(address & mask1 ^ mask2)).words - return ':'.join(['%02x' % i for i in mac64[0:3] + mac64[5:8]]) - - def utcnow(): """Overridable version of datetime.datetime.utcnow.""" if utcnow.override_time: @@ -459,6 +442,8 @@ class LoopingCall(object): try: while self._running: self.f(*self.args, **self.kw) + if not self._running: + break greenthread.sleep(interval) except LoopingCallDone, e: self.stop() |