From c8e44e1afc8b660c1a9057eda44274e110b03482 Mon Sep 17 00:00:00 2001 From: akrzos Date: Wed, 23 Aug 2017 09:54:53 -0400 Subject: [PATCH] Pike Adjustment playbooks and collectd config modifications. * Include version changes for various adjustment playbooks Change-Id: Ie797e080cecfa4caa9b261984e43efa0c02df23e --- ansible/browbeat/adjustment-apache.yml | 4 +- ansible/browbeat/adjustment-ceilometer.yml | 36 +- ...justment-gnocchi-reduce-archive-policy.yml | 14 + ansible/browbeat/adjustment-gnocchi-wsgi.yml | 19 +- ansible/browbeat/adjustment-gnocchi.yml | 136 +++++-- ansible/browbeat/adjustment-haproxy.yml | 4 +- .../browbeat/adjustment-nova-allocation.yml | 13 + .../browbeat/adjustment-nova-scheduler.yml | 18 + ansible/browbeat/install-at.yml | 2 + ansible/browbeat/ntp-sync.yml | 2 + .../roles/ceilometer-config/tasks/main.yml | 18 +- .../roles/ceilometer-polling/tasks/main.yml | 19 +- .../roles/gnocchi-api-config/tasks/main.yml | 15 +- .../roles/gnocchi-config/tasks/main.yml | 28 ++ .../browbeat/roles/nova-config/tasks/main.yml | 18 +- ansible/browbeat/sync-ceilometer-polling.yml | 10 +- ansible/install/collectd-openstack.yml | 2 + .../roles/collectd-openstack/tasks/main.yml | 24 +- .../templates/cephstorage.collectd.conf.j2 | 6 +- .../templates/compute.collectd.conf.j2 | 30 +- .../templates/controller.collectd.conf.j2 | 353 ++++++++++++------ .../templates/undercloud.collectd.conf.j2 | 208 ++++++++--- .../roles/grafana-dashboards/vars/main.yml | 26 +- .../install/roles/osp_version/tasks/main.yml | 25 ++ ansible/oooq/overcloud-metrics.yml | 1 + 25 files changed, 786 insertions(+), 245 deletions(-) create mode 100644 ansible/browbeat/roles/gnocchi-config/tasks/main.yml create mode 100644 ansible/install/roles/osp_version/tasks/main.yml diff --git a/ansible/browbeat/adjustment-apache.yml b/ansible/browbeat/adjustment-apache.yml index 9c854bf68..5a82a3d04 100644 --- a/ansible/browbeat/adjustment-apache.yml +++ b/ansible/browbeat/adjustment-apache.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 diff --git a/ansible/browbeat/adjustment-ceilometer.yml b/ansible/browbeat/adjustment-ceilometer.yml index 6ee6b8345..5067ad4ec 100644 --- a/ansible/browbeat/adjustment-ceilometer.yml +++ b/ansible/browbeat/adjustment-ceilometer.yml @@ -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 diff --git a/ansible/browbeat/adjustment-gnocchi-reduce-archive-policy.yml b/ansible/browbeat/adjustment-gnocchi-reduce-archive-policy.yml index b70db16c9..b3e4372cb 100644 --- a/ansible/browbeat/adjustment-gnocchi-reduce-archive-policy.yml +++ b/ansible/browbeat/adjustment-gnocchi-reduce-archive-policy.yml @@ -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 diff --git a/ansible/browbeat/adjustment-gnocchi-wsgi.yml b/ansible/browbeat/adjustment-gnocchi-wsgi.yml index 704ab38ad..c97717b79 100644 --- a/ansible/browbeat/adjustment-gnocchi-wsgi.yml +++ b/ansible/browbeat/adjustment-gnocchi-wsgi.yml @@ -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 diff --git a/ansible/browbeat/adjustment-gnocchi.yml b/ansible/browbeat/adjustment-gnocchi.yml index 2e25ee545..674a783b5 100644 --- a/ansible/browbeat/adjustment-gnocchi.yml +++ b/ansible/browbeat/adjustment-gnocchi.yml @@ -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 + # 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 - 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 - 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 diff --git a/ansible/browbeat/adjustment-haproxy.yml b/ansible/browbeat/adjustment-haproxy.yml index 3f96ad12d..8459f762e 100644 --- a/ansible/browbeat/adjustment-haproxy.yml +++ b/ansible/browbeat/adjustment-haproxy.yml @@ -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 }}" diff --git a/ansible/browbeat/adjustment-nova-allocation.yml b/ansible/browbeat/adjustment-nova-allocation.yml index 46ffb76d3..4450daebd 100644 --- a/ansible/browbeat/adjustment-nova-allocation.yml +++ b/ansible/browbeat/adjustment-nova-allocation.yml @@ -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: diff --git a/ansible/browbeat/adjustment-nova-scheduler.yml b/ansible/browbeat/adjustment-nova-scheduler.yml index 98647bf2d..6ae6eb7d7 100644 --- a/ansible/browbeat/adjustment-nova-scheduler.yml +++ b/ansible/browbeat/adjustment-nova-scheduler.yml @@ -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: diff --git a/ansible/browbeat/install-at.yml b/ansible/browbeat/install-at.yml index af3b3f86f..fa95751c5 100644 --- a/ansible/browbeat/install-at.yml +++ b/ansible/browbeat/install-at.yml @@ -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. diff --git a/ansible/browbeat/ntp-sync.yml b/ansible/browbeat/ntp-sync.yml index a6a4463c5..bdffed382 100644 --- a/ansible/browbeat/ntp-sync.yml +++ b/ansible/browbeat/ntp-sync.yml @@ -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' diff --git a/ansible/browbeat/roles/ceilometer-config/tasks/main.yml b/ansible/browbeat/roles/ceilometer-config/tasks/main.yml index 6324c32f3..548b97bb5 100644 --- a/ansible/browbeat/roles/ceilometer-config/tasks/main.yml +++ b/ansible/browbeat/roles/ceilometer-config/tasks/main.yml @@ -6,9 +6,10 @@ - name: Configure ceilometer.conf become: true ini_file: - dest: /etc/ceilometer/ceilometer.conf + dest: "{{ceilometer_config_file}}" mode: 0640 - group: ceilometer + # (akrzos) Commented out Group as to prevent in Pike incorrect permissions on config file + # group: ceilometer section: "{{ item.section }}" option: "{{ item.option }}" value: "{{ item.value }}" @@ -16,12 +17,17 @@ with_items: - "{{ceilometer_configuration}}" -- name: Restart Ceilometer Agent Notification +- name: (Newton, Ocata) Restart Ceilometer Agent Notification become: true command: systemctl restart openstack-ceilometer-notification - when: restart_notification + when: "('Newton' in osp_version['content'] | b64decode or 'Ocata' in osp_version['content'] | b64decode) and (restart_notification)" -- name: Restart Ceilometer Collector +- name: (Newton, Ocata) Restart Ceilometer Collector become: true command: systemctl restart openstack-ceilometer-collector - when: restart_collector + when: "('Newton' in osp_version['content'] | b64decode or 'Ocata' in osp_version['content'] | b64decode) and (restart_collector)" + +- name: (Pike) Restart Ceilometer Agent Notification + become: true + command: docker restart ceilometer_agent_notification + when: "('Pike' in osp_version['content'] | b64decode) and (restart_notification)" diff --git a/ansible/browbeat/roles/ceilometer-polling/tasks/main.yml b/ansible/browbeat/roles/ceilometer-polling/tasks/main.yml index a22952a92..33218a893 100644 --- a/ansible/browbeat/roles/ceilometer-polling/tasks/main.yml +++ b/ansible/browbeat/roles/ceilometer-polling/tasks/main.yml @@ -25,7 +25,7 @@ backup: true when: "{{reduced_metrics}} == true and ('Newton' in osp_version['content'] | b64decode)" -- name: (Ocata, Pike) Deploy polling.yaml file +- name: (Ocata) Deploy polling.yaml file become: true template: src: polling.yaml.j2 @@ -34,9 +34,9 @@ group: ceilometer mode: 0640 backup: true - when: "{{reduced_metrics}} == false and ('Ocata' in osp_version['content'] | b64decode or 'Pike' in osp_version['content'] | b64decode)" + when: "{{reduced_metrics}} == false and ('Ocata' in osp_version['content'] | b64decode)" -- name: (Ocata, Pike) Deploy the reduced metrics polling.yaml file +- name: (Ocata) Deploy the reduced metrics polling.yaml file become: true template: src: reduced_polling.yaml.j2 @@ -45,4 +45,15 @@ group: ceilometer mode: 0640 backup: true - when: "{{reduced_metrics}} == true and ('Ocata' in osp_version['content'] | b64decode or 'Pike' in osp_version['content'] | b64decode)" + when: "{{reduced_metrics}} == true and ('Ocata' in osp_version['content'] | b64decode or 'Pike')" + +- name: (Containerized Pike) Deploy the polling.yaml + become: true + template: + src: reduced_polling.yaml.j2 + dest: /var/lib/config-data/ceilometer/etc/ceilometer/polling.yaml + owner: root + group: ceilometer + mode: 0640 + backup: true + when: "('Pike' in osp_version['content'] | b64decode)" diff --git a/ansible/browbeat/roles/gnocchi-api-config/tasks/main.yml b/ansible/browbeat/roles/gnocchi-api-config/tasks/main.yml index 7f3909e1b..7e1f655e1 100644 --- a/ansible/browbeat/roles/gnocchi-api-config/tasks/main.yml +++ b/ansible/browbeat/roles/gnocchi-api-config/tasks/main.yml @@ -12,12 +12,19 @@ become: true template: src: gnocchi_wsgi.conf.j2 - dest: /etc/httpd/conf.d/10-gnocchi_wsgi.conf + dest: "{{gnocchi_api_apache_file}}" mode: 0640 - owner: root - group: root + # (akrzos) Commented out Group as to prevent in Pike incorrect permissions on config file + # owner: root + # group: root backup: true -- name: Restart Gnocchi API (httpd) +- name: (Newton, Ocata) Restart Gnocchi API (httpd) become: true command: systemctl restart httpd + when: "('Newton' in osp_version['content'] | b64decode or 'Ocata' in osp_version['content'] | b64decode)" + +- name: (Pike) Restart Gnocchi API (httpd) + become: true + command: docker restart gnocchi_api + when: "'Pike' in osp_version['content'] | b64decode" diff --git a/ansible/browbeat/roles/gnocchi-config/tasks/main.yml b/ansible/browbeat/roles/gnocchi-config/tasks/main.yml new file mode 100644 index 000000000..d124a774f --- /dev/null +++ b/ansible/browbeat/roles/gnocchi-config/tasks/main.yml @@ -0,0 +1,28 @@ +--- +# +# Tasks to adjust Gnocchi configuration items +# + +- name: Configure gnocchi.conf + become: true + ini_file: + dest: "{{gnocchi_config_file}}" + mode: 0640 + # (akrzos) Commented out Group as to prevent in Pike incorrect permissions on config file + # group: gnocchi + section: "{{item.section}}" + option: "{{item.option}}" + value: "{{item.value}}" + backup: yes + with_items: + - "{{gnocchi_configuration}}" + +- name: (Newton, Ocata) Restart Gnocchi Metricd + become: true + command: systemctl restart openstack-gnocchi-metricd + when: "('Newton' in osp_version['content'] | b64decode or 'Ocata' in osp_version['content'] | b64decode)" + +- name: (Pike) Restart Gnocchi Metricd + become: true + command: docker restart gnocchi_metricd + when: "'Pike' in osp_version['content'] | b64decode" diff --git a/ansible/browbeat/roles/nova-config/tasks/main.yml b/ansible/browbeat/roles/nova-config/tasks/main.yml index b6b64c3ff..896401c60 100644 --- a/ansible/browbeat/roles/nova-config/tasks/main.yml +++ b/ansible/browbeat/roles/nova-config/tasks/main.yml @@ -3,12 +3,13 @@ # Configure nova.conf tasks # -- name: Configure nova.conf +- name: (Newton, Ocata, Pike) Configure nova.conf become: true ini_file: - dest: /etc/nova/nova.conf + dest: "{{nova_config_file}}" mode: 0640 - group: nova + # (akrzos) Commented out Group as to prevent in Pike incorrect permissions on config file + # group: nova section: "{{ item.section }}" option: "{{ item.option }}" value: "{{ item.value }}" @@ -16,7 +17,7 @@ with_items: - "{{nova_configuration}}" -- name: Restart Nova Services +- name: (Newton, Ocata) Restart Nova Services become: true service: name: "{{ item }}" @@ -28,4 +29,11 @@ - openstack-nova-novncproxy - openstack-nova-consoleauth - httpd - when: restart_nova + when: "('Newton' in osp_version['content'] | b64decode or 'Ocata' in osp_version['content'] | b64decode) and (restart_nova)" + +- name: (Pike) Restart Nova Scheduler Container + become: true + command: "docker restart {{item}}" + with_items: + - nova_scheduler + when: "('Pike' in osp_version['content'] | b64decode) and (restart_nova)" diff --git a/ansible/browbeat/sync-ceilometer-polling.yml b/ansible/browbeat/sync-ceilometer-polling.yml index 943db9a40..cf9f15bf1 100644 --- a/ansible/browbeat/sync-ceilometer-polling.yml +++ b/ansible/browbeat/sync-ceilometer-polling.yml @@ -1,13 +1,15 @@ --- # -# Playbook to sync ceilometer polling across the controller and compute nodes +# Playbook to sync ceilometer polling across the controller and compute nodes. +# Requires atd installed and runinng on controllers and compute nodes. +# +# Versions tested: Newton, Ocata, Pike # # Example: # # ansible-playbook -i hosts browbeat/sync-ceilometer-polling.yml -e 'task_time=18:25' # -# Pike - hosts: controller,compute remote_user: "{{ host_remote_user }}" gather_facts: false @@ -32,12 +34,12 @@ - name: (Pike) Set Controller Task set_fact: - the_task: "systemctl restart openstack-ceilometer-polling.service" + the_task: "docker restart ceilometer_agent_central" when: "('Pike' in osp_version['content'] | b64decode) and ('controller' in group_names)" - name: (Pike) Set Compute Task set_fact: - the_task: "systemctl restart openstack-ceilometer-polling.service" + the_task: "docker restart ceilometer_agent_compute" when: "('Pike' in osp_version['content'] | b64decode) and ('compute' in group_names)" roles: diff --git a/ansible/install/collectd-openstack.yml b/ansible/install/collectd-openstack.yml index 890197c28..92d9d1d9c 100644 --- a/ansible/install/collectd-openstack.yml +++ b/ansible/install/collectd-openstack.yml @@ -38,6 +38,7 @@ vars: config_type: controller roles: + - { role: osp_version } - { role: common, when: collectd_controller } - { role: epel, when: collectd_controller } - { role: repo } @@ -110,6 +111,7 @@ vars: config_type: compute roles: + - { role: osp_version } - { role: common, when: collectd_compute } - { role: epel, when: collectd_compute } - { role: repo } diff --git a/ansible/install/roles/collectd-openstack/tasks/main.yml b/ansible/install/roles/collectd-openstack/tasks/main.yml index adb08b01a..72232fb70 100644 --- a/ansible/install/roles/collectd-openstack/tasks/main.yml +++ b/ansible/install/roles/collectd-openstack/tasks/main.yml @@ -127,7 +127,7 @@ when: "(gnocchi_status_controller_collectd_plugin == true) and (inventory_hostname == groups['controller'][0])" # Apache Request Response Timing -- name: Deploy Apache httpd.conf +- name: (Newton, Ocata) Deploy Apache httpd.conf for request timings become: true copy: src: httpd.conf @@ -136,15 +136,31 @@ group: root mode: 0644 backup: true - when: "('controller' in group_names and {{apache_controller_collectd_request_time}} == true)" + when: "('controller' in group_names and {{apache_controller_collectd_request_time}} == true) and ('Newton' in osp_version['content'] | b64decode or 'Ocata' in osp_version['content'] | b64decode)" -- name: Restart Apache +- name: (Pike) Deploy Apache httpd.conf for request timings + become: true + copy: + src: httpd.conf + dest: /var/lib/config-data/puppet-generated/gnocchi/etc/httpd/conf/httpd.conf + owner: root + group: root + mode: 0644 + backup: true + when: "('controller' in group_names and {{apache_controller_collectd_request_time}} == true) and ('Pike' in osp_version['content'] | b64decode)" + +- name: (Newton, Ocata) Restart Apache become: true service: name: httpd state: restarted enabled: true - when: "('controller' in group_names and {{apache_controller_collectd_request_time}} == true)" + when: "('controller' in group_names and {{apache_controller_collectd_request_time}} == true) and ('Newton' in osp_version['content'] | b64decode or 'Ocata' in osp_version['content'] | b64decode)" + +- name: (Pike) Restart Gnocchi API Container + become: true + command: docker restart gnocchi_api + when: "('controller' in group_names and {{apache_controller_collectd_request_time}} == true) and ('Pike' in osp_version['content'] | b64decode)" # End Apache Request Response Timing # Apache Monitoring diff --git a/ansible/install/roles/collectd-openstack/templates/cephstorage.collectd.conf.j2 b/ansible/install/roles/collectd-openstack/templates/cephstorage.collectd.conf.j2 index 9329acecd..9bbdf0641 100644 --- a/ansible/install/roles/collectd-openstack/templates/cephstorage.collectd.conf.j2 +++ b/ansible/install/roles/collectd-openstack/templates/cephstorage.collectd.conf.j2 @@ -156,14 +156,14 @@ PreCacheChain "PreCache" # A Minus before the version means the process was not found in that version. (Ex -9) # Ceph (OpenStack Installed) - ProcessMatch "ceph-osd" "^/usr/bin/ceph-osd" # 10,11 + ProcessMatch "ceph-osd" "^/usr/bin/ceph-osd" # 10,11,12 # Collectd (Browbeat Installed) ProcessMatch "collectd" "/usr/sbin/collectd" # OVS (OpenStack Installed) - ProcessMatch "ovs-vswitchd" "ovs-vswitchd.+openvswitch" # 10,11 - ProcessMatch "ovsdb-server" "ovsdb-server.+openvswitch" # 10,11 + ProcessMatch "ovs-vswitchd" "ovs-vswitchd.+openvswitch" # 10,11,12 + ProcessMatch "ovsdb-server" "ovsdb-server.+openvswitch" # 10,11,12 diff --git a/ansible/install/roles/collectd-openstack/templates/compute.collectd.conf.j2 b/ansible/install/roles/collectd-openstack/templates/compute.collectd.conf.j2 index c61960bed..27da08c73 100644 --- a/ansible/install/roles/collectd-openstack/templates/compute.collectd.conf.j2 +++ b/ansible/install/roles/collectd-openstack/templates/compute.collectd.conf.j2 @@ -143,7 +143,7 @@ PreCacheChain "PreCache" # A Minus before the version means the process was not found in that version. (Ex -10) # Ceilometer (OpenStack Installed) - ProcessMatch "ceilometer-polling" "ceilometer-polling" # 10,11 + ProcessMatch "ceilometer-polling" "ceilometer-polling" # 10,11,12 # Collectd (Browbeat Installed) ProcessMatch "collectd" "/usr/sbin/collectd" @@ -152,24 +152,24 @@ PreCacheChain "PreCache" ProcessMatch "neutron-l3-agent" "python.+neutron-l3-agent" # 10 with DVR ProcessMatch "neutron-ns-metadata-proxy" "python.+neutron-ns-metadata-proxy" # 10 with DVR ProcessMatch "neutron-metadata-agent" "python.+neutron-metadata-agent" # 10 with DVR - ProcessMatch "neutron-openvswitch-agent" "python.+neutron-openvswitch-agent" # 10,11 + ProcessMatch "neutron-openvswitch-agent" "python.+neutron-openvswitch-agent" # 10,11,12 # Nova (OpenStack Installed) - ProcessMatch "nova-compute" "python.+nova-compute" # 10,11 - ProcessMatch "privsep-helper" "python.+/bin/privsep-helper" # 11 + ProcessMatch "nova-compute" "python.+nova-compute" # 10,11,12 + ProcessMatch "privsep-helper" "python.+/bin/privsep-helper" # 11,12 # OVS (OpenStack Installed) - ProcessMatch "ovs-vswitchd" "ovs-vswitchd.+openvswitch" # 10,11 - ProcessMatch "ovsdb-client" "ovsdb-client" # 10,11 - ProcessMatch "ovsdb-server" "ovsdb-server.+openvswitch" # 10,11 + ProcessMatch "ovs-vswitchd" "ovs-vswitchd.+openvswitch" # 10,11,12 + ProcessMatch "ovsdb-client" "ovsdb-client" # 10,11,12 + ProcessMatch "ovsdb-server" "ovsdb-server.+openvswitch" # 10,11,12 ProcessMatch "ovn-controller" "ovn-controller.+openvswitch" # 9,10 ProcessMatch "ovn-controller-vtep" "ovn-controller-vtep.+openvswitch" # 9,10 # QEMU / libvirt (OpenStack Installed) - ProcessMatch "qemu-kvm" "/usr/libexec/qemu-kvm" # 10,11 - ProcessMatch "libvirtd" "/usr/sbin/libvirtd" # 10,11 - ProcessMatch "virtlockd" "/usr/sbin/virtlockd" # 10,11 - ProcessMatch "virtlogd" "/usr/sbin/virtlogd" # 10,11 + ProcessMatch "qemu-kvm" "/usr/libexec/qemu-kvm" # 10,11,12 + ProcessMatch "libvirtd" "/usr/sbin/libvirtd" # 10,11,12 + ProcessMatch "virtlockd" "/usr/sbin/virtlockd" # 10,11,-12 + ProcessMatch "virtlogd" "/usr/sbin/virtlogd" # 10,11,12 @@ -180,7 +180,11 @@ PreCacheChain "PreCache" # Tail plugin configuration + {%if 'Pike' in osp_version['content'] | b64decode %} + + {% else %} + {% endif %} Instance "ceilometer-compute" Regex " ERROR " @@ -282,7 +286,11 @@ PreCacheChain "PreCache" {% endif %} + {%if 'Pike' in osp_version['content'] | b64decode %} + + {% else %} + {% endif %} Instance "nova-compute" Regex " ERROR " diff --git a/ansible/install/roles/collectd-openstack/templates/controller.collectd.conf.j2 b/ansible/install/roles/collectd-openstack/templates/controller.collectd.conf.j2 index 6bc418e35..941c3ef24 100644 --- a/ansible/install/roles/collectd-openstack/templates/controller.collectd.conf.j2 +++ b/ansible/install/roles/collectd-openstack/templates/controller.collectd.conf.j2 @@ -260,121 +260,127 @@ PreCacheChain "PreCache" # A Minus before the version means the process was not found in that version. (Ex -10) # Aodh (OpenStack Installed) - ProcessMatch "aodh-evaluator" "aodh-evaluator" # 10,11 - ProcessMatch "aodh-listener" "aodh-listener" # 10,11 - ProcessMatch "aodh-notifier" "aodh-notifier" # 10,11 - ProcessMatch "aodh_wsgi" "aodh_wsgi.*-DFOREGROUND" # 11 + ProcessMatch "aodh-evaluator" "aodh-evaluator" # 10,11,12 + ProcessMatch "aodh-listener" "aodh-listener" # 10,11,12 + ProcessMatch "aodh-notifier" "aodh-notifier" # 10,11,12 + ProcessMatch "aodh_wsgi" "aodh_wsgi.*-DFOREGROUND" # 11,12 # Ceilometer (OpenStack Installed) - ProcessMatch "ceilometer-agent-notification" "ceilometer-agent-notification" # 10,11 - ProcessMatch "ceilometer-api" "python.+ceilometer-api" # -10(httpd),-11(httpd) - ProcessMatch "ceilometer-collector" "ceilometer-collector" # 10,11 - ProcessMatch "ceilometer-polling" "ceilometer-polling" # 10,11 - ProcessMatch "ceilometer_wsgi" "ceilometer_wsgi.*-DFOREGROUND" # 11 + ProcessMatch "ceilometer-agent-notification" "ceilometer-agent-notification" # 10,11,12 + ProcessMatch "ceilometer-collector" "ceilometer-collector" # 10,11,-12 + ProcessMatch "ceilometer-polling" "ceilometer-polling" # 10,11,12 + ProcessMatch "ceilometer_wsgi" "ceilometer_wsgi.*-DFOREGROUND" # 11,-12 # Ceph (OpenStack Installed) # When CephStorage nodes deployed - ProcessMatch "ceph-mon" "^/usr/bin/ceph-mon" # -10,-11 + ProcessMatch "ceph-mon" "^/usr/bin/ceph-mon" # -10,-11,-12 # Cinder (OpenStack Installed) - ProcessMatch "cinder-api" "python.+cinder-api" # 10,-11 - ProcessMatch "cinder-scheduler" "python.+cinder-scheduler" # 10,11 - ProcessMatch "cinder-volume" "python.+cinder-volume" # 10,11 - ProcessMatch "cinder_wsgi" "cinder_wsgi.*-DFOREGROUND" # 11 + ProcessMatch "cinder-api" "python.+cinder-api" # 10,-11,-12 + ProcessMatch "cinder-scheduler" "python.+cinder-scheduler" # 10,11,12 + ProcessMatch "cinder-volume" "python.+cinder-volume" # 10,11,12 + ProcessMatch "cinder_wsgi" "cinder_wsgi.*-DFOREGROUND" # 11,12 # Collectd (Browbeat Installed) ProcessMatch "collectd" "/usr/sbin/collectd" # Pacemaker / Corosync (OpenStack Installed) - ProcessMatch "attrd" "/usr/libexec/pacemaker/attrd" # 10,11 - ProcessMatch "cib" "/usr/libexec/pacemaker/cib" # 10,11 - Process "corosync" # 10,11 - ProcessMatch "crmd" "/usr/libexec/pacemaker/crmd" # 10,11 - ProcessMatch "lrmd" "/usr/libexec/pacemaker/lrmd" # 10,11 - ProcessMatch "pacemakerd" "/usr/sbin/pacemakerd" # 10,11 - ProcessMatch "pcsd" "^/usr/bin/ruby.+/usr/lib/pcsd" # 10,11 - ProcessMatch "pengine" "/usr/libexec/pacemaker/pengine" # 10,11 - ProcessMatch "stonithd" "/usr/libexec/pacemaker/stonithd" # 10,11 + ProcessMatch "attrd" "/usr/libexec/pacemaker/attrd" # 10,11,12 + ProcessMatch "cib" "/usr/libexec/pacemaker/cib" # 10,11,12 + Process "corosync" # 10,11,12 + ProcessMatch "crmd" "/usr/libexec/pacemaker/crmd" # 10,11,12 + ProcessMatch "lrmd" "/usr/libexec/pacemaker/lrmd" # 10,11,12 + ProcessMatch "pacemakerd" "/usr/sbin/pacemakerd" # 10,11,12 + ProcessMatch "pcsd" "^/usr/bin/ruby.+/usr/lib/pcsd" # 10,11,12 + ProcessMatch "pengine" "/usr/libexec/pacemaker/pengine" # 10,11,12 + ProcessMatch "stonithd" "/usr/libexec/pacemaker/stonithd" # 10,11,12 # Everything Else (OpenStack Installed) # (Processes displayed under "Everything Else" on Grafana Dashboards) - ProcessMatch "dnsmasq" "^dnsmasq.+" # 10,11 - ProcessMatch "haproxy" "/usr/sbin/haproxy.+/etc/haproxy/haproxy.cfg" # 10,11 - Process "httpd" # 10,11 - Process "memcached" # 10,11 - Process "mongod" # 10,11 - ProcessMatch "mysqld" "/usr/libexec/mysqld" # 10,11 - ProcessMatch "rabbitmq" "/usr/lib64/erlang/erts-.+/bin/beam.smp" # 10,11 - Process "redis-server" # 10,11 + ProcessMatch "dnsmasq" "^dnsmasq.+" # 10,11,12 + ProcessMatch "haproxy" "/usr/sbin/haproxy.+/etc/haproxy/haproxy.cfg" # 10,11,12 + Process "httpd" # 10,11,12 + Process "keepalived" # 10,11,12 + Process "memcached" # 10,11,12 + Process "mongod" # 10,11,-12 + ProcessMatch "mysqld" "/usr/libexec/mysqld" # 10,11,12 + ProcessMatch "rabbitmq" "/usr/lib64/erlang/erts-.+/bin/beam.smp" # 10,11,12 + Process "redis-server" # 10,11,12 ProcessMatch "karaf" "java.+karaf" # ODL Specific # Glance (OpenStack Installed) - ProcessMatch "glance-api" "python.+glance-api" # 10,11 - ProcessMatch "glance-registry" "python.+glance-registry" # 10,-11 + ProcessMatch "glance-api" "python.+glance-api" # 10,11,12 + ProcessMatch "glance-registry" "python.+glance-registry" # 10,-11,-12 # Gnocchi (OpenStack Installed) - ProcessMatch "gnocchi-metricd-master" "gnocchi-metricd.*master" # 11 - ProcessMatch "gnocchi-metricd-scheduler" "gnocchi-metricd.*scheduler" # 10,11 - ProcessMatch "gnocchi-metricd-processing" "gnocchi-metricd.*processing" # 10,11 - ProcessMatch "gnocchi-metricd-reporting" "gnocchi-metricd.*reporting" # 10,11 - ProcessMatch "gnocchi-metricd-janitor" "gnocchi-metricd.*janitor" # 10,11 + ProcessMatch "gnocchi-metricd-master" "gnocchi-metricd.*master" # 11,12 + ProcessMatch "gnocchi-metricd-scheduler" "gnocchi-metricd.*scheduler" # 10,11,-12 + ProcessMatch "gnocchi-metricd-processing" "gnocchi-metricd.*processing" # 10,11,12 + ProcessMatch "gnocchi-metricd-reporting" "gnocchi-metricd.*reporting" # 10,11,12 + ProcessMatch "gnocchi-metricd-janitor" "gnocchi-metricd.*janitor" # 10,11,12 ProcessMatch "gnocchi-metricd" "gnocchi-metricd " # 10(Old proctitle) - ProcessMatch "gnocchi-statsd" "python.+gnocchi-statsd" # 10,11 - ProcessMatch "gnocchi_wsgi" "gnocchi_wsgi.*-DFOREGROUND" # 11 + ProcessMatch "gnocchi-statsd" "python.+gnocchi-statsd" # 10,11,12 + ProcessMatch "gnocchi_wsgi" "gnocchi_wsgi.*-DFOREGROUND" # 11,12 # Heat (OpenStack Installed) - ProcessMatch "heat-api" "python.+heat-api --config-file" # 10,11 - ProcessMatch "heat-api-cfn" "python.+heat-api-cfn" # 10,11 - ProcessMatch "heat-api-cloudwatch" "python.+heat-api-cloudwatch" # 10,11 - ProcessMatch "heat-engine" "python.+heat-engine" # 10,11 + ProcessMatch "heat-api" "python.+heat-api --config-file" # 10,11,-12(httpd) + ProcessMatch "heat-api-cfn" "python.+heat-api-cfn" # 10,11,-12(httpd) + ProcessMatch "heat-api-cloudwatch" "python.+heat-api-cloudwatch" # 10,11,-12(httpd) + ProcessMatch "heat_api_cfn" "heat_api_cfn_ws" # 12 + ProcessMatch "heat_api_cloudwatch" "heat_api_cloudw" # 12 + ProcessMatch "heat_api_wsgi" "heat_api_wsgi" # 12 + ProcessMatch "heat-engine" "python.+heat-engine" # 10,11,12 # Keystone (OpenStack Installed) - ProcessMatch "keystone-admin" "keystone-admin.*-DFOREGROUND" # 10,11 - ProcessMatch "keystone-main" "keystone-main.*-DFOREGROUND" # 10,11 - ProcessMatch "keystone-token-flush" "keystone-manage.*token_flush" # 10,11 + ProcessMatch "keystone-admin" "keystone-admin.*-DFOREGROUND" # 10,11,12 + ProcessMatch "keystone-main" "keystone-main.*-DFOREGROUND" # 10,11,12 + # Starting Pike, fernet tokens are default thus token_flush not needed + ProcessMatch "keystone-token-flush" "keystone-manage.*token_flush" # 10,11,-12 # Neutron (OpenStack Installed) - ProcessMatch "neutron-dhcp-agent" "python.+neutron-dhcp-agent" # 10,11 - ProcessMatch "neutron-l3-agent" "python.+neutron-l3-agent" # 10,11 - ProcessMatch "neutron-metadata-agent" "python.+neutron-metadata-agent" # 10,11 + ProcessMatch "neutron-dhcp-agent" "python.+neutron-dhcp-agent" # 10,11,12 + ProcessMatch "neutron-l3-agent" "python.+neutron-l3-agent" # 10,11,12 + ProcessMatch "neutron-metadata-agent" "python.+neutron-metadata-agent" # 10,11,12 ProcessMatch "neutron-ns-metadata-proxy" "python.+neutron-ns-metadata-proxy" # 10,11 - ProcessMatch "neutron-openvswitch-agent" "python.+neutron-openvswitch-agent" # 10,11 - ProcessMatch "neutron-server" "python.+neutron-server" # 10,11 + ProcessMatch "neutron-openvswitch-agent" "python.+neutron-openvswitch-agent" # 10,11,12 + ProcessMatch "neutron-server" "python.+neutron-server" # 10,11,12 # Nova (OpenStack Installed) ProcessMatch "nova-api" "python.+nova-api" # 10,11 - ProcessMatch "nova-conductor" "python.+nova-conductor" # 10,11 - ProcessMatch "nova-consoleauth" "python.+nova-consoleauth" # 10,11 - ProcessMatch "nova-novncproxy" "python.+nova-novncproxy" # 10,11 - ProcessMatch "nova-scheduler" "python.+nova-scheduler" # 10,11 - ProcessMatch "placement_wsgi" "placement_wsgi.*-DFOREGROUND" # 11 + ProcessMatch "nova-api-metadata" "python.+nova-api-metadata" # 12 + ProcessMatch "nova_api_wsgi" "nova_api_wsgi" # 12 + ProcessMatch "nova-conductor" "python.+nova-conductor" # 10,11,12 + ProcessMatch "nova-consoleauth" "python.+nova-consoleauth" # 10,11,12 + ProcessMatch "nova-novncproxy" "python.+nova-novncproxy" # 10,11,12 + ProcessMatch "nova-scheduler" "python.+nova-scheduler" # 10,11,12 + ProcessMatch "placement_wsgi" "placement_wsgi.*-DFOREGROUND" # 11,12 # OVS (OpenStack Installed) - ProcessMatch "ovs-vswitchd" "ovs-vswitchd.+openvswitch" # 10,11 - ProcessMatch "ovsdb-client" "ovsdb-client" # 10,11 - ProcessMatch "ovsdb-server" "ovsdb-server.+openvswitch" # 10,11 + ProcessMatch "ovs-vswitchd" "ovs-vswitchd.+openvswitch" # 10,11,12 + ProcessMatch "ovsdb-client" "ovsdb-client" # 10,11,12 + ProcessMatch "ovsdb-server" "ovsdb-server.+openvswitch" # 10,11,12 ProcessMatch "ovn-northd" "ovn-northd.+openvswitch" # 9,10 ProcessMatch "ovn-controller" "ovn-controller.+openvswitch" # 9,10 ProcessMatch "ovn-controller-vtep" "ovn-controller-vtep.+openvswitch" # 9,10 # Panko (OpenStack Installed) - ProcessMatch "panko_wsgi" "panko_wsgi.*-DFOREGROUND" # 11 + ProcessMatch "panko_wsgi" "panko_wsgi.*-DFOREGROUND" # 11,12 # Swift (OpenStack Installed) - ProcessMatch "swift-account-auditor" "python.+swift-account-auditor" # 10,11 - ProcessMatch "swift-account-reaper" "python.+swift-account-reaper" # 10,11 - ProcessMatch "swift-account-replicator" "python.+swift-account-replicator" # 10,11 - ProcessMatch "swift-account-server" "python.+swift-account-server" # 10,11 - ProcessMatch "swift-container-auditor" "python.+swift-container-auditor" # 10,11 - ProcessMatch "swift-container-replicator" "python.+swift-container-replicator" # 10,11 - ProcessMatch "swift-container-server" "python.+swift-container-server" # 10,11 - ProcessMatch "swift-container-updater" "python.+swift-container-updater" # 10,11 - ProcessMatch "swift-object-auditor" "python.+swift-object-auditor" # 10,11 - ProcessMatch "swift-object-expirer" "python.+swift-object-expirer" # 11 - ProcessMatch "swift-object-replicator" "python.+swift-object-replicator" # 10,11 - ProcessMatch "swift-object-server" "python.+swift-object-server" # 10,11 - ProcessMatch "swift-object-updater" "python.+swift-object-updater" # 10,11 - ProcessMatch "swift-proxy-server" "python.+swift-proxy-server" # 10,11 + ProcessMatch "swift-account-auditor" "python.+swift-account-auditor" # 10,11,12 + ProcessMatch "swift-account-reaper" "python.+swift-account-reaper" # 10,11,12 + ProcessMatch "swift-account-replicator" "python.+swift-account-replicator" # 10,11,12 + ProcessMatch "swift-account-server" "python.+swift-account-server" # 10,11,12 + ProcessMatch "swift-container-auditor" "python.+swift-container-auditor" # 10,11,12 + ProcessMatch "swift-container-replicator" "python.+swift-container-replicator" # 10,11,12 + ProcessMatch "swift-container-server" "python.+swift-container-server" # 10,11,12 + ProcessMatch "swift-container-updater" "python.+swift-container-updater" # 10,11,12 + ProcessMatch "swift-object-auditor" "python.+swift-object-auditor" # 10,11,12 + ProcessMatch "swift-object-expirer" "python.+swift-object-expirer" # 11,12 + ProcessMatch "swift-object-replicator" "python.+swift-object-replicator" # 10,11,12 + ProcessMatch "swift-object-server" "python.+swift-object-server" # 10,11,12 + ProcessMatch "swift-object-updater" "python.+swift-object-updater" # 10,11,12 + ProcessMatch "swift-proxy-server" "python.+swift-proxy-server" # 10,11,12 {%if rabbitmq_controller_collectd_plugin %} @@ -449,7 +455,11 @@ PreCacheChain "PreCache" # Tail httpd request time {%if apache_controller_collectd_request_time %} + {%if 'Pike' in osp_version['content'] | b64decode %} + + {% else %} + {% endif %} Instance "gnocchi-api" # Gnocchi API Post @@ -549,7 +559,12 @@ PreCacheChain "PreCache" + + {%if 'Pike' in osp_version['content'] | b64decode %} + + {% else %} + {% endif %} Instance "keystone-admin-api" # Keystone Admin Post @@ -623,7 +638,11 @@ PreCacheChain "PreCache" + {%if 'Pike' in osp_version['content'] | b64decode %} + + {% else %} + {% endif %} Instance "keystone-main-api" # Keystone Main Post @@ -697,7 +716,11 @@ PreCacheChain "PreCache" + {%if 'Pike' in osp_version['content'] | b64decode %} + + {% else %} + {% endif %} Instance "nova-placement-api" # Nova Placement Post @@ -809,7 +832,11 @@ PreCacheChain "PreCache" {% endif %} # End Tail httpd request time + {%if 'Pike' in osp_version['content'] | b64decode %} + + {% else %} + {% endif %} Instance "aodh-evaluator" Regex " ERROR " @@ -834,7 +861,11 @@ PreCacheChain "PreCache" {% endif %} + {%if 'Pike' in osp_version['content'] | b64decode %} + + {% else %} + {% endif %} Instance "aodh-listener" Regex " ERROR " @@ -859,7 +890,11 @@ PreCacheChain "PreCache" {% endif %} + {%if 'Pike' in osp_version['content'] | b64decode %} + + {% else %} + {% endif %} Instance "aodh-notifier" Regex " ERROR " @@ -884,7 +919,11 @@ PreCacheChain "PreCache" {% endif %} + {%if 'Pike' in osp_version['content'] | b64decode %} + + {% else %} + {% endif %} Instance "aodh-wsgi-api" Regex ":error" @@ -894,7 +933,11 @@ PreCacheChain "PreCache" + {%if 'Pike' in osp_version['content'] | b64decode %} + + {% else %} + {% endif %} Instance "ceilometer-agent-notification" Regex " ERROR " @@ -944,6 +987,9 @@ PreCacheChain "PreCache" {% endif %} +{%if 'Pike' in osp_version['content'] | b64decode %} + # No need to tail for ceilometer-collector/ceilometer_wsgi in Pike +{% else %} Instance "ceilometer-collector" @@ -952,22 +998,22 @@ PreCacheChain "PreCache" Type "counter" Instance "error" -{%if regex_warn %} + {%if regex_warn %} Regex " WARNING " DSType "CounterInc" Type "counter" Instance "warn" -{% endif %} -{%if regex_info %} + {% endif %} + {%if regex_info %} Regex " INFO " DSType "CounterInc" Type "counter" Instance "info" -{% endif %} + {% endif %} Instance "ceilometer-wsgi-api" @@ -978,6 +1024,7 @@ PreCacheChain "PreCache" Instance "error" +{% endif %} Instance "ceph" @@ -1005,34 +1052,11 @@ PreCacheChain "PreCache" {% endif %} - # (Newton) api.log - - Instance "cinder-api" - - Regex " ERROR " - DSType "CounterInc" - Type "counter" - Instance "error" - -{%if regex_warn %} - - Regex " WARNING " - DSType "CounterInc" - Type "counter" - Instance "warn" - -{% endif %} -{%if regex_info %} - - Regex " INFO " - DSType "CounterInc" - Type "counter" - Instance "info" - -{% endif %} - - # (Ocata) cinder-api.log + {%if ('Pike' in osp_version['content'] | b64decode) or ('Ocata' in osp_version['content'] | b64decode) %} + {% else %} + + {% endif %} Instance "cinder-api" Regex " ERROR " @@ -1108,7 +1132,11 @@ PreCacheChain "PreCache" {% endif %} + {%if 'Pike' in osp_version['content'] | b64decode %} + + {% else %} + {% endif %} Instance "glance-api" Regex " ERROR " @@ -1133,6 +1161,10 @@ PreCacheChain "PreCache" {% endif %} + +{%if 'Pike' in osp_version['content'] | b64decode %} + # No Glance registry in Pike +{% else %} Instance "glance-registry" @@ -1158,8 +1190,13 @@ PreCacheChain "PreCache" {% endif %} +{% endif %} + {%if 'Pike' in osp_version['content'] | b64decode %} + + {% else %} + {% endif %} Instance "gnocchi-app" Regex " ERROR " @@ -1184,7 +1221,11 @@ PreCacheChain "PreCache" {% endif %} + {%if 'Pike' in osp_version['content'] | b64decode %} + + {% else %} + {% endif %} Instance "gnocchi-metricd" Regex " ERROR " @@ -1209,7 +1250,11 @@ PreCacheChain "PreCache" {% endif %} + {%if 'Pike' in osp_version['content'] | b64decode %} + + {% else %} + {% endif %} Instance "gnocchi-statsd" Regex " ERROR " @@ -1234,7 +1279,11 @@ PreCacheChain "PreCache" {% endif %} + {%if 'Pike' in osp_version['content'] | b64decode %} + + {% else %} + {% endif %} Instance "gnocchi-wsgi-api" Regex ":error" @@ -1244,7 +1293,11 @@ PreCacheChain "PreCache" + {%if 'Pike' in osp_version['content'] | b64decode %} + + {% else %} + {% endif %} Instance "heat-api-cfn" Regex " ERROR " @@ -1269,7 +1322,11 @@ PreCacheChain "PreCache" {% endif %} + {%if 'Pike' in osp_version['content'] | b64decode %} + + {% else %} + {% endif %} Instance "heat-api-cloudwatch" Regex " ERROR " @@ -1294,7 +1351,11 @@ PreCacheChain "PreCache" {% endif %} + {%if 'Pike' in osp_version['content'] | b64decode %} + + {% else %} + {% endif %} Instance "heat-api" Regex " ERROR " @@ -1319,7 +1380,11 @@ PreCacheChain "PreCache" {% endif %} + {%if 'Pike' in osp_version['content'] | b64decode %} + + {% else %} + {% endif %} Instance "heat-engine" Regex " ERROR " @@ -1345,7 +1410,11 @@ PreCacheChain "PreCache" {% endif %} + {%if 'Pike' in osp_version['content'] | b64decode %} + + {% else %} + {% endif %} Instance "keystone" Regex " ERROR " @@ -1370,7 +1439,11 @@ PreCacheChain "PreCache" {% endif %} + {%if 'Pike' in osp_version['content'] | b64decode %} + + {% else %} + {% endif %} Instance "keystone-wsgi-admin" Regex ":error" @@ -1379,7 +1452,11 @@ PreCacheChain "PreCache" Instance "error" + {%if 'Pike' in osp_version['content'] | b64decode %} + + {% else %} + {% endif %} Instance "keystone-wsgi-main" Regex ":error" @@ -1542,7 +1619,11 @@ PreCacheChain "PreCache" {% endif %} + {%if 'Pike' in osp_version['content'] | b64decode %} + + {% else %} + {% endif %} Instance "nova-api" Regex " ERROR " @@ -1567,7 +1648,39 @@ PreCacheChain "PreCache" {% endif %} +{%if 'Pike' in osp_version['content'] | b64decode %} + + Instance "nova-api-metadata" + + Regex " ERROR " + DSType "CounterInc" + Type "counter" + Instance "error" + + {%if regex_warn %} + + Regex " WARNING " + DSType "CounterInc" + Type "counter" + Instance "warn" + + {% endif %} + {%if regex_info %} + + Regex " INFO " + DSType "CounterInc" + Type "counter" + Instance "info" + + {% endif %} + +{% endif %} + + {%if 'Pike' in osp_version['content'] | b64decode %} + + {% else %} + {% endif %} Instance "nova-conductor" Regex " ERROR " @@ -1592,7 +1705,11 @@ PreCacheChain "PreCache" {% endif %} + {%if 'Pike' in osp_version['content'] | b64decode %} + + {% else %} + {% endif %} Instance "nova-consoleauth" Regex " ERROR " @@ -1617,7 +1734,11 @@ PreCacheChain "PreCache" {% endif %} + {%if 'Pike' in osp_version['content'] | b64decode %} + + {% else %} + {% endif %} Instance "nova-novncproxy" Regex " ERROR " @@ -1642,7 +1763,11 @@ PreCacheChain "PreCache" {% endif %} + {%if 'Pike' in osp_version['content'] | b64decode %} + + {% else %} + {% endif %} Instance "nova-placement-api" Regex " ERROR " @@ -1667,7 +1792,11 @@ PreCacheChain "PreCache" {% endif %} + {%if 'Pike' in osp_version['content'] | b64decode %} + + {% else %} + {% endif %} Instance "nova-scheduler" Regex " ERROR " @@ -1692,7 +1821,11 @@ PreCacheChain "PreCache" {% endif %} + {%if 'Pike' in osp_version['content'] | b64decode %} + + {% else %} + {% endif %} Instance "nova-placement-wsgi-api" Regex ":error" @@ -1702,7 +1835,11 @@ PreCacheChain "PreCache" + {%if 'Pike' in osp_version['content'] | b64decode %} + + {% else %} + {% endif %} Instance "panko" Regex " ERROR " @@ -1727,7 +1864,11 @@ PreCacheChain "PreCache" {% endif %} + {%if 'Pike' in osp_version['content'] | b64decode %} + + {% else %} + {% endif %} Instance "panko-wsgi-api" Regex ":error" diff --git a/ansible/install/roles/collectd-openstack/templates/undercloud.collectd.conf.j2 b/ansible/install/roles/collectd-openstack/templates/undercloud.collectd.conf.j2 index 4d8bab7a6..67be3c3bd 100644 --- a/ansible/install/roles/collectd-openstack/templates/undercloud.collectd.conf.j2 +++ b/ansible/install/roles/collectd-openstack/templates/undercloud.collectd.conf.j2 @@ -223,21 +223,21 @@ PreCacheChain "PreCache" ProcessMatch "collectd" "/usr/sbin/collectd" # Docker (OpenStack Installed) - ProcessMatch "docker-registry" "registry.+serve.+/etc/docker-distribution" # -10,11 - ProcessMatch "dockerd-current" "dockerd-current" # 11 - ProcessMatch "docker-containerd-current" "docker-containerd-current" # 11 + ProcessMatch "docker-registry" "registry.+serve.+/etc/docker-distribution" # 11,12 + ProcessMatch "dockerd-current" "dockerd-current" # 11,12 + ProcessMatch "docker-containerd-current" "docker-containerd-current" # 11,12 # Everything Else (OpenStack Installed) # (Processes displayed under "Everything Else" on Grafana Dashboards) - Process "httpd" # 10,11 - Process "memcached" # 10,11 - Process "mongod" # 10,11 - ProcessMatch "mysqld" "/usr/libexec/mysqld" # 10,11 - ProcessMatch "rabbitmq" "/usr/lib64/erlang/erts-.+/bin/beam.smp" # 10,11 + Process "httpd" # 10,11,12 + Process "memcached" # 10,11,12 + Process "mongod" # 10,11,-12 + ProcessMatch "mysqld" "/usr/libexec/mysqld" # 10,11,12 + ProcessMatch "rabbitmq" "/usr/lib64/erlang/erts-.+/bin/beam.smp" # 10,11,12 # Glance (OpenStack Installed) - ProcessMatch "glance-api" "python.+glance-api" # 10,11 - ProcessMatch "glance-registry" "python.+glance-registry" # 10,-11 + ProcessMatch "glance-api" "python.+glance-api" # 10,11,12 + ProcessMatch "glance-registry" "python.+glance-registry" # 10,-11,-12 # Gnocchi (OpenStack Installed) ProcessMatch "gnocchi-metricd-master" "gnocchi-metricd:.*master" # 11 @@ -249,69 +249,72 @@ PreCacheChain "PreCache" ProcessMatch "gnocchi_wsgi" "gnocchi_wsgi.*-DFOREGROUND" # 11 # Heat (OpenStack Installed) - ProcessMatch "heat-api" "python.+heat-api" # 10,11 - ProcessMatch "heat-api-cfn" "python.+heat-api-cfn" # 10,11 - ProcessMatch "heat-engine" "python.+heat-engine" # 10,11 + ProcessMatch "heat-api" "python.+heat-api" # 10,11,-12 + ProcessMatch "heat-api-cfn" "python.+heat-api-cfn" # 10,11,-12 + ProcessMatch "heat-engine" "python.+heat-engine" # 10,11,12 + ProcessMatch "heat_api_wsgi" "heat_api_wsgi.*-DFOREGROUND" # 12 + ProcessMatch "heat_api_cfn_ws" "heat_api_cfn_ws.*-DFOREGROUND" # 12 # Ironic (OpenStack Installed) - ProcessMatch "ironic-api" "python.+ironic-api" # 10,11 - ProcessMatch "ironic-conductor" "python.+ironic-conductor" # 10,11 - ProcessMatch "ironic-inspector" "python.+ironic-inspector" # 10,11 - ProcessMatch "dnsmasq-ironic" "dnsmasq.+/etc/dnsmasq-ironic.conf" # 10,11 - ProcessMatch "dnsmasq-ironicinspector" "/sbin/dnsmasq.+/etc/ironic-inspector/" # 10,11 + ProcessMatch "ironic-api" "python.+ironic-api" # 10,11,-12 + ProcessMatch "ironic-conductor" "python.+ironic-conductor" # 10,11,12 + ProcessMatch "ironic-inspector" "python.+ironic-inspector" # 10,11,12 + ProcessMatch "dnsmasq-ironic" "dnsmasq.+/etc/dnsmasq-ironic.conf" # 10,11,12 + ProcessMatch "dnsmasq-ironicinspector" "/sbin/dnsmasq.+/etc/ironic-inspector/" # 10,11,12 + ProcessMatch "ironic_wsgi" "ironic_wsgi.*-DFOREGROUND" # 12 # Keystone (OpenStack Installed) - ProcessMatch "keystone-admin" "keystone-admin.*-DFOREGROUND" # 10,11 - ProcessMatch "keystone-main" "keystone-main.*-DFOREGROUND" # 10,11 + ProcessMatch "keystone-admin" "keystone-admin.*-DFOREGROUND" # 10,11,12 + ProcessMatch "keystone-main" "keystone-main.*-DFOREGROUND" # 10,11,12 # Starting Ocata, fernet tokens are default thus token_flush not needed - ProcessMatch "keystone-token-flush" "keystone-manage.*token_flush" # 10,11 + ProcessMatch "keystone-token-flush" "keystone-manage.*token_flush" # 10,11,-12 # Mistral (Openstack Installed) - ProcessMatch "mistral-server-api" "python.+mistral-server.+api" # 10,11 - ProcessMatch "mistral-server-engine" "python.+mistral-server.+engine" # 10,11 - ProcessMatch "mistral-server-executor" "python.+mistral-server.+executor" # 10,11 + ProcessMatch "mistral-server-api" "python.+mistral-server.+api" # 10,11,12 + ProcessMatch "mistral-server-engine" "python.+mistral-server.+engine" # 10,11,12 + ProcessMatch "mistral-server-executor" "python.+mistral-server.+executor" # 10,11,12 # Neutron (OpenStack Installed) - ProcessMatch "neutron-dhcp-agent" "python.+neutron-dhcp-agent" # 10,11 - ProcessMatch "neutron-l3-agent" "python.+neutron-l3-agent" # -10,-11 - ProcessMatch "neutron-metadata-agent" "python.+neutron-metadata-agent" # -10,-11 - ProcessMatch "neutron-ns-metadata-proxy" "python.+neutron-ns-metadata-proxy" # -10,-11 - ProcessMatch "neutron-openvswitch-agent" "python.+neutron-openvswitch-agent" # 10,11 - ProcessMatch "neutron-server" "python.+neutron-server" # 10,11 + ProcessMatch "neutron-dhcp-agent" "python.+neutron-dhcp-agent" # 10,11,12 + ProcessMatch "neutron-openvswitch-agent" "python.+neutron-openvswitch-agent" # 10,11,12 + ProcessMatch "neutron-server" "python.+neutron-server" # 10,11,12 # Nova (OpenStack Installed) - ProcessMatch "nova-api" "python.+nova-api" # 10,11 - ProcessMatch "nova-cert" "python.+nova-cert" # 10,11 - ProcessMatch "nova-compute" "python.+nova-compute" # 10,11 - ProcessMatch "nova-conductor" "python.+nova-conductor" # 10,11 - ProcessMatch "nova-scheduler" "python.+nova-scheduler" # 10,11 - ProcessMatch "placement_wsgi" "placement_wsgi.*-DFOREGROUND" # 11 + ProcessMatch "nova-api" "python.+nova-api" # 10,11,12 + ProcessMatch "nova-cert" "python.+nova-cert" # 10,11,-12 + ProcessMatch "nova-compute" "python.+nova-compute" # 10,11,12 + ProcessMatch "nova-conductor" "python.+nova-conductor" # 10,11,12 + ProcessMatch "nova-scheduler" "python.+nova-scheduler" # 10,11,12 + ProcessMatch "placement_wsgi" "placement_wsgi.*-DFOREGROUND" # 11,12 # OVS (OpenStack Installed) - ProcessMatch "ovs-vswitchd" "ovs-vswitchd.+openvswitch" # 10,11 - ProcessMatch "ovsdb-client" "ovsdb-client" # 10,11 - ProcessMatch "ovsdb-server" "ovsdb-server.+openvswitch" # 10,11 + ProcessMatch "ovs-vswitchd" "ovs-vswitchd.+openvswitch" # 10,11,12 + ProcessMatch "ovsdb-client" "ovsdb-client" # 10,11,12 + ProcessMatch "ovsdb-server" "ovsdb-server.+openvswitch" # 10,11,12 # Panko (OpenStack Installed) ProcessMatch "panko_wsgi" "panko_wsgi.*-DFOREGROUND" # 11 # Swift (OpenStack Installed) - ProcessMatch "swift-account-auditor" "python.+swift-account-auditor" # 10,-11 - ProcessMatch "swift-account-reaper" "python.+swift-account-reaper" # 10,11 - ProcessMatch "swift-account-replicator" "python.+swift-account-replicator" # 10,-11 - ProcessMatch "swift-account-server" "python.+swift-account-server" # 10,11 - ProcessMatch "swift-container-auditor" "python.+swift-container-auditor" # 10,-11 - ProcessMatch "swift-container-replicator" "python.+swift-container-replicator" # 10,-11 - ProcessMatch "swift-container-server" "python.+swift-container-server" # 10,11 - ProcessMatch "swift-container-updater" "python.+swift-container-updater" # 10,11 - ProcessMatch "swift-object-auditor" "python.+swift-object-auditor" # 10,-11 - ProcessMatch "swift-object-replicator" "python.+swift-object-replicator" # 10,-11 - ProcessMatch "swift-object-server" "python.+swift-object-server" # 10,11 - ProcessMatch "swift-object-updater" "python.+swift-object-updater" # 10,11 - ProcessMatch "swift-proxy-server" "python.+swift-proxy-server" # 10,11 + ProcessMatch "swift-account-auditor" "python.+swift-account-auditor" # 10,-11,-12 + ProcessMatch "swift-account-reaper" "python.+swift-account-reaper" # 10,11,12 + ProcessMatch "swift-account-replicator" "python.+swift-account-replicator" # 10,-11,-12 + ProcessMatch "swift-account-server" "python.+swift-account-server" # 10,11,12 + ProcessMatch "swift-container-auditor" "python.+swift-container-auditor" # 10,-11,-12 + ProcessMatch "swift-container-replicator" "python.+swift-container-replicator" # 10,-11,-12 + ProcessMatch "swift-container-server" "python.+swift-container-server" # 10,11,12 + ProcessMatch "swift-container-sync" "python.+swift-container-sync" # 12 + ProcessMatch "swift-container-updater" "python.+swift-container-updater" # 10,11,12 + ProcessMatch "swift-object-auditor" "python.+swift-object-auditor" # 10,-11,-12 + ProcessMatch "swift-object-reconstructor" "python.+swift-object-reconstructor" # 12 + ProcessMatch "swift-object-replicator" "python.+swift-object-replicator" # 10,-11,-12 + ProcessMatch "swift-object-server" "python.+swift-object-server" # 10,11,12 + ProcessMatch "swift-object-updater" "python.+swift-object-updater" # 10,11,12 + ProcessMatch "swift-proxy-server" "python.+swift-proxy-server" # 10,11,12 # Zaqar (Openstack Installed) - ProcessMatch "zaqar-server" "python.+zaqar-server" # 10,11 + ProcessMatch "zaqar-server" "python.+zaqar-server" # 10,11,12 + ProcessMatch "zaqar_wsgi" "zaqar_wsgi.*-DFOREGROUND" # 12 {%if rabbitmq_undercloud_collectd_plugin %} @@ -535,7 +538,7 @@ PreCacheChain "PreCache" {% endif %} - # Glance Registry does not exist in Ocata (OSP11) + # Glance Registry does not exist in Ocata or Pike Instance "glance-registry" @@ -647,6 +650,7 @@ PreCacheChain "PreCache" + # Newton, Ocata Instance "heat-api-cfn" @@ -672,6 +676,33 @@ PreCacheChain "PreCache" {% endif %} + # Pike + + Instance "heat-api-cfn" + + Regex " ERROR " + DSType "CounterInc" + Type "counter" + Instance "error" + +{%if regex_warn %} + + Regex " WARNING " + DSType "CounterInc" + Type "counter" + Instance "warn" + +{% endif %} +{%if regex_info %} + + Regex " INFO " + DSType "CounterInc" + Type "counter" + Instance "info" + +{% endif %} + + # Newton, Ocata Instance "heat-api" @@ -688,6 +719,32 @@ PreCacheChain "PreCache" Instance "warn" {% endif %} +{%if regex_info %} + + Regex " INFO " + DSType "CounterInc" + Type "counter" + Instance "info" + +{% endif %} + + # Pike + + Instance "heat-api" + + Regex " ERROR " + DSType "CounterInc" + Type "counter" + Instance "error" + +{%if regex_warn %} + + Regex " WARNING " + DSType "CounterInc" + Type "counter" + Instance "warn" + +{% endif %} {%if regex_info %} Regex " INFO " @@ -773,6 +830,15 @@ PreCacheChain "PreCache" {% endif %} + + Instance "ironic-api-wsgi" + + Regex ":error" + DSType "CounterInc" + Type "counter" + Instance "error" + + Instance "ironic-inspector" @@ -1331,6 +1397,40 @@ PreCacheChain "PreCache" {% endif %} + + Instance "zaqar-server" + + Regex " ERROR " + DSType "CounterInc" + Type "counter" + Instance "error" + +{%if regex_warn %} + + Regex " WARNING " + DSType "CounterInc" + Type "counter" + Instance "warn" + +{% endif %} +{%if regex_info %} + + Regex " INFO " + DSType "CounterInc" + Type "counter" + Instance "info" + +{% endif %} + + + Instance "zaqar-wsgi-api" + + Regex ":error" + DSType "CounterInc" + Type "counter" + Instance "error" + + diff --git a/ansible/install/roles/grafana-dashboards/vars/main.yml b/ansible/install/roles/grafana-dashboards/vars/main.yml index 10f4eb06b..aba6b3d83 100644 --- a/ansible/install/roles/grafana-dashboards/vars/main.yml +++ b/ansible/install/roles/grafana-dashboards/vars/main.yml @@ -102,6 +102,8 @@ per_process_panels: - heat-api - heat-api-cfn - heat-engine + - heat_api_wsgi + - heat_api_cfn_ws - name: "Ironic" processes: - ironic-api @@ -109,6 +111,7 @@ per_process_panels: - ironic-inspector - dnsmasq-ironic - dnsmasq-ironicinspector + - ironic_wsgi - name: "Keystone" processes: - keystone-admin @@ -122,9 +125,6 @@ per_process_panels: - name: "Neutron" processes: - neutron-dhcp-agent - - neutron-l3-agent - - neutron-metadata-agent - - neutron-ns-metadata-proxy - neutron-openvswitch-agent - neutron-server - name: "Nova" @@ -152,8 +152,10 @@ per_process_panels: - swift-container-auditor - swift-container-replicator - swift-container-server + - swift-container-sync - swift-container-updater - swift-object-auditor + - swift-object-reconstructor - swift-object-replicator - swift-object-server - swift-object-updater @@ -161,6 +163,7 @@ per_process_panels: - name: "Zaqar" processes: - zaqar-server + - zaqar_wsgi - name: "Collectd" processes: - collectd @@ -178,7 +181,6 @@ per_process_panels: - name: "Ceilometer" processes: - ceilometer-agent-notification - - ceilometer-api - ceilometer-collector - ceilometer-polling - ceilometer_wsgi @@ -207,6 +209,7 @@ per_process_panels: - dnsmasq - haproxy - httpd + - keepalived - memcached - mongod - mysqld @@ -234,6 +237,9 @@ per_process_panels: - heat-api-cfn - heat-api-cloudwatch - heat-engine + - heat_api_cfn + - heat_api_cloudwatch + - heat_api_wsgi - name: "Keystone" processes: - keystone-admin @@ -250,6 +256,8 @@ per_process_panels: - name: "Nova" processes: - nova-api + - nova-api-metadata + - nova_api_wsgi - nova-conductor - nova-consoleauth - nova-novncproxy @@ -420,6 +428,7 @@ per_process_panels: - dnsmasq - haproxy - httpd + - keepalived - memcached - mongod - mysqld @@ -447,6 +456,9 @@ per_process_panels: - heat-api-cfn - heat-api-cloudwatch - heat-engine + - heat_api_cfn + - heat_api_cloudwatch + - heat_api_wsgi - name: "Ironic" processes: - ironic-api @@ -454,6 +466,7 @@ per_process_panels: - ironic-inspector - dnsmasq-ironic - dnsmasq-ironicinspector + - ironic_wsgi - name: "Keystone" processes: - keystone-admin @@ -475,6 +488,8 @@ per_process_panels: - name: "Nova" processes: - nova-api + - nova-api-metadata + - nova_api_wsgi - nova-cert - nova-compute - nova-conductor @@ -509,9 +524,11 @@ per_process_panels: - swift-container-auditor - swift-container-replicator - swift-container-server + - swift-container-sync - swift-container-updater - swift-object-auditor - swift-object-expirer + - swift-object-reconstructor - swift-object-replicator - swift-object-server - swift-object-updater @@ -519,6 +536,7 @@ per_process_panels: - name: "Zaqar" processes: - zaqar-server + - zaqar_wsgi - name: "Collectd" processes: - collectd diff --git a/ansible/install/roles/osp_version/tasks/main.yml b/ansible/install/roles/osp_version/tasks/main.yml new file mode 100644 index 000000000..6e13dc4c7 --- /dev/null +++ b/ansible/install/roles/osp_version/tasks/main.yml @@ -0,0 +1,25 @@ +--- +# +# Slurp OSP version file +# + +- name: Check if /etc/rhosp-release exists + stat: + path: /etc/rhosp-release + register: rhosp_release_stat + +- name: Get OSP Version + become: true + slurp: + src: "/etc/rhosp-release" + register: osp_version + when: rhosp_release_stat.stat.exists + +- debug: msg="WARNING /etc/rhosp-release not found, defaulting version of OSP to Pike" + when: not rhosp_release_stat.stat.exists + +- name: Set OSP Version Default + set_fact: + osp_version: + content: "{{'Pike' | b64encode}}" + when: not rhosp_release_stat.stat.exists diff --git a/ansible/oooq/overcloud-metrics.yml b/ansible/oooq/overcloud-metrics.yml index b43552d26..7c9bcf403 100644 --- a/ansible/oooq/overcloud-metrics.yml +++ b/ansible/oooq/overcloud-metrics.yml @@ -5,6 +5,7 @@ - config_type: "{{group_names[0]}}" roles: - browbeat/common + - browbeat/osp_version - browbeat/epel - browbeat/collectd-openstack - browbeat/rsyslog-install