Skip to content

Commit dfbd056

Browse files
committed
Add BigLDAP topology
This patch expects that ldap container/vm has ldap backup 'largedata'. This backup is restored when BigLDAP topology is used. Restore process is quite fast (~2s).
1 parent a1c3083 commit dfbd056

2 files changed

Lines changed: 29 additions & 0 deletions

File tree

sssd_test_framework/topology.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
LDAPKRB5TopologyController,
2020
LDAPTopologyController,
2121
SambaTopologyController,
22+
BigLDAPTopologyController,
2223
)
2324

2425
__all__ = [
@@ -215,6 +216,19 @@ def test_ldap(client: Client, ldap: LDAP):
215216
.. topology-mark:: KnownTopology.Keycloak
216217
"""
217218

219+
BigLDAP = SSSDTopologyMark(
220+
name="big-ldap",
221+
topology=Topology(TopologyDomain("sssd", client=1, ldap=1)),
222+
controller=BigLDAPTopologyController(),
223+
domains=dict(test="sssd.ldap[0]"),
224+
fixtures=dict(
225+
client="sssd.client[0]", ldap="sssd.ldap[0]", provider="sssd.ldap[0]"
226+
),
227+
)
228+
"""
229+
.. topology-mark:: KnownTopology.BigLDAP
230+
"""
231+
218232

219233
class KnownTopologyGroup(KnownTopologyGroupBase):
220234
"""

sssd_test_framework/topology_controllers.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
"IPATrustADTopologyController",
2626
"IPATrustSambaTopologyController",
2727
"KeycloakTopologyController",
28+
"BigLDAPTopologyController",
2829
]
2930

3031

@@ -417,3 +418,17 @@ def topology_teardown(self, client: ClientHost, ipa: IPAHost, keycloak: Keycloak
417418
ipa.conn.run("ipa idp-del keycloak")
418419

419420
super().topology_teardown()
421+
422+
423+
class BigLDAPTopologyController(ProvisionedBackupTopologyController):
424+
"""
425+
LDAP Topology Controller with large amount of users and large groups.
426+
"""
427+
428+
def topology_setup(self, client: ClientHost, ldap: LDAPHost) -> None:
429+
ldap.conn.run(
430+
"systemctl stop dirsrv@localhost.service && "
431+
"dsctl slapd-localhost bak2db largedata && "
432+
"systemctl start dirsrv@localhost.service"
433+
)
434+
super().topology_setup()

0 commit comments

Comments
 (0)