Bug 1464055 - bond has no speed set in active_migration_network_interfaces
bond has no speed set in active_migration_network_interfaces
Status: POST
Product: ovirt-engine
Classification: oVirt
Component: Backend.Core (Show other bugs)
4.2.0
Unspecified Unspecified
high Severity high (vote)
: ovirt-4.1.6
: ---
Assigned To: Martin Mucha
Michael Burman
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2017-06-22 06:54 EDT by Tomas Jelinek
Modified: 2017-08-09 04:03 EDT (History)
5 users (show)

See Also:
Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed:
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: Network
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
rule-engine: ovirt‑4.1+


Attachments (Terms of Use)


External Trackers
Tracker ID Priority Status Summary Last Updated
oVirt gerrit 79768 master POST core: removed parameterized constructors 2017-08-07 04:28 EDT
oVirt gerrit 79769 master POST core: move irrelevant fields out from VdsNetworkInterface creation 2017-07-25 05:25 EDT

  None (edit)
Description Tomas Jelinek 2017-06-22 06:54:45 EDT
If the VM is being migrated, the max bandwidth of the migration is calculated based on the getActiveMigrationNetworkInterfaceForHost. If this interface happens to be a bond, the speed of this bond is set to 0 and the migration max bandwidth than falls back to the default value configured in vdsm.conf.

Expected results:
The "speed" property will be populated based on the bond type and its nics so the max bandwidth will be than populated by a more realistic value.
Comment 1 Michael Burman 2017-07-05 03:43:04 EDT
vdsm already report speed for bond - 

"bond0": {
            "rxErrors": "0", 
            "name": "bond0", 
            "tx": "2566194", 
            "txDropped": "0", 
            "sampleTime": 1499240322.044425, 
            "rx": "3900344926", 
            "txErrors": "0", 
            "state": "up", 
            "speed": "2000", 
            "rxDropped": "17807"

We should add this for the engine as well.
Comment 2 Martin Mucha 2017-07-11 14:10:35 EDT
(In reply to Tomas Jelinek from comment #0)
> If the VM is being migrated, the max bandwidth of the migration is
> calculated based on the getActiveMigrationNetworkInterfaceForHost. If this
> interface happens to be a bond, the speed of this bond is set to 0 and the
> migration max bandwidth than falls back to the default value configured in
> vdsm.conf.
> 
> Expected results:
> The "speed" property will be populated based on the bond type and its nics
> so the max bandwidth will be than populated by a more realistic value.

I never saw this code, but so far I did not see any calculation of speed done in engine code, value reported by vdsm seem to just flow through several layers...

If bond speed is reported by vdsm (it's not when bond is created from dummies for example), then it's stored in vds_interface table. But we're not reading this values from vds_interface, but from active_migration_network_interfaces which does some filtering and if record is not found, null is used. Also, this view is queried for both source and target host; if any of them reports null, speed will be null ~ default one.


So to simplify, iiuc, speed will be reported as null (default speed will be used) when:
a) vdsm does not report it (bond from dummies)
b) source or target host does not have 'active migration network interface', as obtained via:

SELECT *
    FROM active_migration_network_interfaces
    WHERE vds_id = v_host_id;


Tomas, can you confirm, that a) or b) is your case? If not, can you describe your bond?

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