From 3d089c43c460f89f564a4c0c69d468b27a2a6074 Mon Sep 17 00:00:00 2001 From: Aaron Rosen Date: Fri, 31 Aug 2012 15:34:49 -0700 Subject: [PATCH] Quantum dhcp crashes if no networks exist Fixes bug 1043583 Change-Id: Ibdfeb98c094b80ea63e79b23f14811e00525d96b --- quantum/agent/dhcp_agent.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/quantum/agent/dhcp_agent.py b/quantum/agent/dhcp_agent.py index 1c7e678de..2b968fcd9 100644 --- a/quantum/agent/dhcp_agent.py +++ b/quantum/agent/dhcp_agent.py @@ -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.""" -- 2.45.2