97 lines
3.8 KiB
YAML
97 lines
3.8 KiB
YAML
---
|
|
- name: Fetch log file paths
|
|
include_vars:
|
|
file: "vars/{{ rhosp_major }}.yml"
|
|
|
|
- name: (Undercloud) Get ctlplane ip address
|
|
shell: ip r | egrep 'br-ctlplane\s*proto kernel' | awk '{print $NF}'
|
|
register: undercloud_ctlplane_ip_address
|
|
when: "'Undercloud' in group_names"
|
|
|
|
- name: Configure mysql for collectd.conf
|
|
block:
|
|
- name: (Controller) Get mysql root password
|
|
command: hiera -c /etc/puppet/hiera.yaml mysql::server::root_password
|
|
become: true
|
|
register: mysql_root_password
|
|
when: "'Controller' in group_names"
|
|
|
|
- name: (Undercloud) Get mysql root password
|
|
shell: |
|
|
grep undercloud_mysql_root_password: undercloud-passwords.conf | sed 's/undercloud_mysql_root_password: //g'
|
|
register: undercloud_mysql_password
|
|
when: "'Undercloud' in group_names"
|
|
|
|
- name: Configure rabbitmq monitoring
|
|
block:
|
|
- name: (Undercloud) Get Rabbitmq username
|
|
command: hiera -c /etc/puppet/hiera.yaml rabbitmq::default_user
|
|
become: true
|
|
register: undercloud_rabbitmq_username
|
|
when: "('Undercloud' in group_names and rabbitmq_undercloud_collectd_plugin)"
|
|
|
|
- name: (Undercloud) Get Rabbitmq password
|
|
shell: |
|
|
grep undercloud_rabbit_password /home/stack/undercloud-passwords.conf | sed 's/undercloud_rabbit_password: //g'
|
|
register: undercloud_rabbitmq_password
|
|
when: "('Undercloud' in group_names and rabbitmq_undercloud_collectd_plugin)"
|
|
|
|
- name: (Controller) Get Rabbitmq username
|
|
command: hiera -c /etc/puppet/hiera.yaml rabbitmq::default_user
|
|
register: controller0_rabbitmq_username
|
|
become: true
|
|
when: "'Controller' in group_names and rabbitmq_controller_collectd_plugin and inventory_hostname == groups['Controller'][0]"
|
|
|
|
- name: (Controller) Get Rabbitmq password
|
|
command: hiera -c /etc/puppet/hiera.yaml rabbitmq::default_pass
|
|
register: controller0_rabbitmq_password
|
|
become: true
|
|
when: "'Controller' in group_names and rabbitmq_controller_collectd_plugin and inventory_hostname == groups['Controller'][0]"
|
|
|
|
- name: Check if Container Files Directory exists
|
|
stat:
|
|
path: "{{ ansible_user_dir }}/browbeat/browbeat-containers/collectd-openstack"
|
|
register: directory_exists
|
|
|
|
- name: Clone browbeat if it doesn't exists on host
|
|
git:
|
|
repo: https://github.com/openstack/browbeat.git
|
|
dest: "{{ ansible_user_dir }}/browbeat"
|
|
version: master
|
|
when: not (directory_exists.stat.isdir is defined and directory_exists.stat.isdir)
|
|
|
|
- name: Create configuration directory
|
|
file:
|
|
path: "{{ browbeat_containers_path }}/collectd-openstack/config"
|
|
state: directory
|
|
|
|
- name: Configure collectd.conf
|
|
template:
|
|
src: "{{ config_type }}.collectd.conf.j2"
|
|
dest: "{{ browbeat_containers_path }}/collectd-openstack/config/collectd.conf"
|
|
|
|
- name: Build and Run container
|
|
block:
|
|
- name: Build collectd-openstack container
|
|
shell: |
|
|
{{ container_cli }} build -t collectd-openstack {{ browbeat_containers_path }}/collectd-openstack/
|
|
become: true
|
|
- name: Run collectd-openstack container
|
|
shell: |
|
|
{{ container_cli }} rm -f collectd-{{ config_type }}
|
|
{{ container_cli }} run --name collectd-{{ config_type }} \
|
|
--network host --pid host \
|
|
--privileged -d \
|
|
-v /var/log/containers:/var/log/containers \
|
|
-v /dev:/dev \
|
|
{% if config_type == 'controller' or config_type == 'undercloud' %}
|
|
-v /var/lib/mysql/mysql.sock:/var/lib/mysql/mysql.sock \
|
|
{% endif %}
|
|
{% if config_type == 'controller' or config_type == 'compute' %}
|
|
{% if ovs_flows_monitoring %}
|
|
-v /etc/openvswitch/:/etc/openvswitch/ -v /var/run/openvswitch/:/var/run/openvswitch/ \
|
|
{% endif %}
|
|
{% endif %}
|
|
collectd-openstack
|
|
become: yes
|