Bug 2180230
| Summary: | Network Interfaces is broken if tx_drop or rx_drop are empty in the DB | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Virtualization Manager | Reporter: | Germano Veit Michel <gveitmic> |
| Component: | ovirt-engine | Assignee: | eraviv |
| Status: | CLOSED NEXTRELEASE | QA Contact: | msheena |
| Severity: | low | Docs Contact: | |
| Priority: | low | ||
| Version: | 4.5.3 | CC: | emarcus, eraviv, mavital, michal.skrivanek, mperina |
| Target Milestone: | ovirt-4.5.3-async | ||
| Target Release: | --- | ||
| Hardware: | x86_64 | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: |
Previously, when creating bonds on a host outside the Manager and adding the host without starting it, the Rx\Tx drop count is shown as null.
As a result, a Null Pointer Exception is thrown in the Administration Portal > Compute > Hosts > Network Interfaces tab.
With this release, null values are accepted, and there are no exceptions displayed in the Network Interfaces tab.
|
Story Points: | --- |
| Clone Of: | Environment: | ||
| Last Closed: | 2023-05-19 07:31:01 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | Network | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
This bug has low overall severity and is not going to be further verified by QE. This bug has low overall severity and passed an automated regression suite, and is not going to be further verified by QE. |
Description of problem: There is an uncaught exception in the Admin Portal, in a Host 'Network Interfaces' 2023-03-16 16:32:04,727-04 ERROR [org.ovirt.engine.ui.frontend.server.gwt.OvirtRemoteLoggingService] (default task-461) [] Uncaught exception: com.google.gwt.core.client.JavaScriptException: ( TypeError) : Cannot read properties of null (reading 'e') at java.math.Elementary.add(Elementary.java:52) at org.ovirt.engine.ui.webadmin.widget.host.HostNetworkInterfaceBondedListViewItem$8.$getValue(HostNetworkInterfaceBondedListViewItem.java:167) at org.ovirt.engine.ui.webadmin.widget.host.HostNetworkInterfaceBondedListViewItem$8.getValue(HostNetworkInterfaceBondedListViewItem.java:167) at com.google.gwt.user.cellview.client.Column.render(Column.java:164) at com.google.gwt.user.cellview.client.AbstractCellTableBuilder.$renderCell(AbstractCellTableBuilder.java:188) at com.google.gwt.user.cellview.client.DefaultCellTableBuilder.$buildRowImpl(DefaultCellTableBuilder.java:62) at com.google.gwt.user.cellview.client.AbstractCellTableBuilder.$buildRow(AbstractCellTableBuilder.java:85) at com.google.gwt.user.cellview.client.AbstractCellTable.$buildRowValues(AbstractCellTable.java:2350) at com.google.gwt.user.cellview.client.AbstractCellTable.replaceAllChildren(AbstractCellTable.java:2149) at com.google.gwt.user.cellview.client.AbstractHasData$View.replaceAllChildren(AbstractHasData.java:265) at com.google.gwt.user.cellview.client.HasDataPresenter.$resolvePendingState(HasDataPresenter.java:1062) at com.google.gwt.user.cellview.client.HasDataPresenter$2.execute(HasDataPresenter.java:981) at com.google.gwt.core.client.impl.SchedulerImpl.runScheduledTasks(SchedulerImpl.java:167) at com.google.gwt.core.client.impl.SchedulerImpl.$flushFinallyCommands(SchedulerImpl.java:272) at com.google.gwt.core.client.impl.Impl.exit(Impl.java:383) at com.google.gwt.core.client.impl.Impl.entry0(Impl.java:345) at Unknown.eval(webadmin-0.js) The host has bond slaves, and the exception happens if rx_drop and tx_drop for the bond are still empty: 165 TextColumn<HostInterface> dropRate = new TextColumn<HostInterface>() { 166 @Override 167 public String getValue(HostInterface hostInterface) { 168 return String.valueOf(hostInterface.getRxDrop().add(hostInterface.getTxDrop())); <---- trying to add Tx and Rx drop stats to the UI elements 169 } 170 }; As long as the host is up, they will never be empty. But there is a specific scenario it can happen: 1. Prepare new host 2. Configure all networks manually before add 3. Add host to RHV-M, uncheck Activate after install button 4. Navigate to Network Interfaces in the UI Version-Release number of selected component (if applicable): 4.5.3 How reproducible: 100% Steps to Reproduce: 1. Get the host in maintenance 2. Set tx_drop rx_drop for a bond slave nic in vds_interface_statistics Actual results: * Exception Expected results: * Working UI Additional info: * Activating the host makes the problem go away, as getStats fills those rows.