Virtual Test Suite for SSSD is a set of Vagrant and Ansible scripts that will automatically setup and provision several virtual machines that you can use to test SSSD.
It creates an out of the box working virtual environment with 389 Directory Server, IPA and Active Directory servers. It also creates an SSSD client machine enrolled to those servers, ready to build and debug your code.
- Basic usage
- Guest description
- Configuration file
- Environment variables
- Tips and Tricks
- Running SSSD tests
- Creating new boxes
The following examples uses the POOL_DIR
variable. Set this variable to
a directory that will hold the sssd-test-suite
libvirt's pool. The directory
should be on a large file system to hold all virtual machines. The directory
must not be a existing pool.
This project depends on multiple Python dependencies listed in
requirements.txt
and
Ansible
.
You can use these commands to install the dependencies on Fedora:
$ git clone https://github.com/SSSD/sssd-test-suite.git
$ sudo dnf install ansible
$ sudo pip3 install -r ./requirements.txt
There are number of other dependencies that are installed automatically using
sssd-test-suite provision host
command. You can see these dependencies
here.
$ POOL_DIR=/path/to/sssd/test/suite/pool
$ git clone https://github.com/SSSD/sssd-test-suite.git
$ cd sssd-test-suite
$ sudo dnf install ansible
$ sudo pip3 install -r ./requirements.txt
$ ./sssd-test-suite provision host --pool "$POOL_DIR"
$ cp ./configs/sssd-f30.json config.json
$ ./sssd-test-suite provision enroll client ipa
Now you can:
- ssh to the client machine with
./sssd-test-suite ssh client
- ssh to the ipa machine with
./sssd-test-suite ssh ipa
- open ipa web interface at
https://master.ipa.vm
$ POOL_DIR=/path/to/sssd/test/suite/pool
$ git clone https://github.com/SSSD/sssd-test-suite.git
$ cd sssd-test-suite
$ sudo dnf install ansible
$ sudo pip3 install -r ./requirements.txt
$ ./sssd-test-suite provision host --pool "$POOL_DIR"
$ cp ./configs/sssd-f30.json config.json
$ ./sssd-test-suite provision enroll client ldap
Now you can:
- ssh to the client machine with
./sssd-test-suite ssh client
- ssh to the ldap machine with
./sssd-test-suite ssh ldap
- access LDAP server at
ldap://master.ldap.vm
- load example data to the server with
./sssd-test-suite provision ldap --clear ./provision/ldif/basic.ldif
$ POOL_DIR=/path/to/sssd/test/suite/pool
$ git clone https://github.com/SSSD/sssd-test-suite.git
$ cd sssd-test-suite
$ sudo dnf install ansible
$ sudo pip3 install -r ./requirements.txt
$ ./sssd-test-suite provision host --pool "$POOL_DIR"
$ cp ./configs/sssd-f30.json config.json
$ ./sssd-test-suite provision enroll client ad
Now you can:
- ssh to the client machine with
./sssd-test-suite ssh client
- open remote desktop of ad machine with
./sssd-test-suite rdp ad -- -g 90%
$ POOL_DIR=/path/to/sssd/test/suite/pool
$ git clone https://github.com/SSSD/sssd-test-suite.git
$ cd sssd-test-suite
$ sudo dnf install ansible
$ sudo pip3 install -r ./requirements.txt
$ ./sssd-test-suite provision host --pool "$POOL_DIR"
$ cp ./configs/sssd-f30.json config.json
$ ./sssd-test-suite provision enroll all
Now you can:
- ssh to the client machine with
./sssd-test-suite ssh client
- ssh to the ldap machine with
./sssd-test-suite ssh ldap
- ssh to the ipa machine with
./sssd-test-suite ssh ipa
- open remote desktop of ad machine with
./sssd-test-suite rdp ad -- -g 90%
- open remote desktop of ad-child machine with
./sssd-test-suite rdp ad-child -- -g 90%
- open ipa web interface at
https://master.ipa.vm
- access LDAP server at
ldap://master.ldap.vm
- load example data to the server with
./sssd-test-suite provision ldap --clear ./provision/ldif/basic.ldif