]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commitdiff
Quantum dhcp crashes if no networks exist
authorAaron Rosen <arosen@nicira.com>
Fri, 31 Aug 2012 22:34:49 +0000 (15:34 -0700)
committerAaron Rosen <arosen@nicira.com>
Tue, 4 Sep 2012 15:39:46 +0000 (08:39 -0700)
Fixes bug 1043583

Change-Id: Ibdfeb98c094b80ea63e79b23f14811e00525d96b

quantum/agent/dhcp_agent.py

index 1c7e678dedd8d4e98ba5d1b22f50e6f81f661798..2b968fcd937f96a2a2aa76c4a7d2a6cb78f7f4b5 100644 (file)
@@ -435,11 +435,15 @@ class DhcpLeaseRelay(object):
     def __init__(self, lease_update_callback):
         self.callback = lease_update_callback
 
-        try:
-            os.unlink(cfg.CONF.dhcp_lease_relay_socket)
-        except OSError:
-            if os.path.exists(cfg.CONF.dhcp_lease_relay_socket):
-                raise
+        dirname = os.path.dirname(cfg.CONF.dhcp_lease_relay_socket)
+        if os.path.isdir(dirname):
+            try:
+                os.unlink(cfg.CONF.dhcp_lease_relay_socket)
+            except OSError:
+                if os.path.exists(cfg.CONF.dhcp_lease_relay_socket):
+                    raise
+        else:
+            os.makedirs(dirname, 0755)
 
     def _validate_field(self, value, regex):
         """Validate value against a regular expression and return if valid."""