Ansible role to manage systemd services
Go to file
Kevin Carter d1472289c2
Add timer services
Systemd provides for "timers" which is replacing cron. This change
implements timers as an option to any created service.

Change-Id: I8fdca58fcb43726560521c7c25f7e57cfb61353b
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
2018-05-02 11:19:50 -05:00
defaults Add timer services 2018-05-02 11:19:50 -05:00
doc Add base role tests 2018-03-19 23:01:15 -05:00
examples Add tests to the service role 2018-03-21 17:47:22 -05:00
handlers Add timer services 2018-05-02 11:19:50 -05:00
html-docs Add tests to the service role 2018-03-21 17:47:22 -05:00
meta renamed /systemd_init/systemd_service/g 2018-03-12 16:45:53 -05:00
releasenotes Add base role tests 2018-03-19 23:01:15 -05:00
tasks Add timer services 2018-05-02 11:19:50 -05:00
templates Add timer services 2018-05-02 11:19:50 -05:00
tests Add timer services 2018-05-02 11:19:50 -05:00
zuul.d Add base role tests 2018-03-19 23:01:15 -05: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 timer services 2018-05-02 11:19:50 -05:00
Vagrantfile Updated from OpenStack Ansible Tests 2018-03-28 09:23:39 +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 Initial Commit 2017-05-19 10:24:55 -05:00
tox.ini Update run_tests.sh and remove tests-repo-clone.sh 2018-03-27 23:12:28 +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

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