Bug 1357364

Summary: The uri_aliases setting in libvirt-admin.conf doesn't take effect.
Product: Red Hat Enterprise Linux 7 Reporter: Fangge Jin <fjin>
Component: libvirtAssignee: Erik Skultety <eskultet>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.3CC: dyuan, eskultet, mzhan, rbalakri, yafu, yanqzhan, zpeng
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: libvirt-2.0.0-4.el7 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-11-03 18:50:26 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Fangge Jin 2016-07-18 05:20:41 UTC
Description of problem:
The uri_aliases setting in libvirt-admin.conf doesn't take effect.

Version-Release number of selected component (if applicable):
libvirt-2.0.0-2.el7.x86_64

How reproducible:
100%

Steps to Reproduce:
1.Set uri_aliases in libvirt-admin.conf:

uri_aliases = [
  "admin=libvirtd:///system",
]

2. # systemctl restart libvirtd

3. # virt-admin -c admin
error: Failed to connect to the admin server
error: unsupported configuration: Unsupported URI scheme '<null>'


Actual results:
Connect failed.

Expected results:
Virt-admin connects to libvirtd:///system successfully

Comment 1 Fangge Jin 2016-07-18 05:25:18 UTC
And this setting uri_default also doesn't take effect

Comment 3 Erik Skultety 2016-07-29 07:34:59 UTC
(In reply to JinFangge from comment #1)
> And this setting uri_default also doesn't take effect

Well, this one was a different issue than the one being reported above. Therefore, the default URI setting issue is fixed upstream by:

commit f5f32bcd1bb7d96b38c34a85658ac0996683f8bc
Author:     Erik Skultety <eskultet>
AuthorDate: Wed Jul 27 13:23:03 2016 +0200
Commit:     Erik Skultety <eskultet>
CommitDate: Fri Jul 29 09:21:09 2016 +0200

    admin: Fix default uri config option name s/admin_uri_default/uri_default
    
    The original name 'admin_uri_default' was introduced to our code by commit
    dbecb87f. However, at that time we already had a separate config file for
    admin library but the commit mentioned above didn't properly adjust the
    config's option name. The result is that when we're loading the config, we
    check a non-existent config option (there's not much to do with the URIs
    anyway, since we only allow local connection). Additionally, virt-admin's man
    page documents, that the default URI can be altered by setting
    admin_uri_default option. So the fix proposed by this patch leaves the
    libvirt-admin.conf as is and adjusts the naming in the code as well as in the
    virt-admin's man page.
    
    Signed-off-by: Erik Skultety <eskultet>

v2.1.0-rc1-14-gf5f32bc,

while the issue reported in #comment0 was fixed upstream by:

commit c5d0a2a38525929515337ea21cb5c19903ccb05c
Author:     Erik Skultety <eskultet>
AuthorDate: Tue Jul 26 14:06:13 2016 +0200
Commit:     Erik Skultety <eskultet>
CommitDate: Wed Jul 27 12:13:13 2016 +0200

    virconf: Fix config file path construction
    
    Since commit c4bdff19, the path to the configuration file has been constructed
    in the following manner:
     - if no config filename was passed to virConfLoadConfigPath, libvirt.conf was
     used as default
     - otherwise the filename was concatenated with
     "<config_dir>/libvirt/libvirt%s%s.conf" which in admin case resulted in
     "libvirt-libvirt-admin.conf.conf". Obviously, this non-existent config led to
     ignoring  all user settings in libvirt-admin.conf. This patch requires the
     config filename to be always provided as an argument with the concatenation
     being simplified.
    
     Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1357364
    
    Signed-off-by: Erik Skultety <eskultet>

v2.0.0-265-gc5d0a2a

Comment 6 Yanqiu Zhang 2016-08-16 03:40:12 UTC
Reproduce this bug with libvirt-2.0.0-2.el7.x86_64
Steps to reproduce:
1.Set uri_aliases in libvirt-admin.conf:
# cd /etc/libvirt/
# vim libvirt-admin.conf
uri_aliases = [  "admin=libvirtd:///system",]

2.# systemctl restart libvirtd

3.# virt-admin -c admin
error: Failed to connect to the admin server
error: unsupported configuration: Unsupported URI scheme '<null>'

4.Rename the config file to the wrong filename in argument format "libvirt%s%s.conf", reconnect.
# mv libvirt-admin.conf libvirt-libvirt-admin.conf.conf
# virt-admin -c admin
Welcome to virt-admin, the administrating virtualization interactive terminal.

Type:  'help' for help with commands
       'quit' to quit

virt-admin #


Verify this bug with libvirt-2.0.0-5.el7.x86_64
Steps to verify:
1.Set uri_aliases in libvirt-admin.conf:
# vim /etc/libvirt/libvirt-admin.conf
uri_aliases = [  "admin=libvirtd:///system",]

2.# systemctl restart libvirtd

3.# virt-admin -c admin
Welcome to virt-admin, the administrating virtualization interactive terminal.

Type:  'help' for help with commands
       'quit' to quit

virt-admin #
(Virt-admin connects to libvirtd:///system successfully)

4.If rename the config file to be "libvirt-libvirt-admin.conf.conf",  cannot connect successfully, which is as expected.

Since the results are as expected, mark this bug as verified.

Comment 8 errata-xmlrpc 2016-11-03 18:50:26 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHSA-2016-2577.html