Libvirt Not Starting After Updating With Zypper

Hello,

I am having a problem with the libvirtd service not starting after running a zypper update. I think I have narrowed down the problem but have not been able to find anything on the subject. The error in question is:

Failed to initialize libnetcontrol. Management of interface devices is disabled

internal error: Failed to load module ‘/usr/lib64/libvirt/storage-backend/libvirt_storage_backend_gluster.so’: /usr/lib64/libgfrpc.so.0: undefined symbol: gf_async_ctrl

I got this from running journalctl -u libvirtd.service.

I have tried restarting and starting the libvirtd service but it hasn’t worked.

The OS is Open SUSE 15.2 which I know is a really old and deprecated version but its what I am working with right now.

Apologies if the format of the question isn’t what is usually expected in a forum since I am new to both the forums and Open SUSE.

I would greatly appreciate any help.

@User12345678 Hi and welcome to the Forum :smile:
Since Leap 15.2 has been EOL for a number of years, I’m guessing a user had added non-standard repositories zypper lr -dE and this has pulled in packages since you did a zypper update, these are likely not compatible with your EOL setup…

@malcolmlewis Hi and thank you for answering on such quick notice.

After running zypper lr -dE this is the result. I also very heavily apologize for the formatting of this output since my screenshot isn’t working and I had to cut out some of the links since new users can only post 2 links.

  | Alias                                | Name                                 | Enabled | GPG Check | Refresh | Priority | Type   | URI                                                                                          | Service
---+--------------------------------------+--------------------------------------+---------+-----------+---------+----------+--------+----------------------------------------------------------------------------------------------+--------
 1 | | SUSE:SLE-15-SP2:GA                   | Yes     | ( p) Yes  | Yes     |   99     | NONE   | 
 2 | | SUSE:SLE-15:Update                   | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | 
 3 | | SUSE:SLE-15-SP3:Update               | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | 
 4 |  | SUSE:SLE-15-SP3:GA                   | Yes     | ( p) Yes  | Yes     |   99     | NONE   |         | 
 5 | | openSUSE:Backports:SLE-15-SP5:Update | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | 
 6 |  | openSUSE:Backports:SLE-15-SP5:Checks | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | 
 7 | | science                              | Yes     | (r ) Yes  | Yes     |   99     | rpm-md |           | 
 8 |  | openSUSE:Leap:15.5:Update            | Yes     | (r ) Yes  | Yes     |   99                                     
 9 |  | openSUSE:Backports:SLE-15-SP5        | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | 
10 |  | SUSE:SLE-15-SP4:Update               | Yes     | (r ) Yes  | Yes     |   99     | rpm-md |                           | 
11 |  | SUSE:SLE-15-SP5:GA                   | Yes     | ( p) Yes  | Yes     |   99     | NONE   |          | 
12 |  | SUSE:SLE-15-SP4:GA                   | Yes     | ( p) Yes  | Yes     |   99     | NONE   |            | 
13 | | Apache                               | Yes     | (r ) Yes  | Yes     |   99     | rpm-md |                   | 
14 |  | SUSE:SLE-15-SP5:Update               | Yes     | (r ) Yes  | Yes     |   99     | rpm-md |                                    | 
15 |  | SUSE:SLE-15-SP1:GA                   | Yes     | ( p) Yes  | Yes     |   99     | NONE   | 
16 | openSUSE-Leap-15.2-1                 | openSUSE-Leap-15.2-1                 | Yes     | (r ) Yes  | Yes     |   99     | rpm-md |                              
17 | repo-debug                           | Debug Repository                     | Yes     | (r ) Yes  | Yes     |   99     | rpm-md |         | 
21 | repo-non-oss                         | Non-OSS Repository                   | Yes     | (r ) Yes  | Yes     |   99     | rpm-md |                          
22 | repo-oss                             | Main Repository                      | Yes     | (r ) Yes  | Yes     |   99     | rpm-md |                           | 
25 | repo-update                          | Main Update Repository               | Yes     | (r ) Yes  | Yes     |   99     | rpm-md |                                       
26 | repo-update-non-oss                  | Update Repository (Non-Oss)          | Yes     | (r ) Yes  | Yes     |   99     | rpm-md                                
27 | vscode                               | vscode                               | Yes     | (r ) Yes  | No      |   99     | rpm-md | https://packages.microsoft.com/yumrepos/vscode                                               | 

@User12345678 you have a mixture of repos… can you post the output from cat /etc/os-release

@malcolmlewis Here is the output.

NAME=“openSUSE Leap”

VERSION=“15.2”

ID=“opensuse-leap”

ID_LIKE=“suse opensuse”

VERSION_ID=“15.2”

PRETTY_NAME=“openSUSE Leap 15.2”

ANSI_COLOR=“0;32”

CPE_NAME=“cpe:/o:opensuse:leap:15.2”

BUG_REPORT_URL=“https://bugs.opensuse.org

HOME_URL=“https://www.opensuse.org/

@User12345678 It’s hard to say where you are at with that system and mix of repositories…

Can you show the kernel version uname -a

This is a Leap 15.5 system kernel and repos, how does it compare…

5.14.21-150500.55.36-default

 5 | repo-backports-update              | Update repo-> | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | https://download.opensuse.org/update/leap/15.5/backports/               | 
11 | repo-oss                           | Main Reposi-> | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | https://mirrorcache-us.opensuse.org/distribution/leap/15.5/repo/oss/    | 
13 | repo-sle-update                    | Update repo-> | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | https://mirrorcache-us.opensuse.org/update/leap/15.5/sle/               | 
15 | repo-update                        | Main Update-> | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | https://mirrorcache-us.opensuse.org/update/leap/15.5/oss 

@malcolmlewis I apologize for the very messy setup, I had recently taken over the system in question and I don’t really know what the previous people had done as well as how their system works.

Here is the output :

Linux os-lab 5.3.18-lp152.106-default #1 SMP Mon Nov 22 08:38:17 UTC 2021 (52078fe) x86_64 x86_64 x86_64 GNU/Linux

@User12345678 what is running on this system, looks like a lab setup… They only way is to look at what is installed from each repo eg zypper se -si -r 1 where 1 is the repo reference in the zypper lr -dE output if nothing then disable.

Can the system handle a fresh install? Else once the above is done, you would need to proceed to update (offline with iso images) to Leap 15.3, then Leap 15.4 and finally Leap 15.5.

@malcolmlewis Yes this is a lab setup, the only things that I know were running were VM’s for the lab, though they aren’t running now since the libvirtd isn’t running.

The system should be able to handle a fresh install though I am worried that the VM’s data would be lost as I am not too sure where all the VM’s data is stored though I do have access to the qcow2 image of the VM. Would reinstalling the OS affect any of the VM’s in any way?

I have also disabled all the empty repos.

@User12345678 can you show where the gluster storage driver arrived from;

zypper if libvirt-daemon-driver-storage-gluster

Is this system running btrfs and snapper?

@malcolmlewis Here is the output :


Information for package libvirt-daemon-driver-storage-gluster:
--------------------------------------------------------------
Repository     : Main Update Repository
Name           : libvirt-daemon-driver-storage-gluster
Version        : 6.0.0-lp152.9.15.1
Arch           : x86_64
Vendor         : openSUSE
Installed Size : 80.3 KiB
Installed      : Yes
Status         : up-to-date
Source package : libvirt-6.0.0-lp152.9.15.1.src
Summary        : Storage driver plugin for gluster
Description    : 
    The storage driver backend adding implementation of the storage APIs for gluster
    volumes using libgfapi.

I am not entirely sure if the system is running btrfs and snapper, though running man btrfs shows the manual for btrfs so I can assume that it is loaded. Running just snapper or something like snapper list gives an output of snapper command not found so I am assuming that it is not running snapper. Sorry for the lack of information.

@User12345678 Sounds like your not running snapper… so what about zypper if libgfrpc0 is that from the same repository?

Do you know if glusterfs is needed in the vm’s?

@malcolmlewis The libgfrpc0 is not running in the same repository.


Information for package libgfrpc0:
----------------------------------
Repository     : openSUSE:Backports:SLE-15-SP5
Name           : libgfrpc0
Version        : 9.3-bp155.2.16
Arch           : x86_64
Vendor         : openSUSE
Installed Size : 247.2 KiB
Installed      : Yes
Status         : up-to-date
Source package : glusterfs-9.3-bp155.2.16.src
Summary        : GlusterFS Remote Procedure Call library
Description    : 
    GlusterFS is a clustered file-system capable of scaling to several
    petabytes.

I do not know if the VM’s are using glusterfs but I will try to find out.

@User12345678 As you can see the versions are different and from different repositories. You need to roll that back to the 6.0.0-lp152.9.15.1 from 9.3-bp155.2.16.

See if it’s there via;

zypper se -s libgfrpc0

@malcolmlewis Thanks for the info, here is the available versions.

S  | Name      | Type    | Version          | Arch   | Repository
---+-----------+---------+------------------+--------+------------------------------
i+ | libgfrpc0 | package | 9.3-bp155.2.16   | x86_64 | openSUSE:Backports:SLE-15-SP5
v  | libgfrpc0 | package | 3.12.3-lp152.3.9 | x86_64 | openSUSE-Leap-15.2-1
v  | libgfrpc0 | package | 3.12.3-lp152.3.9 | x86_64 | Main Repository

Would I go back to OpenSUSE 15.2 or Main Repository and would the command be just zypper downgrade?

@User12345678 either one that works to install… :wink:

@malcolmlewis I have tried installing the 3.12.3-lp152.3.9 package but it doesn’t seem to change the repository since running

zypper if libgfrpc0

gives me

Information for package libgfrpc0:
----------------------------------
Repository     : openSUSE:Backports:SLE-15-SP5
Name           : libgfrpc0
Version        : 9.3-bp155.2.16
Arch           : x86_64
Vendor         : openSUSE
Installed Size : 247.2 KiB
Installed      : Yes
Status         : out-of-date (version 3.12.3-lp152.3.9 installed)
Source package : glusterfs-9.3-bp155.2.16.src
Summary        : GlusterFS Remote Procedure Call library
Description    : 
    GlusterFS is a clustered file-system capable of scaling to several
    petabytes.

Weirdly enough though I wanted to see the version that libvirt was on so I ran zypper if libvirt and it says that it isn’t even installed. Not sure if that is what’s supposed to happen but here is the output.


Information for package libvirt:
--------------------------------
Repository     : SUSE:SLE-15-SP5:Update
Name           : libvirt
Version        : 9.0.0-150500.6.11.1
Arch           : x86_64
Vendor         : SUSE LLC <https://www.suse.com/>
Installed Size : 0 B
Installed      : No
Status         : not installed
Source package : libvirt-9.0.0-150500.6.11.1.src
Summary        : Library providing a virtualization API
Description    : 
    Libvirt is a C toolkit to interact with the virtualization
    capabilities of Linux. Virtualization of the Linux Operating System means
    the ability to run multiple instances of Operating Systems concurrently
    on a single hardware system where the basic resources are driven by a
    Linux instance. The library aims to provide long term stable C API
    to interact with Linux virtualization technologies.

I did try to install it but it says that nothing provides it along with some other errors about the repositories that keep popping up.

Retrieving repository 'SUSE:SLE-15-SP2:GA' metadata .............................................................................................................................................................................................................[error]
Repository 'SUSE:SLE-15-SP2:GA' is invalid.
[https-download.opensuse.org-04a9069b|https://download.opensuse.org/repositories/SUSE:/SLE-15-SP2:/GA/pool/] Valid metadata not found at specified URL
History:
 - [https-download.opensuse.org-04a9069b|https://download.opensuse.org/repositories/SUSE:/SLE-15-SP2:/GA/pool/] Repository type can't be determined.

Please check if the URIs defined for this repository are pointing to a valid repository.
Warning: Skipping repository 'SUSE:SLE-15-SP2:GA' because of the above error.
Some of the repositories have not been refreshed because of an error.
Loading repository data...
Warning: Repository 'openSUSE:Backports:SLE-15-SP5' appears to be outdated. Consider using a different mirror or server.
Warning: Repository 'Main Update Repository' appears to be outdated. Consider using a different mirror or server.
Warning: Repository 'Update Repository (Non-Oss)' appears to be outdated. Consider using a different mirror or server.
Reading installed packages...
Resolving package dependencies...

Problem: nothing provides 'libselinux.so.1(LIBSELINUX_1.0)(64bit)' needed by the to be installed libvirt-libs-9.0.0-150500.6.11.1.x86_64
 Solution 1: do not install libvirt-9.0.0-150500.6.11.1.x86_64
 Solution 2: break libvirt-libs-9.0.0-150500.6.11.1.x86_64 by ignoring some of its dependencies

Choose from above solutions by number or cancel [1/2/c/d/?] (c): c

@User12345678 no, don’t install anything as it’s all the wrong release of packages, there will likely be changes and you will just create more issues with more libraries.

You need to get and install the rpm manually with zypper;
https://ftp5.gwdg.de/pub/opensuse/distribution/leap/15.2/repo/oss/x86_64/libgfrpc0-3.12.3-lp152.3.9.x86_64.rpm

@malcolmlewis Oh shoot, I didn’t know, thanks for the correction.

After installing it I am still getting the same output. Is it because I tried to do it through zypper?

Information for package libgfrpc0:
----------------------------------
Repository     : openSUSE:Backports:SLE-15-SP5
Name           : libgfrpc0
Version        : 9.3-bp155.2.16
Arch           : x86_64
Vendor         : openSUSE
Installed Size : 247.2 KiB
Installed      : Yes
Status         : out-of-date (version 3.12.3-lp152.3.9 installed)
Source package : glusterfs-9.3-bp155.2.16.src
Summary        : GlusterFS Remote Procedure Call library
Description    : 
    GlusterFS is a clustered file-system capable of scaling to several
    petabytes.

@User12345678 No, it’s installed… see version 3.12.3-lp152.3.9 installed. Have you rebooted?