CORD-993
elasticstack role, installs on head node
fix elasticstack/java apt-cacher passthrough
reliability fix for download Glance VM images
more reliable reliability fix
simplify apt-cacher ssl passthrough
apt-cacher defaults in other roles

Change-Id: Ia78d256f562c30539240d12ba163f7af6e375131
diff --git a/roles/elasticstack/tasks/main.yml b/roles/elasticstack/tasks/main.yml
new file mode 100644
index 0000000..2486881
--- /dev/null
+++ b/roles/elasticstack/tasks/main.yml
@@ -0,0 +1,56 @@
+---
+# elasticstack/tasks/main.yml
+
+- name: Add ElasticStack apt-key
+  apt_key:
+    data: "{{ lookup('file','elastic.asc') }}"
+    state: present
+
+- name: Add ElasticStack repositories
+  apt_repository:
+    repo: "deb https://artifacts.elastic.co/packages/5.x/apt stable main"
+
+- name: Install ElasticStack
+  apt:
+    name: "{{ item }}"
+    update_cache: yes
+    cache_valid_time: 3600
+  with_items:
+    - elasticsearch
+    - kibana
+    - logstash
+
+- name: Configure Kibana for HTTP proxy
+  lineinfile:
+    dest: /etc/kibana/kibana.yml
+    regexp: '^server.basePath:'
+    line: 'server.basePath: "/kibana"'
+    insertafter: '^#server.basePath*'
+  notify:
+    - restart kibana
+
+- name: Configure Logstash inputs and outputs
+  copy:
+    src: "{{ item }}"
+    dest: "/etc/logstash/conf.d/{{ item }}"
+    owner: root
+    group: root
+    mode: "0644"
+  with_items:
+    - 10-udp-input.conf
+    - 11-log4j-input.conf
+    - 12-syslog-input.conf
+    - 30-elasticsearch-output.conf
+  notify:
+    - restart logstash
+
+- name: Start ElasticStack
+  service:
+    name: "{{ item }}"
+    enabled: yes
+    state: started
+  with_items:
+    - logstash
+    - elasticsearch
+    - kibana
+