diff --git a/manifests/init.pp b/manifests/init.pp
index 237db7ab..1c1483fc 100644
--- a/manifests/init.pp
+++ b/manifests/init.pp
@@ -130,6 +130,12 @@
 #   to an AMQP consumer cancel notification. (floating point value)
 #   Defaults to $::os_service_default
 #
+# [*kombu_failover_strategy*]
+#   (Optional) Determines how the next RabbitMQ node is chosen in case the one
+#   we are currently connected to becomes unavailable. Takes effect only if
+#   more than one RabbitMQ node is provided in config. (string value)
+#   Defaults to $::os_service_default
+#
 # [*kombu_compression*]
 #   (optional) Possible values are: gzip, bz2. If not set compression will not
 #   be used. This option may notbe available in future versions. EXPERIMENTAL.
@@ -295,6 +301,7 @@ class ceilometer(
   $kombu_ssl_keyfile                  = $::os_service_default,
   $kombu_ssl_version                  = $::os_service_default,
   $kombu_reconnect_delay              = $::os_service_default,
+  $kombu_failover_strategy            = $::os_service_default,
   $kombu_compression                  = $::os_service_default,
   $memcache_servers                   = $::os_service_default,
   $amqp_server_request_prefix         = $::os_service_default,
@@ -417,6 +424,7 @@ please use memcache_servers instead.")
     kombu_ssl_keyfile           => $kombu_ssl_keyfile,
     kombu_ssl_version           => $kombu_ssl_version,
     kombu_reconnect_delay       => $kombu_reconnect_delay,
+    kombu_failover_strategy     => $kombu_failover_strategy,
     kombu_compression           => $kombu_compression,
   }
 
diff --git a/releasenotes/notes/add_rabbit_kombu_options-946374c89c1f95ba.yaml b/releasenotes/notes/add_rabbit_kombu_options-946374c89c1f95ba.yaml
new file mode 100644
index 00000000..8ade1157
--- /dev/null
+++ b/releasenotes/notes/add_rabbit_kombu_options-946374c89c1f95ba.yaml
@@ -0,0 +1,6 @@
+---
+features:
+  - |
+    Adds the kombu_failover_strategy option for configuring oslo.messaging.rabbit.
+    This will determines how the next RabbitMQ node is chosen in case the one we
+    are currently connected to becomes unavailable.
diff --git a/spec/classes/ceilometer_init_spec.rb b/spec/classes/ceilometer_init_spec.rb
index 410b5841..ccfea7cc 100644
--- a/spec/classes/ceilometer_init_spec.rb
+++ b/spec/classes/ceilometer_init_spec.rb
@@ -213,6 +213,7 @@ describe 'ceilometer' do
     it { is_expected.to contain_ceilometer_config('oslo_messaging_rabbit/rabbit_qos_prefetch_count').with_value( params[:rabbit_qos_prefetch_count] ) }
     it { is_expected.to contain_ceilometer_config('oslo_messaging_rabbit/rabbit_hosts').with_value('<SERVICE DEFAULT>') }
     it { is_expected.to contain_ceilometer_config('oslo_messaging_rabbit/rabbit_ha_queues').with_value('<SERVICE DEFAULT>') }
+    it { is_expected.to contain_ceilometer_config('oslo_messaging_rabbit/kombu_failover_strategy').with_value('<SERVICE DEFAULT>') }
 
   end
 
@@ -232,6 +233,7 @@ describe 'ceilometer' do
     it { is_expected.to contain_ceilometer_config('oslo_messaging_rabbit/rabbit_qos_prefetch_count').with_value( params[:rabbit_qos_prefetch_count] ) }
     it { is_expected.to contain_ceilometer_config('oslo_messaging_rabbit/rabbit_hosts').with_value( params[:rabbit_hosts].join(',') ) }
     it { is_expected.to contain_ceilometer_config('oslo_messaging_rabbit/rabbit_ha_queues').with_value('<SERVICE DEFAULT>') }
+    it { is_expected.to contain_ceilometer_config('oslo_messaging_rabbit/kombu_failover_strategy').with_value('<SERVICE DEFAULT>') }
 
   end