diff --git a/ansible/roles/common/templates/cron-logrotate-sahara.conf.j2 b/ansible/roles/common/templates/cron-logrotate-sahara.conf.j2
new file mode 100644
index 0000000000000000000000000000000000000000..57a98d315c22037a705cc78f6181e0ccc70d69e3
--- /dev/null
+++ b/ansible/roles/common/templates/cron-logrotate-sahara.conf.j2
@@ -0,0 +1,3 @@
+"/var/log/kolla/sahara/*.log"
+{
+}
diff --git a/ansible/roles/common/templates/cron.json.j2 b/ansible/roles/common/templates/cron.json.j2
index 85d0a1a4ffe3b623876b6bf26682f3cb32d83d50..7e1f4ab17a1587b281c0bc260d7f20e32481db02 100644
--- a/ansible/roles/common/templates/cron.json.j2
+++ b/ansible/roles/common/templates/cron.json.j2
@@ -19,6 +19,7 @@
     ( 'neutron', enable_neutron ),
     ( 'nova', enable_nova ),
     ( 'rabbitmq', enable_rabbitmq ),
+    ( 'sahara', enable_sahara ),
     ( 'senlin', enable_senlin ),
     ( 'swift', enable_swift )
 ] %}
diff --git a/ansible/roles/common/templates/heka-openstack.toml.j2 b/ansible/roles/common/templates/heka-openstack.toml.j2
index a31605618c65f1d26f89c0f88576e02f920e446e..51a1535f424855c2f09581b785be0646b740476e 100644
--- a/ansible/roles/common/templates/heka-openstack.toml.j2
+++ b/ansible/roles/common/templates/heka-openstack.toml.j2
@@ -6,6 +6,6 @@ filename = "lua_decoders/os_openstack_log.lua"
 type = "LogstreamerInput"
 decoder = "openstack_log_decoder"
 log_directory = "/var/log/kolla"
-file_match = '(?P<Service>cloudkitty|nova|glance|keystone|neutron|ceph|cinder|heat|murano|magnum|mistral|manila|senlin)/(?P<Program>.*)\.log\.?(?P<Seq>\d*)$'
+file_match = '(?P<Service>cloudkitty|nova|glance|keystone|neutron|ceph|cinder|heat|murano|magnum|mistral|manila|senlin|sahara)/(?P<Program>.*)\.log\.?(?P<Seq>\d*)$'
 priority = ["^Seq"]
 differentiator = ["Service", "_", "Program"]