diff --git a/ansible/roles/ceilometer/tasks/config.yml b/ansible/roles/ceilometer/tasks/config.yml
index a4b46e96fd4b56810146b9e70872c92128ae466c..26f4892fa9574d54b9bb59427ed048f87478ad36 100644
--- a/ansible/roles/ceilometer/tasks/config.yml
+++ b/ansible/roles/ceilometer/tasks/config.yml
@@ -296,13 +296,13 @@
   delegate_to: localhost
   register: ceilometer_pipeline_file
 
-- name: Copying over pipeline.yaml
+- name: Copying over custom pipeline.yaml file
   vars:
     services_require_pipeline:
       - ceilometer-compute
       - ceilometer-central
       - ceilometer-notification
-  copy:
+  template:
     src: "{{ node_custom_config }}/ceilometer/pipeline.yaml"
     dest: "{{ node_config_directory }}/{{ item.key }}/pipeline.yaml"
     force: True
diff --git a/releasenotes/notes/ceilometer-pipeline-yaml-as-template-8319d7fdeacd15f1.yaml b/releasenotes/notes/ceilometer-pipeline-yaml-as-template-8319d7fdeacd15f1.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..e1c1d6ecb286058b61ad4f497003d1523fbb83a8
--- /dev/null
+++ b/releasenotes/notes/ceilometer-pipeline-yaml-as-template-8319d7fdeacd15f1.yaml
@@ -0,0 +1,5 @@
+---
+features:
+  - |
+    The ``ceilometer/pipeline.yaml`` file is now handled as a template
+    file.