Merge "Add prometheus output class for the remote agent"
diff --git a/telegraf/agent.sls b/telegraf/agent.sls
index 9ac49d7..3b677bc 100644
--- a/telegraf/agent.sls
+++ b/telegraf/agent.sls
@@ -16,6 +16,8 @@
     - template: jinja
     - require:
       - pkg: telegraf_packages_agent
+    - context:
+      agent: {{ agent }}
 
 {%- for name,values in agent.input.iteritems() %}
 
@@ -32,10 +34,8 @@
     - template: jinja
     - require:
       - pkg: telegraf_packages_agent
-    {%- if not grains.get('noservices', False)%}
     - watch_in:
       - service: telegraf_service_agent
-    {%- endif %}
     - defaults:
         name: {{ name }}
         values: {{ values }}
@@ -56,10 +56,8 @@
     - name: {{ agent.dir.config_d }}/input-{{ name }}.conf
     - require:
       - pkg: telegraf_packages_agent
-    {%- if not grains.get('noservices', False)%}
     - watch_in:
       - service: telegraf_service_agent
-    {%- endif %}
 {%- endif %}
 
 {%- endfor %}
@@ -76,25 +74,22 @@
     - template: jinja
     - require:
       - pkg: telegraf_packages_agent
-    {%- if not grains.get('noservices', False)%}
     - watch_in:
       - service: telegraf_service_agent
-    {%- endif %}
     - defaults:
         name: {{ name }}
         values: {{ values }}
 
 {%- endfor %}
 
-{%- if not grains.get('noservices', False)%}
-
 telegraf_service_agent:
   service.running:
     - name: telegraf
     - enable: True
+    {%- if grains.get('noservices') %}
+    - onlyif: /bin/false
+    {%- endif %}
     - watch:
       - file: telegraf_config_agent
 
 {%- endif %}
-
-{%- endif %}
diff --git a/telegraf/files/input/memcached.conf b/telegraf/files/input/memcached.conf
new file mode 100644
index 0000000..b4cd5e3
--- /dev/null
+++ b/telegraf/files/input/memcached.conf
@@ -0,0 +1,3 @@
+[[inputs.memcached]]
+  servers = [{%- for server in values.servers|default([]) %}"{{ server.address }}:{{ server.port }}"{%- if not loop.last%}, {% endif %} {%- endfor %}]
+{%- include 'telegraf/files/input/_tags.conf' %}
diff --git a/telegraf/files/input/openstack.conf b/telegraf/files/input/openstack.conf
index aca2cf3..663343e 100644
--- a/telegraf/files/input/openstack.conf
+++ b/telegraf/files/input/openstack.conf
@@ -5,3 +5,4 @@
   password = "{{ values.password }}"
   identity_endpoint = "{{ values.identity_endpoint }}"
   monitor_agents = {{ values.monitor_agents|default("true")|lower }}
+  cpu_ratio = {{ values.cpu_ratio|default(1.0) }}
diff --git a/telegraf/files/telegraf.conf b/telegraf/files/telegraf.conf
index 8325c41..f1b051b 100644
--- a/telegraf/files/telegraf.conf
+++ b/telegraf/files/telegraf.conf
@@ -1,5 +1,3 @@
-{%- from "telegraf/map.jinja" import agent with context -%}
-
 [global_tags]
 
   {%- if agent.global_tags is defined %}
diff --git a/telegraf/remote_agent.sls b/telegraf/remote_agent.sls
index 3008ab9..ca83129 100644
--- a/telegraf/remote_agent.sls
+++ b/telegraf/remote_agent.sls
@@ -27,8 +27,10 @@
     - template: jinja
     - require:
       - file: config_dir_remote_agent
+    - context:
+      agent: {{ remote_agent }}
 
-{%- set remote_agent_inputs = {'input': {}} %}
+{%- set remote_agent_inputs = {'input': remote_agent.input} %}
 {%- for node_name, node_grains in salt['mine.get']('*', 'grains.items').iteritems() %}
   {%- set remote_agent_input = node_grains.get('telegraf', {}).get('remote_agent', {}).get('input', {}) %}
   {%- if remote_agent_input %}