browbeat/ansible
jkilpatr 0f7680d7fc Removed check for RabbitMQ partitions on the undercloud
This task in the check playbook checks the undercloud
for RabbitMQ partitions and fails the playbook if none
are found.

This is wrong for two reasons.

1. Only the overcloud should be partitioned, the undercloud
   runs the undercloud and nothing else, no partitions
   are required.

2. This check does not have sufficient permissions to access
   the files required to even check for partitions. It would
   need to run with sudo.

The check as been removed as it is does nothing useful.

Closes-Bug:1593314

Change-Id: Ibb8cd19316cad21f0a0501222d5c3465e797f48f
2016-06-16 13:24:24 -04:00
..
browbeat Adding Adjustment for ovsdb 2016-05-31 11:27:48 -04:00
check Removed check for RabbitMQ partitions on the undercloud 2016-06-16 13:24:24 -04:00
gather Variable undefined fix in gather keystone metadata 2016-06-16 10:42:45 -04:00
install Merge "DNS issue with install" 2016-06-16 15:09:03 +00:00
tune Starting performance tune playbook. 2016-02-16 19:38:42 -05:00
ansible.cfg Add connmon support for cinder. 2016-01-08 09:02:17 -05:00
generate_tripleo_hostfile.sh Rename gen_hostfile.sh 2016-06-15 10:56:00 -04:00
README.cfme-allinone.rst Migrate Rest of Markdown to reStructuredText (rst) 2016-06-15 18:47:15 +01:00
README.collectd-generic.rst Migrate Rest of Markdown to reStructuredText (rst) 2016-06-15 18:47:15 +01:00
README.rst update README for docker svc installs 2016-06-15 18:26:21 -04:00

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"