summaryrefslogtreecommitdiffstats
path: root/ipapython/install
diff options
context:
space:
mode:
authorSimo Sorce <simo@redhat.com>2015-06-11 15:45:38 -0400
committerSimo Sorce <simo@redhat.com>2015-10-01 16:20:48 -0400
commit70bd0ec94c87069b0f4d8777332ac62bbd541ab6 (patch)
treee2ff5901c1cef8b583aec008d0d83ff64ad4f582 /ipapython/install
parent4622d20742d60bf57d5fda6effa534c2ed2a48d8 (diff)
downloadfreeipa-70bd0ec94c87069b0f4d8777332ac62bbd541ab6.tar.gz
freeipa-70bd0ec94c87069b0f4d8777332ac62bbd541ab6.tar.xz
freeipa-70bd0ec94c87069b0f4d8777332ac62bbd541ab6.zip
Implement replica promotion functionality
This patch implements a new flag --promote for the ipa-replica-install command that allows an administrative user to 'promote' an already joined client to become a full ipa server. The only credentials used are that of an administrator. This code relies on ipa-custodia being available on the peer master as well as a number of other patches to allow a computer account to request certificates for its services. Therefore this feature is marked to work only with domain level 1 and above servers. Ticket: https://fedorahosted.org/freeipa/ticket/2888 Signed-off-by: Simo Sorce <simo@redhat.com>
Diffstat (limited to 'ipapython/install')
-rw-r--r--ipapython/install/cli.py11
1 files changed, 8 insertions, 3 deletions
diff --git a/ipapython/install/cli.py b/ipapython/install/cli.py
index ce64baa5f..6d66e1551 100644
--- a/ipapython/install/cli.py
+++ b/ipapython/install/cli.py
@@ -20,6 +20,7 @@ __all__ = ['install_tool', 'uninstall_tool']
def install_tool(configurable_class, command_name, log_file_name,
positional_arguments=None, usage=None, debug_option=False,
+ use_private_ccache=True,
uninstall_log_file_name=None,
uninstall_positional_arguments=None, uninstall_usage=None):
if (uninstall_log_file_name is not None or
@@ -47,6 +48,7 @@ def install_tool(configurable_class, command_name, log_file_name,
usage=usage,
debug_option=debug_option,
uninstall_kwargs=uninstall_kwargs,
+ use_private_ccache=use_private_ccache,
)
)
@@ -71,6 +73,7 @@ class ConfigureTool(admintool.AdminTool):
configurable_class = None
debug_option = False
positional_arguments = None
+ use_private_ccache = True
@staticmethod
def _transform(configurable_class):
@@ -300,10 +303,12 @@ class ConfigureTool(admintool.AdminTool):
signal.signal(signal.SIGTERM, self.__signal_handler)
- # Use private ccache
- with private_ccache():
+ if self.use_private_ccache:
+ with private_ccache():
+ super(ConfigureTool, self).run()
+ cfgr.run()
+ else:
super(ConfigureTool, self).run()
-
cfgr.run()
@staticmethod