Ansible role to manage systemd services
Go to file
Dmitriy Rabotyagov 17f833f27a Restart sockets when they are changed
At the moment it's possible only to forcefully restart sockets under
each run, which is not idempotent and may cause interruptions for
service. To avoid that we add a way to restart socket just on config
change with same logic applied as for service.

Change-Id: Ifb6fd9461d7b6a65191b918c0863406cf4de6725
2023-01-23 19:15:09 +01:00
defaults Allow to define pre-start and post-stop tasks 2022-10-14 12:11:06 +02:00
doc Switch sphinx language to en 2022-05-30 16:01:11 +02:00
examples Add integrated linters test 2021-12-06 13:35:33 +02:00
handlers Restart sockets when they are changed 2023-01-23 19:15:09 +01:00
html-docs Drop static content from html-docs 2019-11-14 19:36:18 +02:00
meta Drop plugins from role requirements 2022-01-11 16:57:14 +02:00
releasenotes Update master for stable/zed 2022-12-13 13:05:57 +00:00
tasks Restart sockets when they are changed 2023-01-23 19:15:09 +01:00
templates Allow to define pre-start and post-stop tasks 2022-10-14 12:11:06 +02:00
tests Add ability to create templated services 2022-01-14 10:37:39 +00:00
zuul.d Add integrated linters test 2021-12-06 13:35:33 +02:00
.gitignore Updated from OpenStack Ansible Tests 2019-08-20 03:07:50 +00:00
.gitreview OpenDev Migration Patch 2019-04-19 19:34:27 +00:00
CONTRIBUTING.rst [ussuri][goal] Update contributor documentation 2020-05-13 00:04:49 +03:00
LICENSE Initial Commit 2017-05-19 10:24:55 -05:00
README.md Add release note link in README 2018-06-29 14:58:07 +08:00
Vagrantfile Updated from OpenStack Ansible Tests 2021-12-17 16:50:42 +00:00
ansible-role-requirements.yaml Replace git.openstack.org with opendev.org 2019-11-14 19:31:46 +02:00
bindep.txt Updated from OpenStack Ansible Tests 2021-03-12 22:23:54 +00:00
manual-test.rc Initial Commit 2017-05-19 10:24:55 -05:00
run_tests.sh Updated from OpenStack Ansible Tests 2022-03-31 20:13:10 +00:00
tox.ini Update tox.ini to work with 4.0 2022-12-27 17:53:07 +01:00

README.md

Ansible systemd_service

This Ansible role that installs and configures systemd unit files and all of its corresponding services. This role requires the openstack-ansible-plugins repository to be available on your local system. The Ansible galaxy resolver will not retrieve this role for you. To get this role in place clone the plugins repository before installing this role.

# git clone https://github.com/openstack/openstack-ansible-plugins /etc/ansible/roles/plugins

Release notes for the project can be found at: https://docs.openstack.org/releasenotes/ansible-role-systemd_service

You can also use the ansible-galaxy command on the ansible-role-requirements.yml file.

# ansible-galaxy install -r ansible-role-requirements.yml

Example playbook
- name: Create a systemd unit file for ServiceX
  hosts: localhost
  become: true
  roles:
    - role: "systemd_service"
      systemd_services:
        # Normal Service
        - service_name: ServiceX
          execstarts:
            - /path/ServiceX --flag1

        # Timer Service (AKA CRON)
        - service_name: TimerServiceX
          execstarts:
            - /path/TimerServiceX --flag1
          timer:
            state: "started"
            options:
              OnBootSec: 30min
              OnUnitActiveSec: 1h
              Persistent: true
      tags:
        - servicex-init