glpi-project / glpi-inventory-plugin

GLPI Inventory plugin
GNU Affero General Public License v3.0
46 stars 27 forks source link

NetDiscovery task overrides NetworkPort and Name of ESXi hosts #530

Open eduardomozart opened 4 months ago

eduardomozart commented 4 months ago

Describe the bug

Hello, When running an ESX task, the host name and ports are gathered as expected, but when running a NetDiscovery task on the same range than the ESX servers, it overrides the ESX inventory name and port values with the NetDiscovery ones, as can be seen below: image It seems that the are two default import rules being applied when an ESX host is inventoried:

image

Especifically, the problem seems to be the "Unmanaged import (by name)" rule, I had to change it's behavior from "Asset > Item type - Unmanaged devices" to "Asset > Item type - does not exist" for it stop overriding the ESX inventory info. I'm still not sure about the implications of this change and I believe it's infeasable to expect the average GLPI user change it when a ESX and NetDiscovery is in-place on the same network, so maybe some logic can be implemented on GLPI Inventory plugin side to avoid it to happen (maybe checking if the "OS" do not contains "VMware"). It also seems to happen with Phone assets, but I believe it's reproduciable with any asset type.

To reproduce

  1. Do a ESX inventory task - Name and Network Ports are filled as expected.
  2. Do a NetDiscovery task after a ESX task: NetDiscovery incomplete info overrides asset name and Network Ports.

Expected behavior

A NetDiscovery task should not override the ESX inventory task info.

Operating system

Windows

GLPI Agent version

Other (See additional context below)

GLPI version

Other (See additional context below)

GLPIInventory plugin

1.3.5

Additional context

GLPI Agent version: 1.10. GLPI version: 10.0.16.