diff --git a/chef/cookbooks/collectd/files/default/kairosdb_writer.py b/chef/cookbooks/collectd/files/default/kairosdb_writer.py
index ecbc5c3..3c19d9b 100644
--- a/chef/cookbooks/collectd/files/default/kairosdb_writer.py
+++ b/chef/cookbooks/collectd/files/default/kairosdb_writer.py
@@ -21,9 +21,6 @@ from traceback import format_exc
 
 host = None
 port = None
-differentiate_values = False
-differentiate_values_over_time = False
-lowercase_metric_names = False
 prefix = None
 types = {}
 postfix = None
@@ -88,9 +85,9 @@ def sanitize_field(field):
     return field
 
 def kairosdb_config(c):
-    global host, port,  differentiate_values, differentiate_values_over_time, \
-            prefix, postfix, host_separator, metric_separator, \
-            lowercase_metric_names, protocol, tags
+    global host, port, prefix, postfix, host_separator, \
+            metric_separator, lowercase_metric_names, protocol, \
+            tags
 
     for child in c.children:
         if child.key == 'KairosDBHost':
@@ -100,14 +97,6 @@ def kairosdb_config(c):
         elif child.key == 'TypesDB':
             for v in child.values:
                 kairosdb_parse_types_file(v)
-        # DeriveCounters maintained for backwards compatibility
-        elif child.key == 'DeriveCounters':
-            differentiate_values = True
-        elif child.key == 'DifferentiateCounters':
-            differentiate_values = True
-        elif child.key == 'DifferentiateCountersOverTime':
-            differentiate_values = True
-            differentiate_values_over_time = True
         elif child.key == 'LowercaseMetricNames':
             lowercase_metric_names = True
         elif child.key == 'MetricPrefix':
@@ -141,8 +130,6 @@ def kairosdb_init():
     d = {
         'host': host,
         'port': port,
-        'differentiate_values': differentiate_values,
-        'differentiate_values_over_time': differentiate_values_over_time,
         'lowercase_metric_names': lowercase_metric_names,
         'sock': None,
         'lock': threading.Lock(),
@@ -253,39 +240,7 @@ def kairosdb_write(v, data=None):
 
         metric = '.'.join(path_fields)
 
-        # perform data normalization for COUNTER and DERIVE points
-        if (isinstance(value, (float, int)) and
-                data['differentiate_values'] and
-                (ds_type == 'COUNTER' or ds_type == 'DERIVE')):
-            # we have an old value
-            if metric in data['values']:
-                old_time, old_value = data['values'][metric]
-
-                # overflow
-                if value < old_value:
-                    v_type_max = v_type[i][3]
-                    if v_type_max == 'U':
-                        # this is funky. pretend as if this is the first data point
-                        new_value = None
-                    else:
-                        v_type_min = str_to_num(v_type[i][2])
-                        v_type_max = str_to_num(v_type[i][3])
-                        new_value = v_type_max - old_value + value - v_type_min
-                else:
-                    new_value = value - old_value
-
-                if (isinstance(new_value, (float, int)) and
-                        data['differentiate_values_over_time']):
-                    interval = time - old_time
-                    if interval < 1:
-                        interval = 1
-                    new_value = new_value / interval
-
-            # update previous value
-            data['values'][metric] = ( time, value )
-
-        else:
-            new_value = value
+        new_value = value
 
         if new_value is not None:
             line = 'put %s %d %f %s' % ( metric, time, new_value, tags)
diff --git a/chef/cookbooks/collectd/recipes/kairosdb.rb b/chef/cookbooks/collectd/recipes/kairosdb.rb
index 3fd0e46..563431e 100644
--- a/chef/cookbooks/collectd/recipes/kairosdb.rb
+++ b/chef/cookbooks/collectd/recipes/kairosdb.rb
@@ -32,10 +32,8 @@ collectd_python_plugin "kairosdb_writer" do
   opts  =    {"KairosDBHost"=>node['collectd']['server']['host'],
               "KairosDBPort"=>node['collectd']['server']['port'],
               "KairosDBProtocol"=>node['collectd']['server']['protocol'],
-              "LowercaseMetricNames"=>"true",
               "Tags" => "host=#{node['fqdn']}\" \"role=OSROLE\" \"location=China.Beijing.TsingHua\" \"cluster=#{node['cluster']}",
               "TypesDB" => node['collectd']['types_db'],
-              "DifferentiateCountersOverTime" => true
              }
   options(opts)
 end
diff --git a/chef/cookbooks/collectd/recipes/rabbitmq.rb b/chef/cookbooks/collectd/recipes/rabbitmq.rb
index 8935568..b174097 100644
--- a/chef/cookbooks/collectd/recipes/rabbitmq.rb
+++ b/chef/cookbooks/collectd/recipes/rabbitmq.rb
@@ -31,13 +31,13 @@ cookbook_file File.join(node['collectd']['plugin_dir'], "rabbitmq_info.py") do
   notifies :restart, resources(:service => "collectd")
 end
 
-node.override["collectd"]["mq"]["vhost"] = node["mq"]["vhost"]
+node.override["collectd"]["mq"]["vhost"] = node["openstack"]["mq"]["vhost"]
 
 collectd_python_plugin "rabbitmq_info" do
   opts = { "Vhost" => node["collectd"]["mq"]["vhost"],
            "Api" => "http://localhost:15672/api/queues",
-           "User" => "#{node["mq"]["user"]}",
-           "Pass" => "#{node["mq"]["password"]}"
+           "User" => "#{node["openstack"]["mq"]["user"]}",
+           "Pass" => "#{node["openstack"]["mq"]["password"]}"
          }
   options(opts)
 end
diff --git a/chef/roles/compass-base.json b/chef/roles/compass-base.json
index 1444135..0fc41b5 100644
--- a/chef/roles/compass-base.json
+++ b/chef/roles/compass-base.json
@@ -8,7 +8,7 @@
   },
   "chef_type": "role",
   "run_list": [
-    "recipe[collectd]"
+    "recipe[collectd::client]"
   ],
   "env_run_lists": {
   }