If no group was specified, but a group by the same name as the user
exists, an error was raised in the situation where USERGROUPS_ENAB is
enabled in /etc/login.defs (which is the case for almost every major
linux distro). In this case, the user will be put in group 100 (which
is usually the "users" group on those same distros). This is currently
only done in the base class, as the issue may not exist on other
platforms like AIX or the BSDs.
Fixes#6210
Closes GH-6194.
These changes pass attribute modifications through to new directories during a recursive copy with an addition allowing for the directory mode to be set independantly.
From the documentation it is not immediately clear that the 'target'
option refers to a location on the remote host. This change emphasizes that.
In addition to .sql files, .bz2 and .gz files are supported for dumps and
restores. This is now documented.
Sometimes, `blkid` will incorrectly return no information about a block
device, even if it exists and has a valid filesystem. This causes the
*filesystem* module to fail if *force=no*. Instructing `blkid` to use
`/dev/null` as a cache file will force it to rescan the block device on
each run, making results more consistent.
Signed-off-by: Dustin C. Hatch <admiralnemo@gmail.com>
This addresses GH-5165 and adds the ability to check if a lvol exists.
The tests for this don't fit nicely into the current integration tests so they are below.
```
---
- name: remove any existing lv=one of vg=main
lvol: lv=one vg=main state=absent
- name: remove any existing lv=two of vg=main
lvol: lv=two vg=main state=absent
- name: check to see if lv=one of vg=main exists
lvol: lv=one vg=main state=present
ignore_errors: true
register: lvol_result0
- name: Assert that we will get a "No size given."
assert:
that:
- "'No size given.' in lvol_result0.msg"
- name: create lv=one of vg=main sized 30g
lvol: lv=one size=30g vg=main state=present
register: lvol_result1
- name: Assert that we made changes."
assert:
that:
- "lvol_result1.changed == True"
- name: check to see if lv=one of vg=main exists
lvol: lv=one vg=main state=present
register: lvol_result2
- name: Assert that we did not make changes."
assert:
that:
- "lvol_result2.changed == False"
- name: remove lv=one of vg=main
lvol: lv=one vg=main state=absent
- name: create lv=two of vg=main sized 30G
lvol: lv=two size=30G vg=main state=present
register: lvol_result3
- name: Assert that we made changes."
assert:
that:
- "lvol_result3.changed == True"
- name: reduce lv=two of vg=main to 15G
lvol: lv=two size=15G vg=main state=present
register: lvol_result4
- name: Assert that we made changes."
assert:
that:
- "lvol_result4.changed == True"
- name: increase lv=two of vg=main to 30G
lvol: lv=two size=30G vg=main state=present
register: lvol_result5
- name: Assert that we made changes."
assert:
that:
- "lvol_result5.changed == True"
- name: create lv=two of vg=main sized 30G when already exists at 30G
lvol: lv=two size=30g vg=main state=present
register: lvol_result6
- name: Assert that we did not make changes."
assert:
that:
- "lvol_result6.changed == False"
- name: remove lv=two of vg=main
lvol: lv=two vg=main state=absent
```
Bugfixes:
* the remote_src param was not being converted to a boolean correctly,
resulting in it never being used by the module as the default behavior
was remote_src=True (issue #5581)
* the remote_src param was not listed in the generic file params, leading
to a failure when the above bug regarding remote_src was fixed
* the delimiter should always end with a newline to ensure that the file
fragments do not run together on one line
Fixes#5581