diff --git a/roles/build/templates/cassandra/Dockerfile.j2 b/roles/build/templates/cassandra/Dockerfile.j2
index 052cbd188b5195405dd147753a785c6de2287762..f5d2a601c1526e9cf119c01bea5e36c2edf8223d 100644
--- a/roles/build/templates/cassandra/Dockerfile.j2
+++ b/roles/build/templates/cassandra/Dockerfile.j2
@@ -1,36 +1,20 @@
 FROM {{repo}}/openjdk:{{version}}{{suffix}}
 
 USER root
-#COPY cassandra.repo /etc/yum.repos.d/cassandra.repo
-#COPY supervisord.conf /etc/supervisord.conf
-#COPY start.sh /start.sh
 RUN echo "[cassandra]" > /etc/yum.repos.d/cassandra.repo && \
     echo "name=Apache Cassandra" >> /etc/yum.repos.d/cassandra.repo && \
     echo "baseurl=https://downloads.apache.org/cassandra/redhat/311x/" >> /etc/yum.repos.d/cassandra.repo && \
     echo "gpgcheck=1" >> /etc/yum.repos.d/cassandra.repo && \
     echo "repo_gpgcheck=1" >> /etc/yum.repos.d/cassandra.repo && \
     echo "gpgkey=https://downloads.apache.org/cassandra/KEYS" >> /etc/yum.repos.d/cassandra.repo && \
-    echo '#!/bin/bash' > /start.sh && \
-    echo 'export CASSANDRA_HOME=/usr/share/cassandra' >> /start.sh && \
-    echo 'export CASSANDRA_CONF=$CASSANDRA_HOME/conf' >> /start.sh && \
-    echo 'export CASSANDRA_INCLUDE=$CASSANDRA_HOME/cassandra.in.sh' >> /start.sh && \
-    echo 'log_file=/var/log/cassandra/cassandra.log' >> /start.sh && \
-    echo 'pid_file=/var/run/cassandra/cassandra.pid' >> /start.sh && \
-    echo 'lock_file=/var/lock/subsys/cassandra' >> /start.sh && \
-    echo 'CASSANDRA_PROG=/usr/sbin/cassandra' >> /start.sh && \
-    echo '' >> /start.sh && \
-    echo '$CASSANDRA_PROG -p $pid_file > $log_file 2>&1' >> /start.sh && \
     yum install -y epel-release && \
-    yum install -y cassandra supervisor && \
+    yum install -y cassandra supervisor rsync && \
     mkdir /usr/share/cassandra/conf && \
     cp -a /etc/cassandra/conf/* /usr/share/cassandra/conf && \
     chown -R cassandra:cassandra /usr/share/cassandra && \
     chown -R cassandra:cassandra /var/lib/cassandra && \
     sed -i -e 's,/etc/cassandra,/usr/share/cassandra,g' /usr/share/cassandra/cassandra.in.sh && \
-    chmod a+x /start.sh && \
     yum -y clean all
 COPY cassandrasupervisord.conf /etc/supervisord.conf
 EXPOSE 7000 9042
 ENTRYPOINT ["/usr/bin/supervisord", "-c", "/etc/supervisord.conf"]
-#USER cassandra
-# ENTRYPOINT ["/start.sh"]
diff --git a/roles/build/templates/cassandra/cassandra.repo.j2 b/roles/build/templates/cassandra/cassandra.repo.j2
deleted file mode 100644
index 8fdb78c9a4e3868ea6693110941914adc511877e..0000000000000000000000000000000000000000
--- a/roles/build/templates/cassandra/cassandra.repo.j2
+++ /dev/null
@@ -1,6 +0,0 @@
-[cassandra]
-name=Apache Cassandra
-baseurl=https://downloads.apache.org/cassandra/redhat/311x/
-gpgcheck=1
-repo_gpgcheck=1
-gpgkey=https://downloads.apache.org/cassandra/KEYS
diff --git a/roles/build/templates/cassandra/start.sh.j2 b/roles/build/templates/cassandra/start.sh.j2
deleted file mode 100644
index fa91e921956d5d2d6fa1be6812a9794071b20965..0000000000000000000000000000000000000000
--- a/roles/build/templates/cassandra/start.sh.j2
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/bash
-export CASSANDRA_HOME=/usr/share/cassandra
-export CASSANDRA_CONF=$CASSANDRA_HOME/conf
-export CASSANDRA_INCLUDE=$CASSANDRA_HOME/cassandra.in.sh
-log_file=/var/log/cassandra/cassandra.log
-pid_file=/var/run/cassandra/cassandra.pid
-lock_file=/var/lock/subsys/cassandra
-CASSANDRA_PROG=/usr/sbin/cassandra
-
-$CASSANDRA_PROG -p $pid_file > $log_file 2>&1
diff --git a/roles/build/templates/cassandra/supervisord.conf.j2 b/roles/build/templates/cassandra/supervisord.conf.j2
deleted file mode 100644
index d1f405eb91d5bae99af653dae0d5c246ae723f08..0000000000000000000000000000000000000000
--- a/roles/build/templates/cassandra/supervisord.conf.j2
+++ /dev/null
@@ -1,10 +0,0 @@
-[supervisord]
-loglevel=debug
-nodaemon=true
-[program:cassandra]
-user=cassandra
-directory=/usr/share/cassandra
-stdout_logfile=/var/log/cassandra/cassandra.log
-redirect_stderr=true
-environment=CASSANDRA_HOME="/usr/share/cassandra",CASSANDRA_CONF="/usr/share/cassandra/conf",CASSANDRA_INCLUDE="$CASSANDRA_HOME/cassandra.in.sh"
-command=/usr/sbin/cassandra -p /var/run/cassandra/cassandra.pid
diff --git a/roles/cassandra/tasks/main.yml b/roles/cassandra/tasks/main.yml
index 814355e709956d46c421029590b8d65bf61cb2be..f26e13b0d2279484dea86aa46ee76cb1b8088865 100644
--- a/roles/cassandra/tasks/main.yml
+++ b/roles/cassandra/tasks/main.yml
@@ -1,37 +1,17 @@
 ---
 
-- name: Configure Cassandra
-  remote_user: cassandra
-  template:
-    src: cassandra.yaml.j2
-    dest: /usr/share/cassandra/conf/cassandra.yaml
+- include: start.yml
   tags:
-    - start
-
-- name: Start Cassandra
-  remote_user: root
-  command: "supervisorctl start cassandra"
-  tags:
-    - start
-
-- name: Wait for Cassandra
-  remote_user: root
-  wait_for:
-    host: "{{groups['cassandra'][0]}}"
-    port: 9042
-    state: started
-    delay: 5
+   - start
+- include: stop.yml
   tags:
-    - start
-
-- name: Set Autostart for supervisord's services
-  shell: "sed -i 's/autostart=false/autostart=true/g' /etc/supervisord.conf"
+   - stop
+   - stop-cassandra
+- include: update-config.yml
   tags:
-    - start
-
-- name: Stop Cassandra
-  remote_user: root
-  command: "supervisorctl stop cassandra"
+   - update-config
+   - update-cassandra-config
+- include: restart.yml
   tags:
-    - stop
-
+   - restart
+   - restart-cassandra
diff --git a/roles/cassandra/tasks/restart.yml b/roles/cassandra/tasks/restart.yml
new file mode 100644
index 0000000000000000000000000000000000000000..b6e575bc1e4e2e1ebd6469bf05165ef0ba84a376
--- /dev/null
+++ b/roles/cassandra/tasks/restart.yml
@@ -0,0 +1,6 @@
+---
+
+- name: Restart Cassandra
+  remote_user: root
+  command: "supervisorctl restart cassandra"
+
diff --git a/roles/cassandra/tasks/start.yml b/roles/cassandra/tasks/start.yml
new file mode 100644
index 0000000000000000000000000000000000000000..1018944237cac5bfa616169d058ad0db794ea9f4
--- /dev/null
+++ b/roles/cassandra/tasks/start.yml
@@ -0,0 +1,27 @@
+---
+
+- name: Configure Cassandra
+  remote_user: cassandra
+  template:
+    src: cassandra.yaml.j2
+    dest: /usr/share/cassandra/conf/cassandra.yaml
+
+- name: Start Cassandra
+  remote_user: root
+  command: "supervisorctl start cassandra"
+
+- name: Wait for Cassandra
+  remote_user: root
+  wait_for:
+    host: "{{groups['cassandra'][0]}}"
+    port: 9042
+    state: started
+    delay: 5
+
+- name: Set Autostart for supervisord's services
+  replace:
+    path: /etc/supervisord.conf
+    regexp: '^autostart=false$'
+    replace: 'autostart=true'
+
+
diff --git a/roles/cassandra/tasks/stop.yml b/roles/cassandra/tasks/stop.yml
new file mode 100644
index 0000000000000000000000000000000000000000..29742c7021fa80cda54b419cde925309cb4cf8a5
--- /dev/null
+++ b/roles/cassandra/tasks/stop.yml
@@ -0,0 +1,6 @@
+---
+
+- name: Stop Cassandra
+  remote_user: root
+  command: "supervisorctl stop cassandra"
+
diff --git a/roles/cassandra/tasks/update-config.yml b/roles/cassandra/tasks/update-config.yml
new file mode 100644
index 0000000000000000000000000000000000000000..ceb0b6003da6268a734cc15461ed264fb5e38485
--- /dev/null
+++ b/roles/cassandra/tasks/update-config.yml
@@ -0,0 +1,15 @@
+---
+
+- name: Configure Cassandra
+  remote_user: cassandra
+  template:
+    src: cassandra.yaml.j2
+    dest: /usr/share/cassandra/conf/cassandra.yaml
+
+- name: Wait for Cassandra
+  remote_user: root
+  wait_for:
+    host: "{{groups['cassandra'][0]}}"
+    port: 9042
+    state: started
+    delay: 5