From eced45bb539b2972f529042b1a05e9235b00c04a Mon Sep 17 00:00:00 2001
From: Thomas Woerner <twoerner@redhat.com>
Date: Tue, 17 Jul 2018 13:49:10 +0200
Subject: [PATCH] ipareplica/library/ipareplica_custodia_import_dm_password:
 Fix post 4.7 use

custodiainstance.import_dm_password does not support master_host_name post
4.6.90 anymore. A new inspect call has been added to verify if the arg is
supported or not.
---
 module_utils/ansible_ipa_replica.py                            | 2 ++
 .../library/ipareplica_custodia_import_dm_password.py          | 3 ++-
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/module_utils/ansible_ipa_replica.py b/module_utils/ansible_ipa_replica.py
index 0759ac8e..65e46298 100644
--- a/module_utils/ansible_ipa_replica.py
+++ b/module_utils/ansible_ipa_replica.py
@@ -42,6 +42,8 @@ else:
 if NUM_VERSION >= 40600:
     # IPA version >= 4.6
 
+    import inspect
+
     import contextlib
     import logging
 
diff --git a/roles/ipareplica/library/ipareplica_custodia_import_dm_password.py b/roles/ipareplica/library/ipareplica_custodia_import_dm_password.py
index 8c93356d..f564d163 100644
--- a/roles/ipareplica/library/ipareplica_custodia_import_dm_password.py
+++ b/roles/ipareplica/library/ipareplica_custodia_import_dm_password.py
@@ -183,7 +183,8 @@ def main():
 
         ansible_log.debug("-- CUSTODIA IMPORT DM PASSWORD --")
 
-        if not hasattr(custodiainstance, "get_custodia_instance"):
+        argspec = inspect.getargspec(custodia.import_dm_password)
+        if "master_host_name" in argspec.args:
             custodia.import_dm_password(config.master_host_name)
         else:
             custodia.import_dm_password()
-- 
GitLab