From 646a85eaf6062c369ca2b77e80bad302d4317014 Mon Sep 17 00:00:00 2001 From: Alex Krzos Date: Tue, 24 Nov 2015 15:46:15 -0500 Subject: [PATCH] Moved Performance check ansible plays to seperate folder 'check'. --- ansible/adjustment/site.yml | 2 +- .../director => check/group_vars/all} | 0 ansible/check/roles/ceph/tasks/main.yml | 9 ++++++ .../{ => check}/roles/common/tasks/main.yml | 2 +- .../{ => check}/roles/compute/tasks/main.yml | 0 .../roles/controller/tasks/main.yml | 2 +- ansible/check/roles/keystone/tasks/main.yml | 17 ++++++++++ ansible/check/site.yml | 32 +++++++++++++++++++ ansible/gen_hostfile.sh | 4 +-- ansible/group_vars/all | 1 + ansible/group_vars/computes | 4 --- ansible/group_vars/controllers | 13 -------- ansible/roles/keystone/tasks/main.yml | 16 +--------- ansible/site-check.yml | 19 ----------- ansible/site-install.yml | 2 +- 15 files changed, 66 insertions(+), 57 deletions(-) rename ansible/{group_vars/director => check/group_vars/all} (100%) create mode 100644 ansible/check/roles/ceph/tasks/main.yml rename ansible/{ => check}/roles/common/tasks/main.yml (90%) rename ansible/{ => check}/roles/compute/tasks/main.yml (100%) rename ansible/{ => check}/roles/controller/tasks/main.yml (94%) create mode 100644 ansible/check/roles/keystone/tasks/main.yml create mode 100644 ansible/check/site.yml delete mode 100644 ansible/group_vars/computes delete mode 100644 ansible/site-check.yml diff --git a/ansible/adjustment/site.yml b/ansible/adjustment/site.yml index 194ed81d2..55bbc076c 100644 --- a/ansible/adjustment/site.yml +++ b/ansible/adjustment/site.yml @@ -3,7 +3,7 @@ # Playbook to change number of workers for nova and keystone services # -- hosts: controllers +- hosts: controller remote_user: heat-admin vars: deployment: eventlet diff --git a/ansible/group_vars/director b/ansible/check/group_vars/all similarity index 100% rename from ansible/group_vars/director rename to ansible/check/group_vars/all diff --git a/ansible/check/roles/ceph/tasks/main.yml b/ansible/check/roles/ceph/tasks/main.yml new file mode 100644 index 000000000..9ca7a8873 --- /dev/null +++ b/ansible/check/roles/ceph/tasks/main.yml @@ -0,0 +1,9 @@ +--- +# +# Checks specific to ceph nodes +# + +- name: Check Ceph cluster health status + shell: ceph status + register: ceph_status + failed_when: "'HEALTH_OK' not in '{{ ceph_status.stdout }}'" diff --git a/ansible/roles/common/tasks/main.yml b/ansible/check/roles/common/tasks/main.yml similarity index 90% rename from ansible/roles/common/tasks/main.yml rename to ansible/check/roles/common/tasks/main.yml index 49c04ff35..bec64ae4e 100644 --- a/ansible/roles/common/tasks/main.yml +++ b/ansible/check/roles/common/tasks/main.yml @@ -1,6 +1,6 @@ --- # -# Tests common to Controller/Compute/Director +# Tests common to Director/Controller/Compute/Ceph # - name: Get selinux mode diff --git a/ansible/roles/compute/tasks/main.yml b/ansible/check/roles/compute/tasks/main.yml similarity index 100% rename from ansible/roles/compute/tasks/main.yml rename to ansible/check/roles/compute/tasks/main.yml diff --git a/ansible/roles/controller/tasks/main.yml b/ansible/check/roles/controller/tasks/main.yml similarity index 94% rename from ansible/roles/controller/tasks/main.yml rename to ansible/check/roles/controller/tasks/main.yml index 5a3e2632a..b7fc1ab63 100644 --- a/ansible/roles/controller/tasks/main.yml +++ b/ansible/check/roles/controller/tasks/main.yml @@ -1,6 +1,6 @@ --- # -# Tests specific to controller hosts +# Performance checks specific to controller hosts # - name: Check max_connections diff --git a/ansible/check/roles/keystone/tasks/main.yml b/ansible/check/roles/keystone/tasks/main.yml new file mode 100644 index 000000000..023fa999c --- /dev/null +++ b/ansible/check/roles/keystone/tasks/main.yml @@ -0,0 +1,17 @@ +--- +# +# Keystone tasks for performance checks +# + +- name: Check Keystone cron job + command: crontab -l -u keystone + register: keystone_cron_result + changed_when: no + failed_when: "'token_flush' not in '{{ keystone_cron_result.stdout }}'" + ignore_errors: True + +- name: Check Keystone Token Provider + command: crudini --get /etc/keystone/keystone.conf token provider + register: keystone_token_provider + changed_when: no + ignore_errors: True diff --git a/ansible/check/site.yml b/ansible/check/site.yml new file mode 100644 index 000000000..e3e390515 --- /dev/null +++ b/ansible/check/site.yml @@ -0,0 +1,32 @@ +--- +# +# Playbook to check OSP install for common performance tuning issues +# + +- hosts: controller + remote_user: heat-admin + vars: + tuned_profile: throughput-performance + rabbitmq_fd: 2048 + mariadb_max_connections: 4096 + roles: + - common + - controller + - keystone + +- hosts: compute + remote_user: heat-admin + vars: + tuned_profile: virtual-host + roles: + - common + - compute + +- hosts: ceph + remote_user: heat-admin + vars: + # Place holder for now, unsure of what recommended tuned profile is. + tuned_profile: throughput-performance + roles: + - common + - ceph diff --git a/ansible/gen_hostfile.sh b/ansible/gen_hostfile.sh index 25b52c57d..7867c2abc 100755 --- a/ansible/gen_hostfile.sh +++ b/ansible/gen_hostfile.sh @@ -67,14 +67,14 @@ echo "[director]" | tee ${ansible_inventory_file} echo "${ospd_ip_address}" | tee -a ${ansible_inventory_file} if [[ ${#controllers_hn} -gt 0 ]]; then echo "" | tee -a ${ansible_inventory_file} - echo "[controllers]" | tee -a ${ansible_inventory_file} + echo "[controller]" | tee -a ${ansible_inventory_file} for ct in ${controllers_hn[@]}; do echo "${ct}" | tee -a ${ansible_inventory_file} done fi if [[ ${#compute_hn} -gt 0 ]]; then echo "" | tee -a ${ansible_inventory_file} - echo "[computes]" | tee -a ${ansible_inventory_file} + echo "[compute]" | tee -a ${ansible_inventory_file} for c in ${compute_hn[@]}; do echo "${c}" | tee -a ${ansible_inventory_file} done diff --git a/ansible/group_vars/all b/ansible/group_vars/all index f88c6057f..5346dcb77 100644 --- a/ansible/group_vars/all +++ b/ansible/group_vars/all @@ -1,4 +1,5 @@ --- +ansible_sudo: yes pbench: true #pbench: "{{ lookup('env','PBENCH') }}" diff --git a/ansible/group_vars/computes b/ansible/group_vars/computes deleted file mode 100644 index 14200722f..000000000 --- a/ansible/group_vars/computes +++ /dev/null @@ -1,4 +0,0 @@ ---- -ansible_sudo: yes - -tuned_profile: virtual-host \ No newline at end of file diff --git a/ansible/group_vars/controllers b/ansible/group_vars/controllers index fdafc5528..adb46db88 100644 --- a/ansible/group_vars/controllers +++ b/ansible/group_vars/controllers @@ -1,12 +1,4 @@ --- -ansible_sudo: yes - -# -# Number of Service workers for OpenStack -# -num_workers: 24 -num_workers: "{{ lookup('env','NUM_WORKERS') }}" - # # Tool for monitoring database connections # @@ -15,8 +7,3 @@ connmon: true connmon_host: 192.0.2.1 dns_server: 8.8.8.8 - -tuned_profile: throughput-performance -rabbitmq_fd: 2048 -mariadb_max_connections: 4096 - diff --git a/ansible/roles/keystone/tasks/main.yml b/ansible/roles/keystone/tasks/main.yml index 6b7f43ce7..95e96ee1c 100644 --- a/ansible/roles/keystone/tasks/main.yml +++ b/ansible/roles/keystone/tasks/main.yml @@ -1,18 +1,4 @@ --- # -# Keystone tasks to change the number of eventlet workers +# Keystone tasks # - -- name: Check Keystone cron job - command: crontab -l -u keystone - register: keystone_cron_result - changed_when: no - failed_when: "'token_flush' not in '{{ keystone_cron_result.stdout }}'" - ignore_errors: True - when: not install - -- name: Check Keystone Token Provider - command: crudini --get /etc/keystone/keystone.conf token provider - register: keystone_token_provider - changed_when: no - ignore_errors: True diff --git a/ansible/site-check.yml b/ansible/site-check.yml deleted file mode 100644 index 9b8229c9b..000000000 --- a/ansible/site-check.yml +++ /dev/null @@ -1,19 +0,0 @@ ---- -# -# Playbook to check OSP install for common performance tuning issues -# - -- hosts: controllers - remote_user: heat-admin - vars: - install: False - roles: - - common - - controller - - keystone - -- hosts: computes - remote_user: heat-admin - roles: - - common - - compute diff --git a/ansible/site-install.yml b/ansible/site-install.yml index e2953439f..6ee36ef0f 100644 --- a/ansible/site-install.yml +++ b/ansible/site-install.yml @@ -3,7 +3,7 @@ # Playbook to install connmon and pbench on director/overcloud # -- hosts: controllers +- hosts: controller remote_user: heat-admin vars: install: True