[libvirt] [PATCHv4 1/2] lxc: allow to keep or drop capabilities
Cedric Bosdonnat
cbosdonnat at suse.com
Wed Jul 23 14:25:11 UTC 2014
On Wed, 2014-07-23 at 13:23 +0200, Ján Tomko wrote:
> On 07/18/2014 10:02 AM, Cédric Bosdonnat wrote:
> > Added <capabilities> in the <features> section of LXC domains
> > configuration. This section can contain elements named after the
> > capabilities like:
> >
> > <mknod state="on"/>, keep CAP_MKNOD capability
> > <sys_chroot state="off"/> drop CAP_SYS_CHROOT capability
> >
> > Users can restrict or give more capabilities than the default using
> > this mechanism.
> > ---
> > docs/drvlxc.html.in | 47 +++++
> > docs/schemas/domaincommon.rng | 207 ++++++++++++++++++++
> > src/conf/domain_conf.c | 126 ++++++++++++-
> > src/conf/domain_conf.h | 56 ++++++
> > src/libvirt_private.syms | 3 +
> > src/lxc/lxc_cgroup.c | 8 +
> > src/lxc/lxc_container.c | 241 ++++++++++++++++++++++--
> > src/util/vircgroup.c | 57 +++++-
> > src/util/vircgroup.h | 2 +
> > tests/domainschemadata/domain-caps-features.xml | 28 +++
> > 10 files changed, 755 insertions(+), 20 deletions(-)
> > create mode 100644 tests/domainschemadata/domain-caps-features.xml
> >
>
> > @@ -11847,6 +11892,22 @@ virDomainDefParseXML(xmlDocPtr xml,
> > def->features[val] = VIR_DOMAIN_FEATURE_STATE_ON;
> > break;
> >
> > + case VIR_DOMAIN_FEATURE_CAPABILITIES:
> > + node = ctxt->node;
> > + ctxt->node = nodes[i];
> > + if ((tmp = virXPathString("string(./@policy)", ctxt))) {
> > + if ((def->features[val] = virDomainCapabilitiesPolicyTypeFromString(tmp)) == -1) {
>
> def->features is described as being of type 'enum virTristateSwitch' (was
> virDomainFeatureState before I pushed the enum cleanup), but you're treating
> it as 'virDomainCapabilitesPolicy' here.
>
> Could you either
> 1) switch this to virTristateSwitch, using policy='on' / policy='off' instead
> of allow/deny
> 2) document that a different enum is used for this feature in domain_conf.h
Just pushed a commit documenting that in domain_conf.h
--
Cedric
> 3) put the policy in a separate variable
>
> Thanks,
>
> Jan
>
More information about the libvir-list
mailing list