summaryrefslogtreecommitdiff
path: root/src/conf_mode/dhcp_relay.py
diff options
context:
space:
mode:
authorChristian Poessinger <christian@poessinger.com>2020-04-13 12:38:37 +0200
committerChristian Poessinger <christian@poessinger.com>2020-04-13 12:39:13 +0200
commit9c8dac06170eaddd312abb52b0b5724ada4c5ee8 (patch)
treef1deca3fd1fc41a8ba24717d28697bdddfe4aeec /src/conf_mode/dhcp_relay.py
parent8d189ba9e904b6cf28782d4f477764b18aff2e2c (diff)
downloadvyos-1x-9c8dac06170eaddd312abb52b0b5724ada4c5ee8.tar.gz
vyos-1x-9c8dac06170eaddd312abb52b0b5724ada4c5ee8.zip
dhcp-relay: T2185: migrate from SysVinit to systemd
Diffstat (limited to 'src/conf_mode/dhcp_relay.py')
-rwxr-xr-xsrc/conf_mode/dhcp_relay.py22
1 files changed, 14 insertions, 8 deletions
diff --git a/src/conf_mode/dhcp_relay.py b/src/conf_mode/dhcp_relay.py
index fdc8d2443..ce0e01308 100755
--- a/src/conf_mode/dhcp_relay.py
+++ b/src/conf_mode/dhcp_relay.py
@@ -19,11 +19,11 @@ import os
from sys import exit
from vyos.config import Config
-from vyos import ConfigError
-from vyos.util import call
from vyos.template import render
+from vyos.util import call
+from vyos import ConfigError
-config_file = r'/etc/default/isc-dhcp-relay'
+config_file = r'/run/dhcp-relay/dhcp.conf'
default_config_data = {
'interface': [],
@@ -95,19 +95,25 @@ def verify(relay):
def generate(relay):
# bail out early - looks like removal from running config
- if relay is None:
+ if not relay:
return None
+ # Create configuration directory on demand
+ dirname = os.path.dirname(config_file)
+ if not os.path.isdir(dirname):
+ os.mkdir(dirname)
+
render(config_file, 'dhcp-relay/config.tmpl', relay)
return None
def apply(relay):
- if relay is not None:
- call('sudo systemctl restart isc-dhcp-relay.service')
+ if relay:
+ call('systemctl restart isc-dhcp-relay.service')
else:
# DHCP relay support is removed in the commit
- call('sudo systemctl stop isc-dhcp-relay.service')
- os.unlink(config_file)
+ call('systemctl stop isc-dhcp-relay.service')
+ if os.path.exists(config_file):
+ os.unlink(config_file)
return None