Starting performance tune playbook.

Change-Id: I4cc76534051b1bc6377aa82fb74fcbc7232169ed
This commit is contained in:
Alex Krzos 2016-02-16 19:38:42 -05:00
parent f05854c417
commit e891e8ba06
7 changed files with 78 additions and 22 deletions

View File

@ -4,13 +4,17 @@ Currently we only support Ansible 1.9.4.
Playbooks for:
* Install Browbeat
* Install collectd
* Install connmon
* Install pbench
* Install grafana dashboards
* Install shaker
* Check overcloud for performance issues
* Adjust number of workers for nova/keystone
* Tune overcloud for performance (Experimental)
* Adjust number of workers for cinder/keystone/neutron/nova
* Deploy keystone in eventlet/httpd
* Switch keystone token type to UUID/Fernet
* Adjust keystone token type to UUID/Fernet
* Adjust neutron l3 agents
* Adjust nova greenlet_pool_size / max_overflow
## To use
@ -34,28 +38,28 @@ Install Browbeat
# ansible-playbook -i hosts install/browbeat.yml
```
Install Connmon
```
# ansible-playbook -i hosts install/connmon.yml
```
Install Pbench (Requires some knowledge of setting up pbench to have this functionality work completely)
```
# ansible-playbook -i hosts install/pbench.yml
```
Install Shaker
```
# ansible-playbook -i hosts install/shaker.yml
```
Install Collectd Agent
Install Collectd Agent (Requires a Graphite Server)
Prior to installing the agent, please review the install/group_vars/all to ensure the
correct params are passed
```
# ansible-playbook -i hosts install/collectd
```
Install Connmon
```
# ansible-playbook -i hosts install/connmon.yml
```
Install Grafana Dashboards (Requires a Grafana Server)
* Review install/group_vars/all before deploying the grafana dashboards
```
# ansible-playbook -i hosts install/dashboards.yml
```
Install Shaker
```
# ansible-playbook -i hosts install/shaker.yml
```
## Performance Checks:
@ -64,22 +68,29 @@ Run the check playbook to identify common performance issues:
# ansible-playbook -i hosts check/site.yml
```
## Performance Tune:
Run the tune playbook to tune your OSPd deployed cloud for performance:
```
# ansible-playbook -i hosts tune/tune.yml
```
## Adjust your overcloud:
To modify the number of workers each service is running:
```
# ansible-playbook -i hosts browbeat/adjustment.yml -e "workers=8"
# ansible-playbook -i hosts browbeat/adjustment-workers.yml -e "workers=8"
```
Nova and Keystone will be running 8 workers per service.
To modify number of workers each service is running and ensure Keystone is deployed in eventlet:
```
# ansible-playbook -i hosts browbeat/adjustment.yml -e "workers=8 keystone_deployment=eventlet"
# ansible-playbook -i hosts browbeat/adjustment-workers.yml -e "workers=8 keystone_deployment=eventlet"
```
To run Keystone in httpd, change keystone_deployment to httpd:
```
# ansible-playbook -i hosts browbeat/adjustment.yml -e "workers=8 keystone_deployment=httpd"
# ansible-playbook -i hosts browbeat/adjustment-workers.yml -e "workers=8 keystone_deployment=httpd"
```
To switch to fernet tokens:

4
ansible/tune/README.md Normal file
View File

@ -0,0 +1,4 @@
# Browbeat OSP Performance Tuning Playbook
This playbook aims to tune OSP deployed on Red Hat Enterprise Linux.
The playbook in here is currently experimental.

View File

@ -0,0 +1,6 @@
---
#
# Tuning vars for computes
#
tuned_profile: virtual-host

View File

@ -0,0 +1,6 @@
---
#
# Tuning vars for controllers
#
tuned_profile: throughput-performance

View File

@ -0,0 +1,9 @@
---
#
# Sets correct tuned profile on each host
# See https://bugzilla.redhat.com/show_bug.cgi?id=1246645
#
- name: Set tuned profile
become: true
command: tuned-adm profile {{ tuned_profile }}

View File

@ -0,0 +1,9 @@
---
#
# Removes 99-dhcp-all-interfaces.rules to prevent creating failed systemd resources
# See https://bugzilla.redhat.com/show_bug.cgi?id=1293712
#
- name: Remove 99-dhcp-all-interfaces.rules
become: true
file: path=/etc/udev/rules.d/99-dhcp-all-interfaces.rules state=absent

11
ansible/tune/tune.yml Normal file
View File

@ -0,0 +1,11 @@
---
#
# Tunes overcloud for browbeat/performance
#
- hosts: controller:compute
gather_facts: false
remote_user: heat-admin
roles:
- udev_dhcp_all_interfaces
- tuned