[libvirt] [PATCH v2] sanlock: Introduce 'user' and 'group' conf variables
Michal Privoznik
mprivozn at redhat.com
Tue Oct 30 09:12:45 UTC 2012
On 30.10.2012 10:00, Martin Kletzander wrote:
> On 10/29/2012 04:18 PM, Michal Privoznik wrote:
>> through which user set under what permissions does sanlock
>> daemon run so libvirt will set the same permissions for
>> files exposed to it.
>> ---
>>
>> diff to v1:
>> -update spec file so sanlock dir is installed with root:sanlock
>> iff group sanlock exists
>>
>> docs/locking.html.in | 22 +++++++++
>> libvirt.spec.in | 7 +++
>> src/locking/libvirt_sanlock.aug | 2 +
>> src/locking/lock_driver_sanlock.c | 76 ++++++++++++++++++++++++++++++-
>> src/locking/sanlock.conf | 11 ++++-
>> src/locking/test_libvirt_sanlock.aug.in | 2 +
>> 6 files changed, 118 insertions(+), 2 deletions(-)
>>
>> diff --git a/docs/locking.html.in b/docs/locking.html.in
>> index 6d7b517..19dd6a3 100644
>> --- a/docs/locking.html.in
>> +++ b/docs/locking.html.in
>> @@ -121,6 +121,28 @@
>> </pre>
>>
>> <p>
>> + If your sanlock daemon happen to run under non-root
>> + privileges, you need to tell this to libvirt so it
>> + chowns created files correctly. This can be done by
>> + setting <code>user</code> and/or <code>group</code>
>> + variables in the configuration file. Accepted values
>> + range is specified in description to the same
>> + variables in <code>/etc/libvirt/qemu.conf</code>. For
>> + example:
>> + </p>
>> +
>> + <pre>
>> + augtool -s set /files/etc/libvirt/qemu-sanlock.conf/user sanlock
>> + augtool -s set /files/etc/libvirt/qemu-sanlock.conf/group sanlock
>> + </pre>
>> +
>> + <p>
>> + But remember, that if this is NFS share, you need a
>> + no_root_squash-ed one for chown (and chmod possibly)
>> + to succeed.
>> + </p>
>> +
>> + <p>
>> In terms of storage requirements, if the filesystem
>> uses 512 byte sectors, you need to allow for <code>1MB</code>
>> of storage for each guest disk. So if you have a network
>> diff --git a/libvirt.spec.in b/libvirt.spec.in
>> index ebebfab..edc43af 100644
>> --- a/libvirt.spec.in
>> +++ b/libvirt.spec.in
>> @@ -1568,6 +1568,13 @@ fi
>> /bin/systemctl try-restart libvirt-guests.service >/dev/null 2>&1 || :
>> %endif
>>
>> +%pre lock-sanlock
>> +if $(getent group sanlock > /dev/null; echo $?) == 0
>> + chmod 0770 %{_localstatedir}/lib/libvirt/sanlock
>> + chown root:sanlock %{_localstatedir}/lib/libvirt/sanlock
>> +endif
>
> Change this to:
>
> %post lock-sanlock
> if getent group sanlock > /dev/null; then
> chmod 0770 %{_localstatedir}/lib/libvirt/sanlock
> chown root:sanlock %{_localstatedir}/lib/libvirt/sanlock
> fi
>
> and you've got my ACK (we should make this working in 1.0.0,
>
> Martin
>
Changed and pushed. Thanks.
Michal
More information about the libvir-list
mailing list