Ansible role to manage systemd services
Go to file
Kevin Carter 86ad639f41 Fix global lock path usage
The option `systemd_lock_path` is intended to be set globally
and locally however the global implementation has never been
implemented.

  * The global option will ensure the run and lock path is setup
    for all services within the `systemd_services` array.
  * The local option provices a way to override a global lock path
    based on specific service needs.

Change-Id: I373b8905c01ff666b5705bd3bb3c76c3e74a64ab
2018-12-27 17:52:57 -06:00
defaults Fix global lock path usage 2018-12-27 17:52:57 -06: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 Update reno for stable/rocky 2018-08-10 16:44:22 +00:00
tasks Fix global lock path usage 2018-12-27 17:52:57 -06:00
templates Fix global lock path usage 2018-12-27 17:52:57 -06:00
tests Set container_name as host_var in test inventory 2018-10-22 11:09:50 +00:00
zuul.d switch documentation job to new PTI 2018-08-21 13:21:43 +00:00
.gitignore Updated from OpenStack Ansible Tests 2018-10-02 14:57:14 +00:00
.gitreview Fix gitreview repo name 2018-03-19 14:48:14 -05: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
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
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 2018-09-29 04:57:52 +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
tox.ini fix tox python3 overrides 2018-11-05 06:42:26 +00:00
Vagrantfile Updated from OpenStack Ansible Tests 2018-09-28 06:24:12 +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