Fix bug #1105 - incorrect use of lstrip()

Remove only the literal prefix '/dev/mapper/' - not any of the characters
in '/dev/mapper/' - from the name param of the crypttab module.
This commit is contained in:
Steve 2015-10-14 12:13:57 +01:00 committed by Matt Clay
parent d530764c49
commit fea8995df1

7
lib/ansible/modules/extras/system/crypttab.py Normal file → Executable file
View file

@ -29,7 +29,7 @@ options:
name:
description:
- Name of the encrypted block device as it appears in the C(/etc/crypttab) file, or
optionaly prefixed with C(/dev/mapper), as it appears in the filesystem. I(/dev/mapper)
optionaly prefixed with C(/dev/mapper/), as it appears in the filesystem. I(/dev/mapper/)
will be stripped from I(name).
required: true
default: null
@ -96,12 +96,15 @@ def main():
supports_check_mode = True
)
name = module.params['name'].lstrip('/dev/mapper')
backing_device = module.params['backing_device']
password = module.params['password']
opts = module.params['opts']
state = module.params['state']
path = module.params['path']
name = module.params['name']
if name.startswith('/dev/mapper/'):
name = name[len('/dev/mapper/'):]
if state != 'absent' and backing_device is None and password is None and opts is None:
module.fail_json(msg="expected one or more of 'backing_device', 'password' or 'opts'",