Ansible role to manage systemd services
Go to file
Dmitriy Rabotyagov a0fb5a6df2 Filter loop lists instead of conditionally run them
Filtering loops should execute faster and do not iterate over elements
that we don't need.

Change-Id: Iee2e706c50b59679f48afbd6f067922887154e5c
2023-10-27 22:25:47 +02:00
defaults Fix linters and metadata 2023-07-12 11:58:33 +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 Reduce output by leveraging loop labels 2023-09-26 17:09:44 +00:00
html-docs Drop static content from html-docs 2019-11-14 19:36:18 +02:00
meta Fix linters and metadata 2023-07-12 11:58:33 +00:00
releasenotes Fix linters and metadata 2023-07-12 11:58:33 +00:00
tasks Filter loop lists instead of conditionally run them 2023-10-27 22:25:47 +02:00
templates Remove conditions on systemd version 2023-10-10 14:42:46 +01: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
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
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
manual-test.rc 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
run_tests.sh Updated from OpenStack Ansible Tests 2022-03-31 20:13:10 +00:00
tox.ini Use TOX_CONSTRAINTS_FILE 2023-08-08 17:35:55 +08:00
Vagrantfile Updated from OpenStack Ansible Tests 2021-12-17 16:50:42 +00:00

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