The following pull request was submitted through Github. It can be accessed and reviewed at: https://github.com/lxc/lxd/pull/6398
This e-mail was sent by the LXC bot, direct replies will not reach the author unless they happen to be subscribed to this list. === Description (from pull-request) ===
From 2f09cb029f8dfce5bd45325ab3b9e549dd2aadc0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Graber?= <stgra...@ubuntu.com> Date: Tue, 5 Nov 2019 00:46:40 -0500 Subject: [PATCH 1/2] lxd/container: Fix apply_quota MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Stéphane Graber <stgra...@ubuntu.com> --- doc/containers.md | 2 +- lxd/container.go | 4 ++-- lxd/device/disk.go | 8 ++++---- shared/container.go | 4 ++++ 4 files changed, 11 insertions(+), 7 deletions(-) diff --git a/doc/containers.md b/doc/containers.md index e6d3d4081b..88a095a67e 100644 --- a/doc/containers.md +++ b/doc/containers.md @@ -93,7 +93,6 @@ The following volatile keys are currently internally used by LXD: Key | Type | Default | Description :-- | :--- | :------ | :---------- -volatile.apply\_quota | string | - | Disk quota to be applied on next container start volatile.apply\_template | string | - | The name of a template hook which should be triggered upon next startup volatile.base\_image | string | - | The hash of the image the container was created from, if any. volatile.idmap.base | integer | - | The first id in the container's primary idmap range @@ -101,6 +100,7 @@ volatile.idmap.current | string | - | The id volatile.idmap.next | string | - | The idmap to use next time the container starts volatile.last\_state.idmap | string | - | Serialized container uid/gid map volatile.last\_state.power | string | - | Container state as of last host shutdown +volatile.\<name\>.apply\_quota | string | - | Disk quota to be applied on next container start volatile.\<name\>.host\_name | string | - | Network device name on the host volatile.\<name\>.hwaddr | string | - | Network device MAC address (when no hwaddr property is set on the device itself) volatile.\<name\>.last\_state.created | string | - | Whether or not the network device physical device was created ("true" or "false") diff --git a/lxd/container.go b/lxd/container.go index 8f52cc1a8f..cb9b5976fc 100644 --- a/lxd/container.go +++ b/lxd/container.go @@ -977,7 +977,7 @@ func containerCreateInternal(s *state.State, args db.InstanceArgs) (container, e func containerConfigureInternal(c Instance) error { // Find the root device - _, rootDiskDevice, err := shared.GetRootDiskDevice(c.ExpandedDevices().CloneNative()) + rootDiskDeviceKey, rootDiskDevice, err := shared.GetRootDiskDevice(c.ExpandedDevices().CloneNative()) if err != nil { return err } @@ -992,7 +992,7 @@ func containerConfigureInternal(c Instance) error { if rootDiskDevice["size"] != "" { storageTypeName := storage.GetStorageTypeName() if (storageTypeName == "lvm" || storageTypeName == "ceph") && c.IsRunning() { - err = c.VolatileSet(map[string]string{"volatile.apply_quota": rootDiskDevice["size"]}) + err = c.VolatileSet(map[string]string{fmt.Sprintf("volatile.%s.apply_quota", rootDiskDeviceKey): rootDiskDevice["size"]}) if err != nil { return err } diff --git a/lxd/device/disk.go b/lxd/device/disk.go index 853598006b..fe1db520bd 100644 --- a/lxd/device/disk.go +++ b/lxd/device/disk.go @@ -225,14 +225,14 @@ func (d *disk) Start() (*RunConfig, error) { v := d.volatileGet() // Handle previous requests for setting new quotas. - if v["volatile.apply_quota"] != "" { - applied, err := d.applyQuota(v["volatile.apply_quota"]) + if v["apply_quota"] != "" { + applied, err := d.applyQuota(v["apply_quota"]) if err != nil || !applied { return nil, err } // Remove volatile apply_quota key if successful. - err = d.volatileSet(map[string]string{"volatile.apply_quota": ""}) + err = d.volatileSet(map[string]string{"apply_quota": ""}) if err != nil { return nil, err } @@ -376,7 +376,7 @@ func (d *disk) Update(oldDevices deviceConfig.Devices, isRunning bool) error { if !applied { // Save volatile apply_quota key for next boot if cannot apply now. - err = d.volatileSet(map[string]string{"volatile.apply_quota": newRootDiskDeviceSize}) + err = d.volatileSet(map[string]string{"apply_quota": newRootDiskDeviceSize}) if err != nil { return err } diff --git a/shared/container.go b/shared/container.go index c67f52940f..869c6c1fc5 100644 --- a/shared/container.go +++ b/shared/container.go @@ -387,6 +387,10 @@ func ConfigKeyChecker(key string) (func(value string) error, error) { if strings.HasSuffix(key, ".spoofcheck") { return IsAny, nil } + + if strings.HasSuffix(key, ".apply_quota") { + return IsAny, nil + } } if strings.HasPrefix(key, "environment.") { From 6647f4185a08a6b3f24e6a9122183e6853ede980 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Graber?= <stgra...@ubuntu.com> Date: Tue, 5 Nov 2019 00:53:08 -0500 Subject: [PATCH 2/2] lxd/storage/lvm: Fix version parsing MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Stéphane Graber <stgra...@ubuntu.com> --- lxd/storage_lvm.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lxd/storage_lvm.go b/lxd/storage_lvm.go index a16bdb4811..894e91e7c3 100644 --- a/lxd/storage_lvm.go +++ b/lxd/storage_lvm.go @@ -61,6 +61,11 @@ func (s *storageLvm) StorageCoreInit() error { if len(fields) < 2 { continue } + + if !strings.Contains(line, "version:") { + continue + } + if idx > 0 { s.sTypeVersion += " / " }
_______________________________________________ lxc-devel mailing list lxc-devel@lists.linuxcontainers.org http://lists.linuxcontainers.org/listinfo/lxc-devel