---
- name: Install the ganglia client
  apt: pkg={{ item }} state=installed
  with_items:
    - ganglia-monitor
  tags: [ 'monitoring', 'ganglia' ]

- name: Install the ganglia linux specific plugins. We need at least ubuntu trusty. Or debian 7. Or debian 8
  apt: pkg={{ item }} state=installed force=yes
  with_items:
    - ganglia-modules-linux
    - ganglia-monitor-python
  notify: Restart ganglia monitor
  when: is_trusty
  tags: [ 'monitoring', 'ganglia' ]

- name: Install the ganglia linux specific plugins. We need at least ubuntu trusty. Or debian 7. Or debian 8
  apt: pkg={{ item }} state=installed force=yes
  with_items:
    - ganglia-modules-linux
    - ganglia-monitor-python
  notify: Restart ganglia monitor
  when: is_debian7
  tags: [ 'monitoring', 'ganglia' ]

- name: Install the ganglia linux specific plugins. We need at least ubuntu trusty. Or debian 7. Or debian 8
  apt: pkg={{ item }} state=installed force=yes
  with_items:
    - ganglia-modules-linux
    - ganglia-monitor-python
  notify: Restart ganglia monitor
  when: is_debian8
  tags: [ 'monitoring', 'ganglia' ]

- name: Distribute the ganglia configuration file for Ubuntu >= 12.04
  template: src=gmond.j2 dest=/etc/ganglia/gmond.conf owner=root group=root mode=444
  when: ( is_not_ubuntu_less_than_precise ) or ( is_debian8 )
  notify: Restart ganglia monitor
  tags: [ 'monitoring', 'ganglia' ]

- name: Distribute the ganglia configuration file for Debian 7
  template: src=gmond.j2 dest=/etc/ganglia/gmond.conf owner=root group=root mode=444
  when: is_debian7
  notify: Restart ganglia monitor
  tags: [ 'monitoring', 'ganglia' ]

- name: Distribute the ganglia configuration file for Ubuntu < 12.04 and >= 10.04 and Debian 6
  template: src=gmond.j2 dest=/etc/ganglia/gmond.conf owner=root group=root mode=444
  when: is_ubuntu_between_10_04_and_11_04_and_is_debian_6
  notify: Restart ganglia monitor
  tags: [ 'monitoring', 'ganglia' ]

- name: Distribute the ganglia configuration file for Ubuntu < 10.04 and Debian 4
  template: src=gmond-2.5.j2 dest=/etc/gmond.conf owner=root group=root mode=444
  when:
    - is_ubuntu_between_8_and_9_and_is_debian_4
  notify: Restart ganglia monitor
  tags: [ 'monitoring', 'ganglia' ]

- name: Distribute the ganglia configuration on broken hardy 8.04.4
  template: src=gmond-2.5.j2 dest=/etc/gmond.conf owner=root group=root mode=444
  when:
    - is_broken_hardy_lts
  notify: Restart ganglia monitor
  tags: [ 'monitoring', 'ganglia' ]

- name: Setup the ganglia directory for python modules
  file: dest=/usr/lib/ganglia/python_modules state=directory
  when: is_precise
  tags: [ 'monitoring', 'ganglia' ]

- name: Ensure that the ganglia include conf dir exists
  file: path=/etc/ganglia/conf.d state=directory
  when: is_precise
  tags: [ 'monitoring', 'ganglia' ]

- name: Setup the ganglia configuration for python modules
  copy: src=modpython.conf dest=/etc/ganglia/conf.d/modpython.conf owner=root group=root mode=0644
  notify: Restart ganglia monitor
  when: is_precise
  tags: [ 'monitoring', 'ganglia' ]