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.
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:
./sssd-test-suite ssh client
./sssd-test-suite ssh ipa
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:
./sssd-test-suite ssh client
./sssd-test-suite ssh ldap
ldap://master.ldap.vm
./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:
./sssd-test-suite ssh client
./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:
./sssd-test-suite ssh client
./sssd-test-suite ssh ldap
./sssd-test-suite ssh ipa
./sssd-test-suite rdp ad -- -g 90%
./sssd-test-suite rdp ad-child -- -g 90%
https://master.ipa.vm
ldap://master.ldap.vm
./sssd-test-suite provision ldap --clear ./provision/ldif/basic.ldif