Skip to content
Snippets Groups Projects
Commit 3e98ed54 authored by Thomas Woerner's avatar Thomas Woerner
Browse files

ansible_freeipa_module: Cleanup of unused functions and attributes

Moved ipamodule_base_spec into IPAAnsibleModule.
This simplifies to add addtitional base vars to derived classes without
the need to dusplicae the code to extend argument_spec.

Removed execute_api_command.
This is not used anymore.

Removed get_ipamodule_base_vars.
This is not used anymore.

Removed self.ipaadmin_* and self.ccache_* from IPAAnsibleModule.__init__
These are not used and therefore can be removed.
parent 55341a03
No related branches found
No related tags found
No related merge requests found
......@@ -109,22 +109,6 @@ else:
if six.PY3:
unicode = str
# AnsibleModule argument specs for all modules
ipamodule_base_spec = dict(
ipaadmin_principal=dict(type="str", default="admin"),
ipaadmin_password=dict(type="str", required=False, no_log=True),
)
# Get ipamodule common vars as nonlocal
def get_ipamodule_base_vars(module):
ipaadmin_principal = module_params_get(module, "ipaadmin_principal")
ipaadmin_password = module_params_get(module, "ipaadmin_password")
return dict(
ipaadmin_principal=ipaadmin_principal,
ipaadmin_password=ipaadmin_password,
)
def valid_creds(module, principal): # noqa
"""Get valid credentials matching the princial, try GSSAPI first."""
if "KRB5CCNAME" in os.environ:
......@@ -254,29 +238,6 @@ else:
return operation(version.parse(VERSION),
version.parse(requested_version))
def execute_api_command(module, principal, password, command, name, args):
"""
Execute an API command.
Get KRB ticket if not already there, initialize api, connect,
execute command and destroy ticket again if it has been created also.
"""
ccache_dir = None
ccache_name = None
try:
if not valid_creds(module, principal):
ccache_dir, ccache_name = temp_kinit(principal, password)
api_connect()
return api_command(module, command, name, args)
except Exception as e:
module.fail_json(msg=str(e))
finally:
temp_kdestroy(ccache_dir, ccache_name)
# fix pylint inconsistent return
return None
def date_format(value):
accepted_date_formats = [
LDAP_GENERALIZED_TIME_FORMAT, # generalized time
......@@ -611,24 +572,22 @@ else:
"""
# IPAAnsibleModule argument specs used for all modules
ipa_module_base_spec = dict(
ipaadmin_principal=dict(type="str", default="admin"),
ipaadmin_password=dict(type="str", required=False, no_log=True),
)
def __init__(self, *args, **kwargs):
# Extend argument_spec with ipamodule_base_spec
# Extend argument_spec with ipa_module_base_spec
if "argument_spec" in kwargs:
_spec = kwargs["argument_spec"]
_spec.update(ipamodule_base_spec)
_spec.update(self.ipa_module_base_spec)
kwargs["argument_spec"] = _spec
# pylint: disable=super-with-arguments
super(IPAAnsibleModule, self).__init__(*args, **kwargs)
# ipaadmin vars
self.ipaadmin_principal = self.params_get("ipaadmin_principal")
self.ipaadmin_password = self.params_get("ipaadmin_password")
# Attributes to store kerberos credentials (if needed)
self.ccache_dir = None
self.ccache_name = None
@contextmanager
def ipa_connect(self, context=None):
"""
......@@ -641,12 +600,16 @@ else:
commands will be executed.
"""
# ipaadmin vars
ipaadmin_principal = self.params_get("ipaadmin_principal")
ipaadmin_password = self.params_get("ipaadmin_password")
ccache_dir = None
ccache_name = None
try:
if not valid_creds(self, self.ipaadmin_principal):
if not valid_creds(self, ipaadmin_principal):
ccache_dir, ccache_name = temp_kinit(
self.ipaadmin_principal, self.ipaadmin_password)
ipaadmin_principal, ipaadmin_password)
api_connect(context)
except Exception as e:
self.fail_json(msg=str(e))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment