diff --git a/ansible/group_vars/all/grafana b/ansible/group_vars/all/grafana
index 43fb5502f9307176888752e5cd6f6d8e557ecf7e..31fb7cff6deb60023ed4c126304c95a080e47143 100644
--- a/ansible/group_vars/all/grafana
+++ b/ansible/group_vars/all/grafana
@@ -10,8 +10,15 @@ grafana_local_admin_user_name: "grafana_admin"
 # https://github.com/stackhpc/grafana-reference-dashboards.git
 grafana_monitoring_node_dashboard_repo:
 
+# Dashboard repo version. Optional, defaults to 'HEAD'.
+grafana_monitoring_node_dashboard_repo_version:
+
 # Path to which Grafana dashboards will be cloned to a monitoring node
-grafana_monitoring_node_dashboard_repo_path: "{{ source_checkout_path ~ '/grafana' }}"
+grafana_monitoring_node_dashboard_repo_checkout_path: "{{ source_checkout_path ~ '/grafana-dashboards' }}"
+
+# The path, relative to the grafana_monitoring_node_dashboard_repo_checkout_path
+# containing the dashboards. Eg. /prometheus/control_plane
+grafana_monitoring_node_dashboard_repo_path:
 
 # The Grafana organisation for the control plane. Note that for Monasca
 # Grafana with domain support the format is:
@@ -35,8 +42,4 @@ grafana_control_plane_organisation: "control_plane"
 #
 grafana_datasources: {}
 
-# The path, relative to the grafana_monitoring_node_dashboard_repo_path
-# containing the dashboards. Eg. /prometheus/control_plane
-grafana_monitoring_node_dashboard_path:
-
 ###############################################################################
diff --git a/ansible/overcloud-grafana-configure.yml b/ansible/overcloud-grafana-configure.yml
index f5d0ce6f9f546d9911e137a2e5e69eb7c87f36cc..88b86bc76387399546e52be2ebf3026f22fb99ac 100644
--- a/ansible/overcloud-grafana-configure.yml
+++ b/ansible/overcloud-grafana-configure.yml
@@ -33,8 +33,9 @@
       grafana_conf_grafana_admin_user: "{{ grafana_local_admin_user_name }}"
       grafana_conf_grafana_admin_pass: "{{ grafana_admin_password }}"
       grafana_conf_grafana_dashboard_repo:
-        path: "{{ grafana_monitoring_node_dashboard_repo }}"
-        checkout_path: "{{ grafana_monitoring_node_dashboard_repo_path }}"
-        relative_path: "{{ grafana_monitoring_node_dashboard_path }}"
+        repo: "{{ grafana_monitoring_node_dashboard_repo }}"
+        version: "{{ grafana_monitoring_node_dashboard_repo_version }}"
+        checkout_path: "{{ grafana_monitoring_node_dashboard_repo_checkout_path }}"
+        relative_path: "{{ grafana_monitoring_node_dashboard_repo_path }}"
       grafana_conf_grafana_url: "http://{{ kolla_internal_vip_address }}:3000"
       grafana_conf_grafana_datasources: "{{ grafana_datasources }}"
diff --git a/etc/kayobe/grafana.yml b/etc/kayobe/grafana.yml
index 8bac068696fe273305cae6327d2c066255ab430c..c86a26aed7735eb397355c71a0239aa3569ad688 100644
--- a/etc/kayobe/grafana.yml
+++ b/etc/kayobe/grafana.yml
@@ -10,7 +10,14 @@
 # https://github.com/stackhpc/grafana-reference-dashboards.git
 #grafana_monitoring_node_dashboard_repo:
 
+# Dashboard repo version. Optional, defaults to 'HEAD'.
+#grafana_monitoring_node_dashboard_repo_version:
+
 # Path to which Grafana dashboards will be cloned to a monitoring node
+#grafana_monitoring_node_dashboard_repo_checkout_path:
+
+# The path, relative to the grafana_monitoring_node_dashboard_repo_checkout_path
+# containing the dashboards. Eg. /prometheus/control_plane
 #grafana_monitoring_node_dashboard_repo_path:
 
 # The Grafana organisation for the control plane. Note that for Monasca
@@ -18,8 +25,8 @@
 # organisation_name@openstack_domain
 #grafana_control_plane_organisation:
 
-# A list of datasources to configure. See the stackhpc.grafana-conf role
-# for a list of supported datasources. Example:
+# A dict of datasources to configure. See the stackhpc.grafana-conf role
+# for all supported datasources. Example:
 #
 # grafana_datasources:
 #   monasca_api:
@@ -35,10 +42,6 @@
 #
 #grafana_datasources:
 
-# The path, relative to the grafana_monitoring_node_dashboard_repo_path
-# containing the dashboards. Eg. /prometheus/control_plane
-#grafana_monitoring_node_dashboard_path:
-
 ###############################################################################
 # Dummy variable to allow Ansible to accept this file.
 workaround_ansible_issue_8743: yes