mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2024-12-24 16:10:02 -06:00
CI: installation with customized DS config
Test covers: https://fedorahosted.org/freeipa/ticket/4949 https://fedorahosted.org/freeipa/ticket/4048 https://fedorahosted.org/freeipa/ticket/1930 Reviewed-By: Martin Babinsky <mbabinsk@redhat.com>
This commit is contained in:
parent
ae23432ef5
commit
5233165ce7
@ -288,11 +288,7 @@ def get_replica_filename(replica):
|
||||
return os.path.join(replica.config.test_dir, 'replica-info.gpg')
|
||||
|
||||
|
||||
def install_replica(master, replica, setup_ca=True, setup_dns=False,
|
||||
setup_kra=False):
|
||||
replica.collect_log(paths.IPAREPLICA_INSTALL_LOG)
|
||||
replica.collect_log(paths.IPAREPLICA_CONNCHECK_LOG)
|
||||
|
||||
def replica_prepare(master, replica):
|
||||
apply_common_fixes(replica)
|
||||
fix_apache_semaphores(replica)
|
||||
prepare_reverse_zone(master, replica.ip)
|
||||
@ -304,6 +300,16 @@ def install_replica(master, replica, setup_ca=True, setup_dns=False,
|
||||
paths.REPLICA_INFO_GPG_TEMPLATE % replica.hostname)
|
||||
replica_filename = get_replica_filename(replica)
|
||||
replica.put_file_contents(replica_filename, replica_bundle)
|
||||
|
||||
|
||||
def install_replica(master, replica, setup_ca=True, setup_dns=False,
|
||||
setup_kra=False):
|
||||
replica.collect_log(paths.IPAREPLICA_INSTALL_LOG)
|
||||
replica.collect_log(paths.IPAREPLICA_CONNCHECK_LOG)
|
||||
|
||||
replica_prepare(master, replica)
|
||||
|
||||
replica_filename = get_replica_filename(replica)
|
||||
args = ['ipa-replica-install', '-U',
|
||||
'-p', replica.config.dirman_password,
|
||||
'-w', replica.config.admin_password,
|
||||
|
@ -0,0 +1,94 @@
|
||||
|
||||
from ipatests.test_integration.base import IntegrationTest
|
||||
from ipatests.test_integration import tasks
|
||||
|
||||
DIRSRV_CONFIG_MODS = """
|
||||
# https://fedorahosted.org/freeipa/ticket/4949
|
||||
dn: cn=config,cn=ldbm database,cn=plugins,cn=config
|
||||
changetype: modify
|
||||
replace: nsslapd-db-locks
|
||||
nsslapd-db-locks: 100000
|
||||
|
||||
# https://fedorahosted.org/freeipa/ticket/1930
|
||||
dn: cn=config
|
||||
changetype: modify
|
||||
replace: nsslapd-allow-unauthenticated-binds
|
||||
nsslapd-allow-unauthenticated-binds: off
|
||||
-
|
||||
replace: nsslapd-require-secure-binds
|
||||
nsslapd-require-secure-binds: off
|
||||
-
|
||||
replace: nsslapd-allow-anonymous-access
|
||||
nsslapd-allow-anonymous-access: off
|
||||
-
|
||||
replace: nsslapd-minssf
|
||||
nsslapd-minssf: 0
|
||||
|
||||
# https://fedorahosted.org/freeipa/ticket/4048
|
||||
dn: cn=config
|
||||
changetype: modify
|
||||
replace: nssslapd-maxbersize
|
||||
nssslapd-maxbersize: 209715201
|
||||
|
||||
dn: cn=userRoot,cn=ldbm database,cn=plugins,cn=config
|
||||
changetype: modify
|
||||
replace: nsslapd-cachememsize
|
||||
nsslapd-cachememsize: 10485761
|
||||
|
||||
dn: cn=config,cn=ldbm database,cn=plugins,cn=config
|
||||
changetype: modify
|
||||
replace: nsslapd-import_cachesize
|
||||
nsslapd-import_cachesize: 20000001
|
||||
-
|
||||
replace: nsslapd-dbcachesize
|
||||
nsslapd-dbcachesize: 10000001
|
||||
"""
|
||||
|
||||
CONFIG_LDIF_PATH = "/root/dirsrv-config-mod.ldif"
|
||||
|
||||
|
||||
class TestCustomInstallMaster(IntegrationTest):
|
||||
"""
|
||||
Install master with customized DS config
|
||||
"""
|
||||
topology = 'star'
|
||||
|
||||
@classmethod
|
||||
def install(cls, mh):
|
||||
# just prepare LDIF file on both master and replica
|
||||
cls.master.put_file_contents(CONFIG_LDIF_PATH, DIRSRV_CONFIG_MODS)
|
||||
|
||||
def test_customized_ds_install_master(self):
|
||||
args = [
|
||||
'ipa-server-install', '-U',
|
||||
'-r', self.master.domain.name,
|
||||
'-p', self.master.config.dirman_password,
|
||||
'-a', self.master.config.admin_password,
|
||||
'--dirsrv-config-mods', CONFIG_LDIF_PATH,
|
||||
]
|
||||
self.master.run_command(args)
|
||||
|
||||
|
||||
class TestCustomInstallReplica(IntegrationTest):
|
||||
"""
|
||||
Install replica with customized DS config
|
||||
"""
|
||||
topology = 'star'
|
||||
num_replicas = 1
|
||||
|
||||
@classmethod
|
||||
def install(cls, mh):
|
||||
# just prepare LDIF file on both master and replica
|
||||
cls.replicas[0].put_file_contents(CONFIG_LDIF_PATH, DIRSRV_CONFIG_MODS)
|
||||
tasks.install_master(cls.master)
|
||||
|
||||
def test_customized_ds_install_replica(self):
|
||||
tasks.replica_prepare(self.master, self.replicas[0])
|
||||
replica_filename = tasks.get_replica_filename(self.replicas[0])
|
||||
args = ['ipa-replica-install', '-U',
|
||||
'-p', self.replicas[0].config.dirman_password,
|
||||
'-w', self.replicas[0].config.admin_password,
|
||||
'--ip-address', self.replicas[0].ip,
|
||||
'--dirsrv-config-mods', CONFIG_LDIF_PATH,
|
||||
replica_filename]
|
||||
self.replicas[0].run_command(args)
|
Loading…
Reference in New Issue
Block a user