#!/bin/bash
set -eux

# Fedora don't always have the libvirtd group created
if ! grep ^libvirtd /etc/group > /dev/null 2>&1; then
    groupadd -f libvirtd
fi

usermod -a -G libvirtd nova

# On Fedora configure polkit to allow nova to use libvirt
if [ -e /etc/polkit-1/rules.d ] ; then
    cat - <<-EOF > /etc/polkit-1/rules.d/50-nova.rules
// openstack-nova libvirt management permissions
polkit.addRule(function(action, subject) {
    if (action.id == "org.libvirt.unix.manage" &&
        subject.user == "nova") {
        return polkit.Result.YES;
    }
});
EOF
fi
