diff --git a/ansible/roles/grafana/tasks/post_config.yml b/ansible/roles/grafana/tasks/post_config.yml
index ede3c7902ccf8e8f10478703183e64e176bb2394..6739b6c261b6c0ac9ffa12bf7e1c053f61ea7843 100644
--- a/ansible/roles/grafana/tasks/post_config.yml
+++ b/ansible/roles/grafana/tasks/post_config.yml
@@ -29,7 +29,7 @@
   run_once: True
   changed_when: response.status == 200
   failed_when: response.status not in [200, 409] or
-               response.status == 409 and ("Data source with same name already exists" not in response.json.message|default(""))
+               response.status == 409 and ("name already exists" not in response.json.message|default(""))
   with_dict: "{{ grafana_data_sources }}"
   when: item.value.enabled | bool
 
diff --git a/ansible/roles/monasca/tasks/post_config.yml b/ansible/roles/monasca/tasks/post_config.yml
index dbe7b2906b8985deea72b701eb6c51fcfc43bb51..817776dd598fbebe62b447376450e74f206d273c 100644
--- a/ansible/roles/monasca/tasks/post_config.yml
+++ b/ansible/roles/monasca/tasks/post_config.yml
@@ -115,6 +115,6 @@
   changed_when: monasca_grafana_datasource_response.status == 200
   failed_when: monasca_grafana_datasource_response.status not in [200, 409] or
                (monasca_grafana_datasource_response.status == 409 and
-               "Data source with same name already exists" not in monasca_grafana_datasource_response.json.message|default(""))
+               "name already exists" not in monasca_grafana_datasource_response.json.message|default(""))
   with_dict: "{{ monasca_grafana_data_sources }}"
   when: item.value.enabled | bool
diff --git a/releasenotes/notes/bug-1881890-72c76f5fc065588b.yaml b/releasenotes/notes/bug-1881890-72c76f5fc065588b.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..09ea1fd727e2fd453900b7be4f1155de92abe5b0
--- /dev/null
+++ b/releasenotes/notes/bug-1881890-72c76f5fc065588b.yaml
@@ -0,0 +1,5 @@
+---
+fixes:
+  - |
+    Fixes Grafana datasource update.
+    `LP#1881890 <https://launchpad.net/bugs/1881890>`__