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.
Description of problem:
libvirt should forbid hot-plug interface of inactive network with forward mode 'hostdev'.
Version-Release number of selected component (if applicable):
libvirt-0.10.2-23.el6.x86_64
How reproducible:
100%
Steps to Reproduce:
1. prepare one hostdev network like the following one.
# virsh net-dumpxml hostdev-net1
<network>
<name>hostdev-net1</name>
<uuid>a57d0acb-3182-28ad-5c47-aae471ca8084</uuid>
<forward mode='hostdev' managed='yes'>
<address type='pci' domain='0x0000' bus='0x11' slot='0x10' function='0x0'/>
<address type='pci' domain='0x0000' bus='0x11' slot='0x10' function='0x1'/>
</forward>
</network>
2. make sure the network are all in inactive status.
# virsh net-list --all
Name State Autostart Persistent
--------------------------------------------------
default inactive no yes
hostdev-net1 inactive no yes
3. prepare one running guest.
# virsh start r6
Domain r6 started
4. hot-plug the interface in hostdev network.
# virsh attach-device r6 vfpool.xml
Device attached successfully
5. hot-plug the interface in default pool.
# virsh attach-device r6 default-pool-NIC.xml
error: Failed to attach device from default-pool-NIC.xml
error: internal error Network 'default' is not active.
Actual result:
In step4, hot-plug the interface of inactive hostdev network will be successfully.
Expected result:
In step4, libvirt should forbid to hot-plug the interface of inactive network, such as the step 5.
This issue also appear while cold-plug.
1. prepare the following 2 xml.
#cat defalut-NIC.xml
<interface type='network'>
<source network='default'/>
</interface>
#cat hostdev-NIC.xml
<interface type='network'>
<source network='hostdev-net1'/>
</interface>
2. make sure both the default and hostdev network are inactive.
# virsh net-list --all
Name State Autostart Persistent
----------------------------------------------------------
default inactive yes yes
hostdev-net1 inactive no yes
3. cold-plug the defalut-NIC.xml to the shutoff guest, then start the guest.
# virsh start rhel
error: Failed to start domain rhel
error: internal error: Network 'default' is not active.
4. remove the default-NIC.xml from guest xml, and cold-plug the defalut-NIC.xml to the shutoff guest, then start the guest.
# virsh start rhel
Domain rhel started
Expected result:
In step4, the guest should forbid to start the guest and report error like step3.
It's not a regression.
Since the hostdev type network is new for rhel6.5.
The following link is for your reference:
http://libvirt.org/formatnetwork.html
Search the following content.
since 0.10.0 When using forward mode 'hostdev'
(In reply to Jiri Denemark from comment #3)
> Is this a regression from 6.4 or 6.3?
(In reply to Zhang Xuesong from comment #4)
> It's not a regression.
>
> Since the hostdev type network is new for rhel6.5.
It isn't new feature for rhel6.5. The libvirt in rhel6.4 already has it , but we did't cover it in rhel6.4 test plan.
> The following link is for your reference:
> http://libvirt.org/formatnetwork.html
> Search the following content.
> since 0.10.0 When using forward mode 'hostdev'
>
> (In reply to Jiri Denemark from comment #3)
> > Is this a regression from 6.4 or 6.3?
Description of problem: libvirt should forbid hot-plug interface of inactive network with forward mode 'hostdev'. Version-Release number of selected component (if applicable): libvirt-0.10.2-23.el6.x86_64 How reproducible: 100% Steps to Reproduce: 1. prepare one hostdev network like the following one. # virsh net-dumpxml hostdev-net1 <network> <name>hostdev-net1</name> <uuid>a57d0acb-3182-28ad-5c47-aae471ca8084</uuid> <forward mode='hostdev' managed='yes'> <address type='pci' domain='0x0000' bus='0x11' slot='0x10' function='0x0'/> <address type='pci' domain='0x0000' bus='0x11' slot='0x10' function='0x1'/> </forward> </network> 2. make sure the network are all in inactive status. # virsh net-list --all Name State Autostart Persistent -------------------------------------------------- default inactive no yes hostdev-net1 inactive no yes 3. prepare one running guest. # virsh start r6 Domain r6 started 4. hot-plug the interface in hostdev network. # virsh attach-device r6 vfpool.xml Device attached successfully 5. hot-plug the interface in default pool. # virsh attach-device r6 default-pool-NIC.xml error: Failed to attach device from default-pool-NIC.xml error: internal error Network 'default' is not active. Actual result: In step4, hot-plug the interface of inactive hostdev network will be successfully. Expected result: In step4, libvirt should forbid to hot-plug the interface of inactive network, such as the step 5.