Skip to content

Commit

Permalink
T6711: Fix restart vrrp missed comma between services
Browse files Browse the repository at this point in the history
Missing comma in the list between services
 'ssh', 'suricata' 'vrrp', 'webproxy'
Fix it

(cherry picked from commit a3ddd2c)
  • Loading branch information
sever-sever authored and mergify[bot] committed Sep 12, 2024
1 parent 9652bfd commit 3f95581
Showing 1 changed file with 32 additions and 10 deletions.
42 changes: 32 additions & 10 deletions src/op_mode/restart.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,11 @@
config = ConfigTreeQuery()

service_map = {
'dhcp' : {
'dhcp': {
'systemd_service': 'kea-dhcp4-server',
'path': ['service', 'dhcp-server'],
},
'dhcpv6' : {
'dhcpv6': {
'systemd_service': 'kea-dhcp6-server',
'path': ['service', 'dhcpv6-server'],
},
Expand Down Expand Up @@ -61,24 +61,40 @@
'systemd_service': 'radvd',
'path': ['service', 'router-advert'],
},
'snmp' : {
'snmp': {
'systemd_service': 'snmpd',
},
'ssh' : {
'ssh': {
'systemd_service': 'ssh',
},
'suricata' : {
'suricata': {
'systemd_service': 'suricata',
},
'vrrp' : {
'vrrp': {
'systemd_service': 'keepalived',
'path': ['high-availability', 'vrrp'],
},
'webproxy' : {
'webproxy': {
'systemd_service': 'squid',
},
}
services = typing.Literal['dhcp', 'dhcpv6', 'dns_dynamic', 'dns_forwarding', 'igmp_proxy', 'ipsec', 'mdns_repeater', 'reverse_proxy', 'router_advert', 'snmp', 'ssh', 'suricata' 'vrrp', 'webproxy']
services = typing.Literal[
'dhcp',
'dhcpv6',
'dns_dynamic',
'dns_forwarding',
'igmp_proxy',
'ipsec',
'mdns_repeater',
'reverse_proxy',
'router_advert',
'snmp',
'ssh',
'suricata',
'vrrp',
'webproxy',
]


def _verify(func):
"""Decorator checks if DHCP(v6) config exists"""
Expand All @@ -102,13 +118,18 @@ def _wrapper(*args, **kwargs):

# Check if config does not exist
if not config.exists(path):
raise vyos.opmode.UnconfiguredSubsystem(f'Service {human_name} is not configured!')
raise vyos.opmode.UnconfiguredSubsystem(
f'Service {human_name} is not configured!'
)
if config.exists(path + ['disable']):
raise vyos.opmode.UnconfiguredSubsystem(f'Service {human_name} is disabled!')
raise vyos.opmode.UnconfiguredSubsystem(
f'Service {human_name} is disabled!'
)
return func(*args, **kwargs)

return _wrapper


@_verify
def restart_service(raw: bool, name: services, vrf: typing.Optional[str]):
systemd_service = service_map[name]['systemd_service']
Expand All @@ -117,6 +138,7 @@ def restart_service(raw: bool, name: services, vrf: typing.Optional[str]):
else:
call(f'systemctl restart "{systemd_service}.service"')


if __name__ == '__main__':
try:
res = vyos.opmode.run(sys.modules[__name__])
Expand Down

0 comments on commit 3f95581

Please sign in to comment.