diff --git a/ansible/roles/monasca/defaults/main.yml b/ansible/roles/monasca/defaults/main.yml
index 29536d33f718dd7aa5ea782f06668855ccd0e977..5fe661fefb5020ca21d2b3a91236fe2e3cb0bee1 100644
--- a/ansible/roles/monasca/defaults/main.yml
+++ b/ansible/roles/monasca/defaults/main.yml
@@ -114,6 +114,10 @@ monasca_database_address: "{{ database_address }}:{{ database_port }}"
 monasca_influxdb_name: "monasca"
 monasca_influxdb_address: "{{ kolla_internal_fqdn }}"
 monasca_influxdb_http_port: "{{ influxdb_http_port }}"
+monasca_influxdb_retention_policy:
+  name: 'monasca_metrics'
+  duration: "1w"
+  replication_count: 1
 
 ####################
 # Monasca
diff --git a/ansible/roles/monasca/tasks/bootstrap.yml b/ansible/roles/monasca/tasks/bootstrap.yml
index 6a3c3af58bfda6dc0b075335320c162ac9c3ffaa..c298ff7da1a0aec07f8c9ed800e2901230b44211 100644
--- a/ansible/roles/monasca/tasks/bootstrap.yml
+++ b/ansible/roles/monasca/tasks/bootstrap.yml
@@ -36,15 +36,23 @@
 - include_tasks: bootstrap_service.yml
   when: database.changed or use_preconfigured_databases | bool
 
+# NOTE(dszumski): Monasca is not yet compatible with InfluxDB > 1.1.10, which means
+# that the official Ansible modules for managing InfluxDB don't work [1].
+# We therefore fall back to manual commands to register the database
+# and set a default retention policy.
+# [1] https://github.com/influxdata/influxdb-python#influxdb-pre-v110-users
+- name: List influxdb databases
+  command: "docker exec influxdb influx -host {{ monasca_influxdb_address }} -port {{ monasca_influxdb_http_port }} -execute 'show databases'"
+  run_once: True
+  delegate_to: "{{ groups['influxdb'][0] }}"
+  register: monasca_influxdb_database
+  changed_when: False
+
 - name: Creating monasca influxdb database
-  kolla_toolbox:
-    module_name: influxdb_database
-    module_args:
-      hostname: "{{ monasca_influxdb_address }}"
-      port: "{{ monasca_influxdb_http_port }}"
-      database_name: "{{ monasca_influxdb_name }}"
+  command: "docker exec influxdb influx -host {{ monasca_influxdb_address }} -port {{ monasca_influxdb_http_port }} -execute 'CREATE DATABASE {{ monasca_influxdb_name }} WITH DURATION {{ monasca_influxdb_retention_policy.duration }} REPLICATION  {{ monasca_influxdb_retention_policy.replication_count }} NAME {{ monasca_influxdb_retention_policy.name }}'"
   run_once: True
-  delegate_to: "{{ groups['monasca-api'][0] }}"
+  delegate_to: "{{ groups['influxdb'][0] }}"
+  when: monasca_influxdb_name not in monasca_influxdb_database.stdout_lines
 
 # NOTE(dszumski): The Monasca APIs write logs and messages to Kafka. Since
 # Kafka has automatic topic generation enabled by default we don't need to