updated replication factor
diff --git a/consistency.yml b/consistency.yml
index 67db74a..f990f31 100644
--- a/consistency.yml
+++ b/consistency.yml
@@ -5,3 +5,16 @@
   serial: 1
   roles:
   - { role: apigee-opdk-cassandra-consistencylevel-modifier}
+
+  tasks:
+  - name: Update conf_keymanagement_kms_cache_memory_element_enable property
+    lineinfile:
+      create: yes
+      group: "{{ opdk_group_name }}"
+      owner: "{{ opdk_user_name }}"
+      mode: 0644
+      state: present
+      regexp: "^conf_keymanagement_kms_cache_memory_element_enable"
+      line: "conf_keymanagement_kms_cache_memory_element_enable={{ enable_cache }}"
+      dest: "/opt/apigee/customer/application/{{ property_file }}.properties"
+
diff --git a/opdk-set-reachable.yml b/opdk-set-reachable.yml
new file mode 100644
index 0000000..9449b96
--- /dev/null
+++ b/opdk-set-reachable.yml
@@ -0,0 +1,8 @@
+---
+- name: Set reachability flag
+  hosts: '{{ hosts }}'
+  gather_facts: no
+  roles:
+  - { role: apigee-opdk-set-reachable, reachable: '{{ reachability }}', server_types: ['router','mp'] }
+  tags:
+  - reachability
\ No newline at end of file
diff --git a/requirements.yml b/requirements.yml
index b7fa047..c702e6e 100644
--- a/requirements.yml
+++ b/requirements.yml
@@ -20,3 +20,8 @@
 - src: https://github.com/carlosfrias/apigee-opdk-cassandra-consistencylevel-modifier.git
 
 - src: https://github.com/carlosfrias/apigee-fetch-files
+
+- src: https://github.com/carlosfrias/ansible-role-haproxy
+
+- src: https://github.com/carlosfrias/apigee-opdk-server-self
+
diff --git a/rolling-restart.yml b/rolling-restart.yml
index 31ca4d0..c28a8df 100644
--- a/rolling-restart.yml
+++ b/rolling-restart.yml
@@ -1,19 +1,32 @@
 ---
-- name: Perform rolling restart of edge components
-  hosts: ds
-  gather_facts: no
-  serial: 1
-  roles:
-  - { role: apigee-opdk-cassandra-shutdown-preparation, tags: ['stop', 'restart'] }
-  - { role: apigee-opdk-stop-components, tags: ['pre_restart', 'pre_stop', 'stop'] }
-  - { role: apigee-opdk-start-components, tags: ['pre_restart', 'pre_start','start'], component_start_delay: '{{ start_delay | default(0) }}' }
-  - { role: apigee-opdk-setup-status, tags: ['pre_restart', 'pre_start','start'] }
+#- name: Perform rolling restart of edge components
+#  hosts: ds
+#  gather_facts: no
+#  serial: 1
+#  roles:
+#  - { role: apigee-opdk-cassandra-shutdown-preparation, tags: ['stop', 'restart'] }
+#  - { role: apigee-opdk-stop-components, tags: ['pre_restart', 'pre_stop', 'stop'] }
+#  - { role: apigee-opdk-start-components, tags: ['pre_restart', 'pre_start','start'], component_start_delay: '{{ start_delay | default(0) }}' }
+#  - { role: apigee-opdk-setup-status, tags: ['pre_restart', 'pre_start','start'] }
 
 - name: Perform rolling restart of edge components
-  hosts: rmp,ms
+  hosts: rmp
   gather_facts: no
   serial: 1
   roles:
-  - { role: apigee-opdk-stop-components, tags: ['pre_restart', 'pre_stop', 'stop'] }
-  - { role: apigee-opdk-start-components, tags: ['pre_restart', 'pre_start','start'], component_start_delay: '{{ start_delay | default(0) }}' }
+  - { role: apigee-opdk-server-self, server_types: ['mp']}
+  - { role: apigee-opdk-set-reachable, reachability: 'false', server_types: ['mp'] }
+  - { role: apigee-opdk-stop-components, tags: ['pre_restart', 'pre_stop', 'stop'], component_name: 'edge-message-processor'  }
+  - { role: apigee-opdk-start-components, tags: ['pre_restart', 'pre_start','start'], component_start_delay: '{{ start_delay | default(0) }}', component_name: 'edge-message-processor' }
+  - { role: apigee-opdk-setup-status, tags: ['pre_restart', 'pre_start','start'] }
+  - { role: apigee-opdk-set-reachable, reachability: 'true', server_types: ['mp'] }
+
+- name: Perform rolling restart of edge components
+  hosts: ms
+  gather_facts: no
+  serial: 1
+  roles:
+  - { role: apigee-opdk-server-self, server_types: ['ms']}
+  - { role: apigee-opdk-stop-components, tags: ['pre_restart', 'pre_stop', 'stop'], component_name: 'edge-management-server'  }
+  - { role: apigee-opdk-start-components, tags: ['pre_restart', 'pre_start','start'], component_start_delay: '{{ start_delay | default(0) }}', component_name: 'edge-message-processor' }
   - { role: apigee-opdk-setup-status, tags: ['pre_restart', 'pre_start','start'] }
diff --git a/set-disable-mp-cache.yml b/set-disable-mp-cache.yml
new file mode 100644
index 0000000..673b161
--- /dev/null
+++ b/set-disable-mp-cache.yml
@@ -0,0 +1,12 @@
+---
+- hosts: rmp
+  become: true
+  tasks:
+  - name: update cach properties
+    lineinfile:
+      owner: apigee
+      group: apigee
+      line: "conf_keymanagement_kms_cache_memory_element_enable=false"
+      dest: "/opt/apigee/customer/application/message-processor.properties"
+      regexp: '^conf_keymanagement_kms_cache_memory_element_enable=false'
+      create: true
diff --git a/setup-ha-proxy.yml b/setup-ha-proxy.yml
new file mode 100644
index 0000000..d89cc61
--- /dev/null
+++ b/setup-ha-proxy.yml
@@ -0,0 +1,65 @@
+---
+- hosts: haproxy2
+  vars: 
+    haproxy_socket: '/var/lib/haproxy/stats'
+    haproxy_chroot: '/var/lib/haproxy'
+    haproxy_user: 'haproxy'
+    haproxy_group: 'haproxy'
+    haproxy_frontend_name: 'all'
+    haproxy_frontend_bind_address: '*'
+    haproxy_frontend_port: 9001
+    haproxy_frontend_mode: 'http'
+    haproxy_backend_name: 'app'
+    haproxy_backend_mode: 'http'
+    haproxy_backend_balance_method: 'roundrobin'
+    haproxy_backend_httpchk: ''
+    haproxy_backend_servers: 
+      - name: dc_1_rmp0
+        address: 172.31.30.210:9001
+      - name: dc_1_rmp1
+        address: 172.31.27.249:9001
+      - name: dc_1_rmp2
+        address: 172.31.28.229:9001
+      - name: dc_1_rmp3
+        address: 172.31.21.163:9001
+      - name: dc_1_rmp4
+        address: 172.31.28.183:9001
+      - name: dc_1_rmp5
+        address: 172.31.27.153:9001
+      - name: dc_1_rmp6
+        address: 172.31.21.127:9001
+      - name: dc_2_rmp0
+        address: 172.31.23.241:9001
+      - name: dc_2_rmp1
+        address: 172.31.22.237:9001
+      - name: dc_2_rmp2
+        address: 172.31.22.85:9001
+      - name: dc_2_rmp3
+        address: 172.31.26.205:9001
+      - name: dc_2_rmp4
+        address: 172.31.27.45:9001
+      - name: dc_2_rmp5
+        address: 172.31.16.106:9001
+      - name: dc_2_rmp6
+        address: 172.31.24.230:9001
+
+  roles: 
+  - ansible-role-haproxy
+
+#  tasks:
+#  - get_url:
+#      url: http://www.haproxy.org/download/1.5/src/haproxy-1.5.19.tar.gz
+#      dest: haproxy-1.5.19.tar.gz
+#
+#  - unarchive:
+#      src: haproxy-1.5.19.tar.gz
+#      dest: /tmp/
+#
+#  - yum:
+#    name: "@Development Tools"
+#    state: present
+#
+#  - shell: sudo make install
+#      args:
+#        chdir: /tmp/haproxy-1.5.19
+#
diff --git a/update-replication-factor.yml b/update-replication-factor.yml
index 60be3f2..2bdc370 100644
--- a/update-replication-factor.yml
+++ b/update-replication-factor.yml
@@ -27,6 +27,7 @@
     hosts: rmp
     consistency_level: 'TWO'
     property_file: 'message-processor'
+    cache_enable: 'false'
 
 - name: Set management server consistencylevel=TWO
   include: consistency.yml
@@ -35,10 +36,11 @@
     hosts: ms
     consistency_level: 'TWO'
     property_file: 'management-server'
+    cache_enable: 'false'
 
 - name: Rolling restart of Cassandra, RMP and MS
   include: rolling-restart.yml
-  tags: ['restart']
+  tags: ['restart', 'two', 'local-quorum']
 
 - name: Execute nodetool repair on Cassandra nodes after updating
   include: repair.yml
@@ -82,6 +84,7 @@
     hosts: rmp
     consistency_level: 'LOCAL_QUORUM'
     property_file: 'message-processor'
+    cache_enable: 'true'
 
 - name: Set management server consistencylevel=LOCAL_QUORUM
   include: consistency.yml
@@ -90,6 +93,7 @@
     hosts: ms
     consistency_level: 'LOCAL_QUORUM'
     property_file: 'management-server'
+    cache_enable: 'true'
 
 - name: Rolling restart of Cassandra, RMP and MS
   include: rolling-restart.yml