summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data/templates/rsyslog/rsyslog.conf.j22
-rwxr-xr-xsmoketest/scripts/cli/test_system_syslog.py35
2 files changed, 30 insertions, 7 deletions
diff --git a/data/templates/rsyslog/rsyslog.conf.j2 b/data/templates/rsyslog/rsyslog.conf.j2
index 7fd592d1f..253a4bee2 100644
--- a/data/templates/rsyslog/rsyslog.conf.j2
+++ b/data/templates/rsyslog/rsyslog.conf.j2
@@ -57,9 +57,7 @@ $outchannel {{ file_name }},/var/log/user/{{ file_name }},{{ file_options.archiv
{% endfor %}
{% endif %}
{% if host_options.protocol is vyos_defined('tcp') %}
-{% if host_options.format.octet_counted is vyos_defined %}
{{ tmp | join(';') }} @@{{ '(o)' if host_options.format.octet_counted is vyos_defined }}{{ host_name | bracketize_ipv6 }}:{{ host_options.port }}{{ ';RSYSLOG_SyslogProtocol23Format' if host_options.format.include_timezone is vyos_defined }}
-{% endif %}
{% else %}
{{ tmp | join(';') }} @{{ host_name | bracketize_ipv6 }}:{{ host_options.port }}{{ ';RSYSLOG_SyslogProtocol23Format' if host_options.format.include_timezone is vyos_defined }}
{% endif %}
diff --git a/smoketest/scripts/cli/test_system_syslog.py b/smoketest/scripts/cli/test_system_syslog.py
index c802ceeeb..a86711119 100755
--- a/smoketest/scripts/cli/test_system_syslog.py
+++ b/smoketest/scripts/cli/test_system_syslog.py
@@ -20,8 +20,8 @@ import unittest
from base_vyostest_shim import VyOSUnitTestSHIM
from vyos.utils.file import read_file
-from vyos.utils.process import cmd
from vyos.utils.process import process_named_running
+from vyos.xml_ref import default_value
PROCESS_NAME = 'rsyslogd'
RSYSLOG_CONF = '/etc/rsyslog.d/00-vyos.conf'
@@ -80,20 +80,22 @@ class TestRSYSLOGService(VyOSUnitTestSHIM.TestCase):
self.assertTrue(process_named_running(PROCESS_NAME))
def test_syslog_global(self):
- self.cli_set(['system', 'host-name', 'vyos'])
- self.cli_set(['system', 'domain-name', 'example.local'])
+ hostname = 'vyos123'
+ domainname = 'example.local'
+ self.cli_set(['system', 'host-name', hostname])
+ self.cli_set(['system', 'domain-name', domainname])
self.cli_set(base_path + ['global', 'marker', 'interval', '600'])
self.cli_set(base_path + ['global', 'preserve-fqdn'])
self.cli_set(base_path + ['global', 'facility', 'kern', 'level', 'err'])
self.cli_commit()
- config = cmd(f'sudo cat {RSYSLOG_CONF}')
+ config = read_file(RSYSLOG_CONF)
expected = [
'$MarkMessagePeriod 600',
'$PreserveFQDN on',
'kern.err',
- '$LocalHostName vyos.example.local',
+ f'$LocalHostName {hostname}.{domainname}',
]
for e in expected:
@@ -101,6 +103,29 @@ class TestRSYSLOGService(VyOSUnitTestSHIM.TestCase):
# Check for running process
self.assertTrue(process_named_running(PROCESS_NAME))
+ def test_syslog_remote(self):
+ rhost = '169.254.0.1'
+ default_port = default_value(base_path + ['host', rhost, 'port'])
+
+ self.cli_set(base_path + ['global', 'facility', 'all', 'level', 'info'])
+ self.cli_set(base_path + ['global', 'facility', 'local7', 'level', 'debug'])
+ self.cli_set(base_path + ['host', rhost, 'facility', 'all', 'level', 'all'])
+ self.cli_set(base_path + ['host', rhost, 'protocol', 'tcp'])
+
+ self.cli_commit()
+
+ config = read_file(RSYSLOG_CONF)
+ self.assertIn(f'*.* @@{rhost}:{default_port}', config)
+
+ # Change default port and enable "octet-counting" mode
+ port = '10514'
+ self.cli_set(base_path + ['host', rhost, 'port', port])
+ self.cli_set(base_path + ['host', rhost, 'format', 'octet-counted'])
+ self.cli_commit()
+
+ config = read_file(RSYSLOG_CONF)
+ self.assertIn(f'*.* @@(o){rhost}:{port}', config)
+
if __name__ == '__main__':
unittest.main(verbosity=2)