Ansible role to manage systemd mount points
480bb0c871
Improve logic for making systemd mount dependent on
network-online.target when network filesystem is being used.
This change improves feature implemented in commit [1].
Currently when device is specified by UUID or LABEL, dependency for
network-online.target is added even it's not a network filesystem.
We should be careful with this as it may create circular dependency.
In my case, circular dependency looked like this:
network.target ->
network-pre.target ->
netfilter-persistent.service ->
local-fs.target ->
var-lib-nova.mount ->
network-online.target ->
network.target
Additionally, this commit was originally supposed to add dependency also
for CIFS mounts(these ones starting from '//') but it never worked in my
opinion. It was also fixed by this change.
[1]
|
||
---|---|---|
defaults | ||
doc | ||
examples | ||
handlers | ||
html-docs | ||
meta | ||
releasenotes | ||
tasks | ||
templates | ||
tests | ||
vars | ||
zuul.d | ||
.gitignore | ||
.gitreview | ||
bindep.txt | ||
CONTRIBUTING.rst | ||
LICENSE | ||
manual-test.rc | ||
README.md | ||
requirements.yml | ||
run_tests.sh | ||
tox.ini | ||
Vagrantfile |
Ansible systemd_mount
This Ansible role configures systemd mount files.
This role requires the ansible-config_template
collection to be available
on your local system.
To get collection you can use use the ansible-galaxy
command on the
requirements.yml
file.. You need to install collection before
running this role.
# ansible-galaxy install -r requirements.yml
Release notes for the project can be found at: https://docs.openstack.org/releasenotes/ansible-role-systemd_mount
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