From 935d37ce045127045e5055181bd18ce632817310 Mon Sep 17 00:00:00 2001 From: Will Foster Date: Wed, 15 Jun 2016 16:51:42 +0100 Subject: [PATCH] Migrate Rest of Markdown to reStructuredText (rst) This migrates the rest of the markdown files to rst. Below, you can see what these will render like: Patchset #2: fixing atrocious whitespace cfme-allinone.rst http://rst.ninjs.org/?n=706a1b93e3b2dc3c53172dfb542b5ef2&theme=basic README.rst http://rst.ninjs.org/?n=820cd51834cc7e21f50d04bb49bb61d6&theme=basic README.collectd-generic.rst http://rst.ninjs.org/?n=368648871a4eef2cade51d2b3f3b29d2&theme=basic Change-Id: I4a422b7939075a35f04c50e19d7e92d3e9faa00e --- ansible/README.cfme-allinone.md | 52 ------- ansible/README.cfme-allinone.rst | 61 ++++++++ ansible/README.collectd-generic.md | 64 --------- ansible/README.collectd-generic.rst | 72 ++++++++++ ansible/README.md | 153 -------------------- ansible/README.rst | 216 ++++++++++++++++++++++++++++ 6 files changed, 349 insertions(+), 269 deletions(-) delete mode 100644 ansible/README.cfme-allinone.md create mode 100644 ansible/README.cfme-allinone.rst delete mode 100644 ansible/README.collectd-generic.md create mode 100644 ansible/README.collectd-generic.rst delete mode 100644 ansible/README.md create mode 100644 ansible/README.rst diff --git a/ansible/README.cfme-allinone.md b/ansible/README.cfme-allinone.md deleted file mode 100644 index 9a26d5792..000000000 --- a/ansible/README.cfme-allinone.md +++ /dev/null @@ -1,52 +0,0 @@ -# Setting up a CFME or ManageIQ VM for All-In-One Performance Monitoring - -1. Deploy ManageIQ/CFME appliance -2. Add additional disk to host Graphite's whisper database, mount disk at /var/lib/carbon -3. Clone browbeat - - ``` - [root@manageiq ~]# git clone https://github.com/jtaleric/browbeat.git - [root@manageiq ~]# cd browbeat/ansible - ``` -4. Create ansible inventory file - - ``` - [graphite] - localhost ansible_connection=local - - [grafana] - localhost ansible_connection=local - - [cfme-all-in-one] - localhost ansible_connection=local - ``` -5. Install ansible - - ``` - [root@manageiq ansible]# easy_install pip - [root@manageiq ansible]# yum install -y python-devel gcc-c++ - [root@manageiq ansible]# pip install ansible - ``` -6. Setup installation variables at install/group_vars/all by modifying following variables - - ``` - graphite_host: localhost - graphite_port: 9000 - graphite_prefix: manageiq - grafana_host: localhost - grafana_port: 9001 - ``` -7. Run playbooks for collectd/graphite/grafana install - - ``` - [root@manageiq ansible]# ansible-playbook -i hosts install/graphite.yml - [root@manageiq ansible]# ansible-playbook -i hosts install/grafana.yml - [root@manageiq ansible]# ansible-playbook -i hosts install/collectd-generic.yml --tags="cfme-all-in-one" - ``` -8. Upload dashboards via ansible - - ``` - [root@manageiq ansible]# ansible-playbook -i hosts install/dashboards-generic.yml - ``` - -9. Enjoy your now performance monitored CFME/ManageIQ appliance, view grafana dashboards at http://(manageiq-ip-address):9001/ diff --git a/ansible/README.cfme-allinone.rst b/ansible/README.cfme-allinone.rst new file mode 100644 index 000000000..94098fd06 --- /dev/null +++ b/ansible/README.cfme-allinone.rst @@ -0,0 +1,61 @@ +Setting up a CFME or ManageIQ VM for All-In-One Performance Monitoring +====================================================================== + +1. Deploy ManageIQ/CFME appliance +2. Add additional disk to host Graphite's whisper database, mount disk + at /var/lib/carbon +3. Clone browbeat + +:: + + [root@manageiq ~]# git clone https://github.com/jtaleric/browbeat.git`` + [root@manageiq ~]# cd browbeat/ansible`` + +4. Create ansible inventory file + +:: + + [graphite] + localhost ansible_connection=local + + [grafana] + localhost ansible_connection=local + + [cfme-all-in-one] + localhost ansible_connection=local + +5. Install ansible + +:: + + [root@manageiq ansible]# easy_install pip + [root@manageiq ansible]# yum install -y python-devel gcc-c++ + [root@manageiq ansible]# pip install ansible + +6. Setup installation variables at *install/group_vars/all.yml* by modifying +following variables + +:: + + graphite_host: localhost + graphite_port: 9000 + graphite_prefix: manageiq + grafana_host: localhost + grafana_port: 9001 + +7. Run playbooks for collectd/graphite/grafana install + +:: + + [root@manageiq ansible]# ansible-playbook -i hosts install/graphite.yml + [root@manageiq ansible]# ansible-playbook -i hosts install/grafana.yml + [root@manageiq ansible]# ansible-playbook -i hosts install/collectd-generic.yml --tags="cfme-all-in-one" + +8. Upload dashboards via ansible + +:: + + [root@manageiq ansible]# ansible-playbook -i hosts install/dashboards-generic.yml + +9. Enjoy your now performance monitored CFME/ManageIQ appliance, view + grafana dashboards at http://(manageiq-ip-address):9001/ diff --git a/ansible/README.collectd-generic.md b/ansible/README.collectd-generic.md deleted file mode 100644 index 6e5bb9aba..000000000 --- a/ansible/README.collectd-generic.md +++ /dev/null @@ -1,64 +0,0 @@ -# Installing and configuring collectd agent on other machines - -Collectd configurations are built for these types of machines: -* baremetal -* guest -* cfme -* cfme-vmdb -* cfme-all-in-one -* graphite/grafana -* ose -* satellite6 - -To install collectd agent and configure collectd to send metrics to your Graphite server, simply add the host to your ansible inventory file under the correct group. - -Complete Example Inventory file: -``` -[undercloud] -undercloud - -[controller] -overcloud-controller-0 -overcloud-controller-1 -overcloud-controller-2 - -[compute] -overcloud-compute-0 -overcloud-compute-1 - -[ceph] -overcloud-cephstorage-0 - -[baremetal] -x.x.x.x # An ip adddress or fqdn or specificed host in ~/.ssh/config - -[guest] -x.x.x.x # An ip adddress or fqdn or specificed vm in ~/.ssh/config - -[cfme] -x.x.x.x # An ip address of a Red Hat Cloud Forms appliance or ManageIQ appliance - -[cfme-vmdb] -x.x.x.x # An ip address of a Red Hat Cloud Forms appliance with vmdb - -[cfme-all-in-one] -x.x.x.x # An ip address of a Red Hat Cloud Forms appliance or ManageIQ appliance with Graphite and Grafana - -[graphite] -x.x.x.x # An ip address of a Graphite/Grafana Server - -[ose] -x.x.x.x # An ip address of a Red Hat Openshift Enterprise Node - -[satellite6] -x.x.x.x # An ip address of a Red Hat Satellite 6 Server -``` - -Example running the collectd-generic playbook on the above specified cfme machine: -``` -# ansible-playbook -i hosts install/collectd-generic.yml --tags "cfme" -``` -Replace "cfme" with whatever machines you intend to install collectd on. - - -Note: Openstack host groups (undercloud, controller, compute, ceph) are ignored with the collectd-generic.yml playbook. diff --git a/ansible/README.collectd-generic.rst b/ansible/README.collectd-generic.rst new file mode 100644 index 000000000..33a8b2fab --- /dev/null +++ b/ansible/README.collectd-generic.rst @@ -0,0 +1,72 @@ +Installing and configuring collectd agent on other machines +=========================================================== + +Collectd configurations are built for these types of machines: + * baremetal + * guest + * cfme + * cfme-vmdb + * cfme-all-in-one + * graphite/grafana + * ose + * satellite6 + +To install collectd agent and configure collectd to send metrics to your +Graphite server, simply add the host to your ansible inventory file +under the correct group. + +Complete Example Inventory file: + +:: + + [undercloud] + undercloud + + [controller] + overcloud-controller-0 + overcloud-controller-1 + overcloud-controller-2 + + [compute] + overcloud-compute-0 + overcloud-compute-1 + + [ceph] + overcloud-cephstorage-0 + + [baremetal] + x.x.x.x # An ip adddress or fqdn or specificed host in ~/.ssh/config + + [guest] + x.x.x.x # An ip adddress or fqdn or specificed vm in ~/.ssh/config + + [cfme] + x.x.x.x # An ip address of a Red Hat Cloud Forms appliance or ManageIQ appliance + + [cfme-vmdb] + x.x.x.x # An ip address of a Red Hat Cloud Forms appliance with vmdb + + [cfme-all-in-one] + x.x.x.x # An ip address of a Red Hat Cloud Forms appliance or ManageIQ appliance with Graphite and Grafana + + [graphite] + x.x.x.x # An ip address of a Graphite/Grafana Server + + [ose] + x.x.x.x # An ip address of a Red Hat Openshift Enterprise Node + + [satellite6] + x.x.x.x # An ip address of a Red Hat Satellite 6 Server + +Example running the collectd-generic playbook on the above specified +cfme machine: + +:: + + # ansible-playbook -i hosts install/collectd-generic.yml --tags "cfme" + +Replace "cfme" with whatever machines you intend to install collectd on. + +Note: Openstack host groups (undercloud, controller, compute, ceph) are +ignored with the collectd-generic.yml playbook. + diff --git a/ansible/README.md b/ansible/README.md deleted file mode 100644 index 29c3dea02..000000000 --- a/ansible/README.md +++ /dev/null @@ -1,153 +0,0 @@ -Table of Contents -================= - -- [Ansible for Browbeat](#ansible-for-browbeat) - - [Getting Started](#getting-started) - - [Ansible Installers](#ansible-installers) - - [Performance Check](#performance-check) - - [Performance Tune](#performance-tune) - - [Adjust your overcloud](#adjust-your-overcloud) - -# 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@ -``` - -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 ~/.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](README.collectd-generic.md). - -##### 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 -``` -# 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. -``` -# ansible-playbook -i hosts install/graphite-docker.yml -``` - -##### Install grafana service -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. -``` -# 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" -``` diff --git a/ansible/README.rst b/ansible/README.rst new file mode 100644 index 000000000..d451074ed --- /dev/null +++ b/ansible/README.rst @@ -0,0 +1,216 @@ +Table of Contents +================= + +- `Ansible for Browbeat <#ansible-for-browbeat>`__ + + - `Getting Started <#getting-started>`__ + - `Ansible Installers <#ansible-installers>`__ + - `Performance Check <#performance-check>`__ + - `Performance Tune <#performance-tune>`__ + - `Adjust your overcloud <#adjust-your-overcloud>`__ + +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@ + +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 ~/.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 + + :: + + # 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. + + :: + + # ansible-playbook -i hosts install/graphite-docker.yml + +Install grafana service +''''''''''''''''''''''' + +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. + +:: + + # 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" +