Ansible role to manage systemd services
Go to file
Dmitriy Rabotyagov 5c5813f88f Ensure daemon is reloaded on socket change
At the moment our verification if socket has been changed
is not valid, since we're checking if string 'true' is presnet in the
list, while list consist of only boolean variables. So we replace
map filter with selectattr as it can apply truthy test to the elements
while selecting them and checking list length.

Change-Id: Ib456b4dc2d631bf81633035820444f13ec0f06cb
Related-Bug: #2003631
(cherry picked from commit 6a40ec0b85)
2023-01-25 17:35:05 +00:00
defaults Allow StandardOutput to be set for a systemd service 2022-01-27 12:13:05 +00: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 Add ability to create templated services 2022-01-14 10:37:39 +00: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 Add ability to create templated services 2022-01-14 10:37:39 +00:00
tasks Ensure daemon is reloaded on socket change 2023-01-25 17:35:05 +00:00
templates Allow StandardOutput to be set for a systemd service 2022-01-27 12:13:05 +00: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 Update .gitreview for stable/yoga 2022-06-20 14:40:31 +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-28 22:25:29 +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