Bug #35797
nic network/bridge comparison can be nil
Status:
Closed
Priority:
Normal
Assignee:
-
Category:
Compute resources - libvirt
Target version:
-
Description
When provisioning a VM with a bridge and sriov passthrough, the nic iteration may compare nil to nil resulting in random mac address being associated with the interface and boot/discovery not working as expected.
Nov 19 14:26:32 provisioning foreman[22162]: Comparing networks -- <Fog::Libvirt::Compute::Nic Nov 19 14:26:32 provisioning foreman[22162]: mac="52:54:00:f8:65:09", Nov 19 14:26:32 provisioning foreman[22162]: id=nil, Nov 19 14:26:32 provisioning foreman[22162]: type="bridge", Nov 19 14:26:32 provisioning foreman[22162]: network=nil, Nov 19 14:26:32 provisioning foreman[22162]: bridge="br-vm-mgmt", Nov 19 14:26:32 provisioning foreman[22162]: model="virtio" Nov 19 14:26:32 provisioning foreman[22162]: > to {"type"=>"bridge", "bridge"=>"br-vm-mgmt", "model"=>"virtio"} Nov 19 14:26:32 provisioning foreman[22162]: Comparing networks -- to Nov 19 14:26:32 provisioning foreman[22162]: Found Nov 19 14:26:32 provisioning foreman[22162]: Comparing networks -- <Fog::Libvirt::Compute::Nic Nov 19 14:26:32 provisioning foreman[22162]: mac="52:54:00:cd:74:06", Nov 19 14:26:32 provisioning foreman[22162]: id=nil, Nov 19 14:26:32 provisioning foreman[22162]: type="network", Nov 19 14:26:32 provisioning foreman[22162]: network="passthrough-p3p2", Nov 19 14:26:32 provisioning foreman[22162]: bridge=nil, Nov 19 14:26:32 provisioning foreman[22162]: model="virtio" Nov 19 14:26:32 provisioning foreman[22162]: > to {"type"=>"network", "network"=>"passthrough-p3p2", "bridge"=>"br-vm-mgmt", "model"=>"virtio"} Nov 19 14:26:32 provisioning foreman[22162]: Comparing networks -- passthrough-p3p2 to passthrough-p3p2 Nov 19 14:26:32 provisioning foreman[22162]: Found Nov 19 14:26:32 provisioning foreman[22162]: Comparing networks -- <Fog::Libvirt::Compute::Nic Nov 19 14:26:32 provisioning foreman[22162]: mac="52:54:00:45:28:cf", Nov 19 14:26:32 provisioning foreman[22162]: id=nil, Nov 19 14:26:32 provisioning foreman[22162]: type="network", Nov 19 14:26:32 provisioning foreman[22162]: network="passthrough-p3p2", Nov 19 14:26:32 provisioning foreman[22162]: bridge=nil, Nov 19 14:26:32 provisioning foreman[22162]: model="virtio" Nov 19 14:26:32 provisioning foreman[22162]: > to {"type"=>"network", "network"=>"passthrough-p3p2", "bridge"=>"br-vm-mgmt", "model"=>"virtio"} Nov 19 14:26:32 provisioning foreman[22162]: Comparing networks -- passthrough-p3p2 to passthrough-p3p2 Nov 19 14:26:32 provisioning foreman[22162]: Found
Associated revisions
History
#1
Updated by The Foreman Bot 4 months ago
- Status changed from New to Ready For Testing
- Pull request https://github.com/theforeman/foreman/pull/9526 added
#2
Updated by Ben Magistro 4 months ago
- File virtmgr-nic3.png virtmgr-nic3.png added
- File virtmgr-nic2.png virtmgr-nic2.png added
- File virtmgr-nic1.png virtmgr-nic1.png added
- File tfm-nics.png tfm-nics.png added
While testing/updating a revised patch, captured some screen shots from tfm and virt-manager showing the nics (macs) not mapping correctly so attaching them here for reference.
#3
Updated by The Foreman Bot 3 months ago
- Fixed in Releases 3.6.0 added
#4
Updated by Ben Magistro 3 months ago
- Status changed from Ready For Testing to Closed
Applied in changeset foreman|d459e62d4b22f4f4500d219778a41d9c0f24e0a9.
#5
Updated by Ewoud Kohl van Wijngaarden about 1 month ago
- Triaged changed from No to Yes
Fixes #35797 - libvirt nil network comparison
When libvirt compares networks, it is possible that `network` will be
`nil` resulting in a match instead of continuing on to the bridge
comparison.
Signed-off-by: Ben Magistro <koncept1@gmail.com>