Permalink
Browse files

Pike Adjustment playbooks and collectd config modifications.

* Include version changes for various adjustment playbooks

Change-Id: Ie797e080cecfa4caa9b261984e43efa0c02df23e
  • Loading branch information...
akrzos committed Aug 23, 2017
1 parent 0804dc9 commit c8e44e1afc8b660c1a9057eda44274e110b03482
Showing with 787 additions and 246 deletions.
  1. +3 −1 ansible/browbeat/adjustment-apache.yml
  2. +34 −2 ansible/browbeat/adjustment-ceilometer.yml
  3. +14 −0 ansible/browbeat/adjustment-gnocchi-reduce-archive-policy.yml
  4. +18 −1 ansible/browbeat/adjustment-gnocchi-wsgi.yml
  5. +103 −35 ansible/browbeat/adjustment-gnocchi.yml
  6. +2 −2 ansible/browbeat/adjustment-haproxy.yml
  7. +13 −0 ansible/browbeat/adjustment-nova-allocation.yml
  8. +18 −0 ansible/browbeat/adjustment-nova-scheduler.yml
  9. +2 −0 ansible/browbeat/install-at.yml
  10. +2 −0 ansible/browbeat/ntp-sync.yml
  11. +12 −6 ansible/browbeat/roles/ceilometer-config/tasks/main.yml
  12. +15 −4 ansible/browbeat/roles/ceilometer-polling/tasks/main.yml
  13. +11 −4 ansible/browbeat/roles/gnocchi-api-config/tasks/main.yml
  14. +28 −0 ansible/browbeat/roles/gnocchi-config/tasks/main.yml
  15. +13 −5 ansible/browbeat/roles/nova-config/tasks/main.yml
  16. +6 −4 ansible/browbeat/sync-ceilometer-polling.yml
  17. +2 −0 ansible/install/collectd-openstack.yml
  18. +20 −4 ansible/install/roles/collectd-openstack/tasks/main.yml
  19. +3 −3 ansible/install/roles/collectd-openstack/templates/cephstorage.collectd.conf.j2
  20. +19 −11 ansible/install/roles/collectd-openstack/templates/compute.collectd.conf.j2
  21. +247 −106 ansible/install/roles/collectd-openstack/templates/controller.collectd.conf.j2
  22. +154 −54 ansible/install/roles/collectd-openstack/templates/undercloud.collectd.conf.j2
  23. +22 −4 ansible/install/roles/grafana-dashboards/vars/main.yml
  24. +25 −0 ansible/install/roles/osp_version/tasks/main.yml
  25. +1 −0 ansible/oooq/overcloud-metrics.yml
@@ -2,6 +2,8 @@
#
# Playbook to adjust Apache prefork settings
#
# Versions tested: Newton, Ocata
#
# Example:
#
# ansible-playbook -i hosts browbeat/adjustment-httpd.yml -e 'httpd_startservers=8 httpd_minspareservers=5 httpd_maxspareservers=20 httpd_serverlimit=256 httpd_maxclients=256 httpd_maxrequestsperchild=4000'
@@ -13,7 +15,7 @@
vars_files:
- ../install/group_vars/all.yml
vars:
# Defaults per Pike (OSP11)
# Defaults per Ocata (OSP11)
httpd_startservers: 8
httpd_minspareservers: 5
httpd_maxspareservers: 20
@@ -3,9 +3,12 @@
# Playbook to adjust Ceilometer configuration items and restart either the
# notification agent or the collector.
#
# Versions tested: Newton, Ocata, Pike
#
# Examples:
# ansible-playbook -i hosts browbeat/adjustment-ceilometer.yml -e "rabbit_qos_prefetch_count=64"
# ansible-playbook -i hosts browbeat/adjustment-ceilometer.yml -e "rabbit_qos_prefetch_count=64 executor_thread_pool_size=64"
# ansible-playbook -i hosts browbeat/adjustment-ceilometer.yml -e "rabbit_qos_prefetch_count=64 executor_thread_pool_size=64 notification_workers=1"
# ansible-playbook -i hosts browbeat/adjustment-ceilometer.yml -e "rabbit_qos_prefetch_count=64 restart_notification=true"
# ansible-playbook -i hosts browbeat/adjustment-ceilometer.yml -e "rabbit_qos_prefetch_count=64 restart_collector=true"
#
@@ -28,10 +31,28 @@
# Defaults
default_rabbit_qos_prefetch_count: 0
default_executor_thread_pool_size: 64
default_notification_workers: 1
# Each configuration item needs to be a list so it can be merged
rabbit_qos_prefetch_count_item: []
executor_thread_pool_size_item: []
notification_workers_item: []
pre_tasks:
- name: Get OSP Version
slurp:
src: "/etc/rhosp-release"
register: osp_version
become: true
- name: (Newton, Ocata) Set Config File based on OpenStack Version
set_fact:
ceilometer_config_file: /etc/ceilometer/ceilometer.conf
when: "('Newton' in osp_version['content'] | b64decode or 'Ocata' in osp_version['content'] | b64decode)"
- name: (Pike) Set Config File based on OpenStack Version
set_fact:
ceilometer_config_file: /var/lib/config-data/puppet-generated/ceilometer/etc/ceilometer/ceilometer.conf
when: "'Pike' in osp_version['content'] | b64decode"
- name: Set default rabbit_qos_prefetch_count and executor_thread_pool_size
set_fact:
ceilometer_configuration:
@@ -41,7 +62,10 @@
- section: DEFAULT
option: executor_thread_pool_size
value: "{{default_executor_thread_pool_size}}"
when: rabbit_qos_prefetch_count is undefined and executor_thread_pool_size is undefined
- section: notification
option: workers
value: "{{default_notification_workers}}"
when: rabbit_qos_prefetch_count is undefined and executor_thread_pool_size is undefined and notification_workers is undefined
- name: Set rabbit_qos_prefetch_count configuration for Ceilometer
set_fact:
@@ -59,9 +83,17 @@
value: "{{executor_thread_pool_size}}"
when: executor_thread_pool_size is defined
- name: Set notifications workers configuration for Ceilometer
set_fact:
notification_workers_item:
- section: notification
option: workers
value: "{{notification_workers}}"
when: notification_workers is defined
- name: Merge configuration items
set_fact:
ceilometer_configuration: "{{ceilometer_configuration + rabbit_qos_prefetch_count_item + executor_thread_pool_size_item }}"
ceilometer_configuration: "{{ceilometer_configuration + rabbit_qos_prefetch_count_item + executor_thread_pool_size_item + notification_workers_item }}"
roles:
- ceilometer-config
@@ -2,6 +2,8 @@
#
# Reduce the archive-policy to a single retention period to reduce the telemetry load.
#
# Versions tested: Newton, Ocata
#
- hosts: undercloud
remote_user: "{{ local_remote_user }}"
@@ -24,5 +26,17 @@
- section: dispatcher_gnocchi
option: archive_policy
value: low-workload
pre_tasks:
- name: Get OSP Version
slurp:
src: "/etc/rhosp-release"
register: osp_version
become: true
- name: (Newton, Ocata) Set Config File based on OpenStack Version
set_fact:
ceilometer_config_file: /etc/ceilometer/ceilometer.conf
when: "('Newton' in osp_version['content'] | b64decode or 'Ocata' in osp_version['content'] | b64decode)"
roles:
- ceilometer-config
@@ -2,11 +2,12 @@
#
# Playbook to adjust Gnocchi API wsgi settings
#
# Versions tested: Newton, Ocata, Pike
#
# Examples:
# ansible-playbook -i hosts browbeat/adjustment-gnocchi-wsgi.yml -e "gnocchi_api_processes=24"
# ansible-playbook -i hosts browbeat/adjustment-gnocchi-wsgi.yml -e "gnocchi_api_processes=24 gnocchi_api_threads=6"
#
#
- hosts: controller
remote_user: "{{ host_remote_user }}"
@@ -16,5 +17,21 @@
vars:
gnocchi_api_processes: 12
gnocchi_api_threads: 1
pre_tasks:
- name: Get OSP Version
slurp:
src: "/etc/rhosp-release"
register: osp_version
become: true
- name: (Newton, Ocata) Set Config File based on OpenStack Version
set_fact:
gnocchi_api_apache_file: /etc/httpd/conf.d/10-gnocchi_wsgi.conf
when: "('Newton' in osp_version['content'] | b64decode or 'Ocata' in osp_version['content'] | b64decode)"
- name: (Pike) Set Config File based on OpenStack Version
set_fact:
gnocchi_api_apache_file: /var/lib/config-data/puppet-generated/gnocchi/etc/httpd/conf.d/10-gnocchi_wsgi.conf
when: "'Pike' in osp_version['content'] | b64decode"
roles:
- gnocchi-api-config
@@ -2,9 +2,11 @@
#
# Playbook to adjust Gnocchi config options
#
# Versions tested: Newton, Ocata, Pike
#
# Example:
#
# ansible-playbook -i hosts browbeat/adjustment-gnocchi.yml -e 'metricd_workers=12 metric_processing_delay=60 processing_replicas=3'
# ansible-playbook -i hosts browbeat/adjustment-gnocchi.yml -e 'metricd_workers=12 metric_processing_delay=30 processing_replicas=3'
#
- hosts: controller
@@ -13,38 +15,104 @@
vars_files:
- ../install/group_vars/all.yml
vars:
metricd_workers: 12
metric_processing_delay: 60
processing_replicas: 3
tasks:
- name: Configure Gnocchi Options
become: true
ini_file:
dest: /etc/gnocchi/gnocchi.conf
mode: 0640
group: gnocchi
section: "{{item.section}}"
option: "{{item.option}}"
value: "{{item.value}}"
backup: yes
with_items:
# Newton, Ocata, Pike
- section: metricd
option: workers
value: "{{metricd_workers}}"
# Newton
- section: storage
option: metric_processing_delay
value: "{{metric_processing_delay}}"
# Ocata, Pike
- section: metricd
option: metric_processing_delay
value: "{{metric_processing_delay}}"
# Pike
- section: metricd
option: processing_replicas
value: "{{processing_replicas}}"
- name: Restart openstack-gnocchi-metricd
# Create initial blank configuration list
gnocchi_configuration: []
# Pike Defaults
default_metricd_workers: 12
default_metric_processing_delay: 30
default_processing_replicas: 3
# Each configuration item needs to be a list so it can be merged
metricd_workers_item: []
metric_processing_delay_item: []
processing_replicas_item: []
pre_tasks:
- name: Get OSP Version
slurp:
src: "/etc/rhosp-release"
register: osp_version
become: true
command: systemctl restart openstack-gnocchi-metricd
- name: (Newton, Ocata) Set Config File based on OpenStack Version
set_fact:
gnocchi_config_file: /etc/gnocchi/gnocchi.conf
when: "('Newton' in osp_version['content'] | b64decode or 'Ocata' in osp_version['content'] | b64decode)"
- name: (Pike) Set Config File based on OpenStack Version
set_fact:
gnocchi_config_file: /var/lib/config-data/puppet-generated/gnocchi/etc/gnocchi/gnocchi.conf
when: "'Pike' in osp_version['content'] | b64decode"
- name: (Newton) Set default metricd_workers and metric_processing_delay
set_fact:
gnocchi_configuration:
- section: metricd
option: workers
value: "{{default_metricd_workers}}"
- section: storage
option: metric_processing_delay
value: "{{default_metric_processing_delay}}"
when: "'Newton' in osp_version['content'] | b64decode and metricd_workers is undefined and metric_processing_delay is undefined"
- name: (Ocata) Set default metricd_workers and metric_processing_delay
set_fact:
gnocchi_configuration:
- section: metricd
option: workers
value: "{{default_metricd_workers}}"
- section: metricd
option: metric_processing_delay
value: "{{default_metric_processing_delay}}"
when: "'Ocata' in osp_version['content'] | b64decode and metricd_workers is undefined and metric_processing_delay is undefined"
- name: (Pike) Set default metricd_workers and metric_processing_delay
set_fact:
gnocchi_configuration:
- section: metricd
option: workers
value: "{{default_metricd_workers}}"
- section: metricd
option: metric_processing_delay
value: "{{default_metric_processing_delay}}"
- section: metricd
option: processing_replicas
value: "{{default_processing_replicas}}"
when: "'Pike' in osp_version['content'] | b64decode and metricd_workers is undefined and metric_processing_delay is undefined and processing_replicas is undefined"
- name: Set metricd_workers configuration
set_fact:
metricd_workers_item:
- section: metricd
option: workers
value: "{{metricd_workers}}"
when: metricd_workers is defined
- name: (Newton) Set metric_processing_delay configuration
set_fact:
metric_processing_delay_item:
- section: storage
option: metric_processing_delay
value: "{{metric_processing_delay}}"
when: "(metric_processing_delay is defined and 'Newton' in osp_version['content'] | b64decode)"
- name: (Ocata, Pike) Set metric_processing_delay configuration
set_fact:
metric_processing_delay_item:
- section: metricd
option: metric_processing_delay
value: "{{metric_processing_delay}}"
when: "(metric_processing_delay is defined and ('Ocata' in osp_version['content'] | b64decode or 'Pike' in osp_version['content'] | b64decode))"
- name: Set processing_replicas configuration
set_fact:
processing_replicas_item:
- section: metricd
option: processing_replicas
value: "{{processing_replicas}}"
when: processing_replicas is defined
- name: Merge configuration items
set_fact:
gnocchi_configuration: "{{gnocchi_configuration + metricd_workers_item + metric_processing_delay_item + processing_replicas_item }}"
roles:
- gnocchi-config
@@ -2,12 +2,12 @@
#
# Playbook to bump the number of max "defaults" (vs global) connections through haproxy
#
# Versions tested: Newton, Ocata
#
# Examples:
#
# ansible-playbook -i hosts browbeat/adjustment-haproxy.yml -e 'old_maxconn=4096 new_maxconn=8192'
#
#
- hosts: controller
remote_user: "{{ host_remote_user }}"
@@ -2,6 +2,8 @@
#
# Playbook to adjust Nova allocation ratios
#
# Versions tested: Newton, Ocata
#
# Examples:
# ansible-playbook -i hosts browbeat/adjustment-nova-allocation.yml -e "cpu_allocation_ratio=24"
# ansible-playbook -i hosts browbeat/adjustment-nova-allocation.yml -e "cpu_allocation_ratio=24 ram_allocation_ratio=10.0"
@@ -36,6 +38,17 @@
ram_allocation_ratio_item: []
disk_allocation_ratio_item: []
pre_tasks:
- name: Get OSP Version
slurp:
src: "/etc/rhosp-release"
register: osp_version
become: true
- name: (Newton, Ocata) Set Config File based on OpenStack Version
set_fact:
nova_config_file: /etc/nova/nova.conf
when: "('Newton' in osp_version['content'] | b64decode or 'Ocata' in osp_version['content'] | b64decode)"
- name: Set default cpu_allocation_ratio/ram_allocation_ratio/disk_allocation_ratio configuration for Nova
set_fact:
nova_configuration:
@@ -3,6 +3,8 @@
# Playbook to adjust Nova Scheduler settings to avoid over-scheduling hosts
# with greater memory in uneven memory environments.
#
# Versions tested: Newton, Ocata, Pike
#
# Examples:
# ansible-playbook -i hosts browbeat/adjustment-nova-scheduler.yml -e 'max_instances_per_host=350'
# ansible-playbook -i hosts browbeat/adjustment-nova-scheduler.yml -e 'max_instances_per_host=350 ram_weight_multiplier=0'
@@ -41,6 +43,22 @@
host_subset_size_item: []
pre_tasks:
- name: Get OSP Version
slurp:
src: "/etc/rhosp-release"
register: osp_version
become: true
- name: (Newton, Ocata) Set Config File based on OpenStack Version
set_fact:
nova_config_file: /etc/nova/nova.conf
when: "('Newton' in osp_version['content'] | b64decode or 'Ocata' in osp_version['content'] | b64decode)"
- name: (Pike) Set Config File based on OpenStack Version
set_fact:
nova_config_file: /var/lib/config-data/puppet-generated/nova/etc/nova/nova.conf
when: "'Pike' in osp_version['content'] | b64decode"
- name: Set default max_instances_per_host, ram_weight_multiplier, enabled_filters, and host_subset_size
set_fact:
nova_configuration:
@@ -2,6 +2,8 @@
#
# Playbook to install and enable atd
#
# Versions tested: Newton, Ocata, Pike
#
# This allows you to syncohize a script/command across multiple machines.
# Example: Synconhized restarting of ceilometer polling across computes
# and controllers.
@@ -2,6 +2,8 @@
#
# Playbook to force ntp time sync
#
# Versions tested: Newton, Ocata, Pike
#
# Example:
#
# ansible-playbook -i hosts browbeat/ntp-sync.yml -e 'ntp_server=clock.walkabout.com'
Oops, something went wrong.

0 comments on commit c8e44e1

Please sign in to comment.