Systemd Operations¶
Manage systemd services.
Facts used in these operations: systemd.SystemdEnabled, systemd.SystemdStatus.
systemd.daemon_reload¶
Stateless operation
This operation will always execute commands and is not idempotent.
Reload the systemd daemon to read unit file changes.
systemd.daemon_reload(user_mode=False, machine: 'str | None' = None, user_name: 'str | None' = None,
**kwargs,
)
user_mode: whether to use per-user systemd (systemctl –user) or not
machine: the machine name to connect to
user_name: connect to a specific user’s systemd session
Note
This operation also inherits all global arguments.
systemd.service¶
Manage the state of systemd managed units.
systemd.service(
service: 'str',
running=True,
restarted=False,
reloaded=False,
command: 'str | None' = None,
enabled: 'bool | None' = None,
daemon_reload=False,
user_mode=False,
machine: 'str | None' = None,
user_name: 'str | None' = None,
**kwargs,
)
service: name of the systemd unit to manage
running: whether the unit should be running
restarted: whether the unit should be restarted
reloaded: whether the unit should be reloaded
command: custom command to pass like:
/etc/rc.d/<name> <command>enabled: whether this unit should be enabled/disabled on boot
daemon_reload: reload the systemd daemon to read updated unit files
user_mode: whether to use per-user systemd (systemctl –user) or not
machine: the machine name to connect to
user_name: connect to a specific user’s systemd session
Examples:
from pyinfra.operations import systemd
systemd.service(
name="Restart and enable the dnsmasq service",
service="dnsmasq.service",
running=True,
restarted=True,
enabled=True,
)
systemd.service(
name="Enable logrotate timer",
service="logrotate.timer",
running=True,
enabled=True,
)
Note
This operation also inherits all global arguments.
pyinfra 3.x