diff options
author | Simo Sorce <simo@redhat.com> | 2015-06-11 15:45:38 -0400 |
---|---|---|
committer | Simo Sorce <simo@redhat.com> | 2015-10-01 16:20:48 -0400 |
commit | 70bd0ec94c87069b0f4d8777332ac62bbd541ab6 (patch) | |
tree | e2ff5901c1cef8b583aec008d0d83ff64ad4f582 /ipapython/install | |
parent | 4622d20742d60bf57d5fda6effa534c2ed2a48d8 (diff) | |
download | freeipa-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.py | 11 |
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 |