Starting performance tune playbook.
Change-Id: I4cc76534051b1bc6377aa82fb74fcbc7232169ed
This commit is contained in:
parent
f05854c417
commit
e891e8ba06
@ -4,13 +4,17 @@ Currently we only support Ansible 1.9.4.
|
|||||||
|
|
||||||
Playbooks for:
|
Playbooks for:
|
||||||
* Install Browbeat
|
* Install Browbeat
|
||||||
|
* Install collectd
|
||||||
* Install connmon
|
* Install connmon
|
||||||
* Install pbench
|
* Install grafana dashboards
|
||||||
* Install shaker
|
* Install shaker
|
||||||
* Check overcloud for performance issues
|
* 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
|
* 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
|
## To use
|
||||||
@ -34,28 +38,28 @@ Install Browbeat
|
|||||||
# ansible-playbook -i hosts install/browbeat.yml
|
# ansible-playbook -i hosts install/browbeat.yml
|
||||||
```
|
```
|
||||||
|
|
||||||
Install Connmon
|
Install Collectd Agent (Requires a Graphite Server)
|
||||||
```
|
|
||||||
# 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
|
|
||||||
Prior to installing the agent, please review the install/group_vars/all to ensure the
|
Prior to installing the agent, please review the install/group_vars/all to ensure the
|
||||||
correct params are passed
|
correct params are passed
|
||||||
```
|
```
|
||||||
# ansible-playbook -i hosts install/collectd
|
# 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:
|
## Performance Checks:
|
||||||
|
|
||||||
@ -64,22 +68,29 @@ Run the check playbook to identify common performance issues:
|
|||||||
# ansible-playbook -i hosts check/site.yml
|
# 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:
|
## Adjust your overcloud:
|
||||||
|
|
||||||
To modify the number of workers each service is running:
|
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.
|
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:
|
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:
|
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:
|
To switch to fernet tokens:
|
||||||
|
4
ansible/tune/README.md
Normal file
4
ansible/tune/README.md
Normal 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.
|
6
ansible/tune/group_vars/compute
Normal file
6
ansible/tune/group_vars/compute
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
---
|
||||||
|
#
|
||||||
|
# Tuning vars for computes
|
||||||
|
#
|
||||||
|
|
||||||
|
tuned_profile: virtual-host
|
6
ansible/tune/group_vars/controller
Normal file
6
ansible/tune/group_vars/controller
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
---
|
||||||
|
#
|
||||||
|
# Tuning vars for controllers
|
||||||
|
#
|
||||||
|
|
||||||
|
tuned_profile: throughput-performance
|
9
ansible/tune/roles/tuned/tasks/main.yml
Normal file
9
ansible/tune/roles/tuned/tasks/main.yml
Normal 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 }}
|
@ -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
11
ansible/tune/tune.yml
Normal 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
|
Loading…
Reference in New Issue
Block a user