Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.
RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.

Bug 1711806

Summary: [machines] The default storage pool will not be created if user use the installation source type which is 'Existing Disk Image' to create a VM in an environment which is first time to use
Product: Red Hat Enterprise Linux 7 Reporter: YunmingYang <yunyang>
Component: virt-managerAssignee: virt-mgr-maint
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 7.7CC: juzhou, kkoukiou, leiwang, mpitt, mzhan, phrdina, qiyuan, tzheng, wshi, xiaodwan
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: virt-manager-1.5.0-7.el7 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-08-06 13:08:01 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:
Bug Depends On: 1692489, 1714752    
Bug Blocks:    

Description YunmingYang 2019-05-20 07:42:34 UTC
Description of problem:
If user use the installation source type which is 'Existing Disk Image' to create a VM in an environment which is first time to use(it means that there is no storage pool),  the default storage pool will not be created automatically.

Version-Release number of selected component (if applicable):
cockpit-191-1.el7.x86_64
cockpit-bridge-191-1.el7.x86_64
cockpit-ws-191-1.el7.x86_64
cockpit-machines-193-1.el7.x86_64
cockpit-system-191-1.el7.noarch
libvirt-dbus-1.3.0-1.el7.x86_64

How reproducible:
100%

Steps to Reproduce:
1. Prepare a environment which has no storage pool
2. Use the installation source type which is 'Existing Disk Image' to create a VM

Actual results:
The default storage pool will not be created automatically if user use the installation source type which is 'Existing Disk Image' to create a VM in an environment which is  first time to use.

Expected results:
The default storage pool should be created automatically if user use the installation source type which is 'Existing Disk Image' to create a VM in an environment which is  first time to use.

Additional info:

Comment 2 Katerina Koukiou 2019-05-20 14:31:42 UTC
YunmingYang I am not sure why you expect the default storage pool to be created automatically. If you are going to use an image from a pool different than the default to boot your VM from why the default pool should be even created?

Comment 3 YunmingYang 2019-05-21 09:38:20 UTC
@Katerina, If the image for the VM creation is in the directory which is '/var/lib/libvirt/images/', a storage pool whose name 'images' will be created. Then, if user use the installation source type which is 'Local Install Media' to create a new VM, the creation will be failed because the directory is used by another storage pool. And there will be also an error which is '
ERROR Error: --disk size=10,format=qcow2: Storage pool not found: no storage pool with matching name 'default' '.

Comment 4 Katerina Koukiou 2019-05-21 11:45:26 UTC
Ok I understand your point. However, cockpit-machines is not doing anything apart from calling virt-install with the appropriate arguments.
So, if something is to be fixed here, is that virt-install should not complain if the directory /var/lib/libvirt/images is used by another pool and continue the operation by creating the new disk in the default directory which is /var/lib/libvirt/images although the user assigned it to pool name !== default.

Comment 5 Pavel Hrdina 2019-05-27 14:38:32 UTC
This was fixed recently in upstream:

commit a0ca387aad0fde19683aa8b5b5636add6455b8b4
Author: Cole Robinson <crobinso>
Date:   Tue Mar 26 10:44:58 2019 -0400

    cli: Fix pool=default when path belongs to another pool (bz 1692489)

Comment 7 Pavel Hrdina 2019-05-27 14:57:02 UTC
Steps to reproduce using virt-install & virsh command directly:

1. Remove default storage pool if it exists.

2. Define new storage pool that will point to the same directory as
   the default one with a different name then 'default:

$ cat pool-images.xml
<pool type='dir'>
  <name>images</name>
  <target>
    <path>/var/lib/libvirt/images</path>
  </target>
</pool>

$ virsh pool-define pool-images.xml

3. Run virt-install command that will try to create new disk in default
   storage pool:

$ virt-install --name def-disk --memory 512 --import --disk size=1

Comment 8 Xiaodai Wang 2019-05-28 03:50:31 UTC
Thanks Pavel, it's supper great for QE to know how to reproduce it.

Comment 10 zhoujunqin 2019-06-03 03:03:08 UTC
I can reproduce this bug with build:
virt-manager-1.5.0-6.el7.noarch

Steps:
1. Remove default storage pool if it exists.

2. Define new storage pool that will point to the same directory as the default one with a different name then 'default:

# cat pool-images.xml 
<pool type='dir'>
  <name>images</name>
  <target>
    <path>/var/lib/libvirt/images</path>
  </target>
</pool>


# virsh pool-define pool-images.xml
Pool images defined from pool-images.xml

# virsh pool-start images
Pool images started


3. Run virt-install command that will try to create new disk in default storage pool:

# virt-install --name def-disk --memory 512 --import --disk size=1
ERROR    Error: --disk size=1: Storage pool not found: no storage pool with matching name 'default'

Then try to verify this bug with new build:
virt-manager-1.5.0-7.el7.noarch
virt-install-1.5.0-7.el7.noarch
virt-manager-common-1.5.0-7.el7.noarch
package libvir is not installed
qemu-kvm-rhev-2.12.0-30.el7.x86_64

Steps:
4. Rerun virt-install command that will try to create new disk in default storage pool:

# virt-install --name def-disk --memory 512 --import --disk size=1
WARNING  No operating system detected, VM performance may suffer. Specify an OS with --os-variant for optimal results.

Starting install...
Allocating 'def-disk.qcow2'     
...

Result: No error reports, so I move this bug from ON_QA to VERIFIED.

Comment 12 errata-xmlrpc 2019-08-06 13:08:01 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://access.redhat.com/errata/RHBA-2019:2232