An external quality assurance toolkit.
- Cluster not deployed.
- Datera nodes installed running Datera OS.
- At least one "client" or head node with 2 high-speed TCP/IP connections to the Datera nodes running CentOS7.5.
- External NTP.
- Two /25 networks for front end traffic.
- Two /25 networks for back end traffic.
- Clients must have access to
yum
repositories, or communicate a way to install distribution packages, such as iscsi, multipath, etc. The packages will be installed as part of the cluster deploy process:iscsi-initiator-utils
sg3_utils
sysstat
fio
lsscsi
python-pip
curl
- Execution host for python tests must have access to common python packages and pip repositories.
- Execution host must have
sshpass
,rsync
, andwget
- Two json description files. You may call these whatever you want but they must end in
.json
- equipment description: everything needed to test a cluster. See
sample/equipment.json
for an example of what this looks like - cluster init description: everything needed to deploy a cluster. See
sample/init.json
for an example of what this looks like.
- equipment description: everything needed to test a cluster. See
All commands below should be run from the directory on the executor where the toolkit has been unpacked or cloned.
pip install -r requirements.txt
python deploy_cluster.py -c path/to/equipment/description.json path/to/init/description.json
The deploy_cluster
script will log to a textfile in the current directory. The filename will be prefixed with "datera_cluster_deploy-", eg datera_cluster_deploy-1581051882.txt
.
It's recommended to you first run the "logcollect" test to ensure that logs can be gathered from the clients & storage nodes in the event of test failures.
python run_tests.py -c path/to/equipment/description.json --test-logcollect
python run_tests.py -c path/to/equipment/description.json