mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2024-12-26 00:41:25 -06:00
b5bdd07bc5
Add absolute_import from __future__ so that pylint does not fail and to achieve python3 behavior in python2. Reviewed-By: Christian Heimes <cheimes@redhat.com> Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com>
98 lines
2.7 KiB
Python
98 lines
2.7 KiB
Python
#
|
|
# Copyright (C) 2015 FreeIPA Contributors see COPYING for license
|
|
#
|
|
|
|
from __future__ import absolute_import
|
|
|
|
from ipapython.install import cli
|
|
from ipapython.install.core import knob, extend_knob
|
|
from ipaplatform.paths import paths
|
|
from ipaserver.install.server import ServerReplicaInstall
|
|
|
|
|
|
class CompatServerReplicaInstall(ServerReplicaInstall):
|
|
ca_cert_files = None
|
|
all_ip_addresses = False
|
|
no_wait_for_dns = True
|
|
nisdomain = None
|
|
no_nisdomain = False
|
|
no_sudo = False
|
|
request_cert = False
|
|
ca_file = None
|
|
zonemgr = None
|
|
|
|
replica_file = extend_knob(
|
|
ServerReplicaInstall.replica_file, # pylint: disable=no-member
|
|
cli_names='replica_file',
|
|
)
|
|
|
|
auto_password = knob(
|
|
str, None,
|
|
description="Password to join the IPA realm. Assumes bulk password "
|
|
"unless principal is also set. (domain level 1+) "
|
|
"Directory Manager (existing master) password. (domain "
|
|
"level 0)",
|
|
sensitive=True,
|
|
cli_names=['--password', '-p'],
|
|
cli_metavar='PASSWORD',
|
|
)
|
|
|
|
@property
|
|
def dm_password(self):
|
|
try:
|
|
return self.__dm_password
|
|
except AttributeError:
|
|
pass
|
|
|
|
if self.replica_file is not None:
|
|
return self.auto_password
|
|
|
|
return super(CompatServerReplicaInstall, self).dm_password
|
|
|
|
@dm_password.setter
|
|
def dm_password(self, value):
|
|
self.__dm_password = value
|
|
|
|
ip_addresses = extend_knob(
|
|
ServerReplicaInstall.ip_addresses, # pylint: disable=no-member
|
|
description="Replica server IP Address. This option can be used "
|
|
"multiple times",
|
|
)
|
|
|
|
admin_password = (
|
|
ServerReplicaInstall.admin_password # pylint: disable=no-member
|
|
)
|
|
admin_password = extend_knob(
|
|
admin_password,
|
|
cli_names=list(admin_password.cli_names) + ['-w'],
|
|
)
|
|
|
|
@admin_password.default_getter
|
|
def admin_password(self):
|
|
if self.replica_file is None and self.principal:
|
|
return self.auto_password
|
|
|
|
return super(CompatServerReplicaInstall, self).admin_password
|
|
|
|
@property
|
|
def host_password(self):
|
|
admin_password = (
|
|
super(CompatServerReplicaInstall, self).admin_password)
|
|
if (self.replica_file is None and
|
|
(not self.principal or admin_password)):
|
|
return self.auto_password
|
|
|
|
return super(CompatServerReplicaInstall, self).host_password
|
|
|
|
|
|
ReplicaInstall = cli.install_tool(
|
|
CompatServerReplicaInstall,
|
|
command_name='ipa-replica-install',
|
|
log_file_name=paths.IPAREPLICA_INSTALL_LOG,
|
|
debug_option=True,
|
|
)
|
|
|
|
|
|
def run():
|
|
ReplicaInstall.run_cli()
|