Specifically when the graphite, carbon-cache and grafana services are installed on undercloud host, the user should know to use the docker playbooks. This is to avoid package version requirement issues. This is a change to the README.rst to make it more clear to the end user when to use which playbook. README can be viewed here: http://rst.ninjs.org/?n=56d6bb46eadab514752335f7e11e3881&theme=basic Change-Id: I929dd840b22a0342a5044aadb4e5141af936d1fa
6.4 KiB
Table of Contents
Ansible for Browbeat
Currently we support Ansible 1.9.4 within browbeat-venv and Ansible 2.0+ for installation.
- Playbooks for:
-
- Installing Browbeat, collectd, connmon, ELK stack and clients, graphite, grafana, and grafana dashboards
- Check overcloud for performance issues
- Tune overcloud for performance (Experimental)
- Adjust number of workers for cinder/keystone/neutron/nova
- Deploy keystone in eventlet/httpd
- Adjust keystone token type to UUID/Fernet
- Adjust neutron l3 agents
- Adjust nova greenlet_pool_size_max_overflow
Getting Started
Install your public key into stack's authorized_keys
# ssh-copy-id stack@<undercloud-ip>
Then run generate_tripleo_hosts.sh script to generate your overcloud's hosts file for ansible and generate a "jumpbox" ssh config:
# ./generate_tripleo_hostfile.sh <undercloud-ip> ~/.ssh/config
Review the hosts file the script generates.
Ansible Installers
Install Browbeat
Image upload requires Ansible 2.0
# vi install/group_vars/all.yml # Edit ansible vars file (Installation parameters)
# ansible-playbook -i hosts install/browbeat.yml
Install Collectd Agent (Requires a Graphite Server)
Prior to installing the agent, please review install/group_vars/all.yml file to ensure the correct parameters are passed.
# ansible-playbook -i hosts install/collectd-openstack.yml
To install collectd on everything other than Openstack machines, view the README for collectd-generic.
Install Connmon
Requires Ansible 2.0
# ansible-playbook -i hosts install/connmon.yml
Install Generic ELK Stack
ansible-playbook -i hosts install/elk.yml
Install ELK Stack (on an OpenStack Undercloud)
sed -i 's/nginx_kibana_port: 80/nginx_kibana_port: 8888/' install/group_vars/all.yml
sed -i 's/elk_server_ssl_cert_port: 8080/elk_server_ssl_cert_port: 9999/' install/group_vars/all.yml
ansible-playbook -i hosts install/elk.yml
Install Generic ELK Clients
ansible-playbook -i hosts install/elk-client.yml --extra-vars 'elk_server=X.X.X.X'
- elk_server variable will be generated after the ELK stack playbook runs
Install ELK Clients for OpenStack nodes
ansible-playbook -i hosts install/elk-openstack-client.yml --extra-vars 'elk_server=X.X.X.X'
- elk_server variable will be generated after the ELK stack playbook runs
Install graphite service
When installing graphite, carbon-cache and grafana on a director/rdo-manager undecloud host, Use the docker playbook instead of this one. This playbook is intended for use when you have enough resources to allocate dedicated systems for the graphing/stats related services. Prior to installing grafana, please review install/group_vars/all.yml file and your ansible inventory file You will need to define values for the grafana_host and graphite_host IP addresses here.
# ansible-playbook -i hosts install/graphite.yml
Install graphite service as a docker container
Prior to installing graphite as a docker container, please review install/group_vars/all.yml file and ensure the docker related settings will work with your target host. This playbook is ideal when installing services on director/rdo-manager undercloud host(s).
# ansible-playbook -i hosts install/graphite-docker.yml
Install grafana service
When installing graphite, carbon-cache and grafana on a director/rdo-manager undecloud host, Use the docker playbook instead of this one. This playbook is intended for use when you have enough resources to allocate dedicated systems for the graphing/stats related services. Prior to installing grafana, please review install/group_vars/all.yml file and your ansible inventory file You will need to define values for the grafana_host and graphite_host IP addresses here.
# ansible-playbook -i hosts install/grafana.yml
Install grafana service as a docker container
Prior to installing graphite as a docker container, please review install/group_vars/all.yml file and ensure the docker related settings will work with your target host. This playbook is ideal when installing services on director/rdo-manager undercloud host(s).
# ansible-playbook -i hosts install/grafana-docker.yml
Install Grafana Dashboards (Requires a Grafana Server)
Review install/group_vars/all.yml before deploying the grafana dashboards
# ansible-playbook -i hosts install/dashboards-openstack.yml
Performance Check
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-workers.yml -e "workers=8"
Openstack services 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-workers.yml -e "workers=8 keystone_deployment=eventlet"
To run Keystone in httpd, change keystone_deployment to httpd:
# ansible-playbook -i hosts browbeat/adjustment-workers.yml -e "workers=8 keystone_deployment=httpd"
To switch to fernet tokens:
# ansible-playbook -i hosts browbeat/adjustment-keystone-token.yml -e "token_provider=fernet"
To switch to UUID tokens:
# ansible-playbook -i hosts browbeat/adjustment-keystone-token.yml -e "token_provider=uuid"