Ansible role to manage systemd services
f79988efca
The unit section allows for user/group to be set via global variable however in some cases a specific unit may need to have a different user/group setup. This change allows for the users to be defined in the service definition and falls back to the global default. Change-Id: I69540efd2c993912b042a1b6b6a1dc279542f325 Signed-off-by: Kevin Carter <kevin.carter@rackspace.com> |
||
---|---|---|
defaults | ||
doc | ||
examples | ||
handlers | ||
html-docs | ||
meta | ||
releasenotes | ||
tasks | ||
templates | ||
tests | ||
zuul.d | ||
.gitignore | ||
.gitreview | ||
ansible-role-requirements.yaml | ||
bindep.txt | ||
CONTRIBUTING.rst | ||
LICENSE | ||
manual-test.rc | ||
README.md | ||
run_tests.sh | ||
setup.cfg | ||
setup.py | ||
tox.ini | ||
Vagrantfile |
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