This project was started to run performance tests on Red Hat Satellite 6. It does the following activities:
It also provides a way to measure time for tests while capturing resources using collectd.
Ansible is used to perform most of the work. There are playbooks for:
You need Ansible installed.
For some playbooks, you might need extra roles and collections installed:
$ ansible-galaxy role install -r requirements.yml
$ ansible-galaxy collection install -r requirements.yml
Before running satellite-performance, check conf/satperf.yaml
, and create conf/satperf.local.yaml
and configure any overrides there (e.g. RHSM credentials, Satellite setup details etc).
Make sure that all hosts you are going to use have SSH certificate deployed for
user root and private certificate is configured in your conf/satperf.local.yaml
.
Save your Satellite manifest as conf/manifest.zip
or elsewhere and configure path
in your conf/satperf.local.yaml
.
If you are going to use satperf to setup your docker hosts, pay special
attention to their partitioning. There are few very simple pre-created
roles like: playbooks/satellite/roles/docker-host-kvm-partitioning
and .../docker-host-ec2-partitioning
. Please choose one or create new
one byt setting docker_host_partitioning
in config to "kvm" or "ec2" or
add new one and alter playbooks/satellite/docker-host.yaml
$ ansible-playbook --private-key conf/id_rsa -i conf/hosts.ini playbooks/docker/docker-host.yaml
$ ansible-playbook --private-key conf/id_rsa -i conf/hosts.ini playbooks/satellite/installation.yaml --skip-tags "non-async"
$ ansible-playbook --private-key conf/id_rsa -i conf/hosts.ini playbooks/satellite/capsules.yaml --skip-tags "non-async"
$ ansible-playbook --private-key conf/id_rsa -i conf/hosts.ini playbooks/monitoring/collectd-generic.yaml --tags "satellite6"
...Replace "satellite6" with whatever machines you intend to install collectd on.
$ ansible-playbook --private-key conf/id_rsa -i conf/hosts.ini playbooks/monitoring/dashboards-generic.yaml
You might wanna check the selinux policies. Try one of the following to counter "Permission Denied" log statement:
# setsebool -P collectd_tcp_network_connect 1
OR
# audit2allow -a
# audit2allow -a -M collectd_t
# semodule -i collectd_t.pp
OR
# semanage permissive -a httpd_t
..or all.