Bug 1170219 - 3.4.4 engine does not support external VMs on ppc hosts and unsupported balloon log spam.
Summary: 3.4.4 engine does not support external VMs on ppc hosts and unsupported ballo...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat Enterprise Virtualization Manager
Classification: Red Hat
Component: ovirt-engine
Version: 3.4.4
Hardware: All
OS: All
medium
medium
Target Milestone: ovirt-3.6.1
: 3.6.0
Assignee: Marek Libra
QA Contact: Ilanit Stein
URL:
Whiteboard:
Depends On:
Blocks: 1122979 RHEV3.6PPC
TreeView+ depends on / blocked
 
Reported: 2014-12-03 14:11 UTC by Lukas Svaty
Modified: 2016-04-20 01:38 UTC (History)
13 users (show)

Fixed In Version: ovirt-3.6.0-5
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-04-20 01:38:29 UTC
oVirt Team: Virt
Target Upstream Version:
Embargoed:
istein: needinfo+


Attachments (Terms of Use)
vdsm log for problem to clear the VMs from host (562.95 KB, application/x-xz)
2015-10-18 09:37 UTC, Ilanit Stein
no flags Details


Links
System ID Private Priority Status Summary Last Updated
oVirt gerrit 47689 0 master MERGED core: External VMs can be created on PPC Never
oVirt gerrit 47990 0 ovirt-engine-3.6 MERGED core: External VMs can be created on PPC Never

Description Lukas Svaty 2014-12-03 14:11:24 UTC
Description of problem:
External VMs should be shown in engine for all host (even the ugly ppc ones)

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

How reproducible:
100%

Steps to Reproduce:
1. Have external VM on ppc host
2. To make things even more terrifying add balloon on that VM
3. Add host to ovirt-engine
4. No VM is shown
5. Engine log is spammed by 
2014-12-03 15:09:25,310 WARN  [org.ovirt.engine.core.bll.AddVmFromScratchCommand] (DefaultQuartzScheduler_Worker-98) [739f2a80] CanDoAction of action AddVmFromScratch failed. Reasons:VAR__ACTION__ADD,VAR__TYPE__VM,BALLOON_REQUESTED_ON_NOT_SUPPORTED_ARCH,$clusterArch ppc64

Actual results:
VMs tab in WA portal empty

Expected results:
external-VM should be displayed - probably with some warning as balloon VM should not be in ppc cluster

Comment 1 Lukas Svaty 2014-12-03 14:24:48 UTC
2014-12-03 15:24:05,585 INFO  [org.ovirt.engine.core.vdsbroker.VdsUpdateRunTimeInfo] (DefaultQuartzScheduler_Worker-2) [39f72a40] Importing VM bugzilla as external-bugzilla, as it is running on the on Host, but does not exist in the engine.
2014-12-03 15:24:05,590 INFO  [org.ovirt.engine.core.vdsbroker.VdsUpdateRunTimeInfo] (DefaultQuartzScheduler_Worker-2) [39f72a40] VDS::UpdateVmRunTimeInfo Error: found VM on a VDS that is not in the database!
2014-12-03 15:24:05,754 INFO  [org.ovirt.engine.core.bll.AddVmFromScratchCommand] (DefaultQuartzScheduler_Worker-2) [6554d0eb] Lock Acquired to object EngineLock [exclusiveLocks= key: external-bugzilla value: VM_NAME
, sharedLocks= ]
2014-12-03 15:24:05,865 WARN  [org.ovirt.engine.core.bll.AddVmFromScratchCommand] (DefaultQuartzScheduler_Worker-2) [6554d0eb] CanDoAction of action AddVmFromScratch failed. Reasons:VAR__ACTION__ADD,VAR__TYPE__VM,BALLOON_REQUESTED_ON_NOT_SUPPORTED_ARCH,$clusterArch ppc64
2014-12-03 15:24:05,865 INFO  [org.ovirt.engine.core.bll.AddVmFromScratchCommand] (DefaultQuartzScheduler_Worker-2) [6554d0eb] Lock freed to object EngineLock [exclusiveLocks= key: external-bugzilla value: VM_NAME
, sharedLocks= ]

Comment 2 Michal Skrivanek 2014-12-04 08:37:26 UTC
it's not that big deal since the only reasonable usecase for external vm is hosted engine which is not supported on ppc, but still the flood log is not good

Comment 3 Eyal Edri 2015-02-25 08:40:15 UTC
3.5.1 is already full with bugs (over 80), and since none of these bugs were added as urgent for 3.5.1 release in the tracker bug, moving to 3.5.2

Comment 4 Eyal Edri 2015-04-28 11:23:37 UTC
moving to 3.5.4 due to capacity planning for 3.5.3.
if you believe this should remain in 3.5.3, please sync with pm/dev/qe and a full triple ack for it. also - ensure priority is set accordingly to the bug status.

Comment 5 Michal Skrivanek 2015-06-01 12:24:55 UTC
isn't this already fixed in 3.6 by enabling the balloon again? can you confirm?

Comment 7 Martin Polednik 2015-08-05 13:14:41 UTC
Balloon in 3.6 is enabled and works.

Comment 8 Lukas Svaty 2015-08-11 08:57:10 UTC
Fix here was enabling balloon -> log is not spammed, IIUC cluster with ppc architecture will still not show external VMs, correct or was this fixed somewhere along the line?

Regarding comment#2 I believe that after adding host to NON-selfhosted engine showing all the VMs running on it as external is a useful information for admin. (Currently supported by standard x86/64)

Comment 9 Michal Skrivanek 2015-09-07 11:10:26 UTC
(In reply to Lukas Svaty from comment #8)
> Fix here was enabling balloon -> log is not spammed, IIUC cluster with ppc
> architecture will still not show external VMs, correct or was this fixed
> somewhere along the line?

why would it not show it? it should
 
> Regarding comment#2 I believe that after adding host to NON-selfhosted
> engine showing all the VMs running on it as external is a useful information
> for admin. (Currently supported by standard x86/64)

we don't have that feature yet. we only show VMs created by engine at some point.

Comment 10 Ilanit Stein 2015-10-15 12:57:05 UTC
Tested on versions:
vdsm-4.17.8-1.el7ev.noarch
rhevm 3.6.0-15

Command used to create an "external" VM on a PPC host:
# vdsClient -s 0 create /dev/null vmId=485c87ea-2875-11e5-b7ea-28d244694832 memSize=256  display=vnc kvmEnable=true  vmName=istein

485c87ea-2875-11e5-b7ea-28d244694832
        Status = WaitForLaunch
        nicModel = rtl8139,pv
        statusTime = 43555273250
        kvmEnable = true
        displayIp = 0
        pid = 0
        guestDiskMapping = {}
        vmType = kvm
        displaySecurePort = -1
        memSize = 256
        displayPort = -1
        clientIp = 
        smp = 1
        vmName = istein
        display = vnc

On web admin,
on vms tab, the external VMs are not seen at all, which is not as expected.
on hosts tab, for the host, on which the VMs are running, the number of running VMs fit the number of VMs, that were created by vdsClient command and the number of qemu processes.

Comment 11 Ilanit Stein 2015-10-15 13:07:57 UTC
Michal,
Is the external VMs visibility, described in comment 10 is as expected?

Moving back to on_qa, and qa_contact to mshira for the balloon verification.

Comment 12 Ilanit Stein 2015-10-15 14:02:46 UTC
In continue to comment 10,
to cleanup the VMs from the host,
the qemu processes were killed, but yet the number of VMs run on host, still appear on the host, as if VMs are still running, and  command "vdsClient -s 0 list table" fail:
 
# vdsClient -s 0 list table
Traceback (most recent call last):
  File "/usr/share/vdsm/vdsClient.py", line 2997, in <module>
    code, message = commands[command][0](commandArgs)
  File "/usr/share/vdsm/vdsClient.py", line 400, in do_list
    response = self.s.list(True, vms)
  File "/usr/lib64/python2.7/xmlrpclib.py", line 1233, in __call__
    return self.__send(self.__name, args)
  File "/usr/lib64/python2.7/xmlrpclib.py", line 1587, in __request
    verbose=self.__verbose
  File "/usr/lib64/python2.7/xmlrpclib.py", line 1273, in request
    return self.single_request(host, handler, request_body, verbose)
  File "/usr/lib64/python2.7/xmlrpclib.py", line 1306, in single_request
    return self.parse_response(response)
  File "/usr/lib/python2.7/site-packages/vdsm/vdscli.py", line 43, in wrapped_parse_response
    return old_parse_response(*args, **kwargs)
  File "/usr/lib64/python2.7/xmlrpclib.py", line 1482, in parse_response
    return u.close()
  File "/usr/lib64/python2.7/xmlrpclib.py", line 794, in close
    raise Fault(**self._stack[0])
Fault: <Fault 1: "<type 'exceptions.TypeError'>:cannot marshal None unless allow_none is enabled">


As a comparison, I've checked the VMs creation and kill on rhevm 3.5 host.
The number of VMs run on host had moved to 0, once the qemu processes were killed.
command "vdsClient -s 0 list table" works OK (no errors, show no VMs).
The external VMs though were still seen on UI VMs tab, and I've removed them from the UI side.

Martin,

Can you please give your thoughts on this problem?

Thanks,
Ilanit.

Comment 13 Ilanit Stein 2015-10-18 09:37:41 UTC
Created attachment 1084107 [details]
vdsm log for problem to clear the VMs from host

Comment 14 Martin Polednik 2015-10-20 08:53:52 UTC
It seems that VDSM is fine in this regards - the VM is detected and treated as expected (even incl. balloon). I couldn't see the vdsClient reproduction (supply logs if seen again).

As seen in comment 1, the issue is in engine as it doesn't correctly assume ppc64le arch. This also causes VMs to not be destroyed in VDSM when they're stopped, hanging there until reboot.

Comment 15 Shira Maximov 2015-10-21 09:14:28 UTC
Iv'e checked the ballooning spam issue in the engine log, and as expected it's not happening any more (see also bug 1198214 - Enable balloon device for PPC, which already verified)

tested on : 
Red Hat Enterprise Virtualization Manager Version: 3.6.0-0.18.el6

Comment 16 Michal Skrivanek 2015-10-21 13:14:26 UTC
we want to address the operating system (other v other ppc) issue when adding external vm
but it's not urgent really as there is no full support for external vms...they only appear as a consequence of a setup/configuration error

Comment 17 Ilanit Stein 2015-10-21 20:18:53 UTC
As ballooning support on ppc was added, the error spam is indeed not seen in the engine log, as reported in comment 15.

But, are we sure that the problem of spamming the engine log, in case of any unsupported feature, is solved/do not exist?

Comment 18 Marek Libra 2015-10-24 20:01:54 UTC
Such an assurance is hard to achieve since printing those (mostly) DEBUG messages can reveal a bug or failure.
Most probably they are/can be printed within handling of discrete events fired on time-based basis or by external party.

Anyway, such a spamming is undesirable and should be investigated on per-case basis.

Comment 19 Ilanit Stein 2015-12-28 08:31:01 UTC
Verified on rhevm 3.6.1-4:

External VM added, and destroyed successfully, on a PPCle64 rhel 7.2 based host.

commands run on host:
 vdsClient -s 0 create /dev/null vmId=485c87ea-2875-11e5-b7ea-28d244694832 memSize=256  display=vnc kvmEnable=true  vmName=istein
 vdsClient -s 0 list table
 vdsClient -s 0 destroy 485c87ea-2875-11e5-b7ea-28d244694832
 vdsClient -s 0 list table


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