Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/redhat-performance/satperf
Collection of Automation/Tools for Performance Analysis/Testing of Satelite 6
https://github.com/redhat-performance/satperf
Last synced: 13 days ago
JSON representation
Collection of Automation/Tools for Performance Analysis/Testing of Satelite 6
- Host: GitHub
- URL: https://github.com/redhat-performance/satperf
- Owner: redhat-performance
- License: gpl-2.0
- Created: 2016-01-12T04:18:41.000Z (almost 9 years ago)
- Default Branch: main
- Last Pushed: 2024-09-18T15:40:43.000Z (about 2 months ago)
- Last Synced: 2024-09-19T09:04:33.650Z (about 2 months ago)
- Language: Shell
- Homepage:
- Size: 2.04 MB
- Stars: 30
- Watchers: 16
- Forks: 26
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# satellite-performance
## What is satellite-performance
This project was started to run performance tests on Red Hat Satellite 6.
It does the following activities:- Satellite installation
- Uploads manifest, updates repo
- Concurrently syncs multiple repositories from repo server
- Creates lifecycle environments
- Creates capsules
- Concurrently syncronizes multiple capsules
- ..etcIt also provides a way to measure time for tests while capturing resources
using collectd.### Ansible for satellite-performance
Ansible is used to perform most of the work. There are playbooks for:
- Installing satellite
- Installing capsule
- Registering containers as hosts to capsule
- Install katello-agent and run errata
- Sync content
- Puppet module update## Installation
### Prerequisities
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
```### Configuration
1. 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).2. 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`.3. Save your Satellite manifest as `conf/manifest.zip` or elsewhere and configure path
in your `conf/satperf.local.yaml`.4. 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`## Usage
### To prepare Docker hosts:
```
$ ansible-playbook --private-key conf/id_rsa -i conf/hosts.ini playbooks/docker/docker-host.yaml
```### To prepare Satellite:
```
$ ansible-playbook --private-key conf/id_rsa -i conf/hosts.ini playbooks/satellite/installation.yaml --skip-tags "non-async"
```### To prepare Capsules:
```
$ ansible-playbook --private-key conf/id_rsa -i conf/hosts.ini playbooks/satellite/capsules.yaml --skip-tags "non-async"
```### To install Collectd:
```
$ 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.
### To install collectd->graphite dashboards:
```
$ ansible-playbook --private-key conf/id_rsa -i conf/hosts.ini playbooks/monitoring/dashboards-generic.yaml
```#### If collectd fails to send metrics to your grafana instance
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.