Bug 1927853 - el6 hosts can't work with the ballooning device because it defaults to virtio-non-transitional
Summary: el6 hosts can't work with the ballooning device because it defaults to virtio...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Container Native Virtualization (CNV)
Classification: Red Hat
Component: Virtualization
Version: 2.6.0
Hardware: Unspecified
OS: Unspecified
low
low
Target Milestone: ---
: 4.8.0
Assignee: sgott
QA Contact: Israel Pinto
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2021-02-11 16:49 UTC by Roman Mohr
Modified: 2021-07-27 14:34 UTC (History)
2 users (show)

Fixed In Version: virt-operator-container-v4.8.0-24
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2021-07-27 14:24:44 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Bugzilla 1911786 0 high CLOSED Can't connect to ballooning device when using virtio-transitional or virtio-non-transitional 2023-06-04 08:16:03 UTC
Red Hat Product Errata RHSA-2021:2920 0 None None None 2021-07-27 14:34:20 UTC

Description Roman Mohr 2021-02-11 16:49:57 UTC
Description of problem:


A follow up of https://bugzilla.redhat.com/show_bug.cgi?id=1911662#c4: Due to https://bugzilla.redhat.com/show_bug.cgi?id=1911786 we have to stick in CNV 2.6 with `virtio` bus specification on the VM. This defaults to `virtio-non-transitional`. As a consequence EL6 guests can't reports memory stats through the ballooning device since they would only understand `virtio-transitional` ballooning devices. 

Version-Release number of selected component (if applicable):


How reproducible:

Create an EL6 guest on CNV 2.6 and use the `useVirtioTransitional` flag. All devices except for the ballooning device can then use the `virtio-non-transitional` flag. When then entering the virt-launcher pod, one will see static memory values reported since the ballooning device
 is not recognized.

Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

In case we want to fix this in 2.6: Once CNV 2.6 is rebased on RHEL AV 8.3.1 we can backport https://github.com/kubevirt/kubevirt/pull/4850. Since this is merged on master and CNV 2.7 should be based on at least AV 8.3.1 it should be automatically available and fixed in CNV 2.7.

Collapse All Comments
Expand All Comments

Comment 1 Roman Mohr 2021-02-11 16:50:37 UTC
Description of problem:


A follow up of https://bugzilla.redhat.com/show_bug.cgi?id=1911662#c4: Due to https://bugzilla.redhat.com/show_bug.cgi?id=1911786 we have to stick in CNV 2.6 with `virtio` bus specification on the VM. This defaults to `virtio-non-transitional`. As a consequence EL6 guests can't reports memory stats through the ballooning device since they would only understand `virtio-transitional` ballooning devices. 

Version-Release number of selected component (if applicable):


How reproducible:

Create an EL6 guest on CNV 2.6 and use the `useVirtioTransitional` flag. All devices except for the ballooning device can then use the `virtio-non-transitional` flag. When then entering the virt-launcher pod, one will see static memory values reported since the ballooning device
 is not recognized.

Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

In case we want to fix this in 2.6: Once CNV 2.6 is rebased on RHEL AV 8.3.1 we can backport https://github.com/kubevirt/kubevirt/pull/4850. Since this is merged on master and CNV 2.7 should be based on at least AV 8.3.1 it should be automatically available and fixed in CNV 2.7.

Comment 2 Roman Mohr 2021-02-12 12:06:56 UTC
This can probably wait until it is automatically fixed in CNV 4.8. If for some reason this is urgently needed at some point in 2.6.1, backporting should be pretty simple to fix.

Comment 3 sgott 2021-02-15 21:25:09 UTC
Targetting this to 4.8.0 based on priority and previous comments.

Comment 5 Israel Pinto 2021-03-25 13:28:45 UTC
Verify with:
CNV 4.8
 virt-operator-container-v4.8.0-24

Steps:
Create RHEL 6 vm from common templates, verify with VM dumpxml memballoon set with: model='virtio-transitional'

See dumpxml:
$ oc exec virt-launcher-rhel6-empty-wren-zwff4 -n default -it bash -c compute
kubectl exec [POD] [COMMAND] is DEPRECATED and will be removed in a future version. Use kubectl exec [POD] -- [COMMAND] instead.
[root@rhel6-empty-wren /]# 
[root@rhel6-empty-wren /]# 
[root@rhel6-empty-wren /]# 
[root@rhel6-empty-wren /]# virsh dumpxml 
error: command 'dumpxml' requires <domain> option
[root@rhel6-empty-wren /]# virsh dumpxml 1
<domain type='kvm' id='1'>
  <name>default_rhel6-empty-wren</name>
  <uuid>2346b379-f2f9-594e-aa55-2554b23b14e3</uuid>
  <metadata>
    <kubevirt xmlns="http://kubevirt.io">
      <uid>35b8d02a-871e-4a09-8876-6fb360c4ed12</uid>
      <graceperiod>
        <deletionGracePeriodSeconds>180</deletionGracePeriodSeconds>
      </graceperiod>
    </kubevirt>
  </metadata>
  <memory unit='KiB'>2097152</memory>
  <currentMemory unit='KiB'>2097152</currentMemory>
  <vcpu placement='static'>1</vcpu>
  <iothreads>1</iothreads>
  <resource>
    <partition>/machine</partition>
  </resource>
  <sysinfo type='smbios'>
    <system>
      <entry name='manufacturer'>Red Hat</entry>
      <entry name='product'>Container-native virtualization</entry>
      <entry name='version'>4.8.0</entry>
      <entry name='uuid'>2346b379-f2f9-594e-aa55-2554b23b14e3</entry>
      <entry name='sku'>4.8.0</entry>
      <entry name='family'>Red Hat</entry>
    </system>
  </sysinfo>
  <os>
    <type arch='x86_64' machine='pc-q35-rhel8.3.0'>hvm</type>
    <smbios mode='sysinfo'/>
  </os>
  <features>
    <acpi/>
  </features>
  <cpu mode='custom' match='exact' check='full'>
    <model fallback='forbid'>Broadwell-IBRS</model>
    <vendor>Intel</vendor>
    <topology sockets='1' dies='1' cores='1' threads='1'/>
    <feature policy='require' name='vme'/>
    <feature policy='require' name='ss'/>
    <feature policy='require' name='vmx'/>
    <feature policy='require' name='f16c'/>
    <feature policy='require' name='rdrand'/>
    <feature policy='require' name='hypervisor'/>
    <feature policy='require' name='arat'/>
    <feature policy='require' name='tsc_adjust'/>
    <feature policy='require' name='umip'/>
    <feature policy='require' name='md-clear'/>
    <feature policy='require' name='stibp'/>
    <feature policy='require' name='arch-capabilities'/>
    <feature policy='require' name='ssbd'/>
    <feature policy='require' name='xsaveopt'/>
    <feature policy='require' name='pdpe1gb'/>
    <feature policy='require' name='abm'/>
    <feature policy='require' name='ibpb'/>
    <feature policy='require' name='amd-stibp'/>
    <feature policy='require' name='amd-ssbd'/>
    <feature policy='require' name='skip-l1dfl-vmentry'/>
    <feature policy='require' name='pschange-mc-no'/>
  </cpu>
  <clock offset='utc'/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>destroy</on_crash>
  <devices>
    <emulator>/usr/libexec/qemu-kvm</emulator>
    <disk type='block' device='disk' model='virtio-transitional'>
      <driver name='qemu' type='raw' cache='none' error_policy='stop' io='native'/>
      <source dev='/dev/rhel6-empty-wren' index='2'/>
      <backingStore/>
      <target dev='vda' bus='virtio'/>
      <boot order='1'/>
      <alias name='ua-rhel6-empty-wren'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x04' function='0x0'/>
    </disk>
    <disk type='file' device='disk' model='virtio-transitional'>
      <driver name='qemu' type='raw' cache='none' error_policy='stop'/>
      <source file='/var/run/kubevirt-ephemeral-disks/cloud-init-data/default/rhel6-empty-wren/noCloud.iso' index='1'/>
      <backingStore/>
      <target dev='vdb' bus='virtio'/>
      <alias name='ua-cloudinitdisk'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x05' function='0x0'/>
    </disk>
    <controller type='usb' index='0' model='none'>
      <alias name='usb'/>
    </controller>
    <controller type='scsi' index='0' model='virtio-transitional'>
      <alias name='scsi0'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x02' function='0x0'/>
    </controller>
    <controller type='virtio-serial' index='0' model='virtio-transitional'>
      <alias name='virtio-serial0'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x03' function='0x0'/>
    </controller>
    <controller type='sata' index='0'>
      <alias name='ide'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
    </controller>
    <controller type='pci' index='0' model='pcie-root'>
      <alias name='pcie.0'/>
    </controller>
    <controller type='pci' index='1' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='1' port='0x10'/>
      <alias name='pci.1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0' multifunction='on'/>
    </controller>
    <controller type='pci' index='2' model='pcie-to-pci-bridge'>
      <model name='pcie-pci-bridge'/>
      <alias name='pci.2'/>
      <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
    </controller>
    <controller type='pci' index='3' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='3' port='0x11'/>
      <alias name='pci.3'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x1'/>
    </controller>
    <interface type='ethernet'>
      <mac address='52:54:00:90:cc:2c'/>
      <target dev='tap0' managed='no'/>
      <model type='virtio-transitional'/>
      <driver name='vhost'/>
      <mtu size='1400'/>
      <alias name='ua-default'/>
      <rom enabled='no'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x01' function='0x0'/>
    </interface>
    <serial type='unix'>
      <source mode='bind' path='/var/run/kubevirt-private/35b8d02a-871e-4a09-8876-6fb360c4ed12/virt-serial0'/>
      <target type='isa-serial' port='0'>
        <model name='isa-serial'/>
      </target>
      <alias name='serial0'/>
    </serial>
    <console type='unix'>
      <source mode='bind' path='/var/run/kubevirt-private/35b8d02a-871e-4a09-8876-6fb360c4ed12/virt-serial0'/>
      <target type='serial' port='0'/>
      <alias name='serial0'/>
    </console>
    <channel type='unix'>
      <source mode='bind' path='/var/lib/libvirt/qemu/channel/target/domain-1-default_rhel6-empty-/org.qemu.guest_agent.0'/>
      <target type='virtio' name='org.qemu.guest_agent.0' state='connected'/>
      <alias name='channel0'/>
      <address type='virtio-serial' controller='0' bus='0' port='1'/>
    </channel>
    <input type='mouse' bus='ps2'>
      <alias name='input0'/>
    </input>
    <input type='keyboard' bus='ps2'>
      <alias name='input1'/>
    </input>
    <graphics type='vnc' socket='/var/run/kubevirt-private/35b8d02a-871e-4a09-8876-6fb360c4ed12/virt-vnc'>
      <listen type='socket' socket='/var/run/kubevirt-private/35b8d02a-871e-4a09-8876-6fb360c4ed12/virt-vnc'/>
    </graphics>
    <video>
      <model type='vga' vram='16384' heads='1' primary='yes'/>
      <alias name='video0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
    </video>
    <memballoon model='virtio-transitional'>
      <stats period='10'/>
      <alias name='balloon0'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x06' function='0x0'/>
    </memballoon>
    <rng model='virtio-transitional'>
      <backend model='random'>/dev/urandom</backend>
      <alias name='rng0'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x07' function='0x0'/>
    </rng>
  </devices>
  <seclabel type='dynamic' model='dac' relabel='yes'>
    <label>+107:+107</label>
    <imagelabel>+107:+107</imagelabel>
  </seclabel>
</domain>

Comment 9 errata-xmlrpc 2021-07-27 14:24:44 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 (Moderate: OpenShift Virtualization 4.8.0 Images), 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/RHSA-2021:2920

Comment 10 errata-xmlrpc 2021-07-27 14:33:55 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 (Moderate: OpenShift Virtualization 4.8.0 Images), 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/RHSA-2021:2920


Note You need to log in before you can comment on or make changes to this bug.