aboutsummaryrefslogtreecommitdiff
path: root/ansible
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2016-02-19 21:18:35 +0000
committerGerrit Code Review <review@openstack.org>2016-02-19 21:18:35 +0000
commit01b044f493f7d30850a834aacbdb235db2446cbf (patch)
tree0e8e95ed4b8725265b351aa6674762f402e152da /ansible
parentcbb46f631a479a5142d50131503e3044642e10c4 (diff)
parent916925c9a80f90fbe2c18cbfd9b6499257431e2b (diff)
downloadkolla-01b044f493f7d30850a834aacbdb235db2446cbf.tar.gz
kolla-01b044f493f7d30850a834aacbdb235db2446cbf.zip
Merge "Add Heka to common role"
Diffstat (limited to 'ansible')
-rw-r--r--ansible/roles/common/defaults/main.yml4
-rw-r--r--ansible/roles/common/tasks/bootstrap.yml23
-rw-r--r--ansible/roles/common/tasks/config.yml9
-rw-r--r--ansible/roles/common/tasks/deploy.yml2
-rw-r--r--ansible/roles/common/tasks/pull.yml6
-rw-r--r--ansible/roles/common/tasks/start.yml12
-rw-r--r--ansible/roles/common/templates/heka-global.toml.j219
-rw-r--r--ansible/roles/common/templates/heka.json.j211
8 files changed, 86 insertions, 0 deletions
diff --git a/ansible/roles/common/defaults/main.yml b/ansible/roles/common/defaults/main.yml
index 7cf4384c5..bcafb6bc3 100644
--- a/ansible/roles/common/defaults/main.yml
+++ b/ansible/roles/common/defaults/main.yml
@@ -13,3 +13,7 @@ ansible_image_full: "{{ ansible_image }}:{{ ansible_tag }}"
rsyslog_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ kolla_install_type }}-rsyslog"
rsyslog_tag: "{{ openstack_release }}"
rsyslog_image_full: "{{ rsyslog_image }}:{{ rsyslog_tag }}"
+
+heka_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ kolla_install_type }}-heka"
+heka_tag: "{{ openstack_release }}"
+heka_image_full: "{{ heka_image }}:{{ heka_tag }}"
diff --git a/ansible/roles/common/tasks/bootstrap.yml b/ansible/roles/common/tasks/bootstrap.yml
new file mode 100644
index 000000000..94bd65321
--- /dev/null
+++ b/ansible/roles/common/tasks/bootstrap.yml
@@ -0,0 +1,23 @@
+---
+- name: Creating log volume
+ kolla_docker:
+ action: "create_volume"
+ common_options: "{{ docker_common_options }}"
+ name: "kolla_logs"
+
+- name: Starting heka bootstrap container
+ kolla_docker:
+ action: "start_container"
+ common_options: "{{ docker_common_options }}"
+ detach: False
+ environment:
+ KOLLA_BOOTSTRAP:
+ KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
+ image: "{{ heka_image_full }}"
+ labels:
+ BOOTSTRAP:
+ name: "bootstrap_heka"
+ restart_policy: "never"
+ volumes:
+ - "{{ node_config_directory }}/heka/:{{ container_config_directory }}/:ro"
+ - "kolla_logs:/var/log/kolla/"
diff --git a/ansible/roles/common/tasks/config.yml b/ansible/roles/common/tasks/config.yml
index 56ba9a9cc..8800d3ee4 100644
--- a/ansible/roles/common/tasks/config.yml
+++ b/ansible/roles/common/tasks/config.yml
@@ -6,6 +6,7 @@
recurse: yes
with_items:
- "rsyslog"
+ - "heka"
- name: Copying over config.json files for services
template:
@@ -13,6 +14,7 @@
dest: "{{ node_config_directory }}/{{ item }}/config.json"
with_items:
- "rsyslog"
+ - "heka"
- name: Copying over rsyslog.conf
template:
@@ -20,3 +22,10 @@
dest: "{{ node_config_directory }}/{{ item }}/{{ item }}.conf"
with_items:
- "rsyslog"
+
+- name: Copying over heka config files
+ template:
+ src: "heka-{{ item }}.toml.j2"
+ dest: "{{ node_config_directory }}/heka/heka-{{ item }}.toml"
+ with_items:
+ - "global"
diff --git a/ansible/roles/common/tasks/deploy.yml b/ansible/roles/common/tasks/deploy.yml
index 1f16915ad..98daa4021 100644
--- a/ansible/roles/common/tasks/deploy.yml
+++ b/ansible/roles/common/tasks/deploy.yml
@@ -1,4 +1,6 @@
---
- include: config.yml
+- include: bootstrap.yml
+
- include: start.yml
diff --git a/ansible/roles/common/tasks/pull.yml b/ansible/roles/common/tasks/pull.yml
index c5ebeb621..e001028e8 100644
--- a/ansible/roles/common/tasks/pull.yml
+++ b/ansible/roles/common/tasks/pull.yml
@@ -10,3 +10,9 @@
action: "pull_image"
common_options: "{{ docker_common_options }}"
image: "{{ ansible_image_full }}"
+
+- name: Pulling heka image
+ kolla_docker:
+ action: "pull_image"
+ common_options: "{{ docker_common_options }}"
+ image: "{{ heka_image_full }}"
diff --git a/ansible/roles/common/tasks/start.yml b/ansible/roles/common/tasks/start.yml
index ef94a684a..3c113d857 100644
--- a/ansible/roles/common/tasks/start.yml
+++ b/ansible/roles/common/tasks/start.yml
@@ -14,6 +14,18 @@
- "rsyslog:/var/log"
- "rsyslog_socket:/var/lib/kolla/rsyslog/"
+- name: Starting heka container
+ kolla_docker:
+ action: "start_container"
+ common_options: "{{ docker_common_options }}"
+ image: "{{ heka_image_full }}"
+ name: "heka"
+ volumes:
+ - "{{ node_config_directory }}/heka/:{{ container_config_directory }}/:ro"
+ - "kolla_logs:/var/log/kolla/"
+ - "heka:/var/cache/hekad"
+ - "heka_socket:/var/lib/kolla/heka/"
+
- name: Starting kolla-toolbox container
kolla_docker:
action: "start_container"
diff --git a/ansible/roles/common/templates/heka-global.toml.j2 b/ansible/roles/common/templates/heka-global.toml.j2
new file mode 100644
index 000000000..c9fbc1e7e
--- /dev/null
+++ b/ansible/roles/common/templates/heka-global.toml.j2
@@ -0,0 +1,19 @@
+[hekad]
+maxprocs = {{ ansible_processor_count * ansible_processor_cores }}
+
+[syslog_encoder]
+type = "SandboxEncoder"
+filename = "lua_encoders/os_syslog.lua"
+
+[syslog_log_decoder]
+type = "SandboxDecoder"
+filename = "lua_decoders/os_syslog.lua"
+ [syslog_log_decoder.config]
+ hostname = "{{ ansible_hostname }}"
+
+[syslog_input]
+type = "UdpInput"
+net = "unixgram"
+address = "/var/lib/kolla/heka/log"
+decoder = "syslog_log_decoder"
+splitter = "NullSplitter"
diff --git a/ansible/roles/common/templates/heka.json.j2 b/ansible/roles/common/templates/heka.json.j2
new file mode 100644
index 000000000..ff1190239
--- /dev/null
+++ b/ansible/roles/common/templates/heka.json.j2
@@ -0,0 +1,11 @@
+{
+ "command": "/usr/bin/hekad -config=/etc/heka/",
+ "config_files": [
+ {
+ "source": "{{ container_config_directory }}/heka-global.toml",
+ "dest": "/etc/heka/heka-global.toml",
+ "owner": "heka",
+ "perm": "0600"
+ }
+ ]
+}