[openstack-nova] Support newer polkit config format to allow communication with libvirtd

Pádraig Brady pbrady at fedoraproject.org
Mon Sep 24 13:32:58 UTC 2012


commit 837d9eb4ed203ec917c09c880f83362e0965172d
Author: Pádraig Brady <P at draigBrady.com>
Date:   Mon Sep 24 14:09:30 2012 +0100

    Support newer polkit config format to allow communication with libvirtd
    
    Note polkit-0.104 in Fedora 17 doesn't support the newer
    format config of polkit-0.106 in Fedora 18.
    Therefore we ship both formats for the moment.
    
    The new rules are from Federico Simoncelli <fsimonce at redhat.com>
    Fixes bug #858311

 nova-polkit.rules   |    8 ++++++++
 openstack-nova.spec |    7 +++++++
 2 files changed, 15 insertions(+), 0 deletions(-)
---
diff --git a/nova-polkit.rules b/nova-polkit.rules
new file mode 100644
index 0000000..5a9df09
--- /dev/null
+++ b/nova-polkit.rules
@@ -0,0 +1,8 @@
+# openstack-nova libvirt management permissions
+
+polkit.addRule(function(action, subject) {
+    if (action.id == "org.libvirt.unix.manage" &&
+        subject.user == "nova") {
+        return polkit.Result.YES;
+    }
+});
diff --git a/openstack-nova.spec b/openstack-nova.spec
index e948c64..c462383 100644
--- a/openstack-nova.spec
+++ b/openstack-nova.spec
@@ -26,6 +26,7 @@ Source20:         openstack-nova-consoleauth.service
 Source25:         openstack-nova-metadata-api.service
 
 Source21:         nova-polkit.pkla
+Source23:         nova-polkit.rules
 Source22:         nova-ifc-template
 Source24:         nova-sudoers
 
@@ -433,8 +434,12 @@ install -p -D -m 644 %{SOURCE22} %{buildroot}%{_datarootdir}/nova/interfaces.tem
 mkdir -p %{buildroot}%{_datarootdir}/nova/rootwrap/
 install -p -D -m 644 etc/nova/rootwrap.d/* %{buildroot}%{_datarootdir}/nova/rootwrap/
 
+# Older format. Remove when we no longer want to support Fedora 17 with master branch packages
 install -d -m 755 %{buildroot}%{_sysconfdir}/polkit-1/localauthority/50-local.d
 install -p -D -m 644 %{SOURCE21} %{buildroot}%{_sysconfdir}/polkit-1/localauthority/50-local.d/50-nova.pkla
+# Newer format since Fedora 18
+install -d -m 755 %{buildroot}%{_sysconfdir}/polkit-1/rules.d
+install -p -D -m 644 %{SOURCE23} %{buildroot}%{_sysconfdir}/polkit-1/rules.d/50-nova.rules
 
 # Remove unneeded in production stuff
 rm -f %{buildroot}%{_bindir}/nova-debug
@@ -640,6 +645,7 @@ fi
 %config(noreplace) %{_sysconfdir}/logrotate.d/openstack-nova
 %config(noreplace) %{_sysconfdir}/sudoers.d/nova
 %config(noreplace) %{_sysconfdir}/polkit-1/localauthority/50-local.d/50-nova.pkla
+%config(noreplace) %{_sysconfdir}/polkit-1/rules.d/50-nova.rules
 
 %dir %attr(0755, nova, root) %{_localstatedir}/log/nova
 %dir %attr(0755, nova, root) %{_localstatedir}/run/nova
@@ -733,6 +739,7 @@ fi
 
 %changelog
 * Mon Sep 24 2012 Pádraig Brady <pbrady at redhat.com> - 2012.2-0.9.rc1
+- Support newer polkit config format to allow communication with libvirtd
 
 * Fri Sep 21 2012 Pádraig Brady <pbrady at redhat.com> - 2012.2-0.8.rc1
 - Update to folsom rc1


More information about the scm-commits mailing list