diff --git a/ansible/roles/ceilometer/defaults/main.yml b/ansible/roles/ceilometer/defaults/main.yml
index 721fc3a490b84cbd3d004701cb5f617eb7b60b09..784cd87ac7856b7389d870baa89cc87576707ace 100644
--- a/ansible/roles/ceilometer/defaults/main.yml
+++ b/ansible/roles/ceilometer/defaults/main.yml
@@ -121,3 +121,11 @@ ceilometer_ks_users:
     user: "{{ ceilometer_keystone_user }}"
     password: "{{ ceilometer_keystone_password }}"
     role: "admin"
+
+####################
+# Backend
+####################
+
+ceilometer_database_type: "gnocchi"
+
+ceilometer_upgrade_params: ""
diff --git a/ansible/roles/ceilometer/tasks/bootstrap_service.yml b/ansible/roles/ceilometer/tasks/bootstrap_service.yml
index 617df689cb7ee484612ff9ff01060a8c5fc14db9..37a11ff7b797a50d0e8b2ae77ec85501ae0696e1 100644
--- a/ansible/roles/ceilometer/tasks/bootstrap_service.yml
+++ b/ansible/roles/ceilometer/tasks/bootstrap_service.yml
@@ -10,7 +10,8 @@
     environment:
       KOLLA_BOOTSTRAP:
       KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
-      CEILOMETER_DATABASE_TYPE: "gnocchi"
+      CEILOMETER_DATABASE_TYPE: "{{ ceilometer_database_type }}"
+      CEILOMETER_UPGRADE_PARAMS: "{{ ceilometer_upgrade_params }}"
     image: "{{ ceilometer_notification.image }}"
     labels:
       BOOTSTRAP:
diff --git a/releasenotes/notes/allow-custom-ceilometer-upgrade-params-c07eec4c1ef5a3d3.yaml b/releasenotes/notes/allow-custom-ceilometer-upgrade-params-c07eec4c1ef5a3d3.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..2e80730801dee7ad7d65274606ba42a372555338
--- /dev/null
+++ b/releasenotes/notes/allow-custom-ceilometer-upgrade-params-c07eec4c1ef5a3d3.yaml
@@ -0,0 +1,12 @@
+---
+features:
+  - |
+    Allow operators to use custom parameters with the ceilometer-upgrade
+    command. This is quite useful when using the dynamic pollster subsystem;
+    that sub-system provides flexibility to create and edit pollsters configs,
+    which affects gnocchi resource-type configurations. However, Ceilometer
+    uses default and hard-coded resource-type configurations; if one customizes
+    some of its default resource-types, he/she can get into trouble during
+    upgrades. Therefore, the only way to work around it is to use the
+    "--skip-gnocchi-resource-types" flag. This release introduces a method for
+    operators to execute such customization, and many others if needed.