summaryrefslogtreecommitdiffstats
path: root/nova/utils.py
diff options
context:
space:
mode:
authorMike Scherbakov <mihgen@gmail.com>2011-05-26 00:51:14 +0400
committerMike Scherbakov <mihgen@gmail.com>2011-05-26 00:51:14 +0400
commitfe77c55b7643bd9bd3bd988f7f759dde8af09cae (patch)
tree6d3a18d28fe54d2d1808ca8496f0ed04b32706cb /nova/utils.py
parent818c2424a0547882fe6bdfe6613ee66a248d91db (diff)
parentec0e674ce1a8539143e9b99deb8cc62b9d42d6b2 (diff)
downloadnova-fe77c55b7643bd9bd3bd988f7f759dde8af09cae.tar.gz
nova-fe77c55b7643bd9bd3bd988f7f759dde8af09cae.tar.xz
nova-fe77c55b7643bd9bd3bd988f7f759dde8af09cae.zip
Merged with trunk
Diffstat (limited to 'nova/utils.py')
-rw-r--r--nova/utils.py31
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()