from bundlewrap.utils.dicts import merge_dict actions = { 'systemd-reload': { 'command': 'systemctl daemon-reload', 'cascade_skip': False, 'triggered': True, }, } for name, unit in node.metadata.get('systemd/units').items(): extension = name.split('.')[-1] if extension in ['netdev', 'network']: path = f'/etc/systemd/network/{name}' dependencies = { 'triggers': [ 'svc_systemd:systemd-networkd:restart', ], } elif extension in ['timer', 'service']: path = f'/etc/systemd/system/{name}' dependencies = { 'triggers': [ "action:systemd-reload", ], } files[path] = { 'content': repo.libs.systemd.generate_unitfile(unit), **dependencies, } for name, config in node.metadata.get('systemd/services').items(): svc_systemd[name] = merge_dict(config, { 'needs': [ 'action:systemd-reload', ], })