openstack-ansible-ops/cluster_metrics/playbook-influx-telegraf.yml
Jean-Philippe Evrard 03c48e2357 Use apt_repository update_cache feature
With ansible 2.2, apt_repository update_cache feature has
been fixed. When a new repo will be added, apt-get update
will be run after the addition if update_cache is set to yes.

This combined with the apt module now properly checking the
cache validity, we can now have proper updating of the cache
with registering variables.

Change-Id: Ic9788156a88223dc0d27fafa2a798f396135f990
2016-11-04 16:51:31 +00:00

66 lines
1.9 KiB
YAML

---
# Copyright 2016, Rackspace US, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
- name: Deploy telegraf
hosts: "all"
gather_facts: true
user: root
tasks:
- name: Add influxdata apt-keys
apt_key:
url: "https://repos.influxdata.com/influxdb.key"
state: "present"
- name: Add influxdata repo
apt_repository:
repo: "deb https://repos.influxdata.com/{{ ansible_distribution | lower }} {{ ansible_distribution_release }} stable"
state: "present"
update_cache: yes
- name: Install telegraf
apt:
pkg: "telegraf"
state: "latest"
- name: Create telegraf plugin dir
file:
path: "/opt/telegraf"
state: directory
mode: "0755"
- name: Drop telegraf plugin file(s)
copy:
src: "files/{{ item }}"
dest: "/opt/telegraf/{{ item }}"
mode: '0755'
with_items:
- kvm_virsh.py
- name: Drop telegraf config file
template:
src: templates/telegraf.conf.j2
dest: /etc/telegraf/telegraf.conf
register: telegraf_config
- name: Enable and restart telegraf
service:
name: "telegraf"
enabled: true
state: restarted
when: telegraf_config | changed
- name: Enable and start telegraf
service:
name: "telegraf"
enabled: true
state: started
when: not telegraf_config | changed
vars_files:
- vars.yml