summaryrefslogtreecommitdiffstats
path: root/ipaclient
diff options
context:
space:
mode:
authorJan Cholasta <jcholast@redhat.com>2017-03-08 08:03:13 +0000
committerMartin Basti <mbasti@redhat.com>2017-03-13 10:12:40 +0100
commit2fc9feddd02bb17c3a9eb7efde83277fcf93252c (patch)
tree337c32f07dfbfdf89b35ff61e9a5cbfcd6141a82 /ipaclient
parent774d8d0a5dc0ac175ab0cecc76001632c2a79744 (diff)
downloadfreeipa-2fc9feddd02bb17c3a9eb7efde83277fcf93252c.tar.gz
freeipa-2fc9feddd02bb17c3a9eb7efde83277fcf93252c.tar.xz
freeipa-2fc9feddd02bb17c3a9eb7efde83277fcf93252c.zip
install: re-introduce option groups
Re-introduce option groups in ipa-client-install, ipa-server-install and ipa-replica-install. https://pagure.io/freeipa/issue/6392 Reviewed-By: Stanislav Laznicka <slaznick@redhat.com>
Diffstat (limited to 'ipaclient')
-rw-r--r--ipaclient/install/automount.py6
-rw-r--r--ipaclient/install/client.py17
-rw-r--r--ipaclient/install/ipa_client_install.py9
3 files changed, 16 insertions, 16 deletions
diff --git a/ipaclient/install/automount.py b/ipaclient/install/automount.py
index bb7204506..23e9cfe1d 100644
--- a/ipaclient/install/automount.py
+++ b/ipaclient/install/automount.py
@@ -8,9 +8,10 @@ Automount installer module
from ipalib.install import service
from ipalib.install.service import enroll_only
-from ipapython.install.core import knob
+from ipapython.install.core import group, knob
+@group
class AutomountInstallInterface(service.ServiceInstallInterface):
"""
Interface of the automount installer
@@ -19,9 +20,10 @@ class AutomountInstallInterface(service.ServiceInstallInterface):
* ipa-client-install
* ipa-client-automount
"""
+ description = "Automount"
automount_location = knob(
- str, 'default',
+ str, None,
description="Automount location",
)
automount_location = enroll_only(automount_location)
diff --git a/ipaclient/install/client.py b/ipaclient/install/client.py
index b25122334..1f5ba168c 100644
--- a/ipaclient/install/client.py
+++ b/ipaclient/install/client.py
@@ -50,7 +50,7 @@ from ipapython import certdb, kernel_keyring, ipaldap, ipautil
from ipapython.admintool import ScriptError
from ipapython.dn import DN
from ipapython.install import typing
-from ipapython.install.core import knob
+from ipapython.install.core import group, knob, extend_knob
from ipapython.install.common import step
from ipapython.ipa_log_manager import log_mgr, root_logger
from ipapython.ipautil import (
@@ -3355,6 +3355,7 @@ def init(installer):
installer.sssd = not installer.no_sssd
+@group
class ClientInstallInterface(hostname_.HostNameInstallInterface,
service.ServiceAdminInstallInterface,
sssd.SSSDInstallInterface):
@@ -3367,9 +3368,10 @@ class ClientInstallInterface(hostname_.HostNameInstallInterface,
* ipa-replica-prepare
* ipa-replica-install
"""
+ description = "Client"
- principal = knob(
- bases=service.ServiceAdminInstallInterface.principal,
+ principal = extend_knob(
+ service.ServiceAdminInstallInterface.principal,
description="principal to use to join the IPA realm",
)
principal = enroll_only(principal)
@@ -3518,8 +3520,8 @@ class ClientInstall(ClientInstallInterface,
replica_file = None
dm_password = None
- ca_cert_files = knob(
- bases=ClientInstallInterface.ca_cert_files,
+ ca_cert_files = extend_knob(
+ ClientInstallInterface.ca_cert_files,
)
@ca_cert_files.validator
@@ -3544,11 +3546,6 @@ class ClientInstall(ClientInstallInterface,
def prompt_password(self):
return self.interactive
- automount_location = knob(
- bases=automount.AutomountInstallInterface.automount_location,
- default=None,
- )
-
no_ac = knob(
None,
description="do not modify the nsswitch.conf and PAM configuration",
diff --git a/ipaclient/install/ipa_client_install.py b/ipaclient/install/ipa_client_install.py
index 4ac7cf51f..da661e6bc 100644
--- a/ipaclient/install/ipa_client_install.py
+++ b/ipaclient/install/ipa_client_install.py
@@ -5,16 +5,17 @@
from ipaclient.install import client
from ipaplatform.paths import paths
from ipapython.install import cli
-from ipapython.install.core import knob
+from ipapython.install.core import knob, extend_knob
class StandaloneClientInstall(client.ClientInstall):
no_host_dns = False
no_wait_for_dns = False
- principal = knob(
- bases=client.ClientInstall.principal,
- cli_names=list(client.ClientInstall.principal.cli_names) + ['-p'],
+ principal = client.ClientInstall.principal
+ principal = extend_knob(
+ principal,
+ cli_names=list(principal.cli_names) + ['-p'],
)
password = knob(