![Kevin Carter](/assets/img/avatar_default.png)
Systemd service units may require additional environment settings to be effective. This patch adds two new variables to the systemd_service role which will allow operators to add environment variables to a given service as needed. These options be be supplied globally or from within a service definition. Documentation on how these options are used has been added to the defaults file. A test has been added to ensure we're exercising the new capability. Change-Id: If4ea993b7173ac3218f051a1d4f0fba9aeb838ea Signed-off-by: Kevin Carter <kevin@cloudnull.com>
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
Description
Languages
Python
60%
Jinja
40%