Ansible role to manage systemd services
Go to file
Kevin Carter 94ff90157a
Correct log warning for unknown lvalue
The default systemd service template was using the PrivateUsers
directive by default which was only implemented in systemd version 232.
Because we're running on older versions of systemd in a lot of cases the
this option was creating a log of journal spam. To correct the issue the
version of systemd is now detected and this default option will only be
used when the version of systemd is greater than or equal to version
232.

Change-Id: Ief1a2e155892ab7df821fbf049787e705da91b40
Closes-Bug: #1776818
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
2018-07-16 11:21:06 -05:00
defaults Add timer services 2018-05-02 11:19:50 -05:00
doc Follow the new PTI for document build 2018-07-02 08:38:48 +01:00
examples Add tests to the service role 2018-03-21 17:47:22 -05:00
handlers Update syntax to correct deprecation warnings 2018-06-27 18:34:33 -05:00
html-docs Add tests to the service role 2018-03-21 17:47:22 -05:00
meta Add Bionic testing 2018-05-14 20:46:31 +02:00
releasenotes Add base role tests 2018-03-19 23:01:15 -05:00
tasks Correct log warning for unknown lvalue 2018-07-16 11:21:06 -05:00
templates Correct log warning for unknown lvalue 2018-07-16 11:21:06 -05:00
tests Add timer services 2018-05-02 11:19:50 -05:00
zuul.d Switch to using project-templates 2018-06-20 17:43:43 -04:00
.gitignore Updated from OpenStack Ansible Tests 2018-03-28 09:23:39 +00:00
.gitreview Fix gitreview repo name 2018-03-19 14:48:14 -05:00
CONTRIBUTING.rst renamed /systemd_init/systemd_service/g 2018-03-12 16:45:53 -05: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 2018-06-06 00:47:01 +00:00
ansible-role-requirements.yaml updated things so this role is usable 2018-03-08 17:54:13 -06:00
bindep.txt Add base role tests 2018-03-19 23:01:15 -05:00
manual-test.rc Initial Commit 2017-05-19 10:24:55 -05:00
run_tests.sh Updated from OpenStack Ansible Tests 2018-04-30 05:18:39 +00:00
setup.cfg Add base role tests 2018-03-19 23:01:15 -05:00
setup.py Initial Commit 2017-05-19 10:24:55 -05:00
test-requirements.txt Follow the new PTI for document build 2018-07-02 08:38:48 +01:00
tox.ini Follow the new PTI for document build 2018-07-02 08:38:48 +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