Ansible role to manage systemd services
520465f895
The connection plugin no longer falls back on using the inventory_hostname as the container_name. Set container_name as a host var for each container in the test inventory. In this role's case there are no containers, so I've just removed the group_var so that the test setup is uniform with other roles which do use containers. Change-Id: I5a5063c93eecc7981f6413f37871a97eb0197c85 |
||
---|---|---|
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