Symas OpenLDAP Knowledge Base

Treadmill Testing

Step 1: Create UID = Treadmill

Step 2: Install Required Software

Install Symas Openldap Client Tools

Update the path with /opt/symas/bin

Tmux

Git

Perl

perl-LDAP

yum list | grep –color - ldap

Searches CentOS snapshot and remote software (internal and external) repositories

yum install -v -y perl-LDAP

perl-TermReadKey

yum list | grep –color - ReadKey

yum install -v -y perl-TermReadKey

Step 3: Download Treadmill

git clone https://github.com/Symas/ldap-treadmill.git

Move ldap-treadmill to /home/treadmill/

Step 4: Test Setup

Command-Line Testing

ldapwhoam -x -H ldap:// -D dc=example,dc=com -w secret

Should return dn:dc=example,dc=com

perl treadmill.pl -H ldap:// -D dc=example,dc=com -w secret –threads 10

Treadmill.conf Testing

Make a copy (renamed) of Treadmill.conf for each test to be run

Modify the .conf files for each test

URI - point to server and port to be tested

Basedn - domain of server

dc=example,dc=com

Binddn - rootdn of server

dc=example,dc=com

cn=username,o=domain

Pass - rootpw of server

Profile - test to be run (typically basic)

Threads - 5 if multiple tests running, 10 if only a single test

Duration - 0 is a perpertual loop (use ctrl+c to stop)

Save file

Use multiple windows in Tmux to run multiple/simultaneous tests

perl treadmill.pl –config treadmill.conf

perl treadmill.pl –config treadmill1.conf

perl treadmill.pl –config treadmill2.conf

perl treadmill.pl –config treadmill3.conf

Notes:

Manpage for Treadmill

perldoc treadmill.pod

Profiles directory

Where tests are configured/stored

Treadmill directory

Where perl modules are configured/stored

Step 5: Test connection

ldapwhoam -x -H ldap:// -D dc=example,dc=com -w secret

Should return dn:dc=example,dc=com

Step 6: Start Test

perl treadmill.pl -H ldap:// -D dc=example,dc=com -w secret –threads 10

perl

to test multiple servers copy treadmill.conf to treadmill2.conf (customize as needed)

perl treadmill.pl –config treadmill2.conf

Run treadmill against the master

Setup syncrepl between master and replica

Run sync-check.pl on master to test replication status