diff options
author | Christian Poessinger <christian@poessinger.com> | 2019-12-30 22:47:27 +0100 |
---|---|---|
committer | Christian Poessinger <christian@poessinger.com> | 2019-12-30 22:47:27 +0100 |
commit | 7b0ace6699d8075a6d093502126e2be4d631ef67 (patch) | |
tree | 821dd18ec2a966e5d2d8ad580de8f47c79d4167c | |
parent | 5c3b21d3a1c2b24c0c4414e63bc40a89051210ba (diff) | |
download | vyos-1x-7b0ace6699d8075a6d093502126e2be4d631ef67.tar.gz vyos-1x-7b0ace6699d8075a6d093502126e2be4d631ef67.zip |
snmp: T1921: migrate sysvinit default to systemd override file
-rwxr-xr-x | src/conf_mode/snmp.py | 28 |
1 files changed, 16 insertions, 12 deletions
diff --git a/src/conf_mode/snmp.py b/src/conf_mode/snmp.py index 8f0b0c7c1..cb77f7f22 100755 --- a/src/conf_mode/snmp.py +++ b/src/conf_mode/snmp.py @@ -31,12 +31,12 @@ from stat import S_IRWXU,S_IXGRP,S_IXOTH,S_IROTH,S_IRGRP from vyos.config import Config from vyos import ConfigError -config_file_client = r'/etc/snmp/snmp.conf' -config_file_daemon = r'/etc/snmp/snmpd.conf' -config_file_access = r'/usr/share/snmp/snmpd.conf' -config_file_user = r'/var/lib/snmp/snmpd.conf' -config_file_init = r'/etc/default/snmpd' -default_script_dir = r'/config/user-data/' +config_file_client = r'/etc/snmp/snmp.conf' +config_file_daemon = r'/etc/snmp/snmpd.conf' +config_file_access = r'/usr/share/snmp/snmpd.conf' +config_file_user = r'/var/lib/snmp/snmpd.conf' +config_file_systemd = r'/etc/systemd/system/snmpd.service.d/override.conf' +default_script_dir = r'/config/user-data/' # SNMP OIDs used to mark auth/priv type OIDs = { @@ -213,11 +213,10 @@ init_config_tmpl = """ ### Autogenerated by snmp.py ### # This file controls the activity of snmpd -# snmpd control (yes means start daemon). -SNMPDRUN=yes +[Service] +ExecStart= +ExecStart=/usr/sbin/snmpd -Ls0-5d -Lf /dev/null -u Debian-snmp -g Debian-snmp -I -smux,mteTrigger,mteTriggerConf,ipCidrRouteTable,inetCidrRouteTable -f -p /run/snmpd.pid -# snmpd options (use syslog, close stdin/out/err). -SNMPDOPTS='-LSed -u Debian-snmp -g Debian-snmp -I -ipCidrRouteTable,inetCidrRouteTable -p /run/snmpd.pid' """ default_config_data = { @@ -708,10 +707,14 @@ def generate(snmp): with open(config_file_user, 'w') as f: f.write(config_text) - # Write init config file + # Write systemd override file + dir = os.path.dirname(config_file_systemd) + if not os.path.isdir(dir): + os.mkdir(dir, S_IRWXU|S_IRGRP|S_IXGRP|S_IROTH|S_IXOTH) + tmpl = jinja2.Template(init_config_tmpl) config_text = tmpl.render(snmp) - with open(config_file_init, 'w') as f: + with open(config_file_systemd, 'w') as f: f.write(config_text) return None @@ -745,6 +748,7 @@ def apply(snmp): os.symlink(nonvolatiledir, volatiledir) # start SNMP daemon + os.system("sudo systemctl daemon-reload") os.system("sudo systemctl restart snmpd.service") # Passwords are not available immediately in the configuration file, |