file - change warning to error (#66671)
When 'src' is specified without 'state', raise an exception
This commit is contained in:
parent
91063f40d6
commit
9276dd2007
3 changed files with 20 additions and 8 deletions
|
@ -0,0 +1,2 @@
|
|||
minor_changes:
|
||||
- file - specifying ``src`` without ``state`` is now an error
|
|
@ -291,15 +291,10 @@ def additional_parameter_handling(params):
|
|||
raise ParameterError(results={"msg": "recurse option requires state to be 'directory'",
|
||||
"path": params["path"]})
|
||||
|
||||
# Make sure that src makes sense with the state
|
||||
# Fail if 'src' but no 'state' is specified
|
||||
if params['src'] and params['state'] not in ('link', 'hard'):
|
||||
params['src'] = None
|
||||
module.warn("The src option requires state to be 'link' or 'hard'. This will become an"
|
||||
" error in Ansible 2.10")
|
||||
|
||||
# In 2.10, switch to this
|
||||
# raise ParameterError(results={"msg": "src option requires state to be 'link' or 'hard'",
|
||||
# "path": params["path"]})
|
||||
raise ParameterError(results={'msg': "src option requires state to be 'link' or 'hard'",
|
||||
'path': params['path']})
|
||||
|
||||
|
||||
def get_state(path):
|
||||
|
|
|
@ -345,3 +345,18 @@
|
|||
- "{{ output_dir }}/test_follow1_link"
|
||||
|
||||
# END #56928
|
||||
|
||||
|
||||
# Test failure with src and no state parameter
|
||||
- name: Specify src without state
|
||||
file:
|
||||
src: "{{ output_file }}"
|
||||
dest: "{{ output_dir }}/link.txt"
|
||||
ignore_errors: yes
|
||||
register: src_state
|
||||
|
||||
- name: Ensure src without state failed
|
||||
assert:
|
||||
that:
|
||||
- src_state is failed
|
||||
- "'src option requires state to be' in src_state.msg"
|
||||
|
|
Loading…
Reference in a new issue