mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-08-05 05:34:22 -07:00
sysrc: add missing name format check
Also use `self.module.fail_json` through out
This commit is contained in:
parent
09909adec6
commit
fa91ad3ece
2 changed files with 19 additions and 3 deletions
|
@ -105,8 +105,7 @@ changed:
|
||||||
|
|
||||||
from ansible_collections.community.general.plugins.module_utils.module_helper import StateModuleHelper
|
from ansible_collections.community.general.plugins.module_utils.module_helper import StateModuleHelper
|
||||||
|
|
||||||
import errno
|
import re
|
||||||
import os
|
|
||||||
|
|
||||||
|
|
||||||
class Sysrc(StateModuleHelper):
|
class Sysrc(StateModuleHelper):
|
||||||
|
@ -125,6 +124,10 @@ class Sysrc(StateModuleHelper):
|
||||||
use_old_vardict = False
|
use_old_vardict = False
|
||||||
|
|
||||||
def __init_module__(self):
|
def __init_module__(self):
|
||||||
|
# OID style names are not supported
|
||||||
|
if not re.match('^[a-zA-Z0-9_]+$', self.vars.name):
|
||||||
|
self.module.fail_json(msg="Name may only contain alpha-numeric and underscore characters")
|
||||||
|
|
||||||
self.sysrc = self.module.get_bin_path('sysrc', True)
|
self.sysrc = self.module.get_bin_path('sysrc', True)
|
||||||
|
|
||||||
def _contains(self):
|
def _contains(self):
|
||||||
|
@ -165,7 +168,7 @@ class Sysrc(StateModuleHelper):
|
||||||
|
|
||||||
(rc, out, err) = self.module.run_command(cmd)
|
(rc, out, err) = self.module.run_command(cmd)
|
||||||
if "Permission denied" in err:
|
if "Permission denied" in err:
|
||||||
raise OSError(errno.EACCES, "Permission denied for %s" % self.vars.path)
|
self.module.fail_json(msg="Permission denied for %s" % self.vars.path)
|
||||||
|
|
||||||
return rc, out, err
|
return rc, out, err
|
||||||
|
|
||||||
|
|
|
@ -422,6 +422,19 @@
|
||||||
- >
|
- >
|
||||||
'k1="v2"' in sysrc_10394_content.stdout_lines
|
'k1="v2"' in sysrc_10394_content.stdout_lines
|
||||||
|
|
||||||
|
##
|
||||||
|
## sysrc - additional tests
|
||||||
|
##
|
||||||
|
- name: Ensure failure on OID style name since sysrc does not support them
|
||||||
|
sysrc:
|
||||||
|
name: not.valid.var
|
||||||
|
value: test
|
||||||
|
register: sysrc_name_check
|
||||||
|
failed_when:
|
||||||
|
- sysrc_name_check is not failed
|
||||||
|
- >
|
||||||
|
'Name may only contain alpha-numeric and underscore characters' != sysrc_name_check.msg
|
||||||
|
|
||||||
always:
|
always:
|
||||||
|
|
||||||
- name: Restore /etc/rc.conf
|
- name: Restore /etc/rc.conf
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue