diff --git a/ansible/roles/nova/templates/nova-libvirt.json.j2 b/ansible/roles/nova/templates/nova-libvirt.json.j2
index 598cc9f64e..78d38683a2 100644
--- a/ansible/roles/nova/templates/nova-libvirt.json.j2
+++ b/ansible/roles/nova/templates/nova-libvirt.json.j2
@@ -5,7 +5,7 @@
             "source": "/opt/kolla/config_files/libvirtd.conf",
             "dest": "/etc/libvirt/libvirtd.conf",
             "owner": "root",
-            "perm": "0600"
+            "perm": "0644"
         }{% if enable_ceph | bool %},
         {
             "source": "/opt/kolla/config_files/secrets",
diff --git a/docker/nova/nova-libvirt/start.sh b/docker/nova/nova-libvirt/start.sh
index a083e7bacc..df3b0e5a97 100755
--- a/docker/nova/nova-libvirt/start.sh
+++ b/docker/nova/nova-libvirt/start.sh
@@ -4,4 +4,12 @@ set -o errexit
 # Loading common functions.
 source /opt/kolla/kolla-common.sh
 
+# TODO(SamYaple): Tweak libvirt.conf rather than change permissions.
+# Fix permissions for libvirt
+# Do not remove unless CentOS has been validated
+if [[ -c /dev/kvm ]]; then
+    chmod 660 /dev/kvm
+    chown root:kvm /dev/kvm
+fi
+
 exec $CMD