[SRU] Fix for KeyError: 'storage.zfs_pool_name' only partially successful -- needs changes

Bug #1793137 reported by Alex Kavanagh on 2018-09-18
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack LXD Charm
Critical
Alex Kavanagh
Ubuntu Cloud Archive
Status tracked in Rocky
Queens
High
Unassigned
Rocky
High
Unassigned
nova-lxd
Undecided
Unassigned
nova-lxd (Ubuntu)
Status tracked in Cosmic
Bionic
High
Unassigned
Cosmic
High
Unassigned

Bug Description

[Impact]

The issue is that the fix was only partially successful, in that whilst it avoids the 'storage.zfs_pool_name', the other branch of code doesn't get the zfs pool name, but instead the lxd pool name; if they are different then it fails.

The LXD charm used different names (it's now being patched to use the same name for the lxd pool and zfs pool), which broke nova-lxd on bionic.

The code in question is in nova/virt/lxd/driver.py in get_available_resource(self, nodename) around line 1057:

            try:
                pool_name = lxd_config['config']['storage.zfs_pool_name']
            except KeyError:
                pool_name = CONF.lxd.pool
            local_disk_info = _get_zpool_info(pool_name)

i.e. storage.zfs_pool_name vs CONF.lxd.pool

When nova-lxd is properly refactored for storage pools, this issue should be resolved.

[Test Case]

[Regression Potential]

[Discussion]

Changed in charm-lxd:
assignee: nobody → Alex Kavanagh (ajkavanagh)
importance: Undecided → Critical
status: New → In Progress
Changed in nova-lxd (Ubuntu Bionic):
status: New → Triaged
Changed in nova-lxd (Ubuntu Cosmic):
status: New → Triaged
Changed in nova-lxd (Ubuntu Bionic):
importance: Undecided → High
Changed in nova-lxd (Ubuntu Cosmic):
importance: Undecided → High
summary: - Fix for KeyError: 'storage.zfs_pool_name' only partially successful --
- needs changes
+ [SRU] Fix for KeyError: 'storage.zfs_pool_name' only partially
+ successful -- needs changes
description: updated

Reviewed: https://review.openstack.org/583499
Committed: https://git.openstack.org/cgit/openstack/charm-lxd/commit/?id=4d7b3e924008af878b0c369c1bd3e92238d51a93
Submitter: Zuul
Branch: master

commit 4d7b3e924008af878b0c369c1bd3e92238d51a93
Author: Chris MacNaughton <email address hidden>
Date: Wed Jul 18 10:21:03 2018 +0200

    Remove old nova-compute / mysql relation and patch for nova-lxd bug

    This review is modified to include a patch to resolve bug #1793137
    which is due to a bug in nova-lxd where the wrong pool name (lxd) is
    used with zfs if lxd is new enough that the storage.zfs_pool_name key
    is missing from the config. This is the case on bionic and snap
    installed lxd.

    Closes-Bug: #1713807
    Related-Bug: #1793137
    Change-Id: I1123d9882bdb00e9183424b363fc3d1ff25f2346

Alex Kavanagh (ajkavanagh) wrote :

Note that the LXD charm change is a workaround to the nova-lxd bug. The nova-lxd bug still needs to be fixed so that the LXD pool name can be different to the ZFS pool name.

Changed in charm-lxd:
status: In Progress → Fix Committed
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers