diff --git a/ansible/roles/common/tasks/config.yml b/ansible/roles/common/tasks/config.yml
index 2b381dc700..05587ca7f7 100755
--- a/ansible/roles/common/tasks/config.yml
+++ b/ansible/roles/common/tasks/config.yml
@@ -5,6 +5,11 @@
     state: "directory"
     recurse: "yes"
 
+- name: Copying over rsyslog JSON configuration file
+  template:
+    src: "rsyslog.json.j2"
+    dest: "{{ node_config_directory }}/rsyslog/config.json"
+
 - name: Copying over config(s)
   template:
     src: "rsyslog.conf.j2"
diff --git a/ansible/roles/common/tasks/start.yml b/ansible/roles/common/tasks/start.yml
index 7b37d0cd6a..cb07684260 100755
--- a/ansible/roles/common/tasks/start.yml
+++ b/ansible/roles/common/tasks/start.yml
@@ -37,7 +37,7 @@
       - "log_data"
     volumes:
       - "/var/lib/kolla/dev:/dev"
-      - "{{ node_config_directory }}/rsyslog/:/opt/kolla/rsyslog/:ro"
+      - "{{ node_config_directory }}/rsyslog/:/opt/kolla/config_files/:ro"
     env:
         KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
 
diff --git a/ansible/roles/common/templates/rsyslog.json.j2 b/ansible/roles/common/templates/rsyslog.json.j2
new file mode 100644
index 0000000000..fa7018e49c
--- /dev/null
+++ b/ansible/roles/common/templates/rsyslog.json.j2
@@ -0,0 +1,4 @@
+{
+    "command": "/usr/sbin/rsyslogd -n",
+    "config_files": []
+}
diff --git a/docker/logging/rsyslog/start.sh b/docker/logging/rsyslog/start.sh
index e005d7f435..2d40de1418 100755
--- a/docker/logging/rsyslog/start.sh
+++ b/docker/logging/rsyslog/start.sh
@@ -1,14 +1,10 @@
 #!/bin/bash
-
 set -o errexit
 
-CMD="/usr/sbin/rsyslogd"
-ARGS="-n"
-
 # Loading common functions.
 source /opt/kolla/kolla-common.sh
 
-# Execute config strategy
-set_configs
+python /opt/kolla/set_configs.py
+CMD=$(cat /run_command)
 
 exec $CMD $ARGS