Ansible role to manage systemd mount points
d1dc867ef1
The mount role was using the systemd module to start / stop mounts however if a mount was restarted when it could have been reloaded the role could create a fair amount of chaos in a running environment. This change maps the mount states appropriately to the systemctl command options to ensure we're not needlessly restarting mounts should the unit files change. The `systemd_mount_states` has been added which will map the normal Ansible states to suitable systemd mount states and the mount state is being managed using the `systemctl` command instead of the ansible module. Change-Id: I5c7e5105e54d3ff9ad040f2a1d003d3dd12e4efb Signed-off-by: Kevin Carter <kevin.carter@rackspace.com> |
||
---|---|---|
defaults | ||
doc | ||
examples | ||
handlers | ||
html-docs | ||
meta | ||
releasenotes | ||
tasks | ||
templates | ||
tests | ||
vars | ||
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 | ||
test-requirements.txt | ||
tox.ini | ||
Vagrantfile |
Ansible systemd_mount
This Ansible role configures systemd mount files.
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 the plugins role in place clone the plugins repository
before running 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
See the "defaults.yml" file for a full list of all available options.
- name: Create a systemd mount file for Mount1 and 2
hosts: localhost
become: true
roles:
- role: "systemd_mount"
systemd_mounts:
- what: '/var/lib/machines.raw'
where: '/var/lib/machines'
type: 'btrfs'
options: 'loop'
unit:
ConditionPathExists:
- '/var/lib/machines.raw'
state: 'started'
enabled: true
- config_overrides: {}
what: "10.1.10.1:/srv/nfs"
where: "/var/lib/glance/images"
type: "nfs"
options: "_netdev,auto"
unit:
After:
- network.target